aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x[-rw-r--r--].gitignore4
-rw-r--r--.htaccess3
-rw-r--r--LICENSE2
-rw-r--r--README11
-rw-r--r--README.md38
-rwxr-xr-x[-rw-r--r--]boot.php2257
-rw-r--r--doc/Account-Basics.md59
-rw-r--r--doc/Bugs-and-Issues.md31
-rw-r--r--doc/Channels.md27
-rw-r--r--doc/Connecting-to-Channels.md12
-rw-r--r--doc/Connectors.md67
-rw-r--r--doc/Developers.md15
-rw-r--r--doc/Groups-and-Privacy.md53
-rw-r--r--doc/Home.md23
-rw-r--r--doc/Install.md44
-rw-r--r--doc/Installing-Connectors.md135
-rw-r--r--doc/Making-Friends.md59
-rw-r--r--doc/Message-Flow.md54
-rw-r--r--doc/Pages.md36
-rw-r--r--doc/Permissions.md43
-rw-r--r--doc/Plugins.md357
-rw-r--r--doc/Profiles.md17
-rw-r--r--doc/Remove-Account.md22
-rw-r--r--doc/Settings.md227
-rw-r--r--doc/Tags-and-Mentions.md30
-rw-r--r--doc/Webpages.md14
-rw-r--r--doc/andfinally.md26
-rw-r--r--doc/groupsandpages.md11
-rw-r--r--doc/guide.md13
-rw-r--r--doc/html/BaseObject_8php.html120
-rw-r--r--doc/html/Contact_8php.html528
-rw-r--r--doc/html/Contact_8php.js19
-rw-r--r--doc/html/ConversationObject_8php.html120
-rw-r--r--doc/html/ITemplateEngine_8php.html120
-rw-r--r--doc/html/ItemObject_8php.html120
-rw-r--r--doc/html/ProtoDriver_8php.html122
-rw-r--r--doc/html/README_8md.html112
-rw-r--r--doc/html/Scrape_8php.html171
-rw-r--r--doc/html/Scrape_8php.js5
-rw-r--r--doc/html/__well__known_8php.html137
-rw-r--r--doc/html/__well__known_8php.js4
-rw-r--r--doc/html/account_8php.html328
-rw-r--r--doc/html/account_8php.js13
-rw-r--r--doc/html/acl_8php.html157
-rw-r--r--doc/html/acl_8php.js5
-rw-r--r--doc/html/acl__selectors_8php.html279
-rw-r--r--doc/html/acl__selectors_8php.js7
-rw-r--r--doc/html/activities_8php.html149
-rw-r--r--doc/html/activities_8php.js4
-rw-r--r--doc/html/admin_8php.html550
-rw-r--r--doc/html/admin_8php.js18
-rw-r--r--doc/html/allfriends_8php.html137
-rw-r--r--doc/html/allfriends_8php.js4
-rw-r--r--doc/html/annotated.html143
-rw-r--r--doc/html/annotated.js28
-rw-r--r--doc/html/apps_8php.html137
-rw-r--r--doc/html/apps_8php.js4
-rw-r--r--doc/html/auth_8php.html199
-rw-r--r--doc/html/auth_8php.js6
-rw-r--r--doc/html/bb2diaspora_8php.html342
-rw-r--r--doc/html/bb2diaspora_8php.js12
-rw-r--r--doc/html/bbcode_8php.html246
-rw-r--r--doc/html/bbcode_8php.js9
-rw-r--r--doc/html/bc_s.pngbin0 -> 676 bytes
-rw-r--r--doc/html/bdwn.pngbin0 -> 147 bytes
-rw-r--r--doc/html/blocks_8php.html137
-rw-r--r--doc/html/blocks_8php.js4
-rw-r--r--doc/html/boot_8php.html4642
-rw-r--r--doc/html/boot_8php.js269
-rw-r--r--doc/html/cache_8php.html120
-rw-r--r--doc/html/chanman_8php.html112
-rw-r--r--doc/html/channel_8php.html192
-rw-r--r--doc/html/channel_8php.js6
-rw-r--r--doc/html/chanview_8php.html137
-rw-r--r--doc/html/chanview_8php.js4
-rw-r--r--doc/html/classApp-members.html211
-rw-r--r--doc/html/classApp.html1811
-rw-r--r--doc/html/classApp.js97
-rw-r--r--doc/html/classBaseObject-members.html120
-rw-r--r--doc/html/classBaseObject.html221
-rw-r--r--doc/html/classBaseObject.js4
-rw-r--r--doc/html/classBaseObject.pngbin0 -> 625 bytes
-rw-r--r--doc/html/classCache-members.html120
-rw-r--r--doc/html/classCache.html218
-rw-r--r--doc/html/classConversation-members.html138
-rw-r--r--doc/html/classConversation.html585
-rw-r--r--doc/html/classConversation.js22
-rw-r--r--doc/html/classConversation.pngbin0 -> 436 bytes
-rw-r--r--doc/html/classFKOAuth1-members.html119
-rw-r--r--doc/html/classFKOAuth1.html169
-rw-r--r--doc/html/classFKOAuth1.js5
-rw-r--r--doc/html/classFKOAuth1.pngbin0 -> 433 bytes
-rw-r--r--doc/html/classFKOAuthDataStore-members.html123
-rw-r--r--doc/html/classFKOAuthDataStore.html306
-rw-r--r--doc/html/classFKOAuthDataStore.js9
-rw-r--r--doc/html/classFKOAuthDataStore.pngbin0 -> 560 bytes
-rw-r--r--doc/html/classFriendicaSmarty-members.html120
-rw-r--r--doc/html/classFriendicaSmarty.html188
-rw-r--r--doc/html/classFriendicaSmarty.js6
-rw-r--r--doc/html/classFriendicaSmarty.pngbin0 -> 487 bytes
-rw-r--r--doc/html/classFriendicaSmartyEngine-members.html122
-rw-r--r--doc/html/classFriendicaSmartyEngine.html267
-rw-r--r--doc/html/classFriendicaSmartyEngine.js7
-rw-r--r--doc/html/classFriendicaSmartyEngine.pngbin0 -> 647 bytes
-rw-r--r--doc/html/classItem-members.html161
-rw-r--r--doc/html/classItem.html1177
-rw-r--r--doc/html/classItem.js45
-rw-r--r--doc/html/classItem.pngbin0 -> 391 bytes
-rw-r--r--doc/html/classPhoto-members.html145
-rw-r--r--doc/html/classPhoto.html826
-rw-r--r--doc/html/classPhoto.js30
-rw-r--r--doc/html/classProtoDriver-members.html124
-rw-r--r--doc/html/classProtoDriver.html410
-rw-r--r--doc/html/classProtoDriver.js10
-rw-r--r--doc/html/classProtoDriver.pngbin0 -> 428 bytes
-rw-r--r--doc/html/classTemplate-members.html142
-rw-r--r--doc/html/classTemplate.html742
-rw-r--r--doc/html/classTemplate.js27
-rw-r--r--doc/html/classTemplate.pngbin0 -> 489 bytes
-rw-r--r--doc/html/classZotDriver-members.html124
-rw-r--r--doc/html/classZotDriver.html425
-rw-r--r--doc/html/classZotDriver.js10
-rw-r--r--doc/html/classZotDriver.pngbin0 -> 420 bytes
-rw-r--r--doc/html/classdba-members.html128
-rw-r--r--doc/html/classdba.html363
-rw-r--r--doc/html/classdba.js14
-rw-r--r--doc/html/classdba__driver-members.html129
-rw-r--r--doc/html/classdba__driver.html483
-rw-r--r--doc/html/classdba__driver.js15
-rw-r--r--doc/html/classdba__driver.pngbin0 -> 591 bytes
-rw-r--r--doc/html/classdba__mysql-members.html129
-rw-r--r--doc/html/classdba__mysql.html263
-rw-r--r--doc/html/classdba__mysql.js7
-rw-r--r--doc/html/classdba__mysql.pngbin0 -> 443 bytes
-rw-r--r--doc/html/classdba__mysqli-members.html129
-rw-r--r--doc/html/classdba__mysqli.html263
-rw-r--r--doc/html/classdba__mysqli.js7
-rw-r--r--doc/html/classdba__mysqli.pngbin0 -> 441 bytes
-rw-r--r--doc/html/classenotify-members.html118
-rw-r--r--doc/html/classenotify.html167
-rw-r--r--doc/html/classes.html139
-rw-r--r--doc/html/classphoto__driver-members.html147
-rw-r--r--doc/html/classphoto__driver.html945
-rw-r--r--doc/html/classphoto__driver.js33
-rw-r--r--doc/html/classphoto__driver.pngbin0 -> 652 bytes
-rw-r--r--doc/html/classphoto__gd-members.html147
-rw-r--r--doc/html/classphoto__gd.html434
-rw-r--r--doc/html/classphoto__gd.js13
-rw-r--r--doc/html/classphoto__gd.pngbin0 -> 431 bytes
-rw-r--r--doc/html/classphoto__imagick-members.html148
-rw-r--r--doc/html/classphoto__imagick.html461
-rw-r--r--doc/html/classphoto__imagick.js14
-rw-r--r--doc/html/classphoto__imagick.pngbin0 -> 483 bytes
-rw-r--r--doc/html/cli__startup_8php.html138
-rw-r--r--doc/html/cli__startup_8php.js4
-rw-r--r--doc/html/cli__suggest_8php.html147
-rw-r--r--doc/html/cli__suggest_8php.js4
-rw-r--r--doc/html/closed.pngbin0 -> 132 bytes
-rw-r--r--doc/html/comanche_8php.html343
-rw-r--r--doc/html/comanche_8php.js12
-rw-r--r--doc/html/common_8php.html173
-rw-r--r--doc/html/common_8php.js6
-rw-r--r--doc/html/community_8php.html167
-rw-r--r--doc/html/community_8php.js5
-rw-r--r--doc/html/config_8md.html112
-rw-r--r--doc/html/connect_8php.html173
-rw-r--r--doc/html/connect_8php.js6
-rw-r--r--doc/html/connections_8php.html211
-rw-r--r--doc/html/connections_8php.js8
-rw-r--r--doc/html/contact__selectors_8php.html207
-rw-r--r--doc/html/contact__selectors_8php.js7
-rw-r--r--doc/html/contact__widgets_8php.html237
-rw-r--r--doc/html/contact__widgets_8php.js8
-rw-r--r--doc/html/contactgroup_8php.html137
-rw-r--r--doc/html/contactgroup_8php.js4
-rw-r--r--doc/html/conversation_8php.html718
-rw-r--r--doc/html/conversation_8php.js25
-rw-r--r--doc/html/crepair_8php.html173
-rw-r--r--doc/html/crepair_8php.js6
-rw-r--r--doc/html/cronhooks_8php.html147
-rw-r--r--doc/html/cronhooks_8php.js4
-rw-r--r--doc/html/crypto_8php.html399
-rw-r--r--doc/html/crypto_8php.js12
-rw-r--r--doc/html/datetime_8php.html561
-rw-r--r--doc/html/datetime_8php.js16
-rw-r--r--doc/html/db__update_8php.html120
-rw-r--r--doc/html/db__update_8php.js7
-rw-r--r--doc/html/dba_8php.html112
-rw-r--r--doc/html/dba_8php.js11
-rw-r--r--doc/html/dba__driver_8php.html329
-rw-r--r--doc/html/dba__driver_8php.js12
-rw-r--r--doc/html/dba__mysql_8php.html120
-rw-r--r--doc/html/dba__mysqli_8php.html120
-rw-r--r--doc/html/default_8php.html133
-rw-r--r--doc/html/default_8php.js4
-rw-r--r--doc/html/delegate_8php.html137
-rw-r--r--doc/html/delegate_8php.js4
-rw-r--r--doc/html/deliver_8php.html147
-rw-r--r--doc/html/deliver_8php.js4
-rw-r--r--doc/html/dir_032dd9e2cfe278a2cfa5eb9547448eb9.html116
-rw-r--r--doc/html/dir_032dd9e2cfe278a2cfa5eb9547448eb9.js6
-rw-r--r--doc/html/dir_0eaa4a0adae8ba4811e133c6e594aeee.html112
-rw-r--r--doc/html/dir_0eaa4a0adae8ba4811e133c6e594aeee.js4
-rw-r--r--doc/html/dir_21bc5169ff11430004758be31dcfc6c4.html116
-rw-r--r--doc/html/dir_21bc5169ff11430004758be31dcfc6c4.js10
-rw-r--r--doc/html/dir_23ec12649285f9fabf3a6b7380226c28.html135
-rw-r--r--doc/html/dir_23ec12649285f9fabf3a6b7380226c28.js14
-rw-r--r--doc/html/dir_55dbaf9b7b53c4fc605c9011743a7353.html112
-rw-r--r--doc/html/dir_55dbaf9b7b53c4fc605c9011743a7353.js4
-rw-r--r--doc/html/dir_6b44a0e797e2f12381093380e3e54763.html120
-rw-r--r--doc/html/dir_6b44a0e797e2f12381093380e3e54763.js8
-rw-r--r--doc/html/dir_817f6d302394b98e59575acdb59998bc.html124
-rw-r--r--doc/html/dir_817f6d302394b98e59575acdb59998bc.js10
-rw-r--r--doc/html/dir_8543001e5d25368a6edede3e63efb554.html114
-rw-r--r--doc/html/dir_8543001e5d25368a6edede3e63efb554.js5
-rw-r--r--doc/html/dir_8e4ceba158be32034f698ffd6810bb05.html122
-rw-r--r--doc/html/dir_8e4ceba158be32034f698ffd6810bb05.js4
-rw-r--r--doc/html/dir_955ae6074e6c84afe72925e364242b14.html122
-rw-r--r--doc/html/dir_955ae6074e6c84afe72925e364242b14.js4
-rw-r--r--doc/html/dir__fns_8php.html179
-rw-r--r--doc/html/dir__fns_8php.js6
-rw-r--r--doc/html/dir_aae29906d7bfc07d076125f669c8352e.html116
-rw-r--r--doc/html/dir_aae29906d7bfc07d076125f669c8352e.js10
-rw-r--r--doc/html/dir_b2f003339c516cc00c8cadcafbe82f13.html114
-rw-r--r--doc/html/dir_b2f003339c516cc00c8cadcafbe82f13.js5
-rw-r--r--doc/html/dir_d41ce877eb409a4791b288730010abe2.html358
-rw-r--r--doc/html/dir_d41ce877eb409a4791b288730010abe2.js127
-rw-r--r--doc/html/dir_d44c64559bbebec7f509842c48db8b23.html251
-rw-r--r--doc/html/dir_d44c64559bbebec7f509842c48db8b23.js88
-rw-r--r--doc/html/dir_d795dfe8933002397556cc7aa16eca15.html112
-rw-r--r--doc/html/dir_d795dfe8933002397556cc7aa16eca15.js4
-rw-r--r--doc/html/dirfind_8php.html155
-rw-r--r--doc/html/dirfind_8php.js5
-rw-r--r--doc/html/dirsearch_8php.html174
-rw-r--r--doc/html/dirsearch_8php.js6
-rw-r--r--doc/html/display_8php.html155
-rw-r--r--doc/html/display_8php.js4
-rw-r--r--doc/html/docblox__errorchecker_8php.html314
-rw-r--r--doc/html/docblox__errorchecker_8php.js14
-rw-r--r--doc/html/doxygen.css1184
-rw-r--r--doc/html/doxygen.pngbin0 -> 3779 bytes
-rw-r--r--doc/html/dynsections.js97
-rw-r--r--doc/html/editblock_8php.html137
-rw-r--r--doc/html/editblock_8php.js4
-rw-r--r--doc/html/editlayout_8php.html137
-rw-r--r--doc/html/editlayout_8php.js4
-rw-r--r--doc/html/editpost_8php.html137
-rw-r--r--doc/html/editpost_8php.js4
-rw-r--r--doc/html/editwebpage_8php.html137
-rw-r--r--doc/html/editwebpage_8php.js4
-rw-r--r--doc/html/enotify_8php.html145
-rw-r--r--doc/html/enotify_8php.js5
-rw-r--r--doc/html/event_8php.html265
-rw-r--r--doc/html/event_8php.js10
-rw-r--r--doc/html/events_8php.html155
-rw-r--r--doc/html/events_8php.js5
-rw-r--r--doc/html/expire_8php.html147
-rw-r--r--doc/html/expire_8php.js4
-rw-r--r--doc/html/extract_8php.html181
-rw-r--r--doc/html/extract_8php.js7
-rw-r--r--doc/html/fbrowser_8php.html149
-rw-r--r--doc/html/fbrowser_8php.js4
-rw-r--r--doc/html/fcontact_8php.html187
-rw-r--r--doc/html/fcontact_8php.js5
-rw-r--r--doc/html/features_8php.html166
-rw-r--r--doc/html/features_8php.js5
-rw-r--r--doc/html/feed_8php.html137
-rw-r--r--doc/html/feed_8php.js4
-rw-r--r--doc/html/filer_8php.html137
-rw-r--r--doc/html/filer_8php.js4
-rw-r--r--doc/html/filerm_8php.html137
-rw-r--r--doc/html/filerm_8php.js4
-rw-r--r--doc/html/files.html353
-rw-r--r--doc/html/files.js8
-rw-r--r--doc/html/filestorage_8php.html137
-rw-r--r--doc/html/filestorage_8php.js4
-rw-r--r--doc/html/fpostit_8php.html172
-rw-r--r--doc/html/fpostit_8php.js5
-rw-r--r--doc/html/fred-48.pngbin0 -> 1706 bytes
-rw-r--r--doc/html/fresh_8md.html112
-rw-r--r--doc/html/friendica-to-smarty-tpl_8py.html158
-rw-r--r--doc/html/friendica-to-smarty-tpl_8py.js18
-rw-r--r--doc/html/friendica__smarty_8php.html122
-rw-r--r--doc/html/fsuggest_8php.html155
-rw-r--r--doc/html/fsuggest_8php.js5
-rw-r--r--doc/html/ftv2blank.pngbin0 -> 86 bytes
-rw-r--r--doc/html/ftv2cl.pngbin0 -> 453 bytes
-rw-r--r--doc/html/ftv2doc.pngbin0 -> 746 bytes
-rw-r--r--doc/html/ftv2folderclosed.pngbin0 -> 616 bytes
-rw-r--r--doc/html/ftv2folderopen.pngbin0 -> 597 bytes
-rw-r--r--doc/html/ftv2lastnode.pngbin0 -> 86 bytes
-rw-r--r--doc/html/ftv2link.pngbin0 -> 746 bytes
-rw-r--r--doc/html/ftv2mlastnode.pngbin0 -> 246 bytes
-rw-r--r--doc/html/ftv2mnode.pngbin0 -> 246 bytes
-rw-r--r--doc/html/ftv2mo.pngbin0 -> 403 bytes
-rw-r--r--doc/html/ftv2node.pngbin0 -> 86 bytes
-rw-r--r--doc/html/ftv2ns.pngbin0 -> 388 bytes
-rw-r--r--doc/html/ftv2plastnode.pngbin0 -> 229 bytes
-rw-r--r--doc/html/ftv2pnode.pngbin0 -> 229 bytes
-rw-r--r--doc/html/ftv2splitbar.pngbin0 -> 314 bytes
-rw-r--r--doc/html/ftv2vertline.pngbin0 -> 86 bytes
-rw-r--r--doc/html/full_8php.html133
-rw-r--r--doc/html/full_8php.js4
-rw-r--r--doc/html/functions.html440
-rw-r--r--doc/html/functions_0x5f.html192
-rw-r--r--doc/html/functions_0x61.html155
-rw-r--r--doc/html/functions_0x62.html148
-rw-r--r--doc/html/functions_0x63.html181
-rw-r--r--doc/html/functions_0x64.html170
-rw-r--r--doc/html/functions_0x65.html150
-rw-r--r--doc/html/functions_0x66.html150
-rw-r--r--doc/html/functions_0x67.html283
-rw-r--r--doc/html/functions_0x68.html151
-rw-r--r--doc/html/functions_0x69.html177
-rw-r--r--doc/html/functions_0x6c.html162
-rw-r--r--doc/html/functions_0x6e.html151
-rw-r--r--doc/html/functions_0x6f.html148
-rw-r--r--doc/html/functions_0x70.html148
-rw-r--r--doc/html/functions_0x71.html150
-rw-r--r--doc/html/functions_0x72.html167
-rw-r--r--doc/html/functions_0x73.html239
-rw-r--r--doc/html/functions_0x74.html148
-rw-r--r--doc/html/functions_0x76.html148
-rw-r--r--doc/html/functions_dup.js23
-rw-r--r--doc/html/functions_func.html679
-rw-r--r--doc/html/functions_vars.html421
-rw-r--r--doc/html/globals.html287
-rw-r--r--doc/html/globals_0x5f.html153
-rw-r--r--doc/html/globals_0x61.html609
-rw-r--r--doc/html/globals_0x62.html201
-rw-r--r--doc/html/globals_0x63.html456
-rw-r--r--doc/html/globals_0x64.html294
-rw-r--r--doc/html/globals_0x65.html224
-rw-r--r--doc/html/globals_0x66.html282
-rw-r--r--doc/html/globals_0x67.html351
-rw-r--r--doc/html/globals_0x68.html219
-rw-r--r--doc/html/globals_0x69.html344
-rw-r--r--doc/html/globals_0x6a.html162
-rw-r--r--doc/html/globals_0x6b.html156
-rw-r--r--doc/html/globals_0x6c.html264
-rw-r--r--doc/html/globals_0x6d.html285
-rw-r--r--doc/html/globals_0x6e.html357
-rw-r--r--doc/html/globals_0x6f.html198
-rw-r--r--doc/html/globals_0x70.html521
-rw-r--r--doc/html/globals_0x71.html165
-rw-r--r--doc/html/globals_0x72.html300
-rw-r--r--doc/html/globals_0x73.html336
-rw-r--r--doc/html/globals_0x74.html273
-rw-r--r--doc/html/globals_0x75.html225
-rw-r--r--doc/html/globals_0x76.html192
-rw-r--r--doc/html/globals_0x77.html183
-rw-r--r--doc/html/globals_0x78.html180
-rw-r--r--doc/html/globals_0x7a.html240
-rw-r--r--doc/html/globals_dup.js30
-rw-r--r--doc/html/globals_func.html152
-rw-r--r--doc/html/globals_func.js29
-rw-r--r--doc/html/globals_func_0x61.html467
-rw-r--r--doc/html/globals_func_0x62.html200
-rw-r--r--doc/html/globals_func_0x63.html437
-rw-r--r--doc/html/globals_func_0x64.html266
-rw-r--r--doc/html/globals_func_0x65.html212
-rw-r--r--doc/html/globals_func_0x66.html278
-rw-r--r--doc/html/globals_func_0x67.html341
-rw-r--r--doc/html/globals_func_0x68.html197
-rw-r--r--doc/html/globals_func_0x69.html263
-rw-r--r--doc/html/globals_func_0x6a.html158
-rw-r--r--doc/html/globals_func_0x6b.html152
-rw-r--r--doc/html/globals_func_0x6c.html242
-rw-r--r--doc/html/globals_func_0x6d.html254
-rw-r--r--doc/html/globals_func_0x6e.html236
-rw-r--r--doc/html/globals_func_0x6f.html197
-rw-r--r--doc/html/globals_func_0x70.html404
-rw-r--r--doc/html/globals_func_0x71.html164
-rw-r--r--doc/html/globals_func_0x72.html275
-rw-r--r--doc/html/globals_func_0x73.html326
-rw-r--r--doc/html/globals_func_0x74.html230
-rw-r--r--doc/html/globals_func_0x75.html218
-rw-r--r--doc/html/globals_func_0x76.html191
-rw-r--r--doc/html/globals_func_0x77.html179
-rw-r--r--doc/html/globals_func_0x78.html173
-rw-r--r--doc/html/globals_func_0x7a.html233
-rw-r--r--doc/html/globals_vars.html282
-rw-r--r--doc/html/globals_vars.js25
-rw-r--r--doc/html/globals_vars_0x61.html286
-rw-r--r--doc/html/globals_vars_0x63.html163
-rw-r--r--doc/html/globals_vars_0x64.html172
-rw-r--r--doc/html/globals_vars_0x65.html156
-rw-r--r--doc/html/globals_vars_0x66.html148
-rw-r--r--doc/html/globals_vars_0x67.html154
-rw-r--r--doc/html/globals_vars_0x68.html166
-rw-r--r--doc/html/globals_vars_0x69.html225
-rw-r--r--doc/html/globals_vars_0x6a.html148
-rw-r--r--doc/html/globals_vars_0x6b.html148
-rw-r--r--doc/html/globals_vars_0x6c.html166
-rw-r--r--doc/html/globals_vars_0x6d.html175
-rw-r--r--doc/html/globals_vars_0x6e.html265
-rw-r--r--doc/html/globals_vars_0x70.html261
-rw-r--r--doc/html/globals_vars_0x72.html169
-rw-r--r--doc/html/globals_vars_0x73.html154
-rw-r--r--doc/html/globals_vars_0x74.html187
-rw-r--r--doc/html/globals_vars_0x75.html151
-rw-r--r--doc/html/globals_vars_0x77.html148
-rw-r--r--doc/html/globals_vars_0x78.html151
-rw-r--r--doc/html/globals_vars_0x7a.html151
-rw-r--r--doc/html/gprobe_8php.html147
-rw-r--r--doc/html/gprobe_8php.js4
-rw-r--r--doc/html/hcard_8php.html155
-rw-r--r--doc/html/hcard_8php.js5
-rw-r--r--doc/html/help_8php.html137
-rw-r--r--doc/html/help_8php.js4
-rw-r--r--doc/html/hierarchy.html141
-rw-r--r--doc/html/hierarchy.js34
-rw-r--r--doc/html/home_8php.html112
-rw-r--r--doc/html/hostxrd_8php.html137
-rw-r--r--doc/html/hostxrd_8php.js4
-rw-r--r--doc/html/html2bbcode_8php.html265
-rw-r--r--doc/html/html2bbcode_8php.js7
-rw-r--r--doc/html/html2plain_8php.html241
-rw-r--r--doc/html/html2plain_8php.js7
-rw-r--r--doc/html/identity_8php.html299
-rw-r--r--doc/html/identity_8php.js11
-rw-r--r--doc/html/import_8php.html155
-rw-r--r--doc/html/import_8php.js5
-rw-r--r--doc/html/include_2api_8php.html1597
-rw-r--r--doc/html/include_2api_8php.js55
-rw-r--r--doc/html/include_2attach_8php.html402
-rw-r--r--doc/html/include_2attach_8php.js10
-rw-r--r--doc/html/include_2config_8php.html555
-rw-r--r--doc/html/include_2config_8php.js16
-rw-r--r--doc/html/include_2directory_8php.html147
-rw-r--r--doc/html/include_2directory_8php.js4
-rw-r--r--doc/html/include_2follow_8php.html168
-rw-r--r--doc/html/include_2follow_8php.js4
-rw-r--r--doc/html/include_2group_8php.html487
-rw-r--r--doc/html/include_2group_8php.js15
-rw-r--r--doc/html/include_2menu_8php.html431
-rw-r--r--doc/html/include_2menu_8php.js14
-rw-r--r--doc/html/include_2message_8php.html316
-rw-r--r--doc/html/include_2message_8php.js8
-rw-r--r--doc/html/include_2network_8php.html907
-rw-r--r--doc/html/include_2network_8php.js29
-rw-r--r--doc/html/include_2notify_8php.html139
-rw-r--r--doc/html/include_2notify_8php.js4
-rw-r--r--doc/html/include_2oembed_8php.html306
-rw-r--r--doc/html/include_2oembed_8php.js11
-rw-r--r--doc/html/include_2photos_8php.html403
-rw-r--r--doc/html/include_2photos_8php.js11
-rw-r--r--doc/html/include_2settings_8php.html150
-rw-r--r--doc/html/include_2settings_8php.js4
-rw-r--r--doc/html/index.html106
-rw-r--r--doc/html/interfaceITemplateEngine-members.html119
-rw-r--r--doc/html/interfaceITemplateEngine.html197
-rw-r--r--doc/html/interfaceITemplateEngine.js5
-rw-r--r--doc/html/interfaceITemplateEngine.pngbin0 -> 893 bytes
-rw-r--r--doc/html/intro_8php.html173
-rw-r--r--doc/html/intro_8php.js6
-rw-r--r--doc/html/invite_8php.html157
-rw-r--r--doc/html/invite_8php.js5
-rw-r--r--doc/html/iquery_8php.html147
-rw-r--r--doc/html/iquery_8php.js4
-rw-r--r--doc/html/item_8php.html379
-rw-r--r--doc/html/item_8php.js9
-rw-r--r--doc/html/items_8php.html1602
-rw-r--r--doc/html/items_8php.js57
-rw-r--r--doc/html/jquery.js77
-rw-r--r--doc/html/language_8php.html323
-rw-r--r--doc/html/language_8php.js12
-rw-r--r--doc/html/lastpost_8php.html190
-rw-r--r--doc/html/lastpost_8php.js6
-rw-r--r--doc/html/layouts_8php.html137
-rw-r--r--doc/html/layouts_8php.js4
-rw-r--r--doc/html/like_8php.html137
-rw-r--r--doc/html/like_8php.js4
-rw-r--r--doc/html/lockview_8php.html137
-rw-r--r--doc/html/lockview_8php.js4
-rw-r--r--doc/html/login_8php.html137
-rw-r--r--doc/html/login_8php.js4
-rw-r--r--doc/html/lostpass_8php.html155
-rw-r--r--doc/html/lostpass_8php.js5
-rw-r--r--doc/html/magic_8php.html137
-rw-r--r--doc/html/magic_8php.js4
-rw-r--r--doc/html/manage_8php.html137
-rw-r--r--doc/html/manage_8php.js4
-rw-r--r--doc/html/match_8php.html137
-rw-r--r--doc/html/match_8php.js4
-rw-r--r--doc/html/md_README.html113
-rw-r--r--doc/html/md_config.html112
-rw-r--r--doc/html/md_fresh.html124
-rw-r--r--doc/html/minimal_8php.html112
-rw-r--r--doc/html/mitem_8php.html173
-rw-r--r--doc/html/mitem_8php.js6
-rw-r--r--doc/html/mod_2api_8php.html175
-rw-r--r--doc/html/mod_2api_8php.js6
-rw-r--r--doc/html/mod_2attach_8php.html137
-rw-r--r--doc/html/mod_2attach_8php.js4
-rw-r--r--doc/html/mod_2directory_8php.html173
-rw-r--r--doc/html/mod_2directory_8php.js6
-rw-r--r--doc/html/mod_2follow_8php.html155
-rw-r--r--doc/html/mod_2follow_8php.js5
-rw-r--r--doc/html/mod_2group_8php.html173
-rw-r--r--doc/html/mod_2group_8php.js6
-rw-r--r--doc/html/mod_2menu_8php.html155
-rw-r--r--doc/html/mod_2menu_8php.js5
-rw-r--r--doc/html/mod_2message_8php.html174
-rw-r--r--doc/html/mod_2message_8php.js6
-rw-r--r--doc/html/mod_2network_8php.html216
-rw-r--r--doc/html/mod_2network_8php.js7
-rw-r--r--doc/html/mod_2notify_8php.html155
-rw-r--r--doc/html/mod_2notify_8php.js5
-rw-r--r--doc/html/mod_2oembed_8php.html137
-rw-r--r--doc/html/mod_2oembed_8php.js4
-rw-r--r--doc/html/mod_2photos_8php.html176
-rw-r--r--doc/html/mod_2photos_8php.js6
-rw-r--r--doc/html/mod_2settings_8php.html193
-rw-r--r--doc/html/mod_2settings_8php.js7
-rw-r--r--doc/html/mod__import_8php.html135
-rw-r--r--doc/html/mod__import_8php.js4
-rw-r--r--doc/html/mod__new__channel_8php.html133
-rw-r--r--doc/html/mod__new__channel_8php.js4
-rw-r--r--doc/html/mod__register_8php.html133
-rw-r--r--doc/html/mod__register_8php.js4
-rw-r--r--doc/html/mood_8php.html155
-rw-r--r--doc/html/mood_8php.js5
-rw-r--r--doc/html/msearch_8php.html137
-rw-r--r--doc/html/msearch_8php.js4
-rw-r--r--doc/html/namespaceFriendica.html115
-rw-r--r--doc/html/namespaceacl__selectors.html112
-rw-r--r--doc/html/namespacefriendica-to-smarty-tpl.html378
-rw-r--r--doc/html/namespacemembers.html176
-rw-r--r--doc/html/namespacemembers_func.html130
-rw-r--r--doc/html/namespacemembers_vars.html163
-rw-r--r--doc/html/namespaces.html121
-rw-r--r--doc/html/namespaces.js8
-rw-r--r--doc/html/namespaceupdatetpl.html212
-rw-r--r--doc/html/namespaceutil.html144
-rw-r--r--doc/html/nav_8php.html167
-rw-r--r--doc/html/nav_8php.js5
-rw-r--r--doc/html/nav_f.pngbin0 -> 153 bytes
-rw-r--r--doc/html/nav_g.pngbin0 -> 95 bytes
-rw-r--r--doc/html/nav_h.pngbin0 -> 98 bytes
-rw-r--r--doc/html/navtree.css143
-rw-r--r--doc/html/navtree.js542
-rw-r--r--doc/html/navtreeindex0.js253
-rw-r--r--doc/html/navtreeindex1.js253
-rw-r--r--doc/html/navtreeindex2.js253
-rw-r--r--doc/html/navtreeindex3.js253
-rw-r--r--doc/html/navtreeindex4.js253
-rw-r--r--doc/html/navtreeindex5.js253
-rw-r--r--doc/html/navtreeindex6.js253
-rw-r--r--doc/html/navtreeindex7.js99
-rw-r--r--doc/html/new__channel_8php.html173
-rw-r--r--doc/html/new__channel_8php.js6
-rw-r--r--doc/html/nogroup_8php.html155
-rw-r--r--doc/html/nogroup_8php.js5
-rw-r--r--doc/html/notifications_8php.html155
-rw-r--r--doc/html/notifications_8php.js5
-rw-r--r--doc/html/notifier_8php.html147
-rw-r--r--doc/html/notifier_8php.js4
-rw-r--r--doc/html/oauth_8php.html160
-rw-r--r--doc/html/oauth_8php.js7
-rw-r--r--doc/html/oexchange_8php.html155
-rw-r--r--doc/html/oexchange_8php.js5
-rw-r--r--doc/html/onepoll_8php.html147
-rw-r--r--doc/html/onepoll_8php.js4
-rw-r--r--doc/html/open.pngbin0 -> 123 bytes
-rw-r--r--doc/html/opensearch_8php.html137
-rw-r--r--doc/html/opensearch_8php.js4
-rw-r--r--doc/html/page_8php.html155
-rw-r--r--doc/html/page_8php.js5
-rw-r--r--doc/html/page__widgets_8php.html177
-rw-r--r--doc/html/page__widgets_8php.js5
-rw-r--r--doc/html/pages.html113
-rw-r--r--doc/html/parse__url_8php.html215
-rw-r--r--doc/html/parse__url_8php.js7
-rw-r--r--doc/html/permissions_8php.html274
-rw-r--r--doc/html/permissions_8php.js8
-rw-r--r--doc/html/photo_8php.html139
-rw-r--r--doc/html/photo_8php.js4
-rw-r--r--doc/html/photo__driver_8php.html263
-rw-r--r--doc/html/photo__driver_8php.js8
-rw-r--r--doc/html/photo__gd_8php.html120
-rw-r--r--doc/html/photo__imagick_8php.html120
-rw-r--r--doc/html/php2po_8php.html245
-rw-r--r--doc/html/php2po_8php.js11
-rw-r--r--doc/html/php_2default_8php.html133
-rw-r--r--doc/html/php_2default_8php.js4
-rw-r--r--doc/html/php_2theme__init_8php.html112
-rw-r--r--doc/html/php_8php.html137
-rw-r--r--doc/html/php_8php.js4
-rw-r--r--doc/html/ping_8php.html137
-rw-r--r--doc/html/ping_8php.js4
-rw-r--r--doc/html/plugin_8php.html743
-rw-r--r--doc/html/plugin_8php.js29
-rw-r--r--doc/html/po2php_8php.html147
-rw-r--r--doc/html/po2php_8php.js4
-rw-r--r--doc/html/poco_8php.html137
-rw-r--r--doc/html/poco_8php.js4
-rw-r--r--doc/html/poke_8php.html157
-rw-r--r--doc/html/poke_8php.js5
-rw-r--r--doc/html/poller_8php.html147
-rw-r--r--doc/html/poller_8php.js4
-rw-r--r--doc/html/post_8php.html164
-rw-r--r--doc/html/post_8php.js5
-rw-r--r--doc/html/pretheme_8php.html137
-rw-r--r--doc/html/pretheme_8php.js4
-rw-r--r--doc/html/probe_8php.html137
-rw-r--r--doc/html/probe_8php.js4
-rw-r--r--doc/html/profile_8php.html183
-rw-r--r--doc/html/profile_8php.js6
-rw-r--r--doc/html/profile__advanced_8php.html139
-rw-r--r--doc/html/profile__advanced_8php.js4
-rw-r--r--doc/html/profile__photo_8php.html173
-rw-r--r--doc/html/profile__photo_8php.js6
-rw-r--r--doc/html/profile__selectors_8php.html209
-rw-r--r--doc/html/profile__selectors_8php.js6
-rw-r--r--doc/html/profiles_8php.html191
-rw-r--r--doc/html/profiles_8php.js7
-rw-r--r--doc/html/profperm_8php.html173
-rw-r--r--doc/html/profperm_8php.js6
-rw-r--r--doc/html/pubsites_8php.html137
-rw-r--r--doc/html/pubsites_8php.js4
-rw-r--r--doc/html/qsearch_8php.html137
-rw-r--r--doc/html/qsearch_8php.js4
-rw-r--r--doc/html/queue_8php.html147
-rw-r--r--doc/html/queue_8php.js4
-rw-r--r--doc/html/queue__fn_8php.html155
-rw-r--r--doc/html/queue__fn_8php.js5
-rw-r--r--doc/html/r!-64.pngbin0 -> 2945 bytes
-rw-r--r--doc/html/randprof_8php.html137
-rw-r--r--doc/html/randprof_8php.js4
-rw-r--r--doc/html/redbasic_2php_2style_8php.html421
-rw-r--r--doc/html/redbasic_2php_2style_8php.js23
-rw-r--r--doc/html/redbasic_2php_2theme_8php.html137
-rw-r--r--doc/html/redbasic_2php_2theme_8php.js4
-rw-r--r--doc/html/redir_8php.html137
-rw-r--r--doc/html/redir_8php.js4
-rw-r--r--doc/html/redstrap_2php_2style_8php.html361
-rw-r--r--doc/html/redstrap_2php_2style_8php.js20
-rw-r--r--doc/html/redstrap_2php_2theme_8php.html137
-rw-r--r--doc/html/redstrap_2php_2theme_8php.js4
-rw-r--r--doc/html/register_8php.html173
-rw-r--r--doc/html/register_8php.js6
-rw-r--r--doc/html/regmod_8php.html137
-rw-r--r--doc/html/regmod_8php.js4
-rw-r--r--doc/html/removeme_8php.html155
-rw-r--r--doc/html/removeme_8php.js5
-rw-r--r--doc/html/resize.js93
-rw-r--r--doc/html/rhash-64.pngbin0 -> 3115 bytes
-rw-r--r--doc/html/rmagic_8php.html173
-rw-r--r--doc/html/rmagic_8php.js6
-rw-r--r--doc/html/rsd__xml_8php.html137
-rw-r--r--doc/html/rsd__xml_8php.js4
-rw-r--r--doc/html/search/all_24.html26
-rw-r--r--doc/html/search/all_24.js144
-rw-r--r--doc/html/search/all_5f.html26
-rw-r--r--doc/html/search/all_5f.js18
-rw-r--r--doc/html/search/all_61.html26
-rw-r--r--doc/html/search/all_61.js173
-rw-r--r--doc/html/search/all_62.html26
-rw-r--r--doc/html/search/all_62.js27
-rw-r--r--doc/html/search/all_63.html26
-rw-r--r--doc/html/search/all_63.js140
-rw-r--r--doc/html/search/all_64.html26
-rw-r--r--doc/html/search/all_64.js75
-rw-r--r--doc/html/search/all_65.html26
-rw-r--r--doc/html/search/all_65.js40
-rw-r--r--doc/html/search/all_66.html26
-rw-r--r--doc/html/search/all_66.js75
-rw-r--r--doc/html/search/all_67.html26
-rw-r--r--doc/html/search/all_67.js113
-rw-r--r--doc/html/search/all_68.html26
-rw-r--r--doc/html/search/all_68.js33
-rw-r--r--doc/html/search/all_69.html26
-rw-r--r--doc/html/search/all_69.js86
-rw-r--r--doc/html/search/all_6a.html26
-rw-r--r--doc/html/search/all_6a.js7
-rw-r--r--doc/html/search/all_6b.html26
-rw-r--r--doc/html/search/all_6b.js5
-rw-r--r--doc/html/search/all_6c.html26
-rw-r--r--doc/html/search/all_6c.js54
-rw-r--r--doc/html/search/all_6d.html26
-rw-r--r--doc/html/search/all_6d.js62
-rw-r--r--doc/html/search/all_6e.html26
-rw-r--r--doc/html/search/all_6e.js85
-rw-r--r--doc/html/search/all_6f.html26
-rw-r--r--doc/html/search/all_6f.js28
-rw-r--r--doc/html/search/all_70.html26
-rw-r--r--doc/html/search/all_70.js162
-rw-r--r--doc/html/search/all_71.html26
-rw-r--r--doc/html/search/all_71.js11
-rw-r--r--doc/html/search/all_72.html26
-rw-r--r--doc/html/search/all_72.js68
-rw-r--r--doc/html/search/all_73.html26
-rw-r--r--doc/html/search/all_73.js112
-rw-r--r--doc/html/search/all_74.html26
-rw-r--r--doc/html/search/all_74.js61
-rw-r--r--doc/html/search/all_75.html26
-rw-r--r--doc/html/search/all_75.js37
-rw-r--r--doc/html/search/all_76.html26
-rw-r--r--doc/html/search/all_76.js22
-rw-r--r--doc/html/search/all_77.html26
-rw-r--r--doc/html/search/all_77.js19
-rw-r--r--doc/html/search/all_78.html26
-rw-r--r--doc/html/search/all_78.js15
-rw-r--r--doc/html/search/all_7a.html26
-rw-r--r--doc/html/search/all_7a.js38
-rw-r--r--doc/html/search/classes_61.html26
-rw-r--r--doc/html/search/classes_61.js4
-rw-r--r--doc/html/search/classes_62.html26
-rw-r--r--doc/html/search/classes_62.js4
-rw-r--r--doc/html/search/classes_63.html26
-rw-r--r--doc/html/search/classes_63.js5
-rw-r--r--doc/html/search/classes_64.html26
-rw-r--r--doc/html/search/classes_64.js6
-rw-r--r--doc/html/search/classes_65.html26
-rw-r--r--doc/html/search/classes_65.js4
-rw-r--r--doc/html/search/classes_66.html26
-rw-r--r--doc/html/search/classes_66.js7
-rw-r--r--doc/html/search/classes_69.html26
-rw-r--r--doc/html/search/classes_69.js5
-rw-r--r--doc/html/search/classes_70.html26
-rw-r--r--doc/html/search/classes_70.js7
-rw-r--r--doc/html/search/classes_74.html26
-rw-r--r--doc/html/search/classes_74.js4
-rw-r--r--doc/html/search/classes_7a.html26
-rw-r--r--doc/html/search/classes_7a.js4
-rw-r--r--doc/html/search/close.pngbin0 -> 273 bytes
-rw-r--r--doc/html/search/files_5f.html26
-rw-r--r--doc/html/search/files_5f.js4
-rw-r--r--doc/html/search/files_61.html26
-rw-r--r--doc/html/search/files_61.js15
-rw-r--r--doc/html/search/files_62.html26
-rw-r--r--doc/html/search/files_62.js8
-rw-r--r--doc/html/search/files_63.html26
-rw-r--r--doc/html/search/files_63.js27
-rw-r--r--doc/html/search/files_64.html26
-rw-r--r--doc/html/search/files_64.js19
-rw-r--r--doc/html/search/files_65.html26
-rw-r--r--doc/html/search/files_65.js12
-rw-r--r--doc/html/search/files_66.html26
-rw-r--r--doc/html/search/files_66.js17
-rw-r--r--doc/html/search/files_67.html26
-rw-r--r--doc/html/search/files_67.js6
-rw-r--r--doc/html/search/files_68.html26
-rw-r--r--doc/html/search/files_68.js9
-rw-r--r--doc/html/search/files_69.html26
-rw-r--r--doc/html/search/files_69.js11
-rw-r--r--doc/html/search/files_6c.html26
-rw-r--r--doc/html/search/files_6c.js10
-rw-r--r--doc/html/search/files_6d.html26
-rw-r--r--doc/html/search/files_6d.js17
-rw-r--r--doc/html/search/files_6e.html26
-rw-r--r--doc/html/search/files_6e.js12
-rw-r--r--doc/html/search/files_6f.html26
-rw-r--r--doc/html/search/files_6f.js9
-rw-r--r--doc/html/search/files_70.html26
-rw-r--r--doc/html/search/files_70.js32
-rw-r--r--doc/html/search/files_71.html26
-rw-r--r--doc/html/search/files_71.js6
-rw-r--r--doc/html/search/files_72.html26
-rw-r--r--doc/html/search/files_72.js11
-rw-r--r--doc/html/search/files_73.html26
-rw-r--r--doc/html/search/files_73.js20
-rw-r--r--doc/html/search/files_74.html26
-rw-r--r--doc/html/search/files_74.js17
-rw-r--r--doc/html/search/files_75.html26
-rw-r--r--doc/html/search/files_75.js10
-rw-r--r--doc/html/search/files_76.html26
-rw-r--r--doc/html/search/files_76.js7
-rw-r--r--doc/html/search/files_77.html26
-rw-r--r--doc/html/search/files_77.js8
-rw-r--r--doc/html/search/files_78.html26
-rw-r--r--doc/html/search/files_78.js5
-rw-r--r--doc/html/search/files_7a.html26
-rw-r--r--doc/html/search/files_7a.js7
-rw-r--r--doc/html/search/functions_5f.html26
-rw-r--r--doc/html/search/functions_5f.js17
-rw-r--r--doc/html/search/functions_61.html26
-rw-r--r--doc/html/search/functions_61.js112
-rw-r--r--doc/html/search/functions_62.html26
-rw-r--r--doc/html/search/functions_62.js21
-rw-r--r--doc/html/search/functions_63.html26
-rw-r--r--doc/html/search/functions_63.js108
-rw-r--r--doc/html/search/functions_64.html26
-rw-r--r--doc/html/search/functions_64.js47
-rw-r--r--doc/html/search/functions_65.html26
-rw-r--r--doc/html/search/functions_65.js25
-rw-r--r--doc/html/search/functions_66.html26
-rw-r--r--doc/html/search/functions_66.js49
-rw-r--r--doc/html/search/functions_67.html26
-rw-r--r--doc/html/search/functions_67.js107
-rw-r--r--doc/html/search/functions_68.html26
-rw-r--r--doc/html/search/functions_68.js20
-rw-r--r--doc/html/search/functions_69.html26
-rw-r--r--doc/html/search/functions_69.js51
-rw-r--r--doc/html/search/functions_6a.html26
-rw-r--r--doc/html/search/functions_6a.js6
-rw-r--r--doc/html/search/functions_6b.html26
-rw-r--r--doc/html/search/functions_6b.js4
-rw-r--r--doc/html/search/functions_6c.html26
-rw-r--r--doc/html/search/functions_6c.js39
-rw-r--r--doc/html/search/functions_6d.html26
-rw-r--r--doc/html/search/functions_6d.js38
-rw-r--r--doc/html/search/functions_6e.html26
-rw-r--r--doc/html/search/functions_6e.js34
-rw-r--r--doc/html/search/functions_6f.html26
-rw-r--r--doc/html/search/functions_6f.js20
-rw-r--r--doc/html/search/functions_70.html26
-rw-r--r--doc/html/search/functions_70.js89
-rw-r--r--doc/html/search/functions_71.html26
-rw-r--r--doc/html/search/functions_71.js8
-rw-r--r--doc/html/search/functions_72.html26
-rw-r--r--doc/html/search/functions_72.js50
-rw-r--r--doc/html/search/functions_73.html26
-rw-r--r--doc/html/search/functions_73.js92
-rw-r--r--doc/html/search/functions_74.html26
-rw-r--r--doc/html/search/functions_74.js31
-rw-r--r--doc/html/search/functions_75.html26
-rw-r--r--doc/html/search/functions_75.js26
-rw-r--r--doc/html/search/functions_76.html26
-rw-r--r--doc/html/search/functions_76.js18
-rw-r--r--doc/html/search/functions_77.html26
-rw-r--r--doc/html/search/functions_77.js13
-rw-r--r--doc/html/search/functions_78.html26
-rw-r--r--doc/html/search/functions_78.js11
-rw-r--r--doc/html/search/functions_7a.html26
-rw-r--r--doc/html/search/functions_7a.js31
-rw-r--r--doc/html/search/mag_sel.pngbin0 -> 563 bytes
-rw-r--r--doc/html/search/namespaces_61.html26
-rw-r--r--doc/html/search/namespaces_61.js4
-rw-r--r--doc/html/search/namespaces_66.html26
-rw-r--r--doc/html/search/namespaces_66.js5
-rw-r--r--doc/html/search/namespaces_75.html26
-rw-r--r--doc/html/search/namespaces_75.js5
-rw-r--r--doc/html/search/nomatches.html12
-rw-r--r--doc/html/search/pages_63.html26
-rw-r--r--doc/html/search/pages_63.js4
-rw-r--r--doc/html/search/pages_66.html26
-rw-r--r--doc/html/search/pages_66.js4
-rw-r--r--doc/html/search/pages_72.html26
-rw-r--r--doc/html/search/pages_72.js4
-rw-r--r--doc/html/search/search.css271
-rw-r--r--doc/html/search/search.js807
-rw-r--r--doc/html/search/search_l.pngbin0 -> 604 bytes
-rw-r--r--doc/html/search/search_m.pngbin0 -> 158 bytes
-rw-r--r--doc/html/search/search_r.pngbin0 -> 612 bytes
-rw-r--r--doc/html/search/variables_24.html26
-rw-r--r--doc/html/search/variables_24.js144
-rw-r--r--doc/html/search/variables_61.html26
-rw-r--r--doc/html/search/variables_61.js50
-rw-r--r--doc/html/search/variables_63.html26
-rw-r--r--doc/html/search/variables_63.js9
-rw-r--r--doc/html/search/variables_64.html26
-rw-r--r--doc/html/search/variables_64.js12
-rw-r--r--doc/html/search/variables_65.html26
-rw-r--r--doc/html/search/variables_65.js8
-rw-r--r--doc/html/search/variables_66.html26
-rw-r--r--doc/html/search/variables_66.js8
-rw-r--r--doc/html/search/variables_67.html26
-rw-r--r--doc/html/search/variables_67.js6
-rw-r--r--doc/html/search/variables_68.html26
-rw-r--r--doc/html/search/variables_68.js10
-rw-r--r--doc/html/search/variables_69.html26
-rw-r--r--doc/html/search/variables_69.js28
-rw-r--r--doc/html/search/variables_6a.html26
-rw-r--r--doc/html/search/variables_6a.js4
-rw-r--r--doc/html/search/variables_6b.html26
-rw-r--r--doc/html/search/variables_6b.js4
-rw-r--r--doc/html/search/variables_6c.html26
-rw-r--r--doc/html/search/variables_6c.js11
-rw-r--r--doc/html/search/variables_6d.html26
-rw-r--r--doc/html/search/variables_6d.js13
-rw-r--r--doc/html/search/variables_6e.html26
-rw-r--r--doc/html/search/variables_6e.js45
-rw-r--r--doc/html/search/variables_6f.html26
-rw-r--r--doc/html/search/variables_6f.js5
-rw-r--r--doc/html/search/variables_70.html26
-rw-r--r--doc/html/search/variables_70.js43
-rw-r--r--doc/html/search/variables_72.html26
-rw-r--r--doc/html/search/variables_72.js12
-rw-r--r--doc/html/search/variables_73.html26
-rw-r--r--doc/html/search/variables_73.js6
-rw-r--r--doc/html/search/variables_74.html26
-rw-r--r--doc/html/search/variables_74.js18
-rw-r--r--doc/html/search/variables_75.html26
-rw-r--r--doc/html/search/variables_75.js5
-rw-r--r--doc/html/search/variables_77.html26
-rw-r--r--doc/html/search/variables_77.js4
-rw-r--r--doc/html/search/variables_78.html26
-rw-r--r--doc/html/search/variables_78.js5
-rw-r--r--doc/html/search/variables_7a.html26
-rw-r--r--doc/html/search/variables_7a.js5
-rw-r--r--doc/html/search_8php.html210
-rw-r--r--doc/html/search_8php.js7
-rw-r--r--doc/html/search__ac_8php.html137
-rw-r--r--doc/html/search__ac_8php.js4
-rw-r--r--doc/html/security_8php.html442
-rw-r--r--doc/html/security_8php.js14
-rw-r--r--doc/html/session_8php.html317
-rw-r--r--doc/html/session_8php.js13
-rw-r--r--doc/html/settings_8php.html193
-rw-r--r--doc/html/settings_8php.js7
-rw-r--r--doc/html/setup_8php.html479
-rw-r--r--doc/html/setup_8php.js19
-rw-r--r--doc/html/share_8php.html137
-rw-r--r--doc/html/share_8php.js4
-rw-r--r--doc/html/siteinfo_8php.html155
-rw-r--r--doc/html/siteinfo_8php.js5
-rw-r--r--doc/html/sitelist_8php.html137
-rw-r--r--doc/html/sitelist_8php.js4
-rw-r--r--doc/html/smilies_8php.html137
-rw-r--r--doc/html/smilies_8php.js4
-rw-r--r--doc/html/socgraph_8php.html432
-rw-r--r--doc/html/socgraph_8php.js12
-rw-r--r--doc/html/starred_8php.html137
-rw-r--r--doc/html/starred_8php.js4
-rw-r--r--doc/html/style_8php.html378
-rw-r--r--doc/html/style_8php.js20
-rw-r--r--doc/html/subthread_8php.html137
-rw-r--r--doc/html/subthread_8php.js4
-rw-r--r--doc/html/suggest_8php.html173
-rw-r--r--doc/html/suggest_8php.js6
-rw-r--r--doc/html/sync_off.pngbin0 -> 853 bytes
-rw-r--r--doc/html/sync_on.pngbin0 -> 845 bytes
-rw-r--r--doc/html/system__unavailable_8php.html138
-rw-r--r--doc/html/system__unavailable_8php.js4
-rw-r--r--doc/html/tab_a.pngbin0 -> 142 bytes
-rw-r--r--doc/html/tab_b.pngbin0 -> 169 bytes
-rw-r--r--doc/html/tab_h.pngbin0 -> 177 bytes
-rw-r--r--doc/html/tab_s.pngbin0 -> 184 bytes
-rw-r--r--doc/html/tabs.css60
-rw-r--r--doc/html/tagger_8php.html137
-rw-r--r--doc/html/tagger_8php.js4
-rw-r--r--doc/html/tagrm_8php.html155
-rw-r--r--doc/html/tagrm_8php.js5
-rw-r--r--doc/html/taxonomy_8php.html500
-rw-r--r--doc/html/taxonomy_8php.js15
-rw-r--r--doc/html/template__processor_8php.html184
-rw-r--r--doc/html/template__processor_8php.js7
-rw-r--r--doc/html/test_2php_2theme_8php.html166
-rw-r--r--doc/html/test_2php_2theme_8php.js5
-rw-r--r--doc/html/test_8php.html147
-rw-r--r--doc/html/test_8php.js4
-rw-r--r--doc/html/text_8php.html2108
-rw-r--r--doc/html/text_8php.js86
-rw-r--r--doc/html/theme_2redstrap_2php_2default_8php.html133
-rw-r--r--doc/html/theme_2redstrap_2php_2default_8php.js4
-rw-r--r--doc/html/theme_2redstrap_2php_2theme__init_8php.html112
-rw-r--r--doc/html/theme_8php.html137
-rw-r--r--doc/html/theme_8php.js4
-rw-r--r--doc/html/theme__init_8php.html112
-rw-r--r--doc/html/thing_8php.html159
-rw-r--r--doc/html/thing_8php.js5
-rw-r--r--doc/html/toggle__mobile_8php.html137
-rw-r--r--doc/html/toggle__mobile_8php.js4
-rw-r--r--doc/html/tpldebug_8php.html174
-rw-r--r--doc/html/tpldebug_8php.js6
-rw-r--r--doc/html/typo_8php.html193
-rw-r--r--doc/html/typo_8php.js8
-rw-r--r--doc/html/typohelper_8php.html153
-rw-r--r--doc/html/typohelper_8php.js5
-rw-r--r--doc/html/uexport_8php.html137
-rw-r--r--doc/html/uexport_8php.js4
-rw-r--r--doc/html/update__channel_8php.html141
-rw-r--r--doc/html/update__channel_8php.js4
-rw-r--r--doc/html/update__community_8php.html137
-rw-r--r--doc/html/update__community_8php.js4
-rw-r--r--doc/html/update__display_8php.html137
-rw-r--r--doc/html/update__display_8php.js4
-rw-r--r--doc/html/update__network_8php.html137
-rw-r--r--doc/html/update__network_8php.js4
-rw-r--r--doc/html/update__search_8php.html141
-rw-r--r--doc/html/update__search_8php.js4
-rw-r--r--doc/html/updatetpl_8py.html140
-rw-r--r--doc/html/updatetpl_8py.js9
-rw-r--r--doc/html/view_2theme_2redbasic_2php_2config_8php.html254
-rw-r--r--doc/html/view_2theme_2redbasic_2php_2config_8php.js6
-rw-r--r--doc/html/view_2theme_2redstrap_2php_2config_8php.html238
-rw-r--r--doc/html/view_2theme_2redstrap_2php_2config_8php.js6
-rw-r--r--doc/html/view_8php.html138
-rw-r--r--doc/html/view_8php.js4
-rw-r--r--doc/html/viewconnections_8php.html173
-rw-r--r--doc/html/viewconnections_8php.js6
-rw-r--r--doc/html/viewsrc_8php.html137
-rw-r--r--doc/html/viewsrc_8php.js4
-rw-r--r--doc/html/vote_8php.html173
-rw-r--r--doc/html/vote_8php.js6
-rw-r--r--doc/html/wall__attach_8php.html137
-rw-r--r--doc/html/wall__attach_8php.js4
-rw-r--r--doc/html/wall__upload_8php.html139
-rw-r--r--doc/html/wall__upload_8php.js4
-rw-r--r--doc/html/webfinger_8php.html137
-rw-r--r--doc/html/webfinger_8php.js4
-rw-r--r--doc/html/webpages_8php.html137
-rw-r--r--doc/html/webpages_8php.js4
-rw-r--r--doc/html/wfinger_8php.html139
-rw-r--r--doc/html/wfinger_8php.js4
-rw-r--r--doc/html/xchan_8php.html137
-rw-r--r--doc/html/xchan_8php.js4
-rw-r--r--doc/html/xrd_8php.html137
-rw-r--r--doc/html/xrd_8php.js4
-rw-r--r--doc/html/zfinger_8php.html139
-rw-r--r--doc/html/zfinger_8php.js4
-rw-r--r--doc/html/zot_8php.html924
-rw-r--r--doc/html/zot_8php.js29
-rw-r--r--doc/html/zotfeed_8php.html137
-rw-r--r--doc/html/zotfeed_8php.js4
-rw-r--r--doc/html/zperms_8php.html138
-rw-r--r--doc/html/zperms_8php.js4
-rw-r--r--doc/html/zping_8php.html137
-rw-r--r--doc/html/zping_8php.js4
-rw-r--r--doc/install/sample-lighttpd.conf85
-rw-r--r--doc/install/sample-nginx.conf114
-rw-r--r--doc/makingnewfriends.md11
-rw-r--r--doc/network.md9
-rw-r--r--doc/peopleyouknow.md13
-rw-r--r--done175
-rw-r--r--images/nosign.pngbin0 -> 17512 bytes
-rw-r--r--images/r!-64.pngbin0 -> 2945 bytes
-rw-r--r--images/r!.pngbin0 -> 1439 bytes
-rw-r--r--images/r!.xcfbin0 -> 85093 bytes
-rw-r--r--images/red_antiprism.pngbin0 -> 120847 bytes
-rw-r--r--images/red_antiprism.xcfbin0 -> 659160 bytes
-rw-r--r--images/rhash-16.pngbin0 -> 679 bytes
-rw-r--r--images/rhash-32.pngbin0 -> 1322 bytes
-rw-r--r--images/rhash-64.pngbin0 -> 3115 bytes
-rw-r--r--images/rhash.xcfbin0 -> 94324 bytes
-rw-r--r--include/BaseObject.php2
-rw-r--r--include/Contact.php184
-rw-r--r--include/ConversationObject.php54
-rwxr-xr-xinclude/ITemplateEngine.php11
-rw-r--r--include/ItemObject.php165
-rw-r--r--include/Photo.php768
-rw-r--r--include/ProtoDriver.php2
-rw-r--r--include/Scrape.php712
-rw-r--r--include/account.php23
-rw-r--r--include/acl_selectors.php37
-rw-r--r--include/activities.php9
-rw-r--r--include/api.php140
-rw-r--r--include/attach.php69
-rw-r--r--include/auth.php30
-rw-r--r--include/bb2diaspora.php2
-rw-r--r--include/bbcode.php392
-rw-r--r--include/cache.php2
-rw-r--r--include/cli_startup.php9
-rw-r--r--include/cli_suggest.php22
-rw-r--r--include/comanche.php168
-rw-r--r--include/config.php347
-rw-r--r--include/contact_selectors.php18
-rw-r--r--include/contact_widgets.php36
-rw-r--r--include/conversation.php346
-rw-r--r--include/cronhooks.php2
-rw-r--r--include/crypto.php173
-rw-r--r--include/datetime.php42
-rw-r--r--include/dba.php289
-rwxr-xr-xinclude/dba/dba_driver.php167
-rwxr-xr-xinclude/dba/dba_mysql.php63
-rwxr-xr-xinclude/dba/dba_mysqli.php76
-rw-r--r--include/deliver.php15
-rw-r--r--include/dir_fns.php74
-rw-r--r--include/directory.php26
-rw-r--r--include/enotify.php132
-rw-r--r--include/event.php87
-rw-r--r--include/expire.php2
-rw-r--r--include/fcontact.php41
-rw-r--r--include/features.php12
-rw-r--r--include/follow.php77
-rwxr-xr-x[-rw-r--r--]include/friendica_smarty.php83
-rw-r--r--include/gprobe.php2
-rw-r--r--include/group.php58
-rw-r--r--include/html2bbcode.php2
-rw-r--r--include/html2plain.php4
-rw-r--r--include/identity.php118
-rw-r--r--include/iquery.php139
-rwxr-xr-xinclude/items.php2940
-rw-r--r--include/js_strings.php2
-rw-r--r--include/language.php66
-rw-r--r--include/menu.php260
-rw-r--r--include/message.php171
-rw-r--r--include/nav.php27
-rw-r--r--include/network.php210
-rw-r--r--include/notifier.php173
-rw-r--r--include/notify.php2
-rw-r--r--include/oauth.php69
-rwxr-xr-xinclude/oembed.php21
-rw-r--r--include/onepoll.php11
-rw-r--r--include/page_widgets.php39
-rw-r--r--include/permissions.php52
-rw-r--r--include/photo/photo_driver.php640
-rw-r--r--include/photo/photo_gd.php140
-rw-r--r--include/photo/photo_imagick.php177
-rw-r--r--include/photos.php108
-rwxr-xr-x[-rw-r--r--]include/plugin.php192
-rw-r--r--include/poller.php99
-rw-r--r--include/profile_advanced.php37
-rw-r--r--include/profile_selectors.php2
-rw-r--r--include/queue.php6
-rw-r--r--include/queue_fn.php2
-rw-r--r--include/security.php86
-rw-r--r--include/session.php45
-rw-r--r--include/socgraph.php175
-rw-r--r--include/system_unavailable.php2
-rw-r--r--include/taxonomy.php268
-rwxr-xr-x[-rw-r--r--]include/template_processor.php28
-rwxr-xr-x[-rw-r--r--]include/text.php1021
-rw-r--r--include/zot.php977
-rwxr-xr-x[-rw-r--r--]index.php33
-rw-r--r--install/INSTALL.txt148
-rw-r--r--install/database.sql277
-rwxr-xr-x[-rw-r--r--]install/htconfig.sample.php49
-rw-r--r--install/update.php422
-rw-r--r--js/acl.js8
-rw-r--r--js/fk.autocomplete.js12
-rw-r--r--js/jquery-migrate-1.1.1.js511
-rw-r--r--js/jquery.js9
-rw-r--r--js/jquery.spin.js80
-rw-r--r--js/main.js111
-rw-r--r--js/spin.js349
-rw-r--r--library/OAuth1.php13
-rw-r--r--library/colorbox/README.md376
-rw-r--r--library/colorbox/colorbox.ai1811
-rw-r--r--library/colorbox/colorbox.css52
-rw-r--r--library/colorbox/colorbox.jquery.json30
-rw-r--r--library/colorbox/component.json8
-rw-r--r--library/colorbox/content/ajax.html11
-rw-r--r--library/colorbox/content/homer.jpgbin0 -> 8917 bytes
-rw-r--r--library/colorbox/content/marylou.jpgbin0 -> 55125 bytes
-rw-r--r--library/colorbox/content/ohoopee1.jpgbin0 -> 74827 bytes
-rw-r--r--library/colorbox/content/ohoopee2.jpgbin0 -> 117411 bytes
-rw-r--r--library/colorbox/content/ohoopee3.jpgbin0 -> 71514 bytes
-rw-r--r--library/colorbox/example1/colorbox.css86
-rw-r--r--library/colorbox/example1/images/border.pngbin0 -> 112 bytes
-rw-r--r--library/colorbox/example1/images/controls.pngbin0 -> 2893 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderBottomCenter.pngbin0 -> 111 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderBottomLeft.pngbin0 -> 215 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderBottomRight.pngbin0 -> 217 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderMiddleLeft.pngbin0 -> 108 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderMiddleRight.pngbin0 -> 108 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderTopCenter.pngbin0 -> 111 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderTopLeft.pngbin0 -> 216 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderTopRight.pngbin0 -> 214 bytes
-rw-r--r--library/colorbox/example1/images/loading.gifbin0 -> 9427 bytes
-rw-r--r--library/colorbox/example1/images/loading_background.pngbin0 -> 157 bytes
-rw-r--r--library/colorbox/example1/images/overlay.pngbin0 -> 182 bytes
-rw-r--r--library/colorbox/example1/index.html87
-rw-r--r--library/colorbox/example2/colorbox.css43
-rw-r--r--library/colorbox/example2/images/controls.pngbin0 -> 570 bytes
-rw-r--r--library/colorbox/example2/images/loading.gifbin0 -> 9427 bytes
-rw-r--r--library/colorbox/example2/index.html87
-rw-r--r--library/colorbox/example3/colorbox.css38
-rw-r--r--library/colorbox/example3/images/controls.pngbin0 -> 1633 bytes
-rw-r--r--library/colorbox/example3/images/loading.gifbin0 -> 9427 bytes
-rw-r--r--library/colorbox/example3/index.html87
-rw-r--r--library/colorbox/example4/colorbox.css82
-rw-r--r--library/colorbox/example4/images/border1.pngbin0 -> 1057 bytes
-rw-r--r--library/colorbox/example4/images/border2.pngbin0 -> 170 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderBottomCenter.pngbin0 -> 153 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderBottomLeft.pngbin0 -> 473 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderBottomRight.pngbin0 -> 470 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderMiddleLeft.pngbin0 -> 148 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderMiddleRight.pngbin0 -> 139 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderTopCenter.pngbin0 -> 153 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderTopLeft.pngbin0 -> 359 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderTopRight.pngbin0 -> 465 bytes
-rw-r--r--library/colorbox/example4/images/loading.gifbin0 -> 9427 bytes
-rw-r--r--library/colorbox/example4/index.html87
-rw-r--r--library/colorbox/example5/colorbox.css52
-rw-r--r--library/colorbox/example5/images/border.pngbin0 -> 163 bytes
-rw-r--r--library/colorbox/example5/images/controls.pngbin0 -> 2033 bytes
-rw-r--r--library/colorbox/example5/images/loading.gifbin0 -> 9427 bytes
-rw-r--r--library/colorbox/example5/images/loading_background.pngbin0 -> 166 bytes
-rw-r--r--library/colorbox/example5/index.html87
-rw-r--r--library/colorbox/i18n/jquery.colorbox-cs.js14
-rw-r--r--library/colorbox/i18n/jquery.colorbox-da.js14
-rw-r--r--library/colorbox/i18n/jquery.colorbox-de.js13
-rw-r--r--library/colorbox/i18n/jquery.colorbox-es.js13
-rw-r--r--library/colorbox/i18n/jquery.colorbox-fr.js14
-rw-r--r--library/colorbox/i18n/jquery.colorbox-it.js13
-rw-r--r--library/colorbox/i18n/jquery.colorbox-ru.js14
-rw-r--r--library/colorbox/images/border.pngbin0 -> 163 bytes
-rw-r--r--library/colorbox/images/controls.pngbin0 -> 2033 bytes
-rw-r--r--library/colorbox/images/loading.gifbin0 -> 9427 bytes
-rw-r--r--library/colorbox/images/loading_background.pngbin0 -> 166 bytes
-rw-r--r--library/colorbox/jquery.colorbox-min.js1
-rw-r--r--library/colorbox/jquery.colorbox.js975
-rw-r--r--library/fancybox/jquery.fancybox-1.3.4.js5
-rw-r--r--library/fullcalendar/changelog.txt24
-rw-r--r--library/fullcalendar/fullcalendar.css321
-rw-r--r--library/fullcalendar/fullcalendar.js665
-rw-r--r--library/fullcalendar/fullcalendar.min.js121
-rw-r--r--library/fullcalendar/fullcalendar.print.css47
-rw-r--r--library/fullcalendar/gcal.js13
-rw-r--r--library/fullcalendar/license.txt20
-rw-r--r--library/jquery_ac/friendica.complete.js4
-rw-r--r--library/jslider/css/jslider.css8
-rw-r--r--library/jslider/img/jslider.pngbin1021 -> 841 bytes
-rwxr-xr-xlibrary/prettyphoto/README30
-rw-r--r--library/prettyphoto/css/prettyPhoto.css170
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/btnNext.pngbin0 -> 1411 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/btnPrevious.pngbin0 -> 1442 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/contentPattern.pngbin0 -> 130 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/default_thumbnail.gifbin0 -> 227 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/loader.gifbin0 -> 2545 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_rounded/sprite.pngbin0 -> 4076 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/btnNext.pngbin0 -> 1411 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/btnPrevious.pngbin0 -> 1442 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/contentPattern.pngbin0 -> 121 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/default_thumbnail.gifbin0 -> 227 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/loader.gifbin0 -> 2545 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/dark_square/sprite.pngbin0 -> 3507 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/default_thumb.pngbin0 -> 1537 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/loader.gifbin0 -> 6331 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/sprite.pngbin0 -> 6682 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/sprite_next.pngbin0 -> 1358 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/sprite_prev.pngbin0 -> 1376 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/sprite_x.pngbin0 -> 1097 bytes
-rw-r--r--library/prettyphoto/images/prettyPhoto/default/sprite_y.pngbin0 -> 1162 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/btnNext.pngbin0 -> 845 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/btnPrevious.pngbin0 -> 828 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/contentPatternBottom.pngbin0 -> 142 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/contentPatternLeft.pngbin0 -> 137 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/contentPatternRight.pngbin0 -> 136 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/contentPatternTop.pngbin0 -> 142 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/default_thumbnail.gifbin0 -> 227 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/loader.gifbin0 -> 2545 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/facebook/sprite.pngbin0 -> 4227 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_rounded/btnNext.pngbin0 -> 1411 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_rounded/btnPrevious.pngbin0 -> 1442 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_rounded/default_thumbnail.gifbin0 -> 227 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_rounded/loader.gifbin0 -> 2545 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_rounded/sprite.pngbin0 -> 4099 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_square/btnNext.pngbin0 -> 1411 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_square/btnPrevious.pngbin0 -> 1442 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_square/default_thumbnail.gifbin0 -> 227 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_square/loader.gifbin0 -> 2545 bytes
-rwxr-xr-xlibrary/prettyphoto/images/prettyPhoto/light_square/sprite.pngbin0 -> 3507 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/_well_known.php13
-rw-r--r--mod/acl.php49
-rw-r--r--mod/admin.php109
-rw-r--r--mod/blocks.php101
-rw-r--r--mod/chanman.php31
-rw-r--r--mod/channel.php57
-rw-r--r--mod/chanview.php6
-rw-r--r--mod/community.php8
-rw-r--r--mod/connect.php128
-rw-r--r--mod/connections.php128
-rw-r--r--mod/crepair.php2
-rw-r--r--mod/directory.php40
-rw-r--r--mod/dirfind.php68
-rw-r--r--mod/dirsearch.php127
-rw-r--r--mod/display.php72
-rw-r--r--mod/editblock.php159
-rw-r--r--mod/editlayout.php143
-rw-r--r--mod/editpost.php40
-rw-r--r--mod/editwebpage.php164
-rwxr-xr-xmod/events.php15
-rw-r--r--mod/fbrowser.php5
-rw-r--r--mod/feed.php14
-rw-r--r--mod/filestorage.php90
-rw-r--r--mod/follow.php13
-rw-r--r--mod/fsuggest.php5
-rw-r--r--mod/group.php16
-rw-r--r--mod/help.php2
-rw-r--r--mod/home.php65
-rw-r--r--mod/import.php123
-rw-r--r--mod/invite.php49
-rw-r--r--mod/item.php598
-rw-r--r--mod/layouts.php98
-rwxr-xr-xmod/like.php38
-rw-r--r--mod/lockview.php4
-rw-r--r--mod/magic.php48
-rw-r--r--mod/manage.php12
-rw-r--r--mod/menu.php118
-rw-r--r--mod/message.php64
-rw-r--r--mod/mitem.php201
-rwxr-xr-xmod/mood.php23
-rw-r--r--mod/network.php101
-rw-r--r--mod/nogroup.php2
-rw-r--r--mod/notifications.php34
-rw-r--r--mod/oembed.php2
-rw-r--r--mod/oexchange.php9
-rw-r--r--mod/page.php63
-rw-r--r--mod/parse_url.php44
-rw-r--r--mod/photo.php9
-rw-r--r--mod/photos.php460
-rw-r--r--mod/ping.php4
-rwxr-xr-xmod/poke.php166
-rw-r--r--mod/post.php185
-rw-r--r--mod/probe.php1
-rw-r--r--mod/profile.php26
-rw-r--r--mod/profile_photo.php52
-rw-r--r--mod/profiles.php19
-rw-r--r--mod/pubsites.php37
-rw-r--r--mod/randprof.php3
-rw-r--r--mod/register.php6
-rw-r--r--mod/search.php78
-rw-r--r--mod/search_ac.php33
-rw-r--r--mod/settings.php98
-rwxr-xr-xmod/setup.php79
-rw-r--r--mod/share.php25
-rw-r--r--mod/siteinfo.php48
-rw-r--r--mod/sitelist.php51
-rw-r--r--mod/starred.php8
-rwxr-xr-xmod/subthread.php25
-rw-r--r--mod/suggest.php56
-rw-r--r--mod/tagger.php193
-rw-r--r--mod/thing.php196
-rw-r--r--mod/toggle_mobile.php4
-rw-r--r--mod/update_channel.php20
-rw-r--r--mod/update_display.php13
-rw-r--r--mod/update_network.php25
-rw-r--r--mod/update_search.php66
-rw-r--r--mod/viewconnections.php25
-rw-r--r--mod/wall_upload.php7
-rw-r--r--mod/webpages.php107
-rw-r--r--mod/wfinger.php99
-rw-r--r--mod/zfinger.php92
-rw-r--r--mod/zotfeed.php2
-rw-r--r--mod/zperms.php84
-rw-r--r--mod/zping.php28
-rw-r--r--util/Doxyfile21
-rw-r--r--util/Doxygen.footer4
-rw-r--r--util/db_update.php20
-rw-r--r--util/fresh.md3
-rwxr-xr-xutil/makedocs2
-rw-r--r--util/messages.po8140
-rwxr-xr-xutil/pconfig34
-rwxr-xr-xutil/precompile_smarty3.php27
-rwxr-xr-xutil/run_xgettext.sh88
-rwxr-xr-xutil/shred/FriendicaOAuth.sh173
-rwxr-xr-xutil/shred/JSON.sh129
-rwxr-xr-xutil/shred/OAuth.sh214
-rwxr-xr-xutil/shred/shred214
-rw-r--r--util/strings.php2385
-rw-r--r--util/tpldebug.php43
-rw-r--r--util/typo.php18
-rw-r--r--version.inc2
-rw-r--r--view/cs/follow_notify_eml.tpl14
-rw-r--r--view/cs/friend_complete_eml.tpl21
-rw-r--r--view/cs/htconfig.tpl70
-rw-r--r--view/cs/intro_complete_eml.tpl23
-rw-r--r--view/cs/lostpass_eml.tpl35
-rw-r--r--view/cs/passchanged_eml.tpl26
-rw-r--r--view/cs/register_open_eml.tpl30
-rw-r--r--view/cs/register_verify_eml.tpl23
-rw-r--r--view/cs/request_notify_eml.tpl18
-rw-r--r--view/cs/update_fail_eml.tpl13
-rw-r--r--view/css/default.css6
-rw-r--r--view/css/mod_admin.css63
-rw-r--r--view/css/mod_connect.css11
-rw-r--r--view/css/mod_group.css66
-rw-r--r--view/css/mod_manage.css17
-rw-r--r--view/css/mod_setup.css34
-rw-r--r--view/css/mod_thing.css27
-rw-r--r--view/de/follow_notify_eml.tpl14
-rw-r--r--view/de/friend_complete_eml.tpl26
-rw-r--r--view/de/htconfig.tpl70
-rw-r--r--view/de/intro_complete_eml.tpl28
-rw-r--r--view/de/lostpass_eml.tpl36
-rw-r--r--view/de/passchanged_eml.tpl24
-rw-r--r--view/de/register_open_eml.tpl41
-rw-r--r--view/de/register_verify_eml.tpl22
-rw-r--r--view/de/request_notify_eml.tpl18
-rw-r--r--view/de/update_fail_eml.tpl20
-rw-r--r--view/en/follow_notify_eml.tpl10
-rw-r--r--view/en/friend_complete_eml.tpl14
-rw-r--r--view/en/htconfig.tpl35
-rw-r--r--view/en/intro_complete_eml.tpl18
-rw-r--r--view/en/lostpass_eml.tpl12
-rw-r--r--view/en/passchanged_eml.tpl10
-rw-r--r--view/en/register_open_eml.tpl10
-rw-r--r--view/en/register_verify_eml.tpl12
-rw-r--r--view/en/request_notify_eml.tpl12
-rw-r--r--view/en/update_fail_eml.tpl16
-rw-r--r--view/eo/follow_notify_eml.tpl14
-rw-r--r--view/eo/friend_complete_eml.tpl26
-rw-r--r--view/eo/htconfig.tpl70
-rw-r--r--view/eo/intro_complete_eml.tpl28
-rw-r--r--view/eo/lostpass_eml.tpl36
-rw-r--r--view/eo/passchanged_eml.tpl24
-rw-r--r--view/eo/register_open_eml.tpl41
-rw-r--r--view/eo/register_verify_eml.tpl22
-rw-r--r--view/eo/request_notify_eml.tpl18
-rw-r--r--view/eo/update_fail_eml.tpl20
-rw-r--r--view/es/follow_notify_eml.tpl13
-rw-r--r--view/es/friend_complete_eml.tpl21
-rw-r--r--view/es/htconfig.tpl70
-rw-r--r--view/es/intro_complete_eml.tpl27
-rw-r--r--view/es/lostpass_eml.tpl36
-rw-r--r--view/es/passchanged_eml.tpl21
-rw-r--r--view/es/register_open_eml.tpl26
-rw-r--r--view/es/register_verify_eml.tpl25
-rw-r--r--view/es/request_notify_eml.tpl16
-rw-r--r--view/es/update_fail_eml.tpl13
-rw-r--r--view/fr/follow_notify_eml.tpl14
-rw-r--r--view/fr/friend_complete_eml.tpl25
-rw-r--r--view/fr/htconfig.tpl70
-rw-r--r--view/fr/intro_complete_eml.tpl28
-rw-r--r--view/fr/lostpass_eml.tpl36
-rw-r--r--view/fr/passchanged_eml.tpl24
-rw-r--r--view/fr/register_open_eml.tpl27
-rw-r--r--view/fr/register_verify_eml.tpl24
-rw-r--r--view/fr/request_notify_eml.tpl18
-rw-r--r--view/fr/update_fail_eml.tpl13
-rw-r--r--view/it/follow_notify_eml.tpl14
-rw-r--r--view/it/friend_complete_eml.tpl26
-rw-r--r--view/it/htconfig.tpl70
-rw-r--r--view/it/intro_complete_eml.tpl28
-rw-r--r--view/it/lostpass_eml.tpl36
-rw-r--r--view/it/messages.po12008
-rw-r--r--view/it/passchanged_eml.tpl24
-rw-r--r--view/it/register_open_eml.tpl41
-rw-r--r--view/it/register_verify_eml.tpl22
-rw-r--r--view/it/request_notify_eml.tpl18
-rw-r--r--view/it/strings.php3293
-rw-r--r--view/it/update_fail_eml.tpl13
-rw-r--r--view/js/mod_connections.js24
-rw-r--r--view/js/mod_network.js9
-rw-r--r--view/js/mod_poke.js13
-rw-r--r--view/js/mod_settings.js90
-rw-r--r--view/nb-no/follow_notify_eml.tpl14
-rw-r--r--view/nb-no/friend_complete_eml.tpl26
-rw-r--r--view/nb-no/htconfig.tpl70
-rw-r--r--view/nb-no/intro_complete_eml.tpl28
-rw-r--r--view/nb-no/lostpass_eml.tpl36
-rw-r--r--view/nb-no/passchanged_eml.tpl24
-rw-r--r--view/nb-no/register_open_eml.tpl41
-rw-r--r--view/nb-no/register_verify_eml.tpl22
-rw-r--r--view/nb-no/request_notify_eml.tpl18
-rw-r--r--view/nb-no/update_fail_eml.tpl20
-rw-r--r--view/php/default.php4
-rw-r--r--view/php/theme_init.php11
-rw-r--r--view/pt-br/follow_notify_eml.tpl14
-rw-r--r--view/pt-br/friend_complete_eml.tpl22
-rw-r--r--view/pt-br/htconfig.tpl70
-rw-r--r--view/pt-br/intro_complete_eml.tpl22
-rw-r--r--view/pt-br/lostpass_eml.tpl32
-rw-r--r--view/pt-br/passchanged_eml.tpl20
-rw-r--r--view/pt-br/register_open_eml.tpl19
-rw-r--r--view/pt-br/register_verify_eml.tpl25
-rw-r--r--view/pt-br/request_notify_eml.tpl17
-rw-r--r--view/pt-br/update_fail_eml.tpl13
-rw-r--r--view/ru/follow_notify_eml.tpl14
-rw-r--r--view/ru/friend_complete_eml.tpl22
-rw-r--r--view/ru/htconfig.tpl70
-rw-r--r--view/ru/intro_complete_eml.tpl22
-rw-r--r--view/ru/lostpass_eml.tpl32
-rw-r--r--view/ru/passchanged_eml.tpl20
-rw-r--r--view/ru/register_open_eml.tpl19
-rw-r--r--view/ru/register_verify_eml.tpl25
-rw-r--r--view/ru/request_notify_eml.tpl17
-rw-r--r--view/ru/strings.php3246
-rw-r--r--view/ru/update_fail_eml.tpl13
-rw-r--r--view/sv/follow_notify_eml.tpl16
-rw-r--r--view/sv/friend_complete_eml.tpl27
-rw-r--r--view/sv/htconfig.tpl70
-rw-r--r--view/sv/intro_complete_eml.tpl29
-rw-r--r--view/sv/lostpass_eml.tpl39
-rw-r--r--view/sv/passchanged_eml.tpl24
-rw-r--r--view/sv/register_open_eml.tpl24
-rw-r--r--view/sv/register_verify_eml.tpl28
-rw-r--r--view/sv/request_notify_eml.tpl20
-rw-r--r--view/sv/update_fail_eml.tpl13
-rw-r--r--view/theme/fancyred/css/style.css3934
-rw-r--r--view/theme/fancyred/img/bbedit.pngbin2145 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/bg.pngbin119030 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/border.jpgbin342 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/editicons.pngbin6300 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/events.pngbin1686 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/ff-16.jpgbin644 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/file.gifbin613 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/friendika-16.pngbin699 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/head.jpgbin383 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/home.pngbin1198 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/introductions.pngbin1275 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/jotperms.pngbin510 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/lock.curbin4286 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/login-bg.gifbin237 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/message.pngbin765 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/network.pngbin1650 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/notify_on.pngbin721 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/photo-menu.jpgbin459 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/screenshot.jpgbin72559 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/settings.pngbin1609 -> 0 bytes
-rw-r--r--view/theme/fancyred/img/shiny.pngbin362 -> 0 bytes
-rw-r--r--view/theme/fancyred/js/fancyred.js89
-rw-r--r--view/theme/fancyred/php/config.php80
-rw-r--r--view/theme/fancyred/php/style.php99
-rw-r--r--view/theme/fancyred/php/theme.php6
-rw-r--r--view/theme/fancyred/tpl/smarty3/theme_settings.tpl12
-rw-r--r--view/theme/fancyred/tpl/theme_settings.tpl7
-rw-r--r--view/theme/redbasic/css/dark.css182
-rw-r--r--view/theme/redbasic/css/fancy.css106
-rw-r--r--view/theme/redbasic/css/mod_page.css24
-rw-r--r--view/theme/redbasic/css/style.css1150
-rw-r--r--view/theme/redbasic/img/bg.pngbin119030 -> 0 bytes
-rw-r--r--view/theme/redbasic/img/events.pngbin1686 -> 0 bytes
-rw-r--r--view/theme/redbasic/img/head.jpgbin383 -> 0 bytes
-rw-r--r--view/theme/redbasic/img/home.pngbin1198 -> 0 bytes
-rw-r--r--view/theme/redbasic/img/introductions.pngbin1210 -> 0 bytes
-rw-r--r--view/theme/redbasic/img/lock.curbin4286 -> 0 bytes
-rw-r--r--view/theme/redbasic/img/message.pngbin765 -> 0 bytes
-rw-r--r--view/theme/redbasic/img/network.pngbin1632 -> 0 bytes
-rw-r--r--view/theme/redbasic/img/settings.pngbin1609 -> 0 bytes
-rw-r--r--view/theme/redbasic/js/redbasic.js14
-rw-r--r--view/theme/redbasic/php/config.php130
-rw-r--r--view/theme/redbasic/php/style.php167
-rw-r--r--view/theme/redbasic/php/theme.php6
-rwxr-xr-xview/theme/redbasic/tpl/basic_theme_settings.tpl14
-rw-r--r--view/theme/redbasic/tpl/smarty3/theme_settings.tpl12
-rwxr-xr-x[-rw-r--r--]view/theme/redbasic/tpl/theme_settings.tpl22
-rwxr-xr-x[-rw-r--r--]view/tpl/404.tpl2
-rwxr-xr-x[-rw-r--r--]view/tpl/abook_edit.tpl90
-rwxr-xr-x[-rw-r--r--]view/tpl/acl_selector.tpl8
-rwxr-xr-x[-rw-r--r--]view/tpl/admin_aside.tpl33
-rwxr-xr-x[-rw-r--r--]view/tpl/admin_logs.tpl24
-rwxr-xr-x[-rw-r--r--]view/tpl/admin_plugins.tpl18
-rwxr-xr-x[-rw-r--r--]view/tpl/admin_plugins_details.tpl46
-rw-r--r--view/tpl/admin_remoteupdate.tpl98
-rwxr-xr-x[-rw-r--r--]view/tpl/admin_site.tpl70
-rwxr-xr-x[-rw-r--r--]view/tpl/admin_summary.tpl36
-rwxr-xr-x[-rw-r--r--]view/tpl/admin_users.tpl80
-rwxr-xr-x[-rw-r--r--]view/tpl/album_edit.tpl10
-rw-r--r--view/tpl/alt_pager.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/api_config_xml.tpl18
-rwxr-xr-x[-rw-r--r--]view/tpl/api_friends_xml.tpl6
-rwxr-xr-x[-rw-r--r--]view/tpl/api_ratelimit_xml.tpl8
-rwxr-xr-x[-rw-r--r--]view/tpl/api_status_xml.tpl84
-rwxr-xr-x[-rw-r--r--]view/tpl/api_test_xml.tpl2
-rwxr-xr-x[-rw-r--r--]view/tpl/api_timeline_atom.tpl96
-rwxr-xr-x[-rw-r--r--]view/tpl/api_timeline_rss.tpl28
-rwxr-xr-x[-rw-r--r--]view/tpl/api_timeline_xml.tpl36
-rwxr-xr-x[-rw-r--r--]view/tpl/api_user_xml.tpl88
-rwxr-xr-x[-rw-r--r--]view/tpl/apps.tpl8
-rwxr-xr-x[-rw-r--r--]view/tpl/atom_feed.tpl31
-rwxr-xr-x[-rw-r--r--]view/tpl/atom_feed_dfrn.tpl24
-rw-r--r--view/tpl/atom_mail.tpl17
-rw-r--r--view/tpl/atom_suggest.tpl11
-rw-r--r--view/tpl/auto_request.tpl37
-rwxr-xr-x[-rw-r--r--]view/tpl/birthdays_reminder.tpl14
-rwxr-xr-x[-rw-r--r--]view/tpl/build_query.tpl45
-rwxr-xr-x[-rw-r--r--]view/tpl/categories_widget.tpl12
-rwxr-xr-x[-rw-r--r--]view/tpl/channel.tpl18
-rwxr-xr-x[-rw-r--r--]view/tpl/channel_import.tpl26
-rwxr-xr-x[-rw-r--r--]view/tpl/channels.tpl37
-rwxr-xr-x[-rw-r--r--]view/tpl/chanview.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/comment_item.tpl89
-rwxr-xr-x[-rw-r--r--]view/tpl/common_friends.tpl11
-rwxr-xr-x[-rw-r--r--]view/tpl/common_tabs.tpl8
-rwxr-xr-x[-rw-r--r--]view/tpl/contact_block.tpl14
-rw-r--r--view/tpl/contact_edit.tpl89
-rwxr-xr-x[-rw-r--r--]view/tpl/contact_head.tpl6
-rwxr-xr-x[-rw-r--r--]view/tpl/contact_slider.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/contact_template.tpl7
-rwxr-xr-x[-rw-r--r--]view/tpl/contacts-template.tpl22
-rw-r--r--view/tpl/content.tpl2
-rwxr-xr-x[-rw-r--r--]view/tpl/conv.tpl20
-rwxr-xr-x[-rw-r--r--]view/tpl/conv_frame.tpl10
-rwxr-xr-x[-rw-r--r--]view/tpl/conv_item.tpl160
-rwxr-xr-x[-rw-r--r--]view/tpl/conversation.tpl28
-rwxr-xr-x[-rw-r--r--]view/tpl/convobj.tpl6
-rwxr-xr-x[-rw-r--r--]view/tpl/crepair.tpl41
-rwxr-xr-x[-rw-r--r--]view/tpl/cropbody.tpl14
-rwxr-xr-x[-rw-r--r--]view/tpl/crophead.tpl0
-rwxr-xr-x[-rw-r--r--]view/tpl/delegate.tpl52
-rw-r--r--view/tpl/dfrn_req_confirm.tpl21
-rw-r--r--view/tpl/dfrn_request.tpl59
-rw-r--r--view/tpl/diasp_dec_hdr.tpl8
-rwxr-xr-x[-rw-r--r--]view/tpl/directory_header.tpl14
-rw-r--r--view/tpl/directory_item.tpl11
-rwxr-xr-x[-rw-r--r--]view/tpl/direntry.tpl21
-rwxr-xr-x[-rw-r--r--]view/tpl/display-head.tpl0
-rwxr-xr-xview/tpl/edpage_head.tpl1
-rwxr-xr-x[-rw-r--r--]view/tpl/edpost_head.tpl2
-rwxr-xr-x[-rw-r--r--]view/tpl/email_notify_html.tpl22
-rwxr-xr-x[-rw-r--r--]view/tpl/email_notify_text.tpl15
-rwxr-xr-x[-rw-r--r--]view/tpl/event.tpl12
-rwxr-xr-x[-rw-r--r--]view/tpl/event_form.tpl42
-rwxr-xr-x[-rw-r--r--]view/tpl/event_head.tpl26
-rwxr-xr-x[-rw-r--r--]view/tpl/events-js.tpl6
-rw-r--r--view/tpl/events.tpl24
-rwxr-xr-x[-rw-r--r--]view/tpl/events_reminder.tpl14
-rwxr-xr-x[-rw-r--r--]view/tpl/failed_updates.tpl18
-rw-r--r--view/tpl/fake_feed.tpl13
-rwxr-xr-x[-rw-r--r--]view/tpl/field.tpl7
-rwxr-xr-x[-rw-r--r--]view/tpl/field_acheckbox.tpl9
-rwxr-xr-x[-rw-r--r--]view/tpl/field_checkbox.tpl7
-rwxr-xr-x[-rw-r--r--]view/tpl/field_combobox.tpl23
-rwxr-xr-x[-rw-r--r--]view/tpl/field_custom.tpl7
-rwxr-xr-x[-rw-r--r--]view/tpl/field_input.tpl9
-rwxr-xr-x[-rw-r--r--]view/tpl/field_intcheckbox.tpl7
-rw-r--r--view/tpl/field_openid.tpl6
-rwxr-xr-x[-rw-r--r--]view/tpl/field_password.tpl7
-rwxr-xr-x[-rw-r--r--]view/tpl/field_radio.tpl7
-rwxr-xr-x[-rw-r--r--]view/tpl/field_richtext.tpl7
-rwxr-xr-x[-rw-r--r--]view/tpl/field_select.tpl9
-rwxr-xr-x[-rw-r--r--]view/tpl/field_select_raw.tpl9
-rwxr-xr-x[-rw-r--r--]view/tpl/field_textarea.tpl7
-rwxr-xr-x[-rw-r--r--]view/tpl/field_themeselect.tpl10
-rwxr-xr-x[-rw-r--r--]view/tpl/field_yesno.tpl12
-rwxr-xr-x[-rw-r--r--]view/tpl/fileas_widget.tpl12
-rwxr-xr-x[-rw-r--r--]view/tpl/filebrowser.tpl16
-rwxr-xr-x[-rw-r--r--]view/tpl/filer_dialog.tpl4
-rw-r--r--view/tpl/filestorage.tpl22
-rwxr-xr-x[-rw-r--r--]view/tpl/follow.tpl9
-rw-r--r--view/tpl/follow_slap.tpl25
-rwxr-xr-x[-rw-r--r--]view/tpl/generic_links_widget.tpl12
-rwxr-xr-x[-rw-r--r--]view/tpl/group_drop.tpl6
-rwxr-xr-x[-rw-r--r--]view/tpl/group_edit.tpl21
-rwxr-xr-x[-rw-r--r--]view/tpl/group_selection.tpl8
-rwxr-xr-x[-rw-r--r--]view/tpl/group_side.tpl32
-rwxr-xr-x[-rw-r--r--]view/tpl/groupeditor.tpl8
-rwxr-xr-x[-rw-r--r--]view/tpl/head.tpl20
-rwxr-xr-x[-rw-r--r--]view/tpl/hide_comments.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/install.tpl13
-rwxr-xr-x[-rw-r--r--]view/tpl/install_checks.tpl34
-rwxr-xr-x[-rw-r--r--]view/tpl/install_db.tpl32
-rwxr-xr-x[-rw-r--r--]view/tpl/install_settings.tpl32
-rwxr-xr-x[-rw-r--r--]view/tpl/intros.tpl23
-rwxr-xr-x[-rw-r--r--]view/tpl/intros_header.tpl2
-rwxr-xr-x[-rw-r--r--]view/tpl/invite.tpl12
-rwxr-xr-x[-rw-r--r--]view/tpl/jot-header.tpl99
-rwxr-xr-x[-rw-r--r--]view/tpl/jot.tpl91
-rwxr-xr-x[-rw-r--r--]view/tpl/jot_geotag.tpl1
-rwxr-xr-x[-rw-r--r--]view/tpl/js_strings.tpl49
-rwxr-xr-x[-rw-r--r--]view/tpl/lang_selector.tpl8
-rwxr-xr-x[-rw-r--r--]view/tpl/like_noshare.tpl8
-rwxr-xr-x[-rw-r--r--]view/tpl/login.tpl23
-rwxr-xr-x[-rw-r--r--]view/tpl/logout.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/lostpass.tpl8
-rw-r--r--view/tpl/magicsig.tpl9
-rwxr-xr-x[-rw-r--r--]view/tpl/mail_conv.tpl12
-rwxr-xr-x[-rw-r--r--]view/tpl/mail_display.tpl19
-rwxr-xr-x[-rw-r--r--]view/tpl/mail_head.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/mail_list.tpl24
-rwxr-xr-x[-rw-r--r--]view/tpl/main_slider.tpl26
-rwxr-xr-x[-rw-r--r--]view/tpl/match.tpl12
-rw-r--r--view/tpl/menuedit.tpl21
-rw-r--r--view/tpl/menulist.tpl16
-rwxr-xr-x[-rw-r--r--]view/tpl/message_side.tpl9
-rwxr-xr-x[-rw-r--r--]view/tpl/micropro_img.tpl2
-rwxr-xr-x[-rw-r--r--]view/tpl/micropro_txt.tpl2
-rw-r--r--view/tpl/mitemedit.tpl21
-rw-r--r--view/tpl/mitemlist.tpl18
-rw-r--r--view/tpl/moderated_comment.tpl34
-rwxr-xr-x[-rw-r--r--]view/tpl/mood_content.tpl14
-rwxr-xr-x[-rw-r--r--]view/tpl/msg-header.tpl52
-rwxr-xr-x[-rw-r--r--]view/tpl/nav.tpl182
-rwxr-xr-x[-rw-r--r--]view/tpl/netfriend.tpl10
-rwxr-xr-x[-rw-r--r--]view/tpl/new_channel.tpl20
-rwxr-xr-x[-rw-r--r--]view/tpl/nogroup-template.tpl10
-rwxr-xr-x[-rw-r--r--]view/tpl/notifications.tpl7
-rwxr-xr-x[-rw-r--r--]view/tpl/notifications_comments_item.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/notifications_dislikes_item.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/notifications_friends_item.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/notifications_likes_item.tpl4
-rw-r--r--view/tpl/notifications_network_item.tpl3
-rwxr-xr-x[-rw-r--r--]view/tpl/notifications_posts_item.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/notify.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/oauth_authorize.tpl10
-rwxr-xr-x[-rw-r--r--]view/tpl/oauth_authorize_done.tpl6
-rwxr-xr-xview/tpl/oembed_video.tpl6
-rwxr-xr-x[-rw-r--r--]view/tpl/oexchange_xrd.tpl8
-rwxr-xr-x[-rw-r--r--]view/tpl/opensearch.tpl14
-rwxr-xr-x[-rw-r--r--]view/tpl/page_display.tpl12
-rw-r--r--view/tpl/pagetypes.tpl5
-rwxr-xr-x[-rw-r--r--]view/tpl/peoplefind.tpl20
-rwxr-xr-x[-rw-r--r--]view/tpl/photo_album.tpl9
-rwxr-xr-x[-rw-r--r--]view/tpl/photo_albums.tpl18
-rwxr-xr-x[-rw-r--r--]view/tpl/photo_drop.tpl4
-rw-r--r--view/tpl/photo_edit.tpl50
-rwxr-xr-x[-rw-r--r--]view/tpl/photo_item.tpl26
-rwxr-xr-x[-rw-r--r--]view/tpl/photo_top.tpl9
-rwxr-xr-x[-rw-r--r--]view/tpl/photo_view.tpl99
-rwxr-xr-x[-rw-r--r--]view/tpl/photos_recent.tpl14
-rwxr-xr-x[-rw-r--r--]view/tpl/photos_upload.tpl23
-rwxr-xr-x[-rw-r--r--]view/tpl/poco_entry_xml.tpl10
-rwxr-xr-x[-rw-r--r--]view/tpl/poco_xml.tpl24
-rwxr-xr-x[-rw-r--r--]view/tpl/poke_content.tpl26
-rwxr-xr-x[-rw-r--r--]view/tpl/posted_date_widget.tpl10
-rw-r--r--view/tpl/prettyphoto.tpl6
-rwxr-xr-x[-rw-r--r--]view/tpl/profed_head.tpl6
-rw-r--r--view/tpl/profile-hide-friends.tpl16
-rw-r--r--view/tpl/profile-hide-wall.tpl16
-rw-r--r--view/tpl/profile-in-directory.tpl16
-rw-r--r--view/tpl/profile-in-netdir.tpl16
-rwxr-xr-x[-rw-r--r--]view/tpl/profile_advanced.tpl205
-rwxr-xr-x[-rw-r--r--]view/tpl/profile_edit.tpl165
-rwxr-xr-x[-rw-r--r--]view/tpl/profile_edlink.tpl4
-rwxr-xr-x[-rw-r--r--]view/tpl/profile_entry.tpl7
-rwxr-xr-x[-rw-r--r--]view/tpl/profile_listing_header.tpl6
-rwxr-xr-x[-rw-r--r--]view/tpl/profile_photo.tpl20
-rw-r--r--view/tpl/profile_publish.tpl16
-rwxr-xr-x[-rw-r--r--]view/tpl/profile_vcard.tpl53
-rwxr-xr-x[-rw-r--r--]view/tpl/prv_message.tpl41
-rwxr-xr-x[-rw-r--r--]view/tpl/pwdreset.tpl12
-rwxr-xr-x[-rw-r--r--]view/tpl/register.tpl40
-rwxr-xr-x[-rw-r--r--]view/tpl/remote_friends_common.tpl16
-rwxr-xr-x[-rw-r--r--]view/tpl/removeme.tpl12
-rwxr-xr-x[-rw-r--r--]view/tpl/rmagic.tpl6
-rwxr-xr-x[-rw-r--r--]view/tpl/saved_searches_aside.tpl12
-rwxr-xr-x[-rw-r--r--]view/tpl/search_item.tpl68
-rw-r--r--view/tpl/sellpage_edit.tpl23
-rw-r--r--view/tpl/sellpage_submit.tpl3
-rw-r--r--view/tpl/sellpage_view.tpl11
-rwxr-xr-x[-rw-r--r--]view/tpl/settings.tpl103
-rwxr-xr-x[-rw-r--r--]view/tpl/settings_account.tpl22
-rwxr-xr-x[-rw-r--r--]view/tpl/settings_addons.tpl8
-rwxr-xr-x[-rw-r--r--]view/tpl/settings_connectors.tpl6
-rwxr-xr-x[-rw-r--r--]view/tpl/settings_display.tpl24
-rwxr-xr-x[-rw-r--r--]view/tpl/settings_features.tpl21
-rwxr-xr-x[-rw-r--r--]view/tpl/settings_nick_set.tpl3
-rw-r--r--view/tpl/settings_nick_subdir.tpl6
-rwxr-xr-x[-rw-r--r--]view/tpl/settings_oauth.tpl34
-rwxr-xr-x[-rw-r--r--]view/tpl/settings_oauth_edit.tpl18
-rwxr-xr-xview/tpl/siteinfo.tpl14
-rw-r--r--view/tpl/smarty3/404.tpl6
-rw-r--r--view/tpl/smarty3/README4
-rw-r--r--view/tpl/smarty3/abook_edit.tpl79
-rw-r--r--view/tpl/smarty3/acl_selector.tpl33
-rw-r--r--view/tpl/smarty3/admin_aside.tpl47
-rw-r--r--view/tpl/smarty3/admin_logs.tpl24
-rw-r--r--view/tpl/smarty3/admin_plugins.tpl20
-rw-r--r--view/tpl/smarty3/admin_plugins_details.tpl41
-rw-r--r--view/tpl/smarty3/admin_remoteupdate.tpl103
-rw-r--r--view/tpl/smarty3/admin_site.tpl87
-rw-r--r--view/tpl/smarty3/admin_summary.tpl45
-rw-r--r--view/tpl/smarty3/admin_users.tpl94
-rw-r--r--view/tpl/smarty3/album_edit.tpl20
-rw-r--r--view/tpl/smarty3/api_config_xml.tpl71
-rw-r--r--view/tpl/smarty3/api_friends_xml.tpl10
-rw-r--r--view/tpl/smarty3/api_ratelimit_xml.tpl11
-rw-r--r--view/tpl/smarty3/api_status_xml.tpl51
-rw-r--r--view/tpl/smarty3/api_test_xml.tpl6
-rw-r--r--view/tpl/smarty3/api_timeline_atom.tpl95
-rw-r--r--view/tpl/smarty3/api_timeline_rss.tpl31
-rw-r--r--view/tpl/smarty3/api_timeline_xml.tpl25
-rw-r--r--view/tpl/smarty3/api_user_xml.tpl51
-rw-r--r--view/tpl/smarty3/apps.tpl12
-rw-r--r--view/tpl/smarty3/atom_feed.tpl34
-rw-r--r--view/tpl/smarty3/atom_feed_dfrn.tpl34
-rw-r--r--view/tpl/smarty3/atom_mail.tpl22
-rw-r--r--view/tpl/smarty3/atom_suggest.tpl16
-rw-r--r--view/tpl/smarty3/auto_request.tpl42
-rw-r--r--view/tpl/smarty3/birthdays_reminder.tpl15
-rw-r--r--view/tpl/smarty3/build_query.tpl57
-rw-r--r--view/tpl/smarty3/categories_widget.tpl17
-rw-r--r--view/tpl/smarty3/channel.tpl17
-rw-r--r--view/tpl/smarty3/channel_import.tpl40
-rw-r--r--view/tpl/smarty3/channels.tpl27
-rw-r--r--view/tpl/smarty3/chanview.tpl7
-rw-r--r--view/tpl/smarty3/comment_item.tpl73
-rw-r--r--view/tpl/smarty3/common_friends.tpl17
-rw-r--r--view/tpl/smarty3/common_tabs.tpl11
-rw-r--r--view/tpl/smarty3/contact_block.tpl17
-rw-r--r--view/tpl/smarty3/contact_edit.tpl94
-rw-r--r--view/tpl/smarty3/contact_head.tpl35
-rw-r--r--view/tpl/smarty3/contact_slider.tpl9
-rw-r--r--view/tpl/smarty3/contact_template.tpl14
-rw-r--r--view/tpl/smarty3/contacts-template.tpl31
-rw-r--r--view/tpl/smarty3/content.tpl7
-rw-r--r--view/tpl/smarty3/conv.tpl22
-rw-r--r--view/tpl/smarty3/conv_frame.tpl19
-rw-r--r--view/tpl/smarty3/conv_item.tpl120
-rw-r--r--view/tpl/smarty3/conversation.tpl33
-rw-r--r--view/tpl/smarty3/convobj.tpl9
-rw-r--r--view/tpl/smarty3/crepair.tpl51
-rw-r--r--view/tpl/smarty3/cropbody.tpl63
-rw-r--r--view/tpl/smarty3/crophead.tpl9
-rw-r--r--view/tpl/smarty3/delegate.tpl62
-rw-r--r--view/tpl/smarty3/dfrn_req_confirm.tpl26
-rw-r--r--view/tpl/smarty3/dfrn_request.tpl64
-rw-r--r--view/tpl/smarty3/diasp_dec_hdr.tpl13
-rw-r--r--view/tpl/smarty3/directory_header.tpl21
-rw-r--r--view/tpl/smarty3/directory_item.tpl16
-rw-r--r--view/tpl/smarty3/direntry.tpl16
-rw-r--r--view/tpl/smarty3/display-head.tpl13
-rw-r--r--view/tpl/smarty3/edpost_head.tpl6
-rw-r--r--view/tpl/smarty3/email_notify_html.tpl32
-rw-r--r--view/tpl/smarty3/email_notify_text.tpl18
-rw-r--r--view/tpl/smarty3/event.tpl15
-rw-r--r--view/tpl/smarty3/event_form.tpl54
-rw-r--r--view/tpl/smarty3/event_head.tpl144
-rw-r--r--view/tpl/smarty3/events-js.tpl11
-rw-r--r--view/tpl/smarty3/events.tpl29
-rw-r--r--view/tpl/smarty3/events_reminder.tpl15
-rw-r--r--view/tpl/smarty3/failed_updates.tpl22
-rw-r--r--view/tpl/smarty3/fake_feed.tpl18
-rw-r--r--view/tpl/smarty3/field.tpl9
-rw-r--r--view/tpl/smarty3/field_acheckbox.tpl12
-rw-r--r--view/tpl/smarty3/field_checkbox.tpl11
-rw-r--r--view/tpl/smarty3/field_combobox.tpl23
-rw-r--r--view/tpl/smarty3/field_custom.tpl11
-rw-r--r--view/tpl/smarty3/field_input.tpl12
-rw-r--r--view/tpl/smarty3/field_intcheckbox.tpl11
-rw-r--r--view/tpl/smarty3/field_openid.tpl11
-rw-r--r--view/tpl/smarty3/field_password.tpl11
-rw-r--r--view/tpl/smarty3/field_radio.tpl11
-rw-r--r--view/tpl/smarty3/field_richtext.tpl11
-rw-r--r--view/tpl/smarty3/field_select.tpl13
-rw-r--r--view/tpl/smarty3/field_select_raw.tpl13
-rw-r--r--view/tpl/smarty3/field_textarea.tpl11
-rw-r--r--view/tpl/smarty3/field_themeselect.tpl14
-rw-r--r--view/tpl/smarty3/field_yesno.tpl18
-rw-r--r--view/tpl/smarty3/fileas_widget.tpl17
-rw-r--r--view/tpl/smarty3/filebrowser.tpl89
-rw-r--r--view/tpl/smarty3/filer_dialog.tpl9
-rw-r--r--view/tpl/smarty3/follow.tpl13
-rw-r--r--view/tpl/smarty3/follow_slap.tpl30
-rw-r--r--view/tpl/smarty3/generic_links_widget.tpl16
-rw-r--r--view/tpl/smarty3/group_drop.tpl14
-rw-r--r--view/tpl/smarty3/group_edit.tpl28
-rw-r--r--view/tpl/smarty3/group_selection.tpl13
-rw-r--r--view/tpl/smarty3/group_side.tpl38
-rw-r--r--view/tpl/smarty3/groupeditor.tpl21
-rw-r--r--view/tpl/smarty3/head.tpl35
-rw-r--r--view/tpl/smarty3/hide_comments.tpl9
-rw-r--r--view/tpl/smarty3/install.tpl15
-rw-r--r--view/tpl/smarty3/install_checks.tpl29
-rw-r--r--view/tpl/smarty3/install_db.tpl35
-rw-r--r--view/tpl/smarty3/install_settings.tpl32
-rw-r--r--view/tpl/smarty3/intros.tpl23
-rw-r--r--view/tpl/smarty3/intros_header.tpl6
-rw-r--r--view/tpl/smarty3/invite.tpl35
-rw-r--r--view/tpl/smarty3/jot-header.tpl323
-rw-r--r--view/tpl/smarty3/jot.tpl91
-rw-r--r--view/tpl/smarty3/jot_geotag.tpl13
-rw-r--r--view/tpl/smarty3/js_strings.tpl39
-rw-r--r--view/tpl/smarty3/lang_selector.tpl15
-rw-r--r--view/tpl/smarty3/like_noshare.tpl10
-rw-r--r--view/tpl/smarty3/login.tpl36
-rw-r--r--view/tpl/smarty3/logout.tpl11
-rw-r--r--view/tpl/smarty3/lostpass.tpl23
-rw-r--r--view/tpl/smarty3/magicsig.tpl14
-rw-r--r--view/tpl/smarty3/mail_conv.tpl19
-rw-r--r--view/tpl/smarty3/mail_display.tpl15
-rw-r--r--view/tpl/smarty3/mail_head.tpl8
-rw-r--r--view/tpl/smarty3/mail_list.tpl24
-rw-r--r--view/tpl/smarty3/main_slider.tpl28
-rw-r--r--view/tpl/smarty3/match.tpl21
-rw-r--r--view/tpl/smarty3/message_side.tpl15
-rw-r--r--view/tpl/smarty3/micropro_img.tpl6
-rw-r--r--view/tpl/smarty3/micropro_txt.tpl6
-rw-r--r--view/tpl/smarty3/moderated_comment.tpl39
-rw-r--r--view/tpl/smarty3/mood_content.tpl25
-rw-r--r--view/tpl/smarty3/msg-header.tpl102
-rw-r--r--view/tpl/smarty3/nav.tpl153
-rw-r--r--view/tpl/smarty3/netfriend.tpl19
-rw-r--r--view/tpl/smarty3/new_channel.tpl34
-rw-r--r--view/tpl/smarty3/nogroup-template.tpl17
-rw-r--r--view/tpl/smarty3/notifications.tpl13
-rw-r--r--view/tpl/smarty3/notifications_comments_item.tpl8
-rw-r--r--view/tpl/smarty3/notifications_dislikes_item.tpl8
-rw-r--r--view/tpl/smarty3/notifications_friends_item.tpl8
-rw-r--r--view/tpl/smarty3/notifications_likes_item.tpl8
-rw-r--r--view/tpl/smarty3/notifications_network_item.tpl8
-rw-r--r--view/tpl/smarty3/notifications_posts_item.tpl8
-rw-r--r--view/tpl/smarty3/notify.tpl8
-rw-r--r--view/tpl/smarty3/oauth_authorize.tpl15
-rw-r--r--view/tpl/smarty3/oauth_authorize_done.tpl9
-rw-r--r--view/tpl/smarty3/oembed_video.tpl9
-rw-r--r--view/tpl/smarty3/oexchange_xrd.tpl38
-rw-r--r--view/tpl/smarty3/opensearch.tpl18
-rw-r--r--view/tpl/smarty3/page_display.tpl12
-rw-r--r--view/tpl/smarty3/pagetypes.tpl10
-rw-r--r--view/tpl/smarty3/peoplefind.tpl19
-rw-r--r--view/tpl/smarty3/photo_album.tpl12
-rw-r--r--view/tpl/smarty3/photo_albums.tpl18
-rw-r--r--view/tpl/smarty3/photo_drop.tpl9
-rw-r--r--view/tpl/smarty3/photo_edit.tpl55
-rw-r--r--view/tpl/smarty3/photo_item.tpl27
-rw-r--r--view/tpl/smarty3/photo_top.tpl13
-rw-r--r--view/tpl/smarty3/photo_view.tpl42
-rw-r--r--view/tpl/smarty3/photos_recent.tpl16
-rw-r--r--view/tpl/smarty3/photos_upload.tpl51
-rw-r--r--view/tpl/smarty3/poco_entry_xml.tpl12
-rw-r--r--view/tpl/smarty3/poco_xml.tpl23
-rw-r--r--view/tpl/smarty3/poke_content.tpl37
-rw-r--r--view/tpl/smarty3/posted_date_widget.tpl14
-rw-r--r--view/tpl/smarty3/profed_head.tpl41
-rw-r--r--view/tpl/smarty3/profile-hide-friends.tpl21
-rw-r--r--view/tpl/smarty3/profile-hide-wall.tpl21
-rw-r--r--view/tpl/smarty3/profile-in-directory.tpl21
-rw-r--r--view/tpl/smarty3/profile-in-netdir.tpl21
-rw-r--r--view/tpl/smarty3/profile_advanced.tpl175
-rw-r--r--view/tpl/smarty3/profile_edit.tpl316
-rw-r--r--view/tpl/smarty3/profile_edlink.tpl7
-rw-r--r--view/tpl/smarty3/profile_entry.tpl16
-rw-r--r--view/tpl/smarty3/profile_listing_header.tpl13
-rw-r--r--view/tpl/smarty3/profile_photo.tpl34
-rw-r--r--view/tpl/smarty3/profile_publish.tpl21
-rw-r--r--view/tpl/smarty3/profile_vcard.tpl57
-rw-r--r--view/tpl/smarty3/prv_message.tpl44
-rw-r--r--view/tpl/smarty3/pwdreset.tpl22
-rw-r--r--view/tpl/smarty3/register.tpl50
-rw-r--r--view/tpl/smarty3/remote_friends_common.tpl26
-rw-r--r--view/tpl/smarty3/removeme.tpl25
-rw-r--r--view/tpl/smarty3/rmagic.tpl16
-rw-r--r--view/tpl/smarty3/saved_searches_aside.tpl19
-rw-r--r--view/tpl/smarty3/search_item.tpl68
-rw-r--r--view/tpl/smarty3/settings.tpl119
-rw-r--r--view/tpl/smarty3/settings_account.tpl33
-rw-r--r--view/tpl/smarty3/settings_addons.tpl15
-rw-r--r--view/tpl/smarty3/settings_connectors.tpl14
-rw-r--r--view/tpl/smarty3/settings_display.tpl27
-rw-r--r--view/tpl/smarty3/settings_features.tpl25
-rw-r--r--view/tpl/smarty3/settings_nick_set.tpl10
-rw-r--r--view/tpl/smarty3/settings_nick_subdir.tpl11
-rw-r--r--view/tpl/smarty3/settings_oauth.tpl36
-rw-r--r--view/tpl/smarty3/settings_oauth_edit.tpl22
-rw-r--r--view/tpl/smarty3/suggest_friends.tpl21
-rw-r--r--view/tpl/smarty3/suggestions.tpl26
-rw-r--r--view/tpl/smarty3/tag_slap.tpl35
-rw-r--r--view/tpl/smarty3/threaded_conversation.tpl18
-rw-r--r--view/tpl/smarty3/toggle_mobile_footer.tpl7
-rw-r--r--view/tpl/smarty3/viewcontact_template.tpl14
-rw-r--r--view/tpl/smarty3/wall_item.tpl84
-rw-r--r--view/tpl/smarty3/wall_thread.tpl125
-rw-r--r--view/tpl/smarty3/wallmessage.tpl37
-rw-r--r--view/tpl/smarty3/wallmsg-header.tpl87
-rw-r--r--view/tpl/smarty3/wallwall_item.tpl91
-rw-r--r--view/tpl/smarty3/wallwall_thread.tpl112
-rw-r--r--view/tpl/smarty3/xchan_vcard.tpl25
-rw-r--r--view/tpl/smarty3/xrd_host.tpl23
-rw-r--r--view/tpl/smarty3/xrd_person.tpl34
-rwxr-xr-x[-rw-r--r--]view/tpl/suggest_friends.tpl16
-rwxr-xr-xview/tpl/suggest_page.tpl9
-rwxr-xr-x[-rw-r--r--]view/tpl/suggestions.tpl23
-rw-r--r--view/tpl/tag_slap.tpl30
-rw-r--r--view/tpl/thing_input.tpl28
-rwxr-xr-x[-rw-r--r--]view/tpl/threaded_conversation.tpl17
-rwxr-xr-x[-rw-r--r--]view/tpl/toggle_mobile_footer.tpl2
-rw-r--r--view/tpl/usermenu.tpl13
-rwxr-xr-x[-rw-r--r--]view/tpl/viewcontact_template.tpl10
-rw-r--r--view/tpl/wall_item.tpl79
-rw-r--r--view/tpl/wall_thread.tpl120
-rw-r--r--view/tpl/wallmessage.tpl32
-rw-r--r--view/tpl/wallmsg-header.tpl82
-rw-r--r--view/tpl/wallwall_item.tpl86
-rw-r--r--view/tpl/wallwall_thread.tpl107
-rw-r--r--view/tpl/webpagelist.tpl21
-rw-r--r--view/tpl/write_pages.tpl3
-rwxr-xr-x[-rw-r--r--]view/tpl/xchan_vcard.tpl16
-rwxr-xr-x[-rw-r--r--]view/tpl/xrd_host.tpl12
-rwxr-xr-x[-rw-r--r--]view/tpl/xrd_person.tpl20
1949 files changed, 151180 insertions, 43673 deletions
diff --git a/.gitignore b/.gitignore
index 6cb36fb26..b32389dc2 100644..100755
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@ favicon.*
.htconfig.php
\#*
include/jquery-1.4.2.min.js
+*.gz
*.log
*.out
*.version*
@@ -29,3 +30,6 @@ report/
#ignore OSX .DS_Store files
.DS_Store
+
+#netbeans project folder
+nbproject
diff --git a/.htaccess b/.htaccess
index 6cb3a0749..090ae6637 100644
--- a/.htaccess
+++ b/.htaccess
@@ -2,7 +2,8 @@ Options -Indexes
AddType application/x-java-archive .jar
AddType audio/ogg .oga
-<FilesMatch "\.(out|log)$">
+# don't allow any web access to logfiles, even after rotation/compression
+<FilesMatch "\.(out|log|gz)$">
Deny from all
</FilesMatch>
diff --git a/LICENSE b/LICENSE
index 01f1c19d5..b8c943177 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2010-2013 the Friendica Project
+Copyright (c) 2010-2013 the Red Project
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
diff --git a/README b/README
deleted file mode 100644
index a930d0910..000000000
--- a/README
+++ /dev/null
@@ -1,11 +0,0 @@
-Friendica RED Interaction Engine
-================================
-
-Red is a new concept in electronic communications which is based on our earlier work with Friendica and our pioneering developments in decentralised, federated social networking.
-
-Red is prototype code and has limited functionality at the present time. This message will be changed when it approaches stability.
-
-At its heart, Red is a decentralised collection of location agnostic info streams (e.g. "channels") which are attached to permission controlled web resources, and which have the ability to discover each other and interact. You could call it a type of social network, but that would be degrading. This is a different concept in online communications, starting where social networks leave off and extending those somewhat primitive types of interactions in new ways - particularly when it comes to privacy.
-
-
-Social networking emulation is one form that these streams can take, but they can take many other forms - limited only by your imagination.
diff --git a/README.md b/README.md
new file mode 100644
index 000000000..7bc8ace56
--- /dev/null
+++ b/README.md
@@ -0,0 +1,38 @@
+The Red Matrix
+==============
+
+Got Zot?
+
+The modern web is "missing" a few important pieces which would make it much more useful. Many corporations have stepped in with products to supply these missing pieces, but with a loss of freedom and privacy and increased **centralisation**.
+
+Centralisation is generally considered a bad thing in network design as the loss of one critical node or centralised service could seriously impact the entire network - possibly taking a long time to recover. Recognising this, the original web was based on decentralised services. Over the years, this fundamental design strength has been largely overlooked, as people congregate into centralised services which provide the missing pieces.
+
+These missing pieces are (in no particular order):
+
+- Secure and private "spam free" communications
+
+- Identity and "single-signon" across the entire network
+
+- Privacy controls and permissions which extend to the entire network
+
+- Directory services (like a phone book)
+
+
+
+The Red Matrix (sometimes referred to as just "Red") is a collection of web servers and services which provides these missing pieces, but within a decentralised identity and messaging framework (known as "Zot"). Red operates as an independent network within the larger internet where all the nodes or servers (we call them "hubs") are able to fully interact with each other in ways that are simply not possible using other services. Additionally the owners of each network hub have the ability to set their own rules with regard to communications and privacy and data ownership, because each operates with complete independence. These hubs require only slightly more resources than a blog or content management system, and the software is being designed with the ability to natively incorporate both kinds of functionality, as well as cloud storage.
+
+![The Red Matrix model](images/red_antiprism.png)
+
+
+A weakness of existing decentralised network models is the binding of network identity with the physical server where it resides; for example if you are "eric@example.website", your identity is often tied permanently to "example.website". We see this as a problem. Many hubs on the Indie Web are run by enthusiasts with varying skill levels and financial resources - and the technology is changing quite rapidly. Often the cost or workload involved in maintaining these services becomes a burden (or hardware fails) and people or entire social communities are left stranded when their server goes offline. They may have to "start over" building their social circle from scratch when this happens. In some cases communities are unable to recover from this kind of disruption and the entire community dissolves.
+
+We've been working on decentralisation for several years and have seen this happen time and time again.
+Within the Red Matrix, identity is nomadic. You can take your identity, and all your friends and associates with you - to any other hub in the network, at any time. If your hub goes offline for any reason, you have the ability to relocate to any other hub and carry on as if nothing happened. You still have all your friends and associations.
+
+
+The Red Matrix is free and open source distributed under the MIT license.
+
+
+Currently the project is in "Developer 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 help us change the world by providing a small donation.](http://pledgie.com/campaigns/18417) (Large donations are also graciously accepted). \ No newline at end of file
diff --git a/boot.php b/boot.php
index 8d2e7c6e8..81b977a9d 100644..100755
--- a/boot.php
+++ b/boot.php
@@ -1,4 +1,30 @@
<?php
+/** @file */
+
+
+/**
+ * Red Matrix.
+ *
+ * The Red Matrix (aka "Red") is an open source decentralised communications
+ * platform combined with a decentralised identity/authentication framework
+ * wrapped in an extensible content management system, providing website designers
+ * the ability to embed fully decentralised communications and social tools
+ * into many traditional website designs (blogs, forums, small business
+ * websites, charitable organisations, etc.). Red also provides DNS mobility
+ * and internet scale privacy/access control.
+ *
+ * This allows any individual website to participate in a matrix of linked
+ * sites and people and media sharing which is far greater than the reach
+ * of an individual site.
+ *
+ * If you are reading the source code and come across a function
+ * or code block which is not documented, but you have a good idea what it
+ * does, please add some descriptive comments and push it to the main project.
+ * Even if your description isn't perfect, it gives us a base which we
+ * can build on and correct - so that eventually everything is fully
+ * documented.
+ */
+
require_once('include/config.php');
require_once('include/network.php');
@@ -12,11 +38,13 @@ require_once('include/permissions.php');
require_once('library/Mobile_Detect/Mobile_Detect.php');
require_once('include/BaseObject.php');
require_once('include/features.php');
+require_once('include/taxonomy.php');
+
-define ( 'FRIENDICA_PLATFORM', 'Friendica Red');
-define ( 'FRIENDICA_VERSION', trim(file_get_contents('version.inc')) . 'R');
-define ( 'ZOT_REVISION', 1 );
-define ( 'DB_UPDATE_VERSION', 1031 );
+define ( 'RED_PLATFORM', 'Red Matrix' );
+define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R');
+define ( 'ZOT_REVISION', 1 );
+define ( 'DB_UPDATE_VERSION', 1070 );
define ( 'EOL', '<br />' . "\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@@ -92,7 +120,7 @@ define ( 'DEFAULT_DB_ENGINE', 'MyISAM' );
define ( 'SSL_POLICY_NONE', 0 );
define ( 'SSL_POLICY_FULL', 1 );
-define ( 'SSL_POLICY_SELFSIGN', 2 );
+define ( 'SSL_POLICY_SELFSIGN', 2 ); // NOT supported in Red
/**
@@ -113,6 +141,16 @@ define ( 'REGISTER_CLOSED', 0 );
define ( 'REGISTER_APPROVE', 1 );
define ( 'REGISTER_OPEN', 2 );
+
+/**
+ * site access policy
+ */
+
+define ( 'ACCESS_PRIVATE', 0 );
+define ( 'ACCESS_PAID', 1 );
+define ( 'ACCESS_FREE', 2 );
+
+
/**
* relationship types
*/
@@ -130,6 +168,12 @@ define ( 'UPDATE_SUCCESS', 0);
define ( 'UPDATE_FAILED', 1);
+
+define ( 'CLIENT_MODE_NORMAL', 0x0000);
+define ( 'CLIENT_MODE_LOAD', 0x0001);
+define ( 'CLIENT_MODE_UPDATE', 0x0002);
+
+
/**
*
* page/profile types
@@ -146,12 +190,22 @@ define ( 'PAGE_NORMAL', 0x0000 );
define ( 'PAGE_HIDDEN', 0x0001 );
define ( 'PAGE_AUTOCONNECT', 0x0002 );
define ( 'PAGE_APPLICATION', 0x0004 );
+define ( 'PAGE_DIRECTORY_CHANNEL', 0x0008 ); // system channel used for directory synchronisation
+define ( 'PAGE_PREMIUM', 0x0010 );
define ( 'PAGE_REMOVED', 0x8000 );
-//define ( 'PAGE_FREELOVE', 3 );
-//define ( 'PAGE_BLOG', 4 );
-//define ( 'PAGE_PRVGROUP', 5 );
+
+/**
+ * Photo types
+ */
+
+define ( 'PHOTO_NORMAL', 0x0000 );
+define ( 'PHOTO_PROFILE', 0x0001 );
+define ( 'PHOTO_XCHAN', 0x0002 );
+define ( 'PHOTO_THING', 0x0004 );
+
+
/**
* Network and protocol family types
@@ -223,6 +277,8 @@ define ( 'MAIL_DELETED', 0x0001);
define ( 'MAIL_REPLIED', 0x0002);
define ( 'MAIL_ISREPLY', 0x0004);
define ( 'MAIL_SEEN', 0x0008);
+define ( 'MAIL_RECALLED', 0x0010);
+define ( 'MAIL_OBSCURED', 0x0020);
define ( 'ATTACH_FLAG_DIR', 0x0001);
@@ -230,6 +286,20 @@ define ( 'ATTACH_FLAG_OS', 0x0002);
+define ( 'MENU_ITEM_ZID', 0x0001);
+define ( 'MENU_ITEM_NEWWIN', 0x0002);
+
+
+/**
+ * Poll/Survey types
+ */
+
+define ( 'POLL_SIMPLE_RATING', 0x0001); // 1-5
+define ( 'POLL_TENSCALE', 0x0002); // 1-10
+define ( 'POLL_MULTIPLE_CHOICE', 0x0004);
+define ( 'POLL_OVERWRITE', 0x8000); // If you vote twice remove the prior entry
+
+
/**
* Maximum number of "people who like (or don't like) this" that we will list by name
*/
@@ -271,27 +341,43 @@ define ( 'NOTIFY_SYSTEM', 0x8000 );
define ( 'HUBLOC_FLAGS_PRIMARY', 0x0001);
define ( 'HUBLOC_FLAGS_UNVERIFIED', 0x0002);
+define ( 'HUBLOC_FLAGS_DELETED', 0x1000);
define ( 'XCHAN_FLAGS_HIDDEN', 0x0001);
+define ( 'XCHAN_FLAGS_ORPHAN', 0x0002);
-/**
- * Tag/term types
+/*
+ * Traficlights for Administration of HubLoc
+ * to detect problems in inter server communication
*/
+define ('HUBLOC_NOTUSED', 0x0000);
+define ('HUBLOC_SEND_ERROR', 0x0001);
+define ('HUBLOC_RECEIVE_ERROR', 0x0002);
+define ('HUBLOC_WORKS', 0x0004);
+define ('HUBLOC_OFFLINE', 0x0008);
-define ( 'TERM_UNKNOWN', 0 );
-define ( 'TERM_HASHTAG', 1 );
-define ( 'TERM_MENTION', 2 );
-define ( 'TERM_CATEGORY', 3 );
-define ( 'TERM_PCATEGORY', 4 );
-define ( 'TERM_FILE', 5 );
-define ( 'TERM_SAVEDSEARCH', 6 );
+/**
+ * Tag/term types
+ */
-define ( 'TERM_OBJ_POST', 1 );
-define ( 'TERM_OBJ_PHOTO', 2 );
+define ( 'TERM_UNKNOWN', 0 );
+define ( 'TERM_HASHTAG', 1 );
+define ( 'TERM_MENTION', 2 );
+define ( 'TERM_CATEGORY', 3 );
+define ( 'TERM_PCATEGORY', 4 );
+define ( 'TERM_FILE', 5 );
+define ( 'TERM_SAVEDSEARCH', 6 );
+define ( 'TERM_THING', 7 );
+define ( 'TERM_OBJ_POST', 1 );
+define ( 'TERM_OBJ_PHOTO', 2 );
+define ( 'TERM_OBJ_PROFILE', 3 );
+define ( 'TERM_OBJ_CHANNEL', 4 );
+define ( 'TERM_OBJ_OBJECT', 5 );
+define ( 'TERM_OBJ_THING', 6 );
/**
@@ -346,6 +432,7 @@ define ( 'ACTIVITY_OBJ_EVENT', NAMESPACE_ACTIVITY_SCHEMA . 'event' );
define ( 'ACTIVITY_OBJ_GROUP', NAMESPACE_ACTIVITY_SCHEMA . 'group' );
define ( 'ACTIVITY_OBJ_TAGTERM', NAMESPACE_ZOT . '/activity/tagterm' );
define ( 'ACTIVITY_OBJ_PROFILE', NAMESPACE_ZOT . '/activity/profile' );
+define ( 'ACTIVITY_OBJ_THING', NAMESPACE_ZOT . '/activity/thing' );
/**
* item weight for query ordering
@@ -371,8 +458,8 @@ define ( 'ACCOUNT_PENDING', 0x0010 );
* Account roles
*/
-define ( 'ACCOUNT_ROLE_ADMIN', 0x1000 );
-
+define ( 'ACCOUNT_ROLE_ADMIN', 0x1000 );
+define ( 'ACCOUNT_ROLE_ALLOWCODE', 0x0001 );
/**
* Item visibility
@@ -386,7 +473,9 @@ 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_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
/**
* Item Flags
*/
@@ -402,7 +491,8 @@ define ( 'ITEM_NOTSHOWN', 0x0080); // technically visible but not normal
define ( 'ITEM_NSFW', 0x0100);
define ( 'ITEM_RELAY', 0x0200); // used only in the communication layers, not stored
define ( 'ITEM_MENTIONSME', 0x0400);
-
+define ( 'ITEM_NOCOMMENT', 0x0800); // commenting/followups are disabled
+define ( 'ITEM_OBSCURED', 0x1000); // bit-mangled to protect from casual browsing by site admin
/**
*
@@ -453,466 +543,552 @@ function startup() {
*
*/
-if(! class_exists('App')) {
- class App {
+
+class App {
- public $account = null; // account record
- public $channel = null; // channel record
- public $observer = null; // xchan record
-
- private $perms = null; // observer permissions
- private $widgets = array(); // widgets for this page
- private $widgetlist = null; // widget ordering and inclusion directives
-
- public $groups;
- public $language;
- public $module_loaded = false;
- public $query_string;
- public $config; // config cache
- public $page;
- public $profile;
- public $user;
- public $cid;
- public $contact;
- public $contacts;
- public $content;
- public $data = array();
- public $error = false;
- public $cmd;
- public $argv;
- public $argc;
- public $module;
- public $pager;
- public $strings;
- public $hooks;
- public $timezone;
- public $interactive = true;
- public $plugins;
- private $apps = array();
- public $identities;
- public $css_sources = array();
- public $js_sources = array();
- public $theme_info = array();
+ 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
+
+
+ private $perms = null; // observer permissions
+ private $widgets = array(); // widgets for this page
+ private $widgetlist = null; // widget ordering and inclusion directives
+
+ public $groups;
+ public $language;
+ public $module_loaded = false;
+ public $query_string;
+ public $config; // config cache
+ public $page;
+ public $profile;
+ public $user;
+ public $cid;
+ public $contact;
+ public $contacts;
+ public $content;
+ public $data = array();
+ public $error = false;
+ public $cmd;
+ public $argv;
+ public $argc;
+ public $module;
+ public $pager;
+ public $strings;
+ public $hooks;
+ public $timezone;
+ public $interactive = true;
+ public $plugins;
+ private $apps = array();
+ public $identities;
+ public $css_sources = array();
+ public $js_sources = array();
+ public $theme_info = array();
- public $nav_sel;
-
- public $category;
-
- // Allow themes to control internal parameters
- // by changing App values in theme.php
-
- public $sourcename = '';
- public $videowidth = 425;
- public $videoheight = 350;
- public $force_max_items = 0;
- public $theme_thread_allow = true;
-
- // An array for all theme-controllable parameters
- // Mostly unimplemented yet. Only options 'template_engine' and
- // beyond are used.
-
- private $theme = array(
- 'sourcename' => '',
- 'videowidth' => 425,
- 'videoheight' => 350,
- 'force_max_items' => 0,
- 'thread_allow' => true,
- 'stylesheet' => '',
- 'template_engine' => 'internal',
- );
+ public $nav_sel;
+
+ public $category;
+
+ // Allow themes to control internal parameters
+ // by changing App values in theme.php
+
+ public $sourcename = '';
+ public $videowidth = 425;
+ public $videoheight = 350;
+ public $force_max_items = 0;
+ public $theme_thread_allow = true;
+
+ // An array for all theme-controllable parameters
+ // Mostly unimplemented yet. Only options 'template_engine' and
+ // beyond are used.
+
+ private $theme = array(
+ 'sourcename' => '',
+ 'videowidth' => 425,
+ 'videoheight' => 350,
+ 'force_max_items' => 0,
+ 'thread_allow' => true,
+ 'stylesheet' => '',
+ 'template_engine' => 'smarty3',
+ );
- private $ldelim = array(
- 'internal' => '',
- 'smarty3' => '{{'
- );
- private $rdelim = array(
- 'internal' => '',
- 'smarty3' => '}}'
- );
+ // array of registered template engines ('name'=>'class name')
+ public $template_engines = array();
+ // array of instanced template engines ('name'=>'instance')
+ public $template_engine_instance = array();
+
+ private $ldelim = array(
+ 'internal' => '',
+ 'smarty3' => '{{'
+ );
+ private $rdelim = array(
+ 'internal' => '',
+ 'smarty3' => '}}'
+ );
+
+ private $scheme;
+ private $hostname;
+ private $baseurl;
+ private $path;
+ private $db;
- private $scheme;
- private $hostname;
- private $baseurl;
- private $path;
+ private $curl_code;
+ private $curl_headers;
- private $db;
+ private $cached_profile_image;
+ private $cached_profile_picdate;
- private $curl_code;
- private $curl_headers;
- private $cached_profile_image;
- private $cached_profile_picdate;
- function __construct() {
+ function __construct() {
- global $default_timezone;
+ global $default_timezone;
+ $this->timezone = ((x($default_timezone)) ? $default_timezone : 'UTC');
- $this->timezone = ((x($default_timezone)) ? $default_timezone : 'UTC');
+ date_default_timezone_set($this->timezone);
- date_default_timezone_set($this->timezone);
+ $this->config = array('system'=>array());
+ $this->page = array();
+ $this->pager= array();
- $this->config = array();
- $this->page = array();
- $this->pager= array();
+ $this->query_string = '';
- $this->query_string = '';
+ startup();
- startup();
+ set_include_path(
+ 'include' . PATH_SEPARATOR
+ . 'library' . PATH_SEPARATOR
+ . 'library/phpsec' . PATH_SEPARATOR
+ . 'library/langdet' . PATH_SEPARATOR
+ . '.' );
- $this->scheme = 'http';
- if(x($_SERVER,'HTTPS') && $_SERVER['HTTPS'])
- $this->scheme = 'https';
- elseif(x($_SERVER,'SERVER_PORT') && (intval($_SERVER['SERVER_PORT']) == 443))
- $this->scheme = 'https';
+ $this->scheme = 'http';
+ if(x($_SERVER,'HTTPS') && $_SERVER['HTTPS'])
+ $this->scheme = 'https';
+ elseif(x($_SERVER,'SERVER_PORT') && (intval($_SERVER['SERVER_PORT']) == 443))
+ $this->scheme = 'https';
- if(x($_SERVER,'SERVER_NAME')) {
- $this->hostname = $_SERVER['SERVER_NAME'];
+ if(x($_SERVER,'SERVER_NAME')) {
+ $this->hostname = $_SERVER['SERVER_NAME'];
- if(x($_SERVER,'SERVER_PORT') && $_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443)
- $this->hostname .= ':' . $_SERVER['SERVER_PORT'];
- /**
- * Figure out if we are running at the top of a domain
- * or in a sub-directory and adjust accordingly
- */
+ if(x($_SERVER,'SERVER_PORT') && $_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443)
+ $this->hostname .= ':' . $_SERVER['SERVER_PORT'];
+ /**
+ * Figure out if we are running at the top of a domain
+ * or in a sub-directory and adjust accordingly
+ */
- $path = trim(dirname($_SERVER['SCRIPT_NAME']),'/\\');
- if(isset($path) && strlen($path) && ($path != $this->path))
- $this->path = $path;
- }
+ $path = trim(dirname($_SERVER['SCRIPT_NAME']),'/\\');
+ if(isset($path) && strlen($path) && ($path != $this->path))
+ $this->path = $path;
+ }
- set_include_path(
- "include/$this->hostname" . PATH_SEPARATOR
- . 'include' . PATH_SEPARATOR
- . 'library' . PATH_SEPARATOR
- . 'library/phpsec' . PATH_SEPARATOR
- . 'library/langdet' . PATH_SEPARATOR
- . '.' );
-
- if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=") {
- $this->query_string = substr($_SERVER['QUERY_STRING'],2);
- // removing trailing / - maybe a nginx problem
- if (substr($this->query_string, 0, 1) == "/")
- $this->query_string = substr($this->query_string, 1);
- }
- if(x($_GET,'q'))
- $this->cmd = trim($_GET['q'],'/\\');
+ set_include_path("include/$this->hostname" . PATH_SEPARATOR . get_include_path());
- // unix style "homedir"
+ if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=") {
+ $this->query_string = substr($_SERVER['QUERY_STRING'],2);
+ // removing trailing / - maybe a nginx problem
+ if (substr($this->query_string, 0, 1) == "/")
+ $this->query_string = substr($this->query_string, 1);
+ }
+ if(x($_GET,'q'))
+ $this->cmd = trim($_GET['q'],'/\\');
- if(substr($this->cmd,0,1) === '~')
- $this->cmd = 'channel/' . substr($this->cmd,1);
+ // unix style "homedir"
+ if(substr($this->cmd,0,1) === '~')
+ $this->cmd = 'channel/' . substr($this->cmd,1);
- /**
- *
- * Break the URL path into C style argc/argv style arguments for our
- * modules. Given "http://example.com/module/arg1/arg2", $this->argc
- * will be 3 (integer) and $this->argv will contain:
- * [0] => 'module'
- * [1] => 'arg1'
- * [2] => 'arg2'
- *
- *
- * There will always be one argument. If provided a naked domain
- * URL, $this->argv[0] is set to "home".
- *
- */
- $this->argv = explode('/',$this->cmd);
- $this->argc = count($this->argv);
- if((array_key_exists('0',$this->argv)) && strlen($this->argv[0])) {
- $this->module = str_replace(".", "_", $this->argv[0]);
- $this->module = str_replace("-", "_", $this->module);
- }
- else {
- $this->argc = 1;
- $this->argv = array('home');
- $this->module = 'home';
- }
+ /**
+ *
+ * Break the URL path into C style argc/argv style arguments for our
+ * modules. Given "http://example.com/module/arg1/arg2", $this->argc
+ * will be 3 (integer) and $this->argv will contain:
+ * [0] => 'module'
+ * [1] => 'arg1'
+ * [2] => 'arg2'
+ *
+ *
+ * There will always be one argument. If provided a naked domain
+ * URL, $this->argv[0] is set to "home".
+ *
+ */
+ $this->argv = explode('/',$this->cmd);
+ $this->argc = count($this->argv);
+ if((array_key_exists('0',$this->argv)) && strlen($this->argv[0])) {
+ $this->module = str_replace(".", "_", $this->argv[0]);
+ $this->module = str_replace("-", "_", $this->module);
+ }
+ else {
+ $this->argc = 1;
+ $this->argv = array('home');
+ $this->module = 'home';
+ }
- /**
- * See if there is any page number information, and initialise
- * pagination
- */
- $this->pager['page'] = ((x($_GET,'page') && intval($_GET['page']) > 0) ? intval($_GET['page']) : 1);
- $this->pager['itemspage'] = 50;
- $this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage'];
- if($this->pager['start'] < 0)
- $this->pager['start'] = 0;
- $this->pager['total'] = 0;
+ /**
+ * See if there is any page number information, and initialise
+ * pagination
+ */
- /**
- * Detect mobile devices
- */
+ $this->pager['page'] = ((x($_GET,'page') && intval($_GET['page']) > 0) ? intval($_GET['page']) : 1);
+ $this->pager['itemspage'] = 50;
+ $this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage'];
+ if($this->pager['start'] < 0)
+ $this->pager['start'] = 0;
+ $this->pager['total'] = 0;
- $mobile_detect = new Mobile_Detect();
- $this->is_mobile = $mobile_detect->isMobile();
- $this->is_tablet = $mobile_detect->isTablet();
+ /**
+ * Detect mobile devices
+ */
- BaseObject::set_app($this);
- }
+ $mobile_detect = new Mobile_Detect();
+ $this->is_mobile = $mobile_detect->isMobile();
+ $this->is_tablet = $mobile_detect->isTablet();
+
+ $this->head_set_icon('/images/rhash-32.png');
- function get_baseurl($ssl = false) {
- $scheme = $this->scheme;
+ BaseObject::set_app($this);
+
+ /**
+ * register template engines
+ */
+ $dc = get_declared_classes();
+ foreach ($dc as $k) {
+ if (in_array("ITemplateEngine", class_implements($k))){
+ $this->register_template_engine($k);
+ }
+ }
+ }
- if((x($this->config,'system')) && (x($this->config['system'],'ssl_policy'))) {
- if(intval($this->config['system']['ssl_policy']) === intval(SSL_POLICY_FULL))
- $scheme = 'https';
+ function get_baseurl($ssl = false) {
- // Basically, we have $ssl = true on any links which can only be seen by a logged in user
- // (and also the login link). Anything seen by an outsider will have it turned off.
- if($this->config['system']['ssl_policy'] == SSL_POLICY_SELFSIGN) {
- if($ssl)
- $scheme = 'https';
- else
- $scheme = 'http';
- }
- }
-
- $this->baseurl = $scheme . "://" . $this->hostname . ((isset($this->path) && strlen($this->path)) ? '/' . $this->path : '' );
- return $this->baseurl;
+ if(is_array($this->config)
+ && array_key_exists('system',$this->config)
+ && is_array($this->config['system'])
+ && array_key_exists('baseurl',$this->config['system'])
+ && strlen($this->config['system']['baseurl'])) {
+ $url = $this->config['system']['baseurl'];
+ return $url;
}
- function set_baseurl($url) {
- if(is_array($this->config) && array_key_exists('system',$this->config) &&
- array_key_exists('baseurl',$this->config['system']) && strlen($this->config['system']['baseurl'])) {
- $url = $this->config['system']['baseurl'];
- }
+ $scheme = $this->scheme;
- $parsed = @parse_url($url);
+// if((x($this->config,'system')) && (x($this->config['system'],'ssl_policy'))) {
+// if(intval($this->config['system']['ssl_policy']) === intval(SSL_POLICY_FULL)) {
+// $scheme = 'https';
+// }
+// }
+
+ $this->baseurl = $scheme . "://" . $this->hostname . ((isset($this->path) && strlen($this->path)) ? '/' . $this->path : '' );
+ return $this->baseurl;
+ }
- $this->baseurl = $url;
+ function set_baseurl($url) {
- if($parsed) {
- $this->scheme = $parsed['scheme'];
+ if(is_array($this->config)
+ && array_key_exists('system',$this->config)
+ && is_array($this->config['system'])
+ && array_key_exists('baseurl',$this->config['system'])
+ && strlen($this->config['system']['baseurl'])) {
+ $url = $this->config['system']['baseurl'];
+ }
- $this->hostname = $parsed['host'];
- if(x($parsed,'port'))
- $this->hostname .= ':' . $parsed['port'];
- if(x($parsed,'path'))
- $this->path = trim($parsed['path'],'\\/');
- }
+ $parsed = @parse_url($url);
- }
+ $this->baseurl = $url;
- function get_hostname() {
- return $this->hostname;
- }
+ if($parsed) {
+ $this->scheme = $parsed['scheme'];
- function set_hostname($h) {
- $this->hostname = $h;
+ $this->hostname = $parsed['host'];
+ if(x($parsed,'port'))
+ $this->hostname .= ':' . $parsed['port'];
+ if(x($parsed,'path'))
+ $this->path = trim($parsed['path'],'\\/');
}
- function set_path($p) {
- $this->path = trim(trim($p),'/');
- }
+ }
- function get_path() {
- return $this->path;
- }
+ function get_hostname() {
+ return $this->hostname;
+ }
- function set_account($aid) {
- $this->account = $aid;
- }
+ function set_hostname($h) {
+ $this->hostname = $h;
+ }
- function get_account() {
- return $this->account;
- }
+ function set_path($p) {
+ $this->path = trim(trim($p),'/');
+ }
- function set_channel($channel) {
- $this->channel = $channel;
- }
+ function get_path() {
+ return $this->path;
+ }
- function get_channel() {
- return $this->channel;
- }
+ function set_account($acct) {
+ $this->account = $acct;
+ }
+ function get_account() {
+ return $this->account;
+ }
- function set_observer($xchan) {
- $this->observer = $xchan;
- }
+ function set_channel($channel) {
+ $this->channel = $channel;
+ }
- function get_observer() {
- return $this->observer;
- }
+ function get_channel() {
+ return $this->channel;
+ }
- function set_perms($perms) {
- $this->perms = $perms;
- }
- function get_perms() {
- return $this->perms;
- }
+ function set_observer($xchan) {
+ $this->observer = $xchan;
+ }
- function get_apps() {
- return $this->apps;
- }
+ function get_observer() {
+ return $this->observer;
+ }
- function set_apps($arr) {
- $this->apps = $arr;
- }
+ function set_perms($perms) {
+ $this->perms = $perms;
+ }
- function set_groups($g) {
- $this->groups = $g;
- }
+ function get_perms() {
+ return $this->perms;
+ }
- function get_groups() {
- return $this->groups;
- }
+ function get_apps() {
+ return $this->apps;
+ }
- /*
- * 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_apps($arr) {
+ $this->apps = $arr;
+ }
- 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);
- }
+ function set_groups($g) {
+ $this->groups = $g;
+ }
+
+ function get_groups() {
+ 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));
- }
+ 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));
}
}
}
+ }
- function get_widgets($location = '') {
- if($location && count($this->widgets)) {
- $ret = array();
- foreach($widgets as $w)
- if($w['location'] == $location)
- $ret[] = $w;
- $arr = array('location' => $location, 'widgets' => $ret);
- call_hooks('get_widgets', $arr);
- return $arr['widgets'];
- }
-
- $arr = array('location' => $location, 'widgets' => $this->widgets);
+ function get_widgets($location = '') {
+ if($location && count($this->widgets)) {
+ $ret = array();
+ foreach($widgets as $w)
+ if($w['location'] == $location)
+ $ret[] = $w;
+ $arr = array('location' => $location, 'widgets' => $ret);
call_hooks('get_widgets', $arr);
return $arr['widgets'];
- }
-
- function set_pager_total($n) {
- $this->pager['total'] = intval($n);
- }
-
- function set_pager_itemspage($n) {
- $this->pager['itemspage'] = ((intval($n) > 0) ? intval($n) : 0);
- $this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage'];
+ }
+ $arr = array('location' => $location, 'widgets' => $this->widgets);
+ call_hooks('get_widgets', $arr);
+ return $arr['widgets'];
+ }
+
+ function set_pager_total($n) {
+ $this->pager['total'] = intval($n);
+ }
- }
+ function set_pager_itemspage($n) {
+ $this->pager['itemspage'] = ((intval($n) > 0) ? intval($n) : 0);
+ $this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage'];
+ }
- function build_pagehead() {
+ function build_pagehead() {
- $interval = ((local_user()) ? get_pconfig(local_user(),'system','update_interval') : 40000);
- if($interval < 10000)
- $interval = 40000;
+ $interval = ((local_user()) ? get_pconfig(local_user(),'system','update_interval') : 40000);
+ if($interval < 10000)
+ $interval = 40000;
+ if(! x($this->page,'title'))
$this->page['title'] = $this->config['system']['sitename'];
+ /* put the head template at the beginning of page['htmlhead']
+ * since the code added by the modules frequently depends on it
+ * being first
+ */
+ $tpl = get_markup_template('head.tpl');
+ $this->page['htmlhead'] = replace_macros($tpl, array(
+ '$baseurl' => $this->get_baseurl(),
+ '$local_user' => local_user(),
+ '$generator' => RED_PLATFORM . ' ' . RED_VERSION,
+ '$update_interval' => $interval,
+ '$icon' => head_get_icon(),
+ '$head_css' => head_get_css(),
+ '$head_js' => head_get_js(),
+ '$js_strings' => js_strings()
+ )) . $this->page['htmlhead'];
+ }
- /* put the head template at the beginning of page['htmlhead']
- * since the code added by the modules frequently depends on it
- * being first
- */
- $tpl = get_markup_template('head.tpl');
- $this->page['htmlhead'] = replace_macros($tpl, array(
- '$baseurl' => $this->get_baseurl(),
- '$local_user' => local_user(),
- '$generator' => FRIENDICA_PLATFORM . ' ' . FRIENDICA_VERSION,
- '$update_interval' => $interval,
- '$head_css' => head_get_css(),
- '$head_js' => head_get_js(),
- '$js_strings' => js_strings()
- )) . $this->page['htmlhead'];
- }
+ function set_curl_code($code) {
+ $this->curl_code = $code;
+ }
- function set_curl_code($code) {
- $this->curl_code = $code;
- }
+ function get_curl_code() {
+ return $this->curl_code;
+ }
- function get_curl_code() {
- return $this->curl_code;
- }
+ function set_curl_headers($headers) {
+ $this->curl_headers = $headers;
+ }
- function set_curl_headers($headers) {
- $this->curl_headers = $headers;
- }
+ function get_curl_headers() {
+ return $this->curl_headers;
+ }
- function get_curl_headers() {
- return $this->curl_headers;
- }
+
+ /**
+ * register template engine class
+ * if $name is "", is used class static property $class::$name
+ * @param string $class
+ * @param string $name
+ */
+ function register_template_engine($class, $name = '') {
+ if ($name===""){
+ $v = get_class_vars( $class );
+ if(x($v,"name")) $name = $v['name'];
+ }
+ if ($name===""){
+ echo "template engine <tt>$class</tt> cannot be registered without a name.\n";
+ killme();
+ }
+ $this->template_engines[$name] = $class;
+ }
- function get_template_engine() {
- return $this->theme['template_engine'];
- }
+ /**
+ * return template engine instance. If $name is not defined,
+ * return engine defined by theme, or default
+ *
+ * @param strin $name Template engine name
+ * @return object Template Engine instance
+ */
+ function template_engine($name = ''){
+ if ($name!=="") {
+ $template_engine = $name;
+ } else {
+ $template_engine = 'smarty3';
+ if (x($this->theme, 'template_engine')) {
+ $template_engine = $this->theme['template_engine'];
+ }
+ }
+
+ if (isset($this->template_engines[$template_engine])){
+ if(isset($this->template_engine_instance[$template_engine])){
+ return $this->template_engine_instance[$template_engine];
+ } else {
+ $class = $this->template_engines[$template_engine];
+ $obj = new $class;
+ $this->template_engine_instance[$template_engine] = $obj;
+ return $obj;
+ }
+ }
+
+ echo "template engine <tt>$template_engine</tt> is not registered!\n"; killme();
+ }
+
+ function get_template_engine() {
+ return $this->theme['template_engine'];
+ }
- function set_template_engine($engine = 'internal') {
+ function set_template_engine($engine = 'smarty3') {
- $this->theme['template_engine'] = 'internal';
+ $this->theme['template_engine'] = $engine;
- switch($engine) {
- case 'smarty3':
- if(is_writable('view/tpl/smarty3/'))
- $this->theme['template_engine'] = 'smarty3';
- break;
- default:
- break;
- }
- }
+ /*if ($engine) {
+ case 'smarty3':
+ if(!is_writable('view/tpl/smarty3/'))
+ echo "<b>ERROR</b> folder <tt>view/tpl/smarty3/</tt> must be writable by webserver."; killme();
+
+ break;
+ default:
+ break;
+ }*/
+ }
+ function get_template_ldelim($engine = 'smarty3') {
+ return $this->ldelim[$engine];
+ }
- function get_template_ldelim($engine = 'internal') {
- return $this->ldelim[$engine];
- }
+ function get_template_rdelim($engine = 'smarty3') {
+ return $this->rdelim[$engine];
+ }
- function get_template_rdelim($engine = 'internal') {
- return $this->rdelim[$engine];
- }
+ function head_set_icon($icon) {
+ $this->data['pageicon'] = $icon;
+ }
+ function head_get_icon() {
+ $icon = $this->data['pageicon'];
+ if(! strpos($icon,'://'))
+ $icon = z_root() . $icon;
+ return $icon;
}
+
}
+
// retrieve the App structure
// useful in functions which require it but don't get it passed to them
-if(! function_exists('get_app')) {
- function get_app() {
- global $a;
- return $a;
- }
-};
+function get_app() {
+ global $a;
+ return $a;
+}
+
// Multi-purpose function to check variable state.
@@ -921,38 +1097,36 @@ if(! function_exists('get_app')) {
// if variable is set, returns 1 if has 'non-zero' value, otherwise returns 0.
// e.g. x('') or x(0) returns 0;
-if(! function_exists('x')) {
- function x($s,$k = NULL) {
- if($k != NULL) {
- if((is_array($s)) && (array_key_exists($k,$s))) {
- if($s[$k])
- return (int) 1;
- return (int) 0;
- }
- return false;
- }
- else {
- if(isset($s)) {
- if($s) {
- return (int) 1;
- }
- return (int) 0;
+
+function x($s,$k = NULL) {
+ if($k != NULL) {
+ if((is_array($s)) && (array_key_exists($k,$s))) {
+ if($s[$k])
+ return (int) 1;
+ return (int) 0;
+ }
+ return false;
+ }
+ else {
+ if(isset($s)) {
+ if($s) {
+ return (int) 1;
}
- return false;
+ return (int) 0;
}
+ return false;
}
}
+
// called from db initialisation if db is dead.
-if(! function_exists('system_unavailable')) {
- function system_unavailable() {
- include('system_unavailable.php');
- system_down();
- killme();
- }
-}
+function system_unavailable() {
+ include('system_unavailable.php');
+ system_down();
+ killme();
+}
function clean_urls() {
@@ -991,230 +1165,305 @@ function is_ajax() {
// $_SERVER variables, and synchronising the state of installed plugins.
-if(! function_exists('check_config')) {
-function check_config(&$a) {
-
- $build = get_config('system','db_version');
- if(! x($build))
- $build = set_config('system','db_version',DB_UPDATE_VERSION);
-
-// $url = get_config('system','baseurl');
-
- // if the url isn't set or the stored url is radically different
- // than the currently visited url, store the current value accordingly.
- // "Radically different" ignores common variations such as http vs https
- // and www.example.com vs example.com.
- // We will only change the url to an ip address if there is no existing setting
-
-// if(! x($url))
-// $url = set_config('system','baseurl',$a->get_baseurl());
-// if((! link_compare($url,$a->get_baseurl())) && (! preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/",$a->get_hostname)))
-// $url = set_config('system','baseurl',$a->get_baseurl());
+function check_config(&$a) {
+ $build = get_config('system','db_version');
+ if(! x($build))
+ $build = set_config('system','db_version',DB_UPDATE_VERSION);
- if($build != DB_UPDATE_VERSION) {
- $stored = intval($build);
- $current = intval(DB_UPDATE_VERSION);
- if(($stored < $current) && file_exists('install/update.php')) {
+ $saved = get_config('system','urlverify');
+ if(! $saved)
+ set_config('system','urlverify',bin2hex(z_root()));
+ if(($saved) && ($saved != bin2hex(z_root()))) {
+ // our URL changed. Do something.
- load_config('database');
+ $oldurl = hex2bin($saved);
+
+ $oldhost = substr($oldurl,strpos($oldurl,'//')+2);
+ $host = substr(z_root(),strpos(z_root(),'//')+2);
+
+ $is_ip_addr = ((preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/",$host)) ? true : false);
+ $was_ip_addr = ((preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/",$oldhost)) ? true : false);
+ // only change the url to an ip address if it was already an ip and not a dns name
+ if((! $is_ip_addr) || ($is_ip_addr && $was_ip_addr)) {
+ fix_system_urls($oldurl,z_root());
+ set_config('system','urlverify',bin2hex(z_root()));
+ }
+ else
+ logger('Attempt to change baseurl from a DNS name to an IP address was refused.');
+ }
- // We're reporting a different version than what is currently installed.
- // Run any existing update scripts to bring the database up to current.
+ // This will actually set the url to the one stored in .htconfig, and ignore what
+ // we're passing - unless we are installing and it has never been set.
- require_once('install/update.php');
+ $a->set_baseurl($a->get_baseurl());
- // make sure that boot.php and update.php are the same release, we might be
- // updating right this very second and the correct version of the update.php
- // file may not be here yet. This can happen on a very busy site.
+ if($build != DB_UPDATE_VERSION) {
+ $stored = intval($build);
+ $current = intval(DB_UPDATE_VERSION);
+ if(($stored < $current) && file_exists('install/update.php')) {
- if(DB_UPDATE_VERSION == UPDATE_VERSION) {
+ load_config('database');
- for($x = $stored; $x < $current; $x ++) {
- if(function_exists('update_r' . $x)) {
+ // We're reporting a different version than what is currently installed.
+ // Run any existing update scripts to bring the database up to current.
+ require_once('install/update.php');
- // There could be a lot of processes running or about to run.
- // We want exactly one process to run the update command.
- // So store the fact that we're taking responsibility
- // after first checking to see if somebody else already has.
+ // make sure that boot.php and update.php are the same release, we might be
+ // updating right this very second and the correct version of the update.php
+ // file may not be here yet. This can happen on a very busy site.
- // If the update fails or times-out completely you may need to
- // delete the config entry to try again.
+ if(DB_UPDATE_VERSION == UPDATE_VERSION) {
+ for($x = $stored; $x < $current; $x ++) {
+ if(function_exists('update_r' . $x)) {
+ // There could be a lot of processes running or about to run.
+ // We want exactly one process to run the update command.
+ // So store the fact that we're taking responsibility
+ // after first checking to see if somebody else already has.
- if(get_config('database','update_r' . $x))
- break;
- set_config('database','update_r' . $x, '1');
+ // If the update fails or times-out completely you may need to
+ // delete the config entry to try again.
- // call the specific update
+ if(get_config('database','update_r' . $x))
+ break;
+ set_config('database','update_r' . $x, '1');
+ // call the specific update
- $func = 'update_r' . $x;
- $retval = $func();
- if($retval) {
- //send the administrator an e-mail
+ $func = 'update_r' . $x;
+ $retval = $func();
+ if($retval) {
+ //send the administrator an e-mail
- $email_tpl = get_intltext_template("update_fail_eml.tpl");
- $email_msg = replace_macros($email_tpl, array(
- '$sitename' => $a->config['sitename'],
- '$siteurl' => $a->get_baseurl(),
- '$update' => $x,
- '$error' => sprintf( t('Update %s failed. See error logs.'), $x)
- ));
+ $email_tpl = get_intltext_template("update_fail_eml.tpl");
+ $email_msg = replace_macros($email_tpl, array(
+ '$sitename' => $a->config['system']['sitename'],
+ '$siteurl' => $a->get_baseurl(),
+ '$update' => $x,
+ '$error' => sprintf( t('Update %s failed. See error logs.'), $x)
+ ));
- $subject=sprintf(t('Update Error at %s'), $a->get_baseurl());
+ $subject = email_header_encode(sprintf(t('Update Error at %s'), $a->get_baseurl()));
- mail($a->config['admin_email'], $subject, $email_msg,
- 'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
- . 'Content-type: text/plain; charset=UTF-8' . "\n"
- . 'Content-transfer-encoding: 8bit' );
- //try the logger
- logger('CRITICAL: Update Failed: '. $x);
- }
- else
- set_config('database','update_r' . $x, 'success');
-
+ mail($a->config['system']['admin_email'], $subject, $email_msg,
+ 'From: Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
+ . 'Content-type: text/plain; charset=UTF-8' . "\n"
+ . 'Content-transfer-encoding: 8bit' );
+ //try the logger
+ logger('CRITICAL: Update Failed: ' . $x);
}
+ else
+ set_config('database','update_r' . $x, 'success');
+
}
- set_config('system','db_version', DB_UPDATE_VERSION);
}
+ set_config('system','db_version', DB_UPDATE_VERSION);
}
}
+ }
- /**
- *
- * Synchronise plugins:
- *
- * $a->config['system']['addon'] contains a comma-separated list of names
- * of plugins/addons which are used on this system.
- * Go through the database list of already installed addons, and if we have
- * an entry, but it isn't in the config list, call the uninstall procedure
- * and mark it uninstalled in the database (for now we'll remove it).
- * Then go through the config list and if we have a plugin that isn't installed,
- * call the install procedure and add it to the database.
- *
- */
+ /**
+ *
+ * Synchronise plugins:
+ *
+ * $a->config['system']['addon'] contains a comma-separated list of names
+ * of plugins/addons which are used on this system.
+ * Go through the database list of already installed addons, and if we have
+ * an entry, but it isn't in the config list, call the unload procedure
+ * and mark it uninstalled in the database (for now we'll remove it).
+ * Then go through the config list and if we have a plugin that isn't installed,
+ * call the install procedure and add it to the database.
+ *
+ */
- $r = q("SELECT * FROM `addon` WHERE `installed` = 1");
- if(count($r))
- $installed = $r;
- else
- $installed = array();
+ $r = q("SELECT * FROM `addon` WHERE `installed` = 1");
+ if($r)
+ $installed = $r;
+ else
+ $installed = array();
- $plugins = get_config('system','addon');
- $plugins_arr = array();
+ $plugins = get_config('system','addon');
+ $plugins_arr = array();
- if($plugins)
- $plugins_arr = explode(',',str_replace(' ', '',$plugins));
+ if($plugins)
+ $plugins_arr = explode(',',str_replace(' ', '',$plugins));
- $a->plugins = $plugins_arr;
+ $a->plugins = $plugins_arr;
- $installed_arr = array();
+ $installed_arr = array();
- if(count($installed)) {
- foreach($installed as $i) {
- if(! in_array($i['name'],$plugins_arr)) {
- uninstall_plugin($i['name']);
- }
- else {
- $installed_arr[] = $i['name'];
- }
+ if(count($installed)) {
+ foreach($installed as $i) {
+ if(! in_array($i['name'],$plugins_arr)) {
+ unload_plugin($i['name']);
+ }
+ else {
+ $installed_arr[] = $i['name'];
}
}
+ }
- if(count($plugins_arr)) {
- foreach($plugins_arr as $p) {
- if(! in_array($p,$installed_arr)) {
- install_plugin($p);
- }
+ if(count($plugins_arr)) {
+ foreach($plugins_arr as $p) {
+ if(! in_array($p,$installed_arr)) {
+ load_plugin($p);
}
}
+ }
- load_hooks();
+ load_hooks();
+ return;
+}
- return;
+
+
+function fix_system_urls($oldurl,$newurl) {
+
+ require_once('include/crypto.php');
+
+ logger('fix_system_urls: renaming ' . $oldurl . ' to ' . $newurl);
+
+ // Basically a site rename, but this can happen if you change from http to https for instance - even if the site name didn't change
+ // This should fix URL changes on our site, but other sites will end up with orphan hublocs which they will try to contact and will
+ // cause wasted communications.
+ // What we need to do after fixing this up is to send a revocation of the old URL to every other site that we communicate with so
+ // that they can clean up their hubloc tables (this includes directories).
+ // It's a very expensive operation so you don't want to have to do it often or after your site gets to be large.
+
+ $r = q("select xchan.*, channel.* from xchan left join channel on channel_hash = xchan_hash where xchan_url like '%s'",
+ dbesc($oldurl . '%')
+ );
+ if($r) {
+ foreach($r as $rr) {
+ $channel = substr($rr['xchan_addr'],0,strpos($rr['xchan_addr'],'@'));
+
+ $parsed = @parse_url($newurl);
+ if(! $parsed)
+ continue;
+ $newhost = $parsed['host'];
+
+ // sometimes parse_url returns unexpected results.
+
+ if(strpos($newhost,'/') !== false)
+ $newhost = substr($newhost,0,strpos($newhost,'/'));
+
+ $rhs = $newhost . (($parsed['port']) ? ':' . $parsed['port'] : '');
+
+ // paths aren't going to work. You have to be at the (sub)domain root
+ // . (($parsed['path']) ? $parsed['path'] : '');
+
+ $x = q("update xchan set xchan_addr = '%s', xchan_url = '%s', xchan_connurl = '%s', xchan_follow = '%s', xchan_connpage = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_date = '%s' where xchan_hash = '%s' limit 1",
+ dbesc($channel . '@' . $rhs),
+ dbesc(str_replace($oldurl,$newurl,$rr['xchan_url'])),
+ dbesc(str_replace($oldurl,$newurl,$rr['xchan_connurl'])),
+ dbesc(str_replace($oldurl,$newurl,$rr['xchan_follow'])),
+ dbesc(str_replace($oldurl,$newurl,$rr['xchan_connpage'])),
+ dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_l'])),
+ dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_m'])),
+ dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_s'])),
+ dbesc(datetime_convert()),
+ dbesc($rr['xchan_hash'])
+ );
+
+
+ $y = q("update hubloc set hubloc_addr = '%s', hubloc_url = '%s', hubloc_url_sig = '%s', hubloc_host = '%s', hubloc_callback = '%s' where hubloc_hash = '%s' and hubloc_url = '%s' limit 1",
+ dbesc($channel . '@' . $rhs),
+ dbesc($newurl),
+ dbesc(base64url_encode(rsa_sign($newurl,$rr['channel_prvkey']))),
+ dbesc($newhost),
+ dbesc($newurl . '/post'),
+ dbesc($rr['xchan_hash']),
+ dbesc($oldurl)
+ );
+
+ proc_run('php', 'include/notifier.php', 'refresh_all', $rr['channel_id']);
+
+ }
}
}
+
+
// wrapper for adding a login box. If $register == true provide a registration
// link. This will most always depend on the value of $a->config['system']['register_policy'].
// returns the complete html for inserting into the page
-if(! function_exists('login')) {
- function login($register = false, $form_id = 'main-login', $hiddens=false) {
- $a = get_app();
- $o = "";
- $reg = false;
- $reglink = get_config('system','register_link');
- if(! strlen($reglink))
- $reglink = 'register';
-
- if ($register) {
- $reg = array(
- 'title' => t('Create a New Account'),
- 'desc' => t('Register'),
- 'link' => $reglink
- );
- }
- $dest_url = $a->get_baseurl(true) . '/' . $a->query_string;
+function login($register = false, $form_id = 'main-login', $hiddens=false) {
+ $a = get_app();
+ $o = "";
+ $reg = false;
+ $reglink = get_config('system','register_link');
+ if(! strlen($reglink))
+ $reglink = 'register';
+
+ if ($register) {
+ $reg = array(
+ 'title' => t('Create a New Account'),
+ 'desc' => t('Register'),
+ 'link' => $reglink
+ );
+ }
- if(local_user()) {
- $tpl = get_markup_template("logout.tpl");
- }
- else {
- $a->page['htmlhead'] .= replace_macros(get_markup_template("login_head.tpl"),array(
- '$baseurl' => $a->get_baseurl(true)
- ));
+ $dest_url = $a->get_baseurl(true) . '/' . $a->query_string;
- $tpl = get_markup_template("login.tpl");
- if(strlen($a->query_string))
- $_SESSION['login_return_url'] = $a->query_string;
- }
+ if(local_user()) {
+ $tpl = get_markup_template("logout.tpl");
+ }
+ else {
+ $a->page['htmlhead'] .= replace_macros(get_markup_template("login_head.tpl"),array(
+ '$baseurl' => $a->get_baseurl(true)
+ ));
+ $tpl = get_markup_template("login.tpl");
+ if(strlen($a->query_string))
+ $_SESSION['login_return_url'] = $a->query_string;
+ }
- $o .= replace_macros($tpl,array(
- '$dest_url' => $dest_url,
- '$logout' => t('Logout'),
- '$login' => t('Login'),
- '$form_id' => $form_id,
- '$lname' => array('username', t('Email') , '', ''),
- '$lpassword' => array('password', t('Password'), '', ''),
- '$remember' => array('remember', t('Remember me'), '', ''),
- '$hiddens' => $hiddens,
-
- '$register' => $reg,
+ $o .= replace_macros($tpl,array(
+
+ '$dest_url' => $dest_url,
+ '$logout' => t('Logout'),
+ '$login' => t('Login'),
+ '$form_id' => $form_id,
+ '$lname' => array('username', t('Email') , '', ''),
+ '$lpassword' => array('password', t('Password'), '', ''),
+ '$remember' => array('remember', t('Remember me'), '', ''),
+ '$hiddens' => $hiddens,
+
+ '$register' => $reg,
- '$lostpass' => t('Forgot your password?'),
- '$lostlink' => t('Password Reset'),
- ));
+ '$lostpass' => t('Forgot your password?'),
+ '$lostlink' => t('Password Reset'),
+ ));
- call_hooks('login_hook',$o);
+ call_hooks('login_hook',$o);
- return $o;
- }
+ return $o;
}
+
// Used to end the current process, after saving session state.
-if(! function_exists('killme')) {
- function killme() {
- session_write_close();
- exit;
- }
+
+function killme() {
+ session_write_close();
+ exit;
}
+
// redirect to another URL and terminate this process.
-if(! function_exists('goaway')) {
- function goaway($s) {
- header("Location: $s");
- killme();
- }
+
+function goaway($s) {
+ header("Location: $s");
+ killme();
}
+
function get_account_id() {
if(get_app()->account)
return intval(get_app()->account['account_id']);
@@ -1224,62 +1473,62 @@ function get_account_id() {
// Returns the entity id of locally logged in user or false.
-if(! function_exists('local_user')) {
- function local_user() {
- if((x($_SESSION,'authenticated')) && (x($_SESSION,'uid')))
- return intval($_SESSION['uid']);
- return false;
- }
+
+function local_user() {
+ if((x($_SESSION,'authenticated')) && (x($_SESSION,'uid')))
+ return intval($_SESSION['uid']);
+ return false;
}
+
// Returns contact id of authenticated site visitor or false
-if(! function_exists('remote_user')) {
- function remote_user() {
- if((x($_SESSION,'authenticated')) && (x($_SESSION,'visitor_id')))
- return $_SESSION['visitor_id'];
- return false;
- }
+
+function remote_user() {
+ if((x($_SESSION,'authenticated')) && (x($_SESSION,'visitor_id')))
+ return $_SESSION['visitor_id'];
+ return false;
}
+
// contents of $s are displayed prominently on the page the next time
// a page is loaded. Usually used for errors or alerts.
-if(! function_exists('notice')) {
- function notice($s) {
- $a = get_app();
- if(! x($_SESSION,'sysmsg')) $_SESSION['sysmsg'] = array();
- if($a->interactive)
- $_SESSION['sysmsg'][] = $s;
- }
+
+function notice($s) {
+ $a = get_app();
+ if(! x($_SESSION,'sysmsg')) $_SESSION['sysmsg'] = array();
+ if($a->interactive)
+ $_SESSION['sysmsg'][] = $s;
}
-if(! function_exists('info')) {
- function info($s) {
- $a = get_app();
- if(! x($_SESSION,'sysmsg_info')) $_SESSION['sysmsg_info'] = array();
- if($a->interactive)
- $_SESSION['sysmsg_info'][] = $s;
- }
+
+
+function info($s) {
+ $a = get_app();
+ if(! x($_SESSION,'sysmsg_info')) $_SESSION['sysmsg_info'] = array();
+ if($a->interactive)
+ $_SESSION['sysmsg_info'][] = $s;
}
+
// wrapper around config to limit the text length of an incoming message
-if(! function_exists('get_max_import_size')) {
- function get_max_import_size() {
- global $a;
- return ((x($a->config,'max_import_size')) ? $a->config['max_import_size'] : 0 );
- }
+
+function get_max_import_size() {
+ global $a;
+ return ((x($a->config,'max_import_size')) ? $a->config['max_import_size'] : 0 );
}
+
/**
*
* Function : profile_load
* @parameter App $a
* @parameter string $nickname
- * @parameter int $profile
+ * @parameter string $profile
*
* Summary: Loads a profile into the page sidebar.
* The function requires a writeable copy of the main App structure, and the nickname
@@ -1295,8 +1544,10 @@ if(! function_exists('get_max_import_size')) {
*
*/
-if(! function_exists('profile_load')) {
-function profile_load(&$a, $nickname, $profile = 0) {
+
+function profile_load(&$a, $nickname, $profile = '') {
+
+ logger('profile_load: ' . $profile);
$user = q("select channel_id from channel where channel_address = '%s' limit 1",
dbesc($nickname)
@@ -1320,30 +1571,29 @@ function profile_load(&$a, $nickname, $profile = 0) {
return;
}
- $r = q("SELECT abook_profile FROM abook WHERE abook_xchan = '%s' limit 1",
- dbesc($observer['xchan_hash'])
- );
- if($r)
- $profile = $r[0]['abook_profile'];
-
+ if(! $profile) {
+ $r = q("SELECT abook_profile FROM abook WHERE abook_xchan = '%s' and abook_channel = '%d' limit 1",
+ dbesc($observer['xchan_hash']),
+ intval($user[0]['channel_id'])
+ );
+ if($r)
+ $profile = $r[0]['abook_profile'];
+ }
$r = null;
-
-
if($profile) {
- $profile_int = intval($profile);
- $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , channel.* FROM `profile`
- LEFT JOIN channel ON `profile`.`uid` = channel.channel_id
- WHERE channel.channel_address = '%s' AND `profile`.`id` = %d LIMIT 1",
+ $r = q("SELECT profile.uid AS profile_uid, profile.*, channel.* FROM profile
+ LEFT JOIN channel ON profile.uid = channel.channel_id
+ WHERE channel.channel_address = '%s' AND profile.profile_guid = '%s' LIMIT 1",
dbesc($nickname),
- intval($profile_int)
+ dbesc($profile)
);
}
- if(! ($r && count($r))) {
- $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `channel`.* FROM `profile`
- LEFT JOIN `channel` ON `profile`.`uid` = channel.channel_id
- WHERE channel.channel_address = '%s' AND `profile`.`is_default` = 1 LIMIT 1",
+ if(! $r) {
+ $r = q("SELECT profile.uid AS profile_uid, profile.*, channel.* FROM profile
+ LEFT JOIN channel ON profile.uid = channel.channel_id
+ WHERE channel.channel_address = '%s' AND profile.is_default = 1 LIMIT 1",
dbesc($nickname)
);
}
@@ -1365,13 +1615,21 @@ function profile_load(&$a, $nickname, $profile = 0) {
$r[0]['keywords'] = $x[0]['keywords'];
}
- $a->profile = $r[0];
+ if($r[0]['keywords']) {
+ $keywords = str_replace(array('#',',',' ',',,'),array('',' ',',',','),$r[0]['keywords']);
+ if(strlen($keywords))
+ $a->page['htmlhead'] .= '<meta name="keywords" content="' . htmlentities($keywords,ENT_COMPAT,'UTF-8') . '" />' . "\r\n" ;
+ }
- $a->page['title'] = $a->profile['channel_name'] . " @ " . $a->config['sitename'];
+ $a->profile = $r[0];
+ $a->profile_uid = $r[0]['profile_uid'];
+ $a->page['title'] = $a->profile['channel_name'] . " - " . $a->profile['channel_address'] . "@" . $a->get_hostname();
+ $a->profile['channel_mobile_theme'] = get_pconfig(local_user(),'system', 'mobile_theme');
$_SESSION['theme'] = $a->profile['channel_theme'];
+ $_SESSION['mobile_theme'] = $a->profile['channel_mobile_theme'];
/**
* load/reload current theme info
@@ -1385,13 +1643,13 @@ function profile_load(&$a, $nickname, $profile = 0) {
}
return;
-}}
+}
-function profile_create_sidebar(&$a) {
+function profile_create_sidebar(&$a,$connect = true) {
$block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
- $a->set_widget('profile',profile_sidebar($a->profile, $block));
+ $a->set_widget('profile',profile_sidebar($a->profile, $block, $connect));
return;
}
@@ -1412,126 +1670,141 @@ function profile_create_sidebar(&$a) {
*/
-if(! function_exists('profile_sidebar')) {
- function profile_sidebar($profile, $block = 0) {
- $a = get_app();
+function profile_sidebar($profile, $block = 0, $show_connect = true) {
- $observer = $a->get_observer();
+ $a = get_app();
- $o = '';
- $location = false;
- $address = false;
- $pdesc = true;
+ $observer = $a->get_observer();
- if((! is_array($profile)) && (! count($profile)))
- return $o;
+ $o = '';
+ $location = false;
+ $address = false;
+ $pdesc = true;
+ if((! is_array($profile)) && (! count($profile)))
+ return $o;
- $is_owner = (($profile['uid'] == local_user()) ? true : false);
- $profile['picdate'] = urlencode($profile['picdate']);
+ head_set_icon($profile['thumb']);
- call_hooks('profile_sidebar_enter', $profile);
+ $is_owner = (($profile['uid'] == local_user()) ? true : false);
- // don't show connect link to yourself
- $connect = (($profile['uid'] != local_user()) ? t('Connect') : False);
+ $profile['picdate'] = urlencode($profile['picdate']);
- // don't show connect link to authenticated visitors either
+ call_hooks('profile_sidebar_enter', $profile);
- if(remote_user() && count($_SESSION['remote'])) {
- foreach($_SESSION['remote'] as $visitor) {
- if($visitor['uid'] == $profile['uid']) {
- $connect = false;
- break;
- }
- }
- }
+ require_once('include/Contact.php');
+ if($show_connect) {
- // show edit profile to yourself
- if($is_owner) {
+ // This will return an empty string if we're already connected.
- $profile['menu'] = array(
- 'chg_photo' => t('Change profile photo'),
- 'entries' => array(),
- );
+ $connect_url = rconnect_url($profile['uid'],get_observer_hash());
+ $connect = (($connect_url) ? t('Connect') : '');
+ if($connect_url)
+ $connect_url = sprintf($connect_url,urlencode($profile['channel_address'] . '@' . $a->get_hostname()));
+ // premium channel - over-ride
- if(feature_enabled(local_user(),'multi_profiles')) {
- $profile['edit'] = array($a->get_baseurl(). '/profiles', t('Profiles'),"", t('Manage/edit profiles'));
- $profile['menu']['cr_new'] = t('Create New Profile');
- }
- else
- $profile['edit'] = array($a->get_baseurl() . '/profiles/' . $profile['id'], t('Edit Profile'),'',t('Edit Profile'));
+ if($profile['channel_pageflags'] & PAGE_PREMIUM)
+ $connect_url = z_root() . '/connect/' . $profile['channel_address'];
+ }
+
+ // show edit profile to yourself
+ if($is_owner) {
+
+ $profile['menu'] = array(
+ 'chg_photo' => t('Change profile photo'),
+ 'entries' => array(),
+ );
+
+
+ if(feature_enabled(local_user(),'multi_profiles')) {
+ $profile['edit'] = array($a->get_baseurl(). '/profiles', t('Profiles'),"", t('Manage/edit profiles'));
+ $profile['menu']['cr_new'] = t('Create New Profile');
+ }
+ else
+ $profile['edit'] = array($a->get_baseurl() . '/profiles/' . $profile['id'], t('Edit Profile'),'',t('Edit Profile'));
- $r = q("SELECT * FROM `profile` WHERE `uid` = %d",
- local_user());
+ $r = q("SELECT * FROM `profile` WHERE `uid` = %d",
+ local_user());
- if($r) {
- foreach($r as $rr) {
- $profile['menu']['entries'][] = array(
- 'photo' => $rr['thumb'],
- 'id' => $rr['id'],
- 'alt' => t('Profile Image'),
- 'profile_name' => $rr['profile_name'],
- 'isdefault' => $rr['is_default'],
- 'visible_to_everybody' => t('visible to everybody'),
- 'edit_visibility' => t('Edit visibility'),
- );
- }
+ if($r) {
+ foreach($r as $rr) {
+ $profile['menu']['entries'][] = array(
+ 'photo' => $rr['thumb'],
+ 'id' => $rr['id'],
+ 'alt' => t('Profile Image'),
+ 'profile_name' => $rr['profile_name'],
+ 'isdefault' => $rr['is_default'],
+ 'visible_to_everybody' => t('visible to everybody'),
+ 'edit_visibility' => t('Edit visibility'),
+ );
}
}
+ }
- if((x($profile,'address') == 1)
- || (x($profile,'locality') == 1)
- || (x($profile,'region') == 1)
- || (x($profile,'postal_code') == 1)
- || (x($profile,'country_name') == 1))
- $location = t('Location:');
+ if((x($profile,'address') == 1)
+ || (x($profile,'locality') == 1)
+ || (x($profile,'region') == 1)
+ || (x($profile,'postal_code') == 1)
+ || (x($profile,'country_name') == 1))
+ $location = t('Location:');
- $gender = ((x($profile,'gender') == 1) ? t('Gender:') : False);
- $marital = ((x($profile,'marital') == 1) ? t('Status:') : False);
- $homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False);
+ $gender = ((x($profile,'gender') == 1) ? t('Gender:') : False);
+ $marital = ((x($profile,'marital') == 1) ? t('Status:') : False);
+ $homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False);
- if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
- $location = $pdesc = $gender = $marital = $homepage = False;
- }
+ if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
+ $location = $pdesc = $gender = $marital = $homepage = False;
+ }
- $firstname = ((strpos($profile['name'],' '))
- ? trim(substr($profile['name'],0,strpos($profile['name'],' '))) : $profile['name']);
- $lastname = (($firstname === $profile['name']) ? '' : trim(substr($profile['name'],strlen($firstname))));
+ $firstname = ((strpos($profile['name'],' '))
+ ? trim(substr($profile['name'],0,strpos($profile['name'],' '))) : $profile['name']);
+ $lastname = (($firstname === $profile['name']) ? '' : trim(substr($profile['name'],strlen($firstname))));
- if(is_array($observer)
- && perm_is_allowed($profile['uid'],$observer['xchan_hash'],'view_contacts')) {
- $contact_block = contact_block();
- }
+ if(is_array($observer)
+ && perm_is_allowed($profile['uid'],$observer['xchan_hash'],'view_contacts')) {
+ $contact_block = contact_block();
+ }
- $tpl = get_markup_template('profile_vcard.tpl');
-
- $o .= replace_macros($tpl, array(
- '$profile' => $profile,
- '$connect' => $connect,
- '$location' => $location,
- '$gender' => $gender,
- '$pdesc' => $pdesc,
- '$marital' => $marital,
- '$homepage' => $homepage,
- '$contact_block' => $contact_block,
- ));
+ $channel_menu = false;
+ $menu = get_pconfig($profile['uid'],'system','channel_menu');
+ if($menu) {
+ require_once('include/menu.php');
+ $m = menu_fetch($menu,$profile['uid'],$observer['xchan_hash']);
+ if($m)
+ $channel_menu = menu_render($m);
+ }
- $arr = array('profile' => &$profile, 'entry' => &$o);
+ $tpl = get_markup_template('profile_vcard.tpl');
- call_hooks('profile_sidebar', $arr);
+ $o .= replace_macros($tpl, array(
+ '$profile' => $profile,
+ '$connect' => $connect,
+ '$connect_url' => $connect_url,
+ '$location' => $location,
+ '$gender' => $gender,
+ '$pdesc' => $pdesc,
+ '$marital' => $marital,
+ '$homepage' => $homepage,
+ '$chanmenu' => $channel_menu,
+ '$contact_block' => $contact_block,
+ ));
- return $o;
- }
+ $arr = array('profile' => &$profile, 'entry' => &$o);
+
+ call_hooks('profile_sidebar', $arr);
+
+ return $o;
}
-// FIXME
-if(! function_exists('get_birthdays')) {
+// FIXME or remove
+
+
function get_birthdays() {
$a = get_app();
@@ -1606,11 +1879,11 @@ if(! function_exists('get_birthdays')) {
));
}
-}
+
// FIXME
-if(! function_exists('get_events')) {
+
function get_events() {
require_once('include/bbcode.php');
@@ -1677,7 +1950,7 @@ if(! function_exists('get_events')) {
'$events' => $r,
));
}
-}
+
/**
@@ -1694,107 +1967,144 @@ if(! function_exists('get_events')) {
* $cmd and string args are surrounded with ""
*/
-if(! function_exists('proc_run')) {
- function proc_run($cmd){
- $a = get_app();
+function proc_run($cmd){
- $args = func_get_args();
+ $a = get_app();
- $newargs = array();
- if(! count($args))
- return;
+ $args = func_get_args();
- // expand any arrays
+ $newargs = array();
+ if(! count($args))
+ return;
- foreach($args as $arg) {
- if(is_array($arg)) {
- foreach($arg as $n) {
- $newargs[] = $n;
- }
+ // expand any arrays
+
+ foreach($args as $arg) {
+ if(is_array($arg)) {
+ foreach($arg as $n) {
+ $newargs[] = $n;
}
- else
- $newargs[] = $arg;
}
+ else
+ $newargs[] = $arg;
+ }
- $args = $newargs;
+ $args = $newargs;
- $arr = array('args' => $args, 'run_cmd' => true);
+ $arr = array('args' => $args, 'run_cmd' => true);
- call_hooks("proc_run", $arr);
- if(! $arr['run_cmd'])
- return;
+ call_hooks("proc_run", $arr);
+ if(! $arr['run_cmd'])
+ return;
- if(count($args) && $args[0] === 'php')
- $args[0] = ((x($a->config,'system')) && (x($a->config['system'],'php_path')) && (strlen($a->config['system']['php_path'])) ? $a->config['system']['php_path'] : 'php');
- for($x = 0; $x < count($args); $x ++)
- $args[$x] = escapeshellarg($args[$x]);
+ if(count($args) && $args[0] === 'php')
+ $args[0] = ((x($a->config,'system')) && (x($a->config['system'],'php_path')) && (strlen($a->config['system']['php_path'])) ? $a->config['system']['php_path'] : 'php');
+ for($x = 0; $x < count($args); $x ++)
+ $args[$x] = escapeshellarg($args[$x]);
- $cmdline = implode($args," ");
- if(get_config('system','proc_windows'))
- proc_close(proc_open('cmd /c start /b ' . $cmdline,array(),$foo));
- else
- proc_close(proc_open($cmdline." &",array(),$foo));
- }
+ $cmdline = implode($args," ");
+ if(get_config('system','proc_windows'))
+ proc_close(proc_open('cmd /c start /b ' . $cmdline,array(),$foo));
+ else
+ proc_close(proc_open($cmdline." &",array(),$foo));
}
-if(! function_exists('current_theme')) {
- function current_theme(){
- $app_base_themes = array('redbasic');
+
+
+function current_theme(){
+ $app_base_themes = array('redbasic');
- $a = get_app();
+ $a = get_app();
+ $page_theme = null;
+
+ // Find the theme that belongs to the channel whose stuff we are looking at
+
+ if($a->profile_uid && $a->profile_uid != local_user()) {
+ $r = q("select channel_theme from channel where channel_id = %d limit 1",
+ intval($a->profile_uid)
+ );
+ if($r)
+ $page_theme = $r[0]['channel_theme'];
+ }
+
+ if(array_key_exists('theme', $a->layout) && $a->layout['theme'])
+ $page_theme = $a->layout['theme'];
+
+ // Allow folks to over-rule channel themes and always use their own on their own site.
+ // The default is for channel themes to take precedence over your own on pages belonging
+ // to that channel.
+
+ if($page_theme && local_user() && local_user() != $a->profile_url) {
+ if(get_pconfig(local_user(),'system','always_my_theme'))
+ $page_theme = null;
+ }
+
-// $mobile_detect = new Mobile_Detect();
-// $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
- $is_mobile = $a->is_mobile || $a->is_tablet;
+ $is_mobile = $a->is_mobile || $a->is_tablet;
- if($is_mobile) {
- $system_theme = ((isset($a->config['system']['mobile-theme'])) ? $a->config['system']['mobile-theme'] : '');
- $theme_name = ((isset($_SESSION) && x($_SESSION,'mobile-theme')) ? $_SESSION['mobile-theme'] : $system_theme);
+ $standard_system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : '');
+ $standard_theme_name = ((isset($_SESSION) && x($_SESSION,'theme')) ? $_SESSION['theme'] : $standard_system_theme);
+
+ if($is_mobile) {
+ if(isset($_SESSION['show_mobile']) && !$_SESSION['show_mobile']) {
+ $system_theme = $standard_system_theme;
+ $theme_name = $standard_theme_name;
+ }
+ else {
+ $system_theme = ((isset($a->config['system']['mobile_theme'])) ? $a->config['system']['mobile_theme'] : '');
+ $theme_name = ((isset($_SESSION) && x($_SESSION,'mobile_theme')) ? $_SESSION['mobile_theme'] : $system_theme);
- if($theme_name === '---') {
+ if($theme_name === '' || $theme_name === '---' ) {
// user has selected to have the mobile theme be the same as the normal one
- $system_theme = '';
- $theme_name = '';
+ $system_theme = $standard_system_theme;
+ $theme_name = $standard_theme_name;
}
}
- else {
- $system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : '');
- $theme_name = ((isset($_SESSION) && x($_SESSION,'theme')) ? $_SESSION['theme'] : $system_theme);
- }
+ }
+ else {
+ $system_theme = $standard_system_theme;
+ $theme_name = $standard_theme_name;
+
+ if($page_theme)
+ $theme_name = $page_theme;
+ }
+
- if($theme_name &&
- (file_exists('view/theme/' . $theme_name . '/css/style.css') ||
- file_exists('view/theme/' . $theme_name . '/php/style.php')))
- return($theme_name);
+ if($theme_name &&
+ (file_exists('view/theme/' . $theme_name . '/css/style.css') ||
+ file_exists('view/theme/' . $theme_name . '/php/style.php')))
+ return($theme_name);
- foreach($app_base_themes as $t) {
- if(file_exists('view/theme/' . $t . '/css/style.css')||
- file_exists('view/theme/' . $t . '/php/style.php'))
- return($t);
- }
+ foreach($app_base_themes as $t) {
+ if(file_exists('view/theme/' . $t . '/css/style.css')||
+ file_exists('view/theme/' . $t . '/php/style.php'))
+ return($t);
+ }
- $fallback = array_merge(glob('view/theme/*/css/style.css'),glob('view/theme/*/php/style.php'));
- if(count($fallback))
- return (str_replace('view/theme/','', substr($fallback[0],0,-10)));
+ $fallback = array_merge(glob('view/theme/*/css/style.css'),glob('view/theme/*/php/style.php'));
+ if(count($fallback))
+ return (str_replace('view/theme/','', substr($fallback[0],0,-10)));
- }
}
-/*
+
+/**
* Return full URL to theme which is currently in effect.
-* Provide a sane default if nothing is chosen or the specified theme does not exist.
-*/
-if(! function_exists('current_theme_url')) {
- function current_theme_url() {
- global $a;
- $t = current_theme();
- if (file_exists('view/theme/' . $t . '/php/style.php'))
- return('view/theme/' . $t . '/php/style.pcss');
- return('view/theme/' . $t . '/css/style.css');
- }
+ * Provide a sane default if nothing is chosen or the specified theme does not exist.
+ */
+
+function current_theme_url($installing = false) {
+ global $a;
+ $t = current_theme();
+ $uid = '';
+ $uid = (($a->profile_uid) ? '?f=&puid=' . $a->profile_uid : '');
+ if(file_exists('view/theme/' . $t . '/php/style.php'))
+ return('view/theme/' . $t . '/php/style.pcss' . $uid);
+ return('view/theme/' . $t . '/css/style.css');
}
+
function z_birthday($dob,$tz,$format="Y-m-d H:i:s") {
if(! strlen($tz))
@@ -1815,57 +2125,6 @@ function z_birthday($dob,$tz,$format="Y-m-d H:i:s") {
}
-
-if(! function_exists('feed_birthday')) {
- function feed_birthday($uid,$tz) {
-
- /**
- *
- * Determine the next birthday, but only if the birthday is published
- * in the default profile. We _could_ also look for a private profile that the
- * recipient can see, but somebody could get mad at us if they start getting
- * public birthday greetings when they haven't made this info public.
- *
- * Assuming we are able to publish this info, we are then going to convert
- * the start time from the owner's timezone to UTC.
- *
- * This will potentially solve the problem found with some social networks
- * where birthdays are converted to the viewer's timezone and salutations from
- * elsewhere in the world show up on the wrong day. We will convert it to the
- * viewer's timezone also, but first we are going to convert it from the birthday
- * person's timezone to GMT - so the viewer may find the birthday starting at
- * 6:00PM the day before, but that will correspond to midnight to the birthday person.
- *
- */
-
-
- $birthday = '';
-
- if(! strlen($tz))
- $tz = 'UTC';
-
- $p = q("SELECT `dob` FROM `profile` WHERE `is_default` = 1 AND `uid` = %d LIMIT 1",
- intval($uid)
- );
-
- if($p && count($p)) {
- $tmp_dob = substr($p[0]['dob'],5);
- if(intval($tmp_dob)) {
- $y = datetime_convert($tz,$tz,'now','Y');
- $bd = $y . '-' . $tmp_dob . ' 00:00';
- $t_dob = strtotime($bd);
- $now = strtotime(datetime_convert($tz,$tz,'now'));
- if($t_dob < $now)
- $bd = $y + 1 . '-' . $tmp_dob . ' 00:00';
- $birthday = datetime_convert($tz,'UTC',$bd,$format);
- }
- }
-
- return $birthday;
- }
-}
-
-if(! function_exists('is_site_admin')) {
function is_site_admin() {
$a = get_app();
if((intval($_SESSION['authenticated']))
@@ -1873,115 +2132,147 @@ function is_site_admin() {
&& ($a->account['account_roles'] & ACCOUNT_ROLE_ADMIN))
return true;
return false;
-}}
+}
-if(! function_exists('load_contact_links')) {
- function load_contact_links($uid) {
- $a = get_app();
+function load_contact_links($uid) {
- $ret = array();
+ $a = get_app();
- if(! $uid || x($a->contacts,'empty'))
- return;
+ $ret = array();
- logger('load_contact_links');
+ if(! $uid || x($a->contacts,'empty'))
+ return;
- $r = q("SELECT abook_id, abook_flags, abook_my_perms, abook_their_perms, xchan_hash, xchan_photo_m, xchan_name, xchan_url from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d) ",
- intval($uid),
- intval(ABOOK_FLAG_SELF)
- );
- if($r) {
- foreach($r as $rr){
- $ret[$rr['xchan_hash']] = $rr;
- }
+// logger('load_contact_links');
+
+ $r = q("SELECT abook_id, abook_flags, abook_my_perms, abook_their_perms, xchan_hash, xchan_photo_m, xchan_name, xchan_url from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d) ",
+ intval($uid),
+ intval(ABOOK_FLAG_SELF)
+ );
+ if($r) {
+ foreach($r as $rr){
+ $ret[$rr['xchan_hash']] = $rr;
}
- else
- $ret['empty'] = true;
- $a->contacts = $ret;
- return;
}
+ else
+ $ret['empty'] = true;
+ $a->contacts = $ret;
+ return;
}
-if(! function_exists('profile_tabs')){
- function profile_tabs($a, $is_owner=False, $nickname=Null){
- //echo "<pre>"; var_dump($a->user); killme();
+
+
+function profile_tabs($a, $is_owner=False, $nickname=Null){
+ //echo "<pre>"; var_dump($a->user); killme();
- $channel = $a->get_channel();
+ $channel = $a->get_channel();
- if (is_null($nickname))
- $nickname = $channel['channel_address'];
+ if (is_null($nickname))
+ $nickname = $channel['channel_address'];
- if(x($_GET,'tab'))
- $tab = notags(trim($_GET['tab']));
+ if(x($_GET,'tab'))
+ $tab = notags(trim($_GET['tab']));
- $url = $a->get_baseurl() . '/channel/' . $nickname;
- $pr = $a->get_baseurl() . '/profile/' . $nickname;
-
- $tabs = array(
- array(
- 'label'=>t('Status'),
- 'url' => $url,
- 'sel' => ((argv(0)=='channel')?'active':''),
- 'title' => t('Status Messages and Posts'),
- 'id' => 'status-tab',
- ),
- array(
- 'label' => t('Profile'),
- 'url' => $pr,
- 'sel' => ((argv(0)=='profile')?'active':''),
- 'title' => t('Profile Details'),
- 'id' => 'profile-tab',
- ),
- array(
- 'label' => t('Photos'),
- 'url' => $a->get_baseurl() . '/photos/' . $nickname,
- 'sel' => ((argv(0)=='photos')?'active':''),
- 'title' => t('Photo Albums'),
- 'id' => 'photo-tab',
- ),
+ $url = $a->get_baseurl() . '/channel/' . $nickname;
+ $pr = $a->get_baseurl() . '/profile/' . $nickname;
+
+ $tabs = array(
+ array(
+ 'label' => t('Channel'),
+ 'url' => $url,
+ 'sel' => ((argv(0) == 'channel') ? 'active' : ''),
+ 'title' => t('Status Messages and Posts'),
+ 'id' => 'status-tab',
+ ),
+ array(
+ 'label' => t('About'),
+ 'url' => $pr,
+ 'sel' => ((argv(0) == 'profile') ? 'active' : ''),
+ 'title' => t('Profile Details'),
+ 'id' => 'profile-tab',
+ ),
+ 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){
+ $tabs[] = array(
+ 'label' => t('Events'),
+ 'url' => $a->get_baseurl() . '/events',
+ 'sel' => ((argv(0) == 'events') ? 'active' : ''),
+ 'title' => t('Events and Calendar'),
+ 'id' => 'events-tab',
);
-
- if ($is_owner){
- $tabs[] = array(
- 'label' => t('Events'),
- 'url' => $a->get_baseurl() . '/events',
- 'sel' =>((argv(0)=='events')?'active':''),
- 'title' => t('Events and Calendar'),
- 'id' => 'events-tab',
- );
- }
+ if(feature_enabled(local_user(),'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
+ // this channel and are visible to the observer
- $arr = array('is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => (($tab) ? $tab : false), 'tabs' => $tabs);
- call_hooks('profile_tabs', $arr);
+ }
+
+
+ $arr = array('is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => (($tab) ? $tab : false), 'tabs' => $tabs);
+ call_hooks('profile_tabs', $arr);
- $tpl = get_markup_template('common_tabs.tpl');
+ $tpl = get_markup_template('common_tabs.tpl');
- return replace_macros($tpl,array('$tabs' => $arr['tabs']));
- }
+ return replace_macros($tpl,array('$tabs' => $arr['tabs']));
}
+
function get_my_url() {
+ if(x($_SESSION,'zrl_override'))
+ return $_SESSION['zrl_override'];
if(x($_SESSION,'my_url'))
return $_SESSION['my_url'];
return false;
}
function get_my_address() {
+ if(x($_SESSION,'zid_override'))
+ return $_SESSION['zid_override'];
if(x($_SESSION,'my_address'))
return $_SESSION['my_address'];
return false;
}
+/**
+ * @function zid_init(&$a)
+ * If somebody arrives at our site using a zid, add their xchan to our DB if we don't have it already.
+ * And if they aren't already authenticated here, attempt reverse magic auth.
+ *
+ * @hooks 'zid_init'
+ * string 'zid' - their zid
+ * string 'url' - the destination url
+ *
+ */
+
function zid_init(&$a) {
$tmp_str = get_my_address();
if(validate_email($tmp_str)) {
- proc_run('php','include/gprobe.php',$tmp_str);
+ proc_run('php','include/gprobe.php',bin2hex($tmp_str));
$arr = array('zid' => $tmp_str, 'url' => $a->cmd);
call_hooks('zid_init',$arr);
if((! local_user()) && (! remote_user())) {
+ logger('zid_init: not authenticated. Invoking reverse magic-auth');
$r = q("select * from hubloc where hubloc_addr = '%s' limit 1",
dbesc($tmp_str)
);
@@ -1989,33 +2280,61 @@ function zid_init(&$a) {
$dest = '/' . $a->query_string;
$dest = str_replace(array('?zid=','&zid='),array('?rzid=','&rzid='),$dest);
if($r && ($r[0]['hubloc_url'] != z_root()) && (! strstr($dest,'/magic')) && (! strstr($dest,'/rmagic'))) {
- goaway($r[0]['hubloc_url'] . '/magic' . '?f=&dest=' . z_root() . $dest);
+ goaway($r[0]['hubloc_url'] . '/magic' . '?f=&rev=1&dest=' . z_root() . $dest);
}
}
}
}
-function zid($s,$force = false) {
- if(! strlen($s))
+/**
+ * @function zid($s,$address = '')
+ * Adds a zid parameter to a url
+ * @param string $s
+ * The url to accept the zid
+ * @param boolean $address
+ * $address to use instead of session environment
+ * @return string
+ *
+ * @hooks '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
+ */
+
+
+function zid($s,$address = '') {
+ if(! strlen($s) || strpos($s,'zid='))
return $s;
$has_params = ((strpos($s,'?')) ? true : false);
+ $num_slashes = substr_count($s,'/');
if(! $has_params)
$has_params = ((strpos($s,'&')) ? true : false);
$achar = strpos($s,'?') ? '&' : '?';
$mine = get_my_url();
- $myaddr = get_my_address();
- if($mine and ! link_compare($mine,$s))
- return $s . (($has_params) ? '' : '/') . $achar . 'zid=' . urlencode($myaddr);
- return $s;
+ $myaddr = (($address) ? $address : get_my_address());
+
+ // FIXME checking against our own channel url is no longer reliable. We may have a lot
+ // of urls attached to out channel. Should probably match against our site, since we
+ // will not need to remote authenticate on our own site anyway.
+
+ if($mine && $myaddr && (! link_compare($mine,$s)))
+ $zurl = $s . (($num_slashes >= 3) ? '' : '/') . $achar . 'zid=' . urlencode($myaddr);
+ else
+ $zurl = $s;
+
+ $arr = array('url' => $s, 'zid' => urlencode($myaddr), 'result' => $zurl);
+ call_hooks('zid', $arr);
+ return $arr['result'];
}
/**
-* returns querystring as string from a mapped array
-*
-* @param params Array
-* @return string
-*/
+ * returns querystring as string from a mapped array
+ *
+ * @param params Array
+ * @return string
+ */
+
function build_querystring($params, $name=null) {
$ret = "";
foreach($params as $key=>$val) {
@@ -2045,7 +2364,9 @@ function argc() {
}
function argv($x) {
- return get_app()->argv[$x];
+ if(array_key_exists($x,get_app()->argv))
+ return get_app()->argv[$x];
+ return '';
}
function dba_timer() {
@@ -2077,16 +2398,35 @@ function curPageURL() {
return $pageURL;
}
-function construct_page(&$a) {
+function get_custom_nav(&$a,$navname) {
+ if(! $navname)
+ return $a->page['nav'];
+ // load custom nav menu by name here
+
+}
+function construct_page(&$a) {
+ require_once('include/comanche.php');
+
+ $comanche = ((count($a->layout)) ? true : false);
+
/**
* Build the page - now that we have all the components
*/
+ $installing = false;
- if($a->module != 'install') {
+ if($a->module == 'setup')
+ $installing = true;
+ else {
nav($a);
+ }
+
+ if($comanche) {
+ if($a->layout['nav']) {
+ $a->page['nav'] = get_custom_nav($a->layout['nav']);
+ }
}
require_once(theme_include('theme_init.php'));
@@ -2101,7 +2441,7 @@ function construct_page(&$a) {
head_add_css(((x($a->page,'template')) ? $a->page['template'] : 'default' ) . '.css');
head_add_css('mod_' . $a->module . '.css');
- head_add_css(current_theme_url());
+ head_add_css(current_theme_url($installing));
head_add_js('mod_' . $a->module . '.js');
@@ -2117,17 +2457,50 @@ function construct_page(&$a) {
}
}
+ // Let's say we have a comanche declaration '[region=nav][/region][region=content]$nav $content[/region]'.
+ // The text 'region=' identifies a section of the layout by that name. So what we want to do here is leave
+ // $a->page['nav'] empty and put the default content from $a->page['nav'] and $a->page['section']
+ // into a new region called $a->data['content']. It is presumed that the chosen layout file for this comanche page
+ // has a '<content>' element instead of a '<section>'.
+
+ // This way the Comanche layout can include any existing content, alter the layout by adding stuff around it or changing the
+ // layout completely with a new layout definition, or replace/remove existing content.
+
+ if($comanche) {
+ foreach($a->layout as $k => $v) {
+ if((strpos($k,'region_') === 0) && strlen($v)) {
+ if(strpos($v,'$region_') !== false) {
+ $v = preg_replace_callback('/\$region_([a-zA-Z0-9]+)/ism','comanche_replace_region',$v);
+ }
+
+ // And a couple of convenience macros
+
+ if(strpos($v,'$nav') !== false) {
+ $v = str_replace('$nav',$a->page['nav'],$v);
+ }
+ if(strpos($v,'$content') !== false) {
+ $v = str_replace('$content',$a->page['section'],$v);
+ }
+
+ $a->page[substr($k,7)] = $v;
+ }
+ }
+ }
+
if($a->is_mobile || $a->is_tablet) {
- if(isset($_SESSION['show-mobile']) && !$_SESSION['show-mobile']) {
+ if(isset($_SESSION['show_mobile']) && !$_SESSION['show_mobile']) {
$link = $a->get_baseurl() . '/toggle_mobile?f=&address=' . curPageURL();
}
else {
$link = $a->get_baseurl() . '/toggle_mobile?f=&off=1&address=' . curPageURL();
}
- $a->page['footer'] .= replace_macros(get_markup_template("toggle_mobile_footer.tpl"), array(
- '$toggle_link' => $link,
- '$toggle_text' => t('toggle mobile')
- ));
+ if ((isset($_SESSION) && $_SESSION['mobile_theme'] !='' && $_SESSION['mobile_theme'] !='---' ) ||
+ (isset($a->config['system']['mobile_theme']) && !isset($_SESSION['mobile_theme']))) {
+ $a->page['footer'] .= replace_macros(get_markup_template("toggle_mobile_footer.tpl"), array(
+ '$toggle_link' => $link,
+ '$toggle_text' => t('toggle mobile')
+ ));
+ }
}
$page = $a->page;
@@ -2149,3 +2522,35 @@ function construct_page(&$a) {
function appdirpath() {
return dirname(__FILE__);
}
+
+
+function head_set_icon($icon) {
+ global $a;
+ $a->data['pageicon'] = $icon;
+ logger('head_set_icon: ' . $icon);
+}
+
+function head_get_icon() {
+ global $a;
+ $icon = $a->data['pageicon'];
+ if(! strpos($icon,'://'))
+ $icon = z_root() . $icon;
+ return $icon;
+}
+
+// Used from within PCSS themes to set theme parameters. If there's a
+// puid request variable, that is the "page owner" and normally their theme
+// settings take precedence; unless a local user sets the "always_my_theme"
+// system pconfig, which means they don't want to see anybody else's theme
+// settings except their own while on this site.
+
+function get_theme_uid() {
+ $uid = (($_REQUEST['puid']) ? intval($_REQUEST['puid']) : 0);
+ if(local_user()) {
+ if((get_pconfig(local_user(),'system','always_my_theme')) || (! $uid))
+ return local_user();
+ if(! $uid)
+ return local_user();
+ }
+ return $uid;
+}
diff --git a/doc/Account-Basics.md b/doc/Account-Basics.md
index 522b0db38..56b3eef0c 100644
--- a/doc/Account-Basics.md
+++ b/doc/Account-Basics.md
@@ -6,67 +6,38 @@ Account Basics
**Registration**
-Not all Friendica sites allow open registration. If registration is allowed, you will see a "Register" link immediately below the login prompts on the site home page. Following this link will take you to the site registration page. The strength of our network is that lots of different sites are all completely compatible with each other. If the site you're visting doesn't allow registration, or you think you might prefer another one, you can find a <a href="http://dir.friendica.com/siteinfo">list of public servers here</a>, and find one that meets your needs.
+Not all Red sites allow open registration. If registration is allowed, you will see a "Register" link immediately below the login prompts on the site home page. Following this link will take you to the site Registration page.
-If you'd like to have your own server, you can do that too. Visit <a href="http://friendica.com/download">the Friendica website</a> to download the code with setup instructions. It's a very simple install process that anybody experienced in hosting websites, or with basic Linux experience can handle easily.
+*Your Email Address*
+Please provide a valid email address. Your email address is **never** published. This address will be used to (optionally) send email notifications for incoming messages or items, and used to recover lost passwords.
-*OpenID*
+*Password*
-The first field on the Registration page is for an OpenID address. If you do not have an OpenID address or do not wish to use OpenID, leave this field blank. If you have an OpenID account elsewhere and wish to use it, enter the address into this field and click 'Register'. Friendica will attempt to extract as much information as possible from your OpenID provider and return to this page with those items already filled in.
+Enter a password of your choice, and repeat it in the second box. As Red offers a decentralised identity, your account can log you in to many other websites. Because of this, you should use a strong password, even if you initially think of your account as being in the same category as forums.
+*Terms Of Servive*
-*Your Full Name*
-
-Please provide your full name **as you would like it to be displayed on this system**. Most people use their real name for this, but you're under no obligation to do so yourself.
-
-
-*Email Address*
-
-Please provide a valid email address. Your email address is **never** published. We need this to send you account information and your login details. You may also occasionally receive notifications of incoming messages or items requiring your attention, but you have the ability to completely disable these from your Settings page once you have logged in. This doesn't have to be your primary email address, but it does need to be a real email address. You can't get your initial password, or reset a lost password later without it. This is the only bit of personal information that has to be accurate.
-
-
-*Nickname*
-
-A nickname is used to generate web addresses for many of your personal pages, and is also treated like an email address when establishing communications with others. Due to the way that the nickname is used, it has some limitations. It must contain only US-ASCII text characters and numbers, and must also start with a text character. It also must be unique on this system. This is used in many places to identify your account, and once set - cannot be changed.
-
-
-*Directory Publishing*
-
-The Registration form also allows you to choose whether or not to list your account in the online directory. This is like a "phone book" and you may choose to be unlisted. We recommend that you select 'Yes' so that other people (friends, family, etc.) will be able to find you. If you choose 'No', you will essentially be invisible and have few opportunities for interaction. Whichever you choose, this can be changed any time from your Settings page after you login.
-
+Click the link to read the site's terms of service. This will open in a new tab. Once you've read them, tick the box to confirm.
*Register*
-Once you have provided the necessary details, click the 'Register' button. An email will be sent to you providing your account login details. Please watch your email (including spam folders) for your registration details and initial password.
+Once you have provided the necessary details, click the 'Register' button. An email will be sent to you providing your account login details. Some sites may require administrator approval before the registration is processed, and you will be alerted if this is the case. Please watch your email (including spam folders) for your registration approval.
+*Create a Channel*
-**Login Page**
+Next, you will be presented with the "Add a channel" screen. Normally, your first channel will be one that represents you - so using your own name (or psuedonym) as the channel name is a good idea. The channel name should be thought of as a title, or breif description of your channel. The "choose a short nickname" box is similar to a "username" field. We will use whatever you enter here to create a channel address, which other people will use to connect to you, and you will use to log in to other sites. This looks like an email address, and takes the form nickname@siteyouregisteredat.xyz
-On the 'Login' page, please enter your login information that was provided during registration. You may use either your nickname or email address as a Login Name.
+When your channel is created you will be taken straight to your settings page where you can define permissions, enable features, etc. All these things are covered in the appropriate section of the helpfiles.
-If you use your account to manage multiple '[Pages](help/Pages)' and these all have the same email address, please enter the nickname for the account you wish to manage.
-
-*If* your account has been OpenID enabled, you may use your OpenID address as a login name and leave the password blank. You will be redirected to your OpenID provider to complete your authorisation.
-
-Otherwise, enter your password. This will have been initially provided in your registration email message. Your password is case-sensitive, so please check your 'Caps Lock' key if you are having difficulty logging in.
-
-
-**Changing Your Password**
-
-After your first login, please visit the 'Settings' page from the top menu bar and change your password to something that you will remember.
-
-
-**Retrieving Personal Data**
+**See Also**
-You can export a copy of your personal data in XML format from the "Export personal data" link at the top of your settings page.
+* [Tips for New Members](newmember) - this link will show up on your home page for two weeks to provide some important Getting Started information.
-
-**See Also**
+* [Permissions](help/Permissions)
* [Profiles](help/Profiles)
-* [Groups and Privacy](help/Groups-and-Privacy)
-
* [Remove Account](help/Remove-Account)
+ \ No newline at end of file
diff --git a/doc/Bugs-and-Issues.md b/doc/Bugs-and-Issues.md
deleted file mode 100644
index 251f91e93..000000000
--- a/doc/Bugs-and-Issues.md
+++ /dev/null
@@ -1,31 +0,0 @@
-Bugs and Issues
-===============
-
-* [Home](help)
-
-
-If your server has a support page, you should report any bugs/issues you encounter there first. Reporting to your support page before reporting to the developers makes their job easier, as they don't have to deal with bug reports that might not have anything to do with them, and that helps us get new features faster.
-
-If you're a technical user, or your site doesn't have a support page, you'll need to use the <a href="http://bugs.friendica.com/">Bug Tracker</a>. Please perform a search to see if there's already an open bug that matches yours before submitting anything.
-
-Try to provide as much information as you can about the bug, including the **full** text of any error messages or notices, and any steps required to replicate the problem in as much detail as possible. It's generally better to provide too much information than not enough.
-
-<a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">See this article</a> to learn more about submitting **good** bug reports.
-
-
-**Bug Sponsorship**
-
-If you find a bug, and it is caused by a problem in main branch (ie, is not specific to our site), you may sponsor it.
-
-The bug/issue database allows you to sponsor issues. This provides an incentive for developers to work on your issue. This isn't necessary - we don't like bugs and will try to fix them. This has more importance for future development projects and feature requests.
-
-Bug sponsorship works on the honour system. If you agree to pay $10 to fix a bug, when the fix has been checked in and verified you should send a paypal payment to the developer assigned to the bug. Don't ever think you can get away with not paying a developer for work performed. Some of these guys could hack into your credit card account if you make them mad.
-
-At the present time, one has to be approved as a "developer" to be able to assign themselves to a sponsored bug. This requires the developer to have some history fixing Friendica bugs. This is for everybody's assurance that the bug fix will work well with Friendica. If you wish to become approved as a developer, work on and check in some non-sponsored issues or your own projects and we will move you up the ladder.
-
-If you truly feel you have the solution to a sponsored bug but aren't an approved developer, you risk a sponsored developer assigning the bug to themselves before you check it in, but if they haven't done so - include a short note with your pull request. Assuming that it meets our code standards, we'll see that you get credit.
-
-If you sponsor a project at greater than a $50 level, you may be requested by the developer for payment up front before work has begun (typically half). Again this is on the honour system - and is mostly to avoid payment issues and disagreements later. You should also expect to see some progress updates or demonstrations if the work takes more than a week or two. If the work is not completed within a reasonable time (as decided by those involved), you are entitled to get your money back.
-
-Friendica is not involved in these transactions. It is purely a personal agreement between sponsors and developers. If there are any issues, the parties will need to work it out between themselves. We're just providing some guidelines to help avoid potential problems.
-
diff --git a/doc/Channels.md b/doc/Channels.md
new file mode 100644
index 000000000..b372cbbcf
--- /dev/null
+++ b/doc/Channels.md
@@ -0,0 +1,27 @@
+**Channels**
+
+Channels are simply collections of content stored in one place. A channel can represent anything. It could represent you, a website, a forum, photo albums, anything. For most people, their first channel with be "Me".
+
+The most important features for a channel that represents "me" are:
+
+- Secure and private "spam free" communications
+
+- Identity and "single-signon" across the entire network
+
+- Privacy controls and permissions which extend to the entire network
+
+- Directory services (like a phone book)
+
+In short, a channel that represents yourself is "me, on the internet".
+
+You will be required to create your first channel as part of the sign up process. You can also create additonal channels from the "Select channel" link.
+
+You will be asked to provide a channel name, and a short nick name. For a channel that represents yourself, it is a good idea to use your real name here to ensure your friends can find you, and connect to your channel. The short nickname will be used to generate a "webbie". This is a bit like a username, and will look like an email address, taking the form shortnickname@domain. You should put a little thought into what you want to use here. Imagine somebody asking for your webbie and having to tell them it is "llamas-are_kewl.123". "llamasarecool" would be a much better choice.
+
+Once you have created your channel, you will be taken to the settings page, where you can configure your channel, and set your default permissions.
+
+Once you have done this, your channel is ready to use. At domain/channel/username you will find your channel "stream". This is where your recent activity will appear, in reverse chronological order. If you post in the box marked "share", the entry will appear at the top of your stream. You will also find links to all the other communication ares for this channel here. The "About" tab contains your "profile", the photos page contain photo albums, and the events page contains events share by both yourself and your contacts.
+
+The "Matrix" page contains all recent posts from across the matrix, again in reverse chronologial order. The exact posts that appear here depend largely on your permissions. At their most permissive, you will receive posts from complete strangers. At the other end of the scale, you may see posts from only your friends - or if you're feeling really anti-social, only your own posts.
+
+As mentioned at the start, many other kinds of channel are possible, however, the creation procedure is the same. The difference between channels lay in the permissions assigned. For example, a channel for sharing documents would probably want more permissive settings for "Can write to my "public" file storage" than a personal account. For more information, see the permissions section. \ No newline at end of file
diff --git a/doc/Connecting-to-Channels.md b/doc/Connecting-to-Channels.md
new file mode 100644
index 000000000..68de9d224
--- /dev/null
+++ b/doc/Connecting-to-Channels.md
@@ -0,0 +1,12 @@
+Connecting To Channels
+==============
+
+Connections in Red can take on a great many different meanings. But let's keep it simple, you want to be friends with somebody. How do you do it?
+
+First, you need to find some channels to connect to. There are two primary ways of doing this. Firstly, setting the "Can send me their channel stream and posts" permission to "Anybody in this network" will bring posts from complete strangers to your matrix. This will give you a lot of public content and should hopefully help you find interesting, entertaing people, forums, and channels.
+
+The next thing you can do is look at the Directory. The directory is available on every Red website which means searching from your own site will bring in results from the entire network. You can search by name, interest, location and keyword. This is incomplete, so we'll improve this paragraph later.
+
+To connect with other Red users:
+
+Visit their profile by clicking their photograph in the directory, matrix, or comments, and it will open their channel home page in the channel viewer. At the left hand side of the screen, you will see a link called "connect". Click it, and you're done. Depending on the settings of the channel you are connecting to, you may need to wait for them to approve your connection, but no further action is needed on your part. \ No newline at end of file
diff --git a/doc/Connectors.md b/doc/Connectors.md
deleted file mode 100644
index 08b4c135e..000000000
--- a/doc/Connectors.md
+++ /dev/null
@@ -1,67 +0,0 @@
-Connectors
-==========
-
-* [Home](help)
-
-Connectors allow you to connect with external social networks and services. Connectors are only required for posting to existing accounts on Facebook, Twitter, and StatusNet. There is also a connector for accessing your email INBOX.
-
-If the following network connectors are installed on your system, select the following links to visit the appropriate settings page and configure them for your account:
-
-* [Facebook](/settings/addon)
-* [Twitter](/settings/addon)
-* [StatusNet](/settings/addon)
-* [Email](/settings)
-
-Instructions For Connecting To People On Specific Services
-==========================================================
-
-**Friendica**
-
-
-You may connect by providing your Identity Address on the 'Connect' page of any Friendica member. You may also put their Identity Address into the Connect box on your [Contacts](contacts) page.
-
-
-**Diaspora**
-
-Add the Diaspora 'handle' to the 'Connect/Follow' text box on your [Contacts](contacts) page.
-
-
-**Identi.ca/StatusNet/GNU-Social**
-
-These are described as the "federated social web" or OStatus contacts.
-
-Please note that there are **no** privacy provisions on the OStatus network. Any message which is delivered to **any** OStatus member is visible to anybody in the world and will negate any privacy settings that you have in effect. These messages will also turn up in public searches.
-
-Since OStatus communications do not use authentication, if you select the profile privacy option to hide your profile and messages from unknown viewers, OStatus members will **not** be able to receive your communications.
-
-To connect with an OStatus member insert their profile URL or Identity address into the Connect box on your [Contacts](contacts) page.
-
-The StatusNet connector may be used if you wish posts to appear on an OStatus site using an existing OStatus account.
-
-It is not necessary to do this, as you may 'follow' OStatus members from Friendica and they may follow you (by placing their own Identity Address into your 'Connect' page).
-
-**Blogger, Wordpress, RSS feeds, arbitrary web pages**
-
-Put the URL into the Connect box on your [Contacts](contacts) page. You will not be able to reply to these contacts.
-
-This will allow you to _connect_ with millions of pages on the internet. All that we require to do this is that the page use a discoverable feed using either the RSS or Atom syndication format, and which provides an author name and a site image in a form which we can extract.
-
-
-**Twitter**
-
-To follow a Twitter member, put the URL of the Twitter member's main page into the Connect box on your [Contacts](contacts) page. To reply, you must have the Twitter connector installed, and reply using your own status editor. Begin the message with @twitterperson replacing with the Twitter username.
-
-**Email**
-
-Configure the email connector from your [Settings](settings) page. Once this has been done, you may enter an email addres to connect with using the Connect box on your [Contacts](contacts) page. They must be the sender of a message which is currently in your INBOX for the connect to succeed. You may include email contacts in private conversations.
-
-**Facebook**
-
-The Facebook connector is a plugin/addon which allows you to interact with friends on Facebook from within Friendica. If enabled, your Facebook friend list will be imported, and you will see and be able to respond to Facebook posts. Facebook members may also be added to private conversation groups. You will not be able to connect with individual Facebook accounts - but will have your entire friend list imported and updated if new friends are added.
-
-Assuming the Facebook plugin/addon has been installed on your system, it can be enabled by going to your [Plugin Settings](settings/addon) page, and then select "Facebook Connector Settings" on that page. This will only appear if the Facebook plugin/addon has been installed. Follow the instruction to install or remove the Facebook connector.
-
-You may also choose whether your public postings are posted to Facebook by default. You may toggle this setting at any time from the Permissions settings of the status post editor (click the lock icon). This setting has no effect on private conversations - which will always be delivered to Facebook friends who are included in the permissions.
-
-(Note: At this time, Facebook contacts will not be able to view any private photos. This will be resolved in a future release. Facebook contacts may however see any public photos you have uploaded.)
-
diff --git a/doc/Developers.md b/doc/Developers.md
index 17aff3869..e4905ccd1 100644
--- a/doc/Developers.md
+++ b/doc/Developers.md
@@ -1,13 +1,14 @@
-Friendica Developer Guide
+Red Developer Guide
+===================
-Here is how you can join us.
+**Here is how you can join us.**
First, get yourself a working git package on the system where you will be
doing development.
Create your own github account.
-You may fork/clone the Friendica repository from [https://github.com/friendica/friendica.git](https://github.com/friendica/friendica.git).
+You may fork/clone the Red repository from [https://github.com/friendica/red.git](https://github.com/friendica/red.git).
Follow the instructions provided here: [http://help.github.com/fork-a-repo/](http://help.github.com/fork-a-repo/)
to create and use your own tracking fork on github
@@ -15,8 +16,14 @@ to create and use your own tracking fork on github
Then go to your github page and create a "Pull request" when you are ready
to notify us to merge your work.
+**Translations**
+
+Our translations are managed through Transifex. If you wish to help out translating the Red Matrix to another language, sign up on transifex.com, visit [https://www.transifex.com/projects/p/red-matrix/](https://www.transifex.com/projects/p/red-matrix/) and request to join one of the existing language teams or create a new one. Notify one of the core developers when you have a translation update which requires merging, or ask about merging it yourself if you're comfortable with git and PHP. We have a string file called 'messages.po' which is gettext compliant and a handful of email templates, and from there we automatically generate the application's language files.
+
**Important**
Please pull in any changes from the project repository and merge them with your work **before** issuing a pull request. We reserve the right to reject any patch which results in a large number of merge conflicts. This is especially true in the case of language translations - where we may not be able to understand the subtle differences between conflicting versions.
-Also - **test your changes**. Don't assume that a simple fix won't break something else. If possible get an experienced Friendica developer to review the code. \ No newline at end of file
+Also - **test your changes**. Don't assume that a simple fix won't break something else. If possible get an experienced Red developer to review the code.
+
+Further documentation can be found at the Github wiki pages at: [https://github.com/friendica/red/wiki](https://github.com/friendica/red/wiki).
diff --git a/doc/Groups-and-Privacy.md b/doc/Groups-and-Privacy.md
deleted file mode 100644
index 09c6a7349..000000000
--- a/doc/Groups-and-Privacy.md
+++ /dev/null
@@ -1,53 +0,0 @@
-Groups and Privacy
-==================
-
-* [Home](help)
-
-
-Groups are merely collections of friends. But Friendica uses these to unlock some very powerful features.
-
-To create a group, visit your Friendica "Contacts" page and select "Create a new group". Give the group a name.
-
-This brings you to a page where you can select the group members.
-
-You will have two boxes on this page. The top box is the roster of current group members. Below that is another box containing all of your friends who are *not* members of the group.
-
-If you click on a photo of a person who isn't in the group, they will be put into the group. If you click on a photo of a person who is in the group, they will be removed from it.
-
-Once you have created a group, you may use it in any access control list. This is the little lock icon beneath the status update box on your home page. If you click this you can select who can see and who can *not* see the post you are about to make. These can be individual people or groups.
-
-On your "Network" page you will find posts and conversation from everybody in your network. You may select an individual group on this page to show conversations pertaining only to members of that group.
-
-But wait, there's more...
-
-If you look carefully when visiting a group from your Network page, the lock icon under the status update box has an exclamation mark next to it. This is meant to draw attention to that lock. Click the lock. You will see that since you are only viewing a certain group of people, your status updates while on that screen default to only being seen by that same group of people. This is how you keep your future employers from seeing what you write to your drinking buddies. You can over-ride this setting, but this makes it easy to separate your conversations into different friend circles.
-
-These private conversations work best when your friends are Friendica members. We know who else can see the conversations - nobody, *unless* your friends cut and paste the messages and send them to others.
-
-This is a trust issue you need to be aware of. No software in the world can prevent your friends from leaking your confidential and trusted communications. Only a wise choice of friends.
-
-But it isn't as clear cut when dealing with status.net, identi.ca and other network providers. You are encouraged to be **very** cautious when other network members are in a group because it's entirely possible for your private messages to end up in a public newsfeed. If you look at the Contact Edit page for any person, we will tell you whether or not they are members of an insecure network where you should exercise caution.
-
-On your "Settings" page, you may create a set of default permissions which apply to every post that you create.
-
-Once you have created a post, you can not change the permissions assigned. Within seconds it has been delivered to lots of people - and perhaps everybody it was addressed to. If you mistakenly created a message and wish you could take it back, the best you can do is to delete it. We will send out a delete notification to everybody who received the message - and this should wipe out the message with the same speed it was initially propagated. In most cases it will be completely wiped from the Internet - in under a minute. Again, this applies to Friendica networks. Once a message spreads to other networks, it may not be removed quickly and in some cases it may not be removed at all.
-
-In case you haven't yet figured this out, we are encouraging you to encourage your friends to use Friendica - because all these privacy features work much better within a privacy-aware network. Many of the other social networks Friendica can connect to have no privacy controls.
-
-
-Profiles, Privacy, and Photos
-=============================
-
-The decentralised nature of Friendica (many websites exchanging information rather than one website which controls everything) has some implications with privacy as it relates to people on other sites. There are things you should be aware of, so you can decide best how to interact privately.
-
-Sharing photos privately is a problem. We can only share them __privately__ with Friendica members. In order to share with other people, we need to prove who they are. We can prove the identity of Friendica members, as we have a mechanism to do so. Your friends on other networks will be blocked from viewing these private photos because we cannot prove that they should be allowed to see them.
-
-Our developers are working on solutions to allow access to your friends - no matter what network they are on. However we take privacy seriously and don't behave like some networks that __pretend__ your photos are private, but make them available to others without proof of identity.
-
-Your profile and "wall" may also be visited by your friends from other networks, and you can block access to these by web visitors that Friendica doesn't know. Be aware that this could include some of your friends on other networks.
-
-This may produce undesired results when posting a long status message to (for instance) Twitter and even Facebook. When Friendica sends a post to these networks which exceeds the service length limit, we truncate it and provide a link to the original. The original is a link back to your Friendica profile. As Friendica cannot prove who they are, it may not be possible for these people to view your post in full.
-
-For people in this situation we would recommend providing a "Twitter-length" summary, with more detail for friends that can see the post in full.
-
-Blocking your profile or entire Friendica site from unknown web visitors also has serious implications for communicating with StatusNet/identi.ca members. These networks communicate with others via public protocols that are not authenticated. In order to view your posts, these networks have to access them as an "unknown web visitor". If we allowed this, it would mean anybody could in fact see your posts, and you've instructed Friendica not to allow this. So be aware that the act of blocking your profile to unknown visitors also has the effect of blocking outbound communication with public networks (such as identi.ca) and feed readers such as Google Reader. \ No newline at end of file
diff --git a/doc/Home.md b/doc/Home.md
index 30efc93f7..78795c478 100644
--- a/doc/Home.md
+++ b/doc/Home.md
@@ -1,37 +1,30 @@
-Friendica Documentation and Resources
-=====================================
+Red Documentation and Resources
+===============================
**Contents**
* [Account Basics](help/Account-Basics)
-* [New User Quick Start](help/guide)
* [Profiles](help/Profiles)
-* [Connectors](help/Connectors)
-* [Making Friends](help/Making-Friends)
-* [Groups and Privacy](help/Groups-and-Privacy)
+* [Channels](help/Channels)
+* [Connecting to Channels](help/Connecting-to-Channels)
+* [Permissions](help/Permissions)
* [Tags and Mentions](help/Tags-and-Mentions)
-* [Pages](help/Pages)
+* [Web Pages](help/Webpages)
* [Remove Account](help/Remove-Account)
-* [Bugs and Issues](help/Bugs-and-Issues)
**Technical Documentation**
* [Install](help/Install)
-* [Settings](help/Settings)
* [Plugins](help/Plugins)
-* [Installing Connectors (Facebook/Twitter/StatusNet)](help/Installing-Connectors)
-* [Message Flow](help/Message-Flow)
* [Developers](help/Developers)
**External Resources**
* [Main Website](http://friendica.com)
-* [Forums](http://groups.google.com/group/friendica)
-* [Developer Forums](http://groups.google.com/group/friendica-dev)
+* [Development Channel](http://zothub.com/channel/one)
**About**
-* [Site/Version Info](friendica)
-
+* [Site/Version Info](siteinfo)
diff --git a/doc/Install.md b/doc/Install.md
index 9455c62ba..389c9d632 100644
--- a/doc/Install.md
+++ b/doc/Install.md
@@ -1,17 +1,18 @@
-Friendica Installation
+
+Red Installation
+===============
-We've tried very hard to ensure that Friendica will run on commodity hosting platforms - such as those used to host Wordpress blogs and Drupal websites. But be aware that Friendica is more than a simple web application. It is a complex communications system which more closely resembles an email server than a web server. For reliability and performance, messages are delivered in the background and are queued for later delivery when sites are down. This kind of functionality requires a bit more of the host system than the typical blog. Not every PHP/MySQL hosting provider will be able to support Friendica. Many will. But **please** review the requirements and confirm these with your hosting provider prior to installation.
+Red should run on commodity hosting platforms - such as those used to host Wordpress blogs and Drupal websites. But be aware that Red is more than a simple web application. The kind of functionality offered by Red requires a bit more of the host system than the typical blog. Not every PHP/MySQL hosting provider will be able to support Red. Many will. But **please** review the requirements and confirm these with your hosting provider prior to installation.
-Also if you encounter installation issues, please let us know via the forums at http://groups.google.com/group/friendica or file an issue at http://bugs.friendica.com . Please be as clear as you can about your operating environment and provide as much detail as possible about any error messages you may see, so that we can prevent it from happening in the future. Due to the large variety of operating systems and PHP platforms in existence we may have only limited ability to debug your PHP installation or acquire any missing modules - but we will do our best to solve any general code issues.
-
-Before you begin: Choose a domain name or subdomain name for your server. Put some thought into this - because changing it after installation is currently not-supported. Things will break, and some of your friends may have difficulty communicating with you. We plan to address this limitation in a future release.
+Also if you encounter installation issues, please let us know via the Github issue tracker (https://github.com/friendica/red/issues). Please be as clear as you can about your operating environment and provide as much detail as possible about any error messages you may see, so that we can prevent it from happening in the future. Due to the large variety of operating systems and PHP platforms in existence we may have only limited ability to debug your PHP installation or acquire any missing modules - but we will do our best to solve any general code issues.
+Before you begin: Choose a domain name or subdomain name for your server.
1. Requirements
- Apache with mod-rewrite enabled and "Options All" so you can use a
local .htaccess file
- - PHP 5.2+. The later the better. You'll need 5.3 for encryption of key exchange conversations. On a Windows environment, 5.2+ might not work as the function dns_get_record() is only available with version 5.3.
+ - PHP 5.3 or later
- PHP *command line* access with register_argc_argv set to true in the
php.ini file
- curl, gd, mysql, and openssl extensions
@@ -32,15 +33,21 @@ not be as convenient to use and have not been thoroughly tested.
reasonable price. If your hosting provider doesn't allow Unix shell access,
you might have trouble getting everything to work.]
-2. Unpack the Friendica files into the root of your web server document area.
+2. Unpack the Red files into the root of your web server document area.
- If you are able to do so, we recommend using git to clone the source repository rather than to use a packaged tar or zip file. This makes the software much easier to update. The Linux command to clone the repository into a directory "mywebsite" would be
- `git clone https://github.com/friendica/friendica.git mywebsite`
+ `git clone https://github.com/friendica/red.git mywebsite`
- and then you can pick up the latest changes at any time with
`git pull`
+
+ - make sure folder *view/tpl/smarty3* exists and is writable by webserver
+
+ `mkdir view/tpl/smarty3`
+
+ `chown 777 view/smarty3`
- For installing addons
@@ -50,7 +57,7 @@ you might have trouble getting everything to work.]
- Then you should clone the addon repository (separtely)
- `git clone https://github.com/friendica/friendica-addons.git addon`
+ `git clone https://github.com/friendica/red-addons.git addon`
- For keeping the addon tree updated, you should be on you addon tree and issue a git pull
@@ -81,7 +88,7 @@ database was not installed correctly. You might wish to move/rename
.htconfig.php to another name and empty (called 'dropping') the database
tables, so that you can start fresh.
-7. Set up a cron job or scheduled task to run the poller once every 5-10
+7. Set up a cron job or scheduled task to run the poller once every 15
minutes in order to perform background processing. Example:
`cd /base/directory; /path/to/php include/poller.php`
@@ -91,21 +98,8 @@ Change "/base/directory", and "/path/to/php" as appropriate for your situation.
If you are using a Linux server, run "crontab -e" and add a line like the
one shown, substituting for your unique paths and settings:
-`*/10 * * * * cd /home/myname/mywebsite; /usr/bin/php include/poller.php`
+`*/15 * * * * cd /home/myname/mywebsite; /usr/bin/php include/poller.php`
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. Friendica will not work correctly if you cannot perform this step.
-
-Alternative: You may be able to use the 'poormancron' plugin to perform this step
-if you are using a recent Friendica release. To do this, edit the file ".htconfig.php"
-and look for a line describing your plugins. On a fresh installation, it will look like
-
-`$a->config['system']['addon'] = 'js_upload';`
-
-This indicates the "js_upload" addon module is enabled. You may add additional
-addons/plugins using this same line in the configuration file. Change it to read
-
-`$a->config['system']['addon'] = 'js_upload,poormancron';`
-
-and save your changes.
+assistance. Red will not work correctly if you cannot perform this step. \ No newline at end of file
diff --git a/doc/Installing-Connectors.md b/doc/Installing-Connectors.md
deleted file mode 100644
index 328e3b6c4..000000000
--- a/doc/Installing-Connectors.md
+++ /dev/null
@@ -1,135 +0,0 @@
-Installing Connectors (Facebook/Twitter/StatusNet)
-==================================================
-
-* [Home](help)
-
-
-Friendica uses plugins to provide connectivity to some networks, such as Facebook and Twitter.
-
-There is also a plugin to post through to an existing account on a Status.Net service. You do not require this to communicate with Status.Net members from Friendica - only if you wish to post to an existing account.
-
-All three of these plugins require an account on the target network. In addition you (or typically the server administrator) will need to obtain an API key to provide authenticated access to your Friendica server.
-
-**Site Configuration**
-
-Plugins must be installed by the site administrator before they can be used. This is accomplished through the site administration panel.
-
-
-Each of the connectors also requires an "API key" from the service you wish to connect with. Some plugins allow you to enter this information in the site administration pages, while others may require you to edit your configuration file (.htconfig.php). The method for obtaining these keys varies greatly - but almost always requires an existing account on the target service. Once installed, these API keys can usually be shared by all site members.
-
-
-The details of configuring each service follows (much of this information comes directly from the plugin source files):
-
-**Twitter Plugin for Friendica**
-
-* Author: Tobias Diekershoff
-* tobias.diekershoff@gmx.net
-
-* License:3-clause BSD license
-
-Configuration:
-To use this plugin you need a OAuth Consumer key pair (key & secret)
-you can get it from Twitter at https://twitter.com/apps
-
-Register your Friendica site as "Client" application with "Read & Write" access.
-We do not need "Twitter as login". When you've registered the app you get the
-OAuth Consumer key and secret pair for your application/site.
-
-Add this key pair to your global .htconfig.php
-
-```
-$a->config['twitter']['consumerkey'] = 'your consumer_key here';
-$a->config['twitter']['consumersecret'] = 'your consumer_secret here';
-```
-
-After this, your user can configure their Twitter account settings
-from "Settings -> Connector Settings".
-
-Documentation: http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/Twitter_Plugin
-
-
-**StatusNet Plugin for Friendica**
-
-* Author: Tobias Diekershoff
-* tobias.diekershoff@gmx.net
-
-* License:3-clause BSD license
-
-Configuration
-
-When the addon is activated the user has to aquire the following in order to connect to the StatusNet account of choice.
-
-* The base URL for the StatusNet API, for identi.ca this is https://identi.ca/api/
-* OAuth Consumer key & secret
-
-To get the OAuth Consumer key pair the user has to
-
-(a) ask her Friendica admin if a pair already exists or
-(b) has to register the Friendica server as a client application on the StatusNet server.
-
-This can be done from the account settings under "Settings -> Connections -> Register an OAuth client application -> Register a new application" on the StatusNet server.
-
-During the registration of the OAuth client remember the following:
-
-* Application names must be unique on the StatusNet site, so we recommend a Name of 'friendica-nnnn', replace 'nnnn' with a random number or your website name.
-* there is no callback url
-* register a desktop client
-* with read & write access
-* the Source URL should be the URL of your Friendica server
-
-After the required credentials for the application are stored in the configuration you have to actually connect your Friendica account with StatusNet. This is done from the Settings -> Connector Settings page. Follow the Sign in with StatusNet button, allow access and then copy the security code into the box provided. Friendica will then try to acquire the final OAuth credentials from the API.
-
-If successful the addon settings will allow you to select to post your public messages to your StatusNet account (have a look behind the little lock symbol beneath the status "editor" on your Home or Network pages).
-
-Documentation: http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/StatusNet_Plugin
-
-
-
-**Installing the Friendica/Facebook connector**
-
-* register an API key for your site from developer.facebook.com
-
-This requires a Facebook account, and may require additional authentication in the form of credit card or mobile phone verification.
-
-a. We'd be very happy if you include "Friendica" in the application name
-to increase name recognition. The Friendica icons are also present
-in the images directory and may be uploaded as a Facebook app icon.
-Use images/friendica-16.jpg for the Icon and images/friendica-128.jpg for the Logo.
-
-b. The url should be your site URL with a trailing slash.
-
-You **may** be required to provide a privacy and/or terms of service URL.
-
-c. Set the following values in your .htconfig.php file
-
-```
-$a->config['facebook']['appid'] = 'xxxxxxxxxxx';
-$a->config['facebook']['appsecret'] = 'xxxxxxxxxxxxxxx';
-```
-
-Replace with the settings Facebook gives you.
-
-d. Navigate to Set Web->Site URL & Domain -> Website Settings. Set Site URL
-to yoursubdomain.yourdomain.com. Set Site Domain to your yourdomain.com.
-
-
-On Friendica, visit the Facebook Settings section of the "Settings->Connector Settings" page. And click 'Install Facebook Connector'.
-
-This will ask you to login to Facebook and grant permission to the
-plugin to do its stuff. Allow it to do so.
-
-You're done. To turn it off visit the Connector Settings page again and
-'Remove Facebook posting'.
-
-Videos and embeds will not be posted if there is no other content. Links
-and images will be converted to a format suitable for the Facebook API and
-long posts truncated - with a link to view the full post.
-
-Facebook contacts will also not be able to view "private" photos, as they are not able to authenticate to your site to establish identity. We will address this in a future release.
-
-
-
-
-
-
-
diff --git a/doc/Making-Friends.md b/doc/Making-Friends.md
deleted file mode 100644
index 70b87abbc..000000000
--- a/doc/Making-Friends.md
+++ /dev/null
@@ -1,59 +0,0 @@
-Making Friends
-==============
-
-* [Home](help)
-
-Friendship in Friendica can take on a great many different meanings. But let's keep it simple, you want to be friends with somebody. How do you do it?
-
-The easiest thing to do is to join the <a href="http://kakste.com/profile/newhere">New Here</a> group. This group is especially for people new to the Friendica network. Simply connect to the group, post to the wall, and make new friends. You don't even have to like us - comment on a few of our posts, and other people will start to add you too.
-
-The next thing you can do is look at the Directory. The directory is split up into two parts. If you click the directory button, you will be presented with a list of all members (who chose to be listed) on your server. You'll also see a link to the Global Directory. If you click through to the global directory, you will be presented with a list of everybody who chose to be listed across all instances of Friendica. You will also see a "Show Community Forums" link, which will direct you to Groups, Forums and Fanpages. You connect to people, groups and forums in the same way, except groups and forums will automatically accept your introduction request, whereas a human will approve you manually.
-
-To connect with other Friendica users:
-
-Visit their profile. Just beneath their profile picture will be the word 'Connect' (we're assuming this is an English language profile).
-
-Click that. It will take you to a "Connect" form.
-
-This is going to ask you for your Identity Address. This is necessary so that this person's website can find yours.
-
-What do you put in the box?
-
-If your Friendica site is called "demo.friendica.com" and your username/nickname on that site is "bob", you would put in "bob@demo.friendica.com".
-
-Notice this looks just like an email address. It was meant to be that way. It's easy for people to remember.
-
-You *could* also put in the URL of your "home" page, such as "http://demo.friendica.com/profile/bob", but the email-style address is certainly easier.
-
-When you've submitted the connection page, it will take you back to your own site where you must then login (if necessary) and verify the connection request on *your* site. Once you've done this, the two websites can communicate with each other to complete the process (after your new friend has approved the request).
-
-If you already know somebody's Identity Address, you can enter it in the "connect" box on your "Contacts" page. This will take you through a similar process.
-
-
-**Alternate Networks**
-
-You can also use your Identity Address or other people's Identity Addresses to become friends across networks. The list of possible networks is growing all the time. If you know (for instance) "bob" on identi.ca (a Status.Net site) you could put bob@identi.ca into your Contact page and become friends across networks. (Or you can put in the URL to Bob's identi.ca page if you wish). You can also be "partial" friends with somebody on Google Buzz by putting in their gmail address. Google Buzz does not yet support all the protocols we need for direct messaging, but you should be able to follow status updates from within Friendica. You can do the same for Twitter accounts and Diaspora accounts. In fact you can "follow" most anybody or any website that produces a syndication feed (RSS/Atom,etc.). If we can find an information stream and a name to attach to the contact, we'll try to connect with them.
-
-If you have supplied your mailbox connection information on your Settings page, you can enter the email address of anybody that has sent you a message recently and have their email messages show up in your social stream. You can also reply to them from within Friendica.
-
-People can also become friends with you from other networks. If a friend of yours has an identi.ca account, they can become friends with you by putting your Friendica Identity Address into their identi.ca subscription dialog box. A similar mechanism is available for Diaspora members, by putting your iendtity address into their search bar.
-
-Note: Some versions of StatusNet software may require the full URL to your profile and may not work with the identity address.
-
-When somebody requests friendship you will receive a notification. You will need to approve this before the friendship is complete.
-
-Some networks allow people to send you messages without being friends and without your approval. Friendica does not allow this by default, as it would open a gateway for spam.
-
-When you receive a friendship notification from another Friendica member, you will have the option of allowing them as a "fan" or as a "friend". If they are a fan, they can see what you have to say, including private communications that you send to them, but not vice versa. As a friend, you can both communicate with each other.
-
-Diaspora uses a different terminology, and you are given the option of allowing them to "share with you", or being full friends.
-
-Once you have become friends, if you find the person constantly sends you spam or worthless information, you can "Ignore" them - without breaking off the friendship or even alerting them to the fact that you aren't interested in anything they are saying. In many ways they are like a "fan" - but they don't know this. They think they are a friend.
-
-You can also "block" a person. This completely blocks communications with that person. They may still be able to see your public posts, as can anybody in the world, but they cannot communicate with you directly.
-
-You can also delete a friend no matter what the friendship status - which complete removes everything relating to that person from your website.
-
-
-
-
diff --git a/doc/Message-Flow.md b/doc/Message-Flow.md
deleted file mode 100644
index bb1c063d3..000000000
--- a/doc/Message-Flow.md
+++ /dev/null
@@ -1,54 +0,0 @@
-Friendica Message Flow
-
-This page attempts to document some of the details of how messages get from one person to another in the Friendica network. There are multiple paths, using multiple protocols and message formats.
-
-Those attempting to understand these message flows should become familiar with (at the minimum) the DFRN protocol document (http://dfrn.org/dfrn.pdf) and the message passing elements of the OStatus stack (salmon and Pubsubhubbub).
-
-
-Most message passing involves the file include/items.php, which has functions for several feed-related import/export activities.
-
-When a message is posted, all immediate deliveries to all networks are made using include/notifier.php, which chooses how (and to whom) to deliver the message. This file also invokes the local side of all deliveries including DFRN-notify.
-
-mod/dfrn_notify.php handles the remote side of DFRN-notify.
-
-Local feeds are generated by mod/dfrn_poll.php - which also handles the remote side of DFRN-poll protocol.
-
-Salmon notifications arrive via mod/salmon.php.
-
-Push (pubsubhubbub) feeds arrive via mod/pubsub.php
-
-DFRN-poll feed imports arrive via include/poller.php as a scheduled task, this implements the local side of the DFRN-poll protocol.
-
-
-
-
-Scenario #1. Bob posts a public status message
-
-This is a public message with no conversation members so no private transport is used. There are two paths it can take - as a bbcode path to DFRN clients, and converted to HTML with the server's PuSH (pubsubhubbub) hubs notified. When a PuSH hub is operational, dfrn-poll clients prefer to receive their information through the PuSH channel. They will fall back on a daily poll in case the hub has delivery issues (this is quite common when using the default Google reference hub). If there is no specified hub or hubs, DFRN clients will poll at a configurable (per-contact) rate at up to 5-minute intervals. Feeds retrieved via dfrn-poll are bbcode and may also contain private conversations which the poller has permissions to see.
-
-Scenario #2. Jack replies to Bob's public message. Jack is on the Friendica/DFRN network.
-
-Jack uses dfrn-notify to send a direct reply to Bob. Bob then creates a feed of the conversation and sends it to everybody involved in the conversation using dfrn-notify. PuSH hubs are notified that new content is available. The hub or hubs will then retrieve the latest feed and transmit it to all hub subscribers (which may be on different networks).
-
-Scenario #3. Mary replies to Bob's public message. Mary is on the Friendica/DFRN network.
-
-Mary uses dfrn-notify to send a direct reply to Bob. Bob then creates a feed of the conversation and sends it to everybody involved in the conversation (excluding himself, the conversation is now sent to both Jack and Mary). Messages are sent using dfrn-notify. Push hubs are also notified that new content is available. The hub or hubs will then retrieve the latest feed and transmit it to all hub subscribers (which may be on different networks).
-
-Scenario #4. William replies to Bob's public message. William is on the OStatus network.
-
-William uses salmon to notify Bob of the reply. Content is html embedded in salmon magic envelope. Bob then creates a feed of the conversation and sends it to all Friendica participants involved in the conversation using dfrn-notify (excluding himself, the conversation is sent to both Jack and Mary). Push hubs are notified that new content is available. The hub or hubs will then retrieve the latest feed and transmit it to all hub subscribers (which may be on different networks).
-
-Scenario #5. Bob posts a private message to Mary and Jack.
-
-Message is delivered immediately to Mary and Jack using dfrn_notify. Public hubs are not notified. Requeueing is attempted in case of timeout. Replies follow the same flow as the public replies except that hubs are not notified and message is never made available in the public feed. The entire conversation is also made available to Mary and Jack (and nobody else) through their dfrn-poll personalised feed.
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/Pages.md b/doc/Pages.md
deleted file mode 100644
index d0e6776a4..000000000
--- a/doc/Pages.md
+++ /dev/null
@@ -1,36 +0,0 @@
-Pages
-=====
-
-* [Home](help)
-
-
-Friendica also lets you create forum and/or celebrity pages.
-
-Every page in Friendica has a nickname and these must all be unique. This applies to all pages, whether they are normal profiles or forum pages.
-
-Therefore the first thing you need to do to create a new page is to register a new account for the page. Please note that the site administrator can restrict and/or regulate the registration of new accounts.
-
-If you create a second account on a system and use the same email address or OpenID account as an existing account, you will no longer be able to use the email address (or OpenID) to login to the account. You should login using the account nickname instead.
-
-On the new account, visit the 'Settings' page. Towards the end of the page are "Advanced Page Settings". Typically you would use "Normal Account" for a normal personal account. This is the default selection. Group pages provide the ability for people to become friends/fans of the page without requiring approval.
-
-The exact setting you would use depends on how you wish to interact with people who join the page. The "Soapbox" setting let's the page owner control all communications. Everything you post will go out to the page members, but there will be no opportunity for interaction. This setting would typically be used for announcements or corporate communications.
-
-The most common setting is the "Community Account". This creates a group page where all members can freely interact.
-
-The "Automatic Friend Account" is typically used for personal profile pages where you wish to automatically approve any friendship/connection requests.
-
-**Managing Multiple Pages**
-
-We recommend that you create group pages with the same email address and password as your normal account. If you do this, you will find a new "Manage" tab on the menu bar which lets you toggle identities easily and manage your pages. You are not required to do this, but the alternative is to logout and log back into the other account to manage alternate pages - and this could get cumbersome if you manage several different pages/identities.
-
-You may also appoint a delegate to manage your page. Do this by visiting the [Delegation Setup Page](delegate). This will provide you with a list of contacts on this system under "Potential Delegates". Selecting one or more persons will give them access to manage your page. They will be able to edit contacts, profiles, and all content for this account/page. Please use this facility wisely. Delegated managers will not be able to alter basic account settings such as passwords or page types and/or remove the account.
-
-
-**Posting to Community Pages**
-
-If you are a member of a community page/forum, you may post to the page by including an @-tag in the post mentioning the forum. For example @bicycle would send my post to all members of the group "bicycle" in addition to the normal recipients. If your post is private you must also explicitly include the group in the post permissions (to allow the forum "contact" to see the post) **and** mention it in a tag (which redistributes the post to the forum members).
-
-You may also post to a community page/forum by posting a "wall-to-wall" post using secure cross-site authentication.
-
-Comments which are relayed to community pages will be relayed back to the original post creator. Mentioning the forum/group with an @-tag in a comment does not relay the message, as distribution is controlled entirely by the original post creator. \ No newline at end of file
diff --git a/doc/Permissions.md b/doc/Permissions.md
new file mode 100644
index 000000000..155014311
--- /dev/null
+++ b/doc/Permissions.md
@@ -0,0 +1,43 @@
+**Permissions**
+
+Permissions in the Red Matrix are more complete than you may be used to. This allows us to define more fine graded relationships than the black and white "this person is my friend, so they can do everything" or "this person is not my friend, so they can't do anything" permissions you may find elsewhere.
+
+**Default Permissions**
+
+On your settings page, you will find a list of default permissions. These permissions are automatically applied to everybody unless you specify otherwise. The scope of these permissions varies from "Only me" to "Everybody" - though some scopes may not be available for some permissions. For example, you can't allow "anybody on the internet" to send you private messages, because we'd have no way to identify the sender, or offer a return.
+
+The scopes of permissions are:
+
+- _Nobody Except Yourself_. This is self explanatory. Only you will be allowed to use this permission.
+- _Only those you specifically allow_. By default, people you are not connected to, and all new contacts will have this permission denied. You will be able to make exceptions for individual channels on their contact edit screen.
+- _Anybody in your address book_. Anybody you do not know will have this permission denied, but anybody you accept as a contact will have this permission approved. This is the way most legacy platforms handle permissions.
+- _Anybody On This Website_. Anybody using the same website as you will have permission approved. Anybody who registered at a different site will have this permission denied.
+- _Anybody in this network_. Anybody who has got zot will have this permission approved. Even complete strangers. However, anybody not logged in/authenticated will have this permission denid.
+- _Anybody on the internet_. Completely public. This permission will be approved for anybody at all.
+
+The individual permissions are:
+
+- _Can view my "public" stream and posts_. This permision determines who can view your channel "stream" that is, the non-private posts that appear on the "home" tab when you're logged in.
+- _Can view my "public" channel profile_. This permission determines who can view your channel's profile. This refers to the "about" tab
+- _Can view my "public" photo albums_. This permission determines who can view your photo albums. Individual photographs may still be posted to a more private audience.
+- _Can view my "public" address book_. This permission determines who can view your contacts. These are the connections displayed in the "View connections" section.
+- _Can view my "public" file storage_. This permission determines who can view your public files. This isn't done yet, so this is placeholder text.
+- _Can view my "public" pages_. This permission determines who can view your public web pages. This isn't done yet, so this is placeholder text.
+- _Can send me their channel stream and posts_. This permission determines whose posts you will view. If your channel is a personal channel (ie, you as a person), you would probably want to set this to "anyone in my address book" at a minimum. A forum page would probably want to choose "nobody except myself". Setting this to "Anybody in the network" will show you posts from complete strangers, which is a good form of discovery.
+- _Can post on my channel page ("wall")_. This permission determines who can write to your wall when clicking through to your channel.
+- _Can comment on my posts_. This permission determines who can comment on posts you create. Normally, you would want this to match your "can view my public pages" permission
+- _Can send me private mail messages_. This determines who can send you private messages (zotmail).
+- _Can post photos to my photo albums_. This determines who can post photographs in your albums. This is very useful for forum-like channels where connections may not be connected to each other.
+- _Can forward to all my channel contacts via post tags_. Using @- mentions will reproduce a copy of your post on the profile specified, as though you posted on the channel wall. This determines if people can post to your channel in this way.
+- _Can chat with me (when available)_. This determines who can (start?) a chat with you. This isn't done yet, so is placeholder text.
+- _Can write to my "public" file storage_. This determines who can upload files to your public file storage. This isn't done yet, so this is placeholder text.
+- _Can edit my "public" pages_. This determines who can edit your webpages. This is useful for wikis or sites with multiple editors, but this isn't done yet, so this is placeholder text.
+- _Can administer my channel resources_. This determines who can have full control of your channel. This should normally be set to "nobody except myself".
+
+If you have set any of these permissions to "only those I specifically allow", you may specify indivudal permissions on the contact edit screen.
+
+**Affinity**
+
+The contact edit screen offers a slider to select a degree of friendship with the contact. Think of this as a measure of how much you dislike them. 1 is for people you like, whose posts you want to see all the time. 99 is for people you can't stand, whose posts you never want to see. Once you've assigned a value here, you can use the affinity tool (assuming you have it enabled) on the network page to filter content based on this number.
+
+The slider has both a minimum and maximum value. Posts will only be shown from people who fall between this range. Affinity has no relation to permissions, and is only useful in conjunction with the affinity tool feature.
diff --git a/doc/Plugins.md b/doc/Plugins.md
deleted file mode 100644
index df6004450..000000000
--- a/doc/Plugins.md
+++ /dev/null
@@ -1,357 +0,0 @@
-**Friendica Addon/Plugin development**
-
-Please see the sample addon 'randplace' for a working example of using some of these features. The facebook addon provides an example of integrating both "addon" and "module" functionality. Addons work by intercepting event hooks - which must be registered. Modules work by intercepting specific page requests (by URL path).
-
-
-Plugin names cannot contain spaces or other punctuation and are used as filenames and function names. You may supply a "friendly" name within the comment block. Each addon must contain both an install and an uninstall function based on the addon/plugin name. For instance "plugin1name_install()". These two functions take no arguments and are usually responsible for registering (and unregistering) event hooks that your plugin will require. The install and uninstall functions will also be called (i.e. re-installed) if the plugin changes after installation - therefore your uninstall should not destroy data and install should consider that data may already exist. Future extensions may provide for "setup" amd "remove".
-
-Plugins should contain a comment block with the four following parameters:
-
- /*
- * Name: My Great Plugin
- * Description: This is what my plugin does. It's really cool
- * Version: 1.0
- * Author: John Q. Public <john@myfriendicasite.com>
- */
-
-
-
-
-Register your plugin hooks during installation.
-
- register_hook($hookname, $file, $function);
-
-$hookname is a string and corresponds to a known Friendica hook.
-
-$file is a pathname relative to the top-level Friendica directory. This *should* be 'addon/plugin_name/plugin_name.php' in most cases.
-
-$function is a string and is the name of the function which will be executed when the hook is called.
-
-
-Your hook callback functions will be called with at least one and possibly two arguments
-
-
- function myhook_function(&$a, &$b) {
-
-
- }
-
-
-If you wish to make changes to the calling data, you must declare them as
-reference variables (with '&') during function declaration.
-
-$a is the Friendica 'App' class - which contains a wealth of information
-about the current state of Friendica, such as which module has been called,
-configuration info, the page contents at the point the hook was invoked, profile
-and user information, etc. It is recommeded you call this '$a' to match its usage
-elsewhere.
-
-$b can be called anything you like. This is information which is specific to the hook
-currently being processed, and generally contains information that is being immediately
-processed or acted on that you can use, display, or alter. Remember to declare it with
-'&' if you wish to alter it.
-
-**Modules**
-
-Plugins/addons may also act as "modules" and intercept all page requests for a given URL path. In order for a plugin to act as a module it needs to define a function "plugin_name_module()" which takes no arguments and need not do anything.
-
-If this function exists, you will now receive all page requests for "http://my.web.site/plugin_name" - with any number of URL components as additional arguments. These are parsed into an array $a->argv, with a corresponding $a->argc indicating the number of URL components. So http://my.web.site/plugin/arg1/arg2 would look for a module named "plugin" and pass its module functions the $a App structure (which is available to many components). This will include:
- $a->argc = 3
- $a->argv = array(0 => 'plugin', 1 => 'arg1', 2 => 'arg2');
-
-Your module functions will often contain the function plugin_name_content(&$a), which defines and returns the page body content. They may also contain plugin_name_post(&$a) which is called before the _content function and typically handles the results of POST forms. You may also have plugin_name_init(&$a) which is called very early on and often does module initialisation.
-
-
-
-**Current hooks:**
-
-**'authenticate'** - called when a user attempts to login.
- $b is an array
- 'username' => the supplied username
- 'password' => the supplied password
- 'authenticated' => set this to non-zero to authenticate the user.
- 'user_record' => successful authentication must also return a valid user record from the database
-
-**'logged_in'** - called after a user has successfully logged in.
- $b contains the $a->user array
-
-
-**'display_item'** - called when formatting a post for display.
- $b is an array
- 'item' => The item (array) details pulled from the database
- 'output' => the (string) HTML representation of this item prior to adding it to the page
-
-**'post_local'** - called when a status post or comment is entered on the local system
- $b is the item array of the information to be stored in the database
- {Please note: body contents are bbcode - not HTML)
-
-**'post_local_end'** - called when a local status post or comment has been stored on the local system
- $b is the item array of the information which has just been stored in the database
- {Please note: body contents are bbcode - not HTML)
-
-**'post_remote'** - called when receiving a post from another source. This may also be used to post local activity or system generated messages.
- $b is the item array of information to be stored in the database and the item
- body is bbcode.
-
-**'settings_form'** - called when generating the HTML for the user Settings page
- $b is the (string) HTML of the settings page before the final '</form>' tag.
-
-**'settings_post'** - called when the Settings pages are submitted.
- $b is the $_POST array
-
-**'plugin_settings'** - called when generating the HTML for the addon settings page
- $b is the (string) HTML of the addon settings page before the final '</form>' tag.
-
-**'plugin_settings_post'** - called when the Addon Settings pages are submitted.
- $b is the $_POST array
-
-**'profile_post'** - called when posting a profile page.
- $b is the $_POST array
-
-**'profile_edit'** - called prior to output of profile edit page
- $b is array
- 'profile' => profile (array) record from the database
- 'entry' => the (string) HTML of the generated entry
-
-
-**'profile_advanced'** - called when the HTML is generated for the 'Advanced profile', corresponding to the 'Profile' tab within a person's profile page.
- $b is the (string) HTML representation of the generated profile
- (The profile array details are in $a->profile)
-
-**'directory_item'** - called from the Directory page when formatting an item for display
- $b is an array
- 'contact' => contact (array) record for the person from the database
- 'entry' => the (string) HTML of the generated entry
-
-**'profile_sidebar_enter'** - called prior to generating the sidebar "short" profile for a page
- $b is (array) the person's profile array
-
-**'profile_sidebar'** - called when generating the sidebar "short" profile for a page
- $b is an array
- 'profile' => profile (array) record for the person from the database
- 'entry' => the (string) HTML of the generated entry
-
-**'contact_block_end'** - called when formatting the block of contacts/friends on a profile sidebar has completed
- $b is an array
- 'contacts' => array of contacts
- 'output' => the (string) generated HTML of the contact block
-
-**'bbcode'** - called during conversion of bbcode to html
- $b is (string) converted text
-
-**'html2bbcode'** - called during conversion of html to bbcode (e.g. remote message posting)
- $b is (string) converted text
-
-**'page_header'** - called after building the page navigation section
- $b is (string) HTML of nav region
-
-**'personal_xrd'** - called prior to output of personal XRD file.
- $b is an array
- 'user' => the user record for the person
- 'xml' => the complete XML to be output
-
-**'home_content'** - called prior to output home page content, shown to unlogged users
- $b is (string) HTML of section region
-
-**'contact_edit'** - called when editing contact details on an individual from the Contacts page
- $b is (array)
- 'contact' => contact record (array) of target contact
- 'output' => the (string) generated HTML of the contact edit page
-
-**'contact_edit_post'** - called when posting the contact edit page
- $b is the $_POST array
-
-**'init_1'** - called just after DB has been opened and before session start
- $b is not used or passed
-
-**'page_end'** - called after HTML content functions have completed
- $b is (string) HTML of content div
-
-**'avatar_lookup'** - called when looking up the avatar
- $b is (array)
- 'size' => the size of the avatar that will be looked up
- 'email' => email to look up the avatar for
- 'url' => the (string) generated URL of the avatar
-
-
-A complete list of all hook callbacks with file locations (generated 14-Feb-2012): Please see the source for details of any hooks not documented above.
-
-
-boot.php: call_hooks('login_hook',$o);
-
-boot.php: call_hooks('profile_sidebar_enter', $profile);
-
-boot.php: call_hooks('profile_sidebar', $arr);
-
-boot.php: call_hooks("proc_run", $arr);
-
-include/contact_selectors.php: call_hooks('network_to_name', $nets);
-
-include/api.php: call_hooks('logged_in', $a->user);
-
-include/api.php: call_hooks('logged_in', $a->user);
-
-include/queue.php: call_hooks('queue_predeliver', $a, $r);
-
-include/queue.php: call_hooks('queue_deliver', $a, $params);
-
-include/text.php: call_hooks('contact_block_end', $arr);
-
-include/text.php: call_hooks('smilie', $s);
-
-include/text.php: call_hooks('prepare_body_init', $item);
-
-include/text.php: call_hooks('prepare_body', $prep_arr);
-
-include/text.php: call_hooks('prepare_body_final', $prep_arr);
-
-include/nav.php: call_hooks('page_header', $a->page['nav']);
-
-include/auth.php: call_hooks('authenticate', $addon_auth);
-
-include/bbcode.php: call_hooks('bbcode',$Text);
-
-include/oauth.php: call_hooks('logged_in', $a->user);
-
-include/acl_selectors.php: call_hooks($a->module . '_pre_' . $selname, $arr);
-
-include/acl_selectors.php: call_hooks($a->module . '_post_' . $selname, $o);
-
-include/acl_selectors.php: call_hooks('contact_select_options', $x);
-
-include/acl_selectors.php: call_hooks($a->module . '_pre_' . $selname, $arr);
-
-include/acl_selectors.php: call_hooks($a->module . '_post_' . $selname, $o);
-
-include/acl_selectors.php: call_hooks($a->module . '_pre_' . $selname, $arr);
-
-include/acl_selectors.php: call_hooks($a->module . '_post_' . $selname, $o);
-
-include/notifier.php: call_hooks('notifier_normal',$target_item);
-
-include/notifier.php: call_hooks('notifier_end',$target_item);
-
-include/items.php: call_hooks('atom_feed', $atom);
-
-include/items.php: call_hooks('atom_feed_end', $atom);
-
-include/items.php: call_hooks('atom_feed_end', $atom);
-
-include/items.php: call_hooks('parse_atom', $arr);
-
-include/items.php: call_hooks('post_remote',$arr);
-
-include/items.php: call_hooks('atom_author', $o);
-
-include/items.php: call_hooks('atom_entry', $o);
-
-include/bb2diaspora.php: call_hooks('bb2diaspora',$Text);
-
-include/cronhooks.php: call_hooks('cron', $d);
-
-include/security.php: call_hooks('logged_in', $a->user);
-
-include/html2bbcode.php: call_hooks('html2bbcode', $text);
-
-include/Contact.php: call_hooks('remove_user',$r[0]);
-
-include/Contact.php: call_hooks('contact_photo_menu', $args);
-
-include/conversation.php: call_hooks('conversation_start',$cb);
-
-include/conversation.php: call_hooks('render_location',$locate);
-
-include/conversation.php: call_hooks('display_item', $arr);
-
-include/conversation.php: call_hooks('render_location',$locate);
-
-include/conversation.php: call_hooks('display_item', $arr);
-
-include/conversation.php: call_hooks('item_photo_menu', $args);
-
-include/conversation.php: call_hooks('jot_tool', $jotplugins);
-
-include/conversation.php: call_hooks('jot_networks', $jotnets);
-
-include/plugin.php:if(! function_exists('call_hooks')) {
-
-include/plugin.php:function call_hooks($name, &$data = null) {
-
-index.php: call_hooks('init_1');
-
-index.php:call_hooks('app_menu', $arr);
-
-index.php:call_hooks('page_end', $a->page['content']);
-
-mod/photos.php: call_hooks('photo_post_init', $_POST);
-
-mod/photos.php: call_hooks('photo_post_file',$ret);
-
-mod/photos.php: call_hooks('photo_post_end',$foo);
-
-mod/photos.php: call_hooks('photo_post_end',$foo);
-
-mod/photos.php: call_hooks('photo_post_end',$foo);
-
-mod/photos.php: call_hooks('photo_post_end',intval($item_id));
-
-mod/photos.php: call_hooks('photo_upload_form',$ret);
-
-mod/friendica.php: call_hooks('about_hook', $o);
-
-mod/editpost.php: call_hooks('jot_tool', $jotplugins);
-
-mod/editpost.php: call_hooks('jot_networks', $jotnets);
-
-mod/parse_url.php: call_hooks('parse_link', $arr);
-
-mod/home.php: call_hooks('home_init',$ret);
-
-mod/home.php: call_hooks("home_content",$o);
-
-mod/contacts.php: call_hooks('contact_edit_post', $_POST);
-
-mod/contacts.php: call_hooks('contact_edit', $arr);
-
-mod/settings.php: call_hooks('plugin_settings_post', $_POST);
-
-mod/settings.php: call_hooks('connector_settings_post', $_POST);
-
-mod/settings.php: call_hooks('settings_post', $_POST);
-
-mod/settings.php: call_hooks('plugin_settings', $settings_addons);
-
-mod/settings.php: call_hooks('connector_settings', $settings_connectors);
-
-mod/settings.php: call_hooks('settings_form',$o);
-
-mod/register.php: call_hooks('register_account', $newuid);
-
-mod/like.php: call_hooks('post_local_end', $arr);
-
-mod/xrd.php: call_hooks('personal_xrd', $arr);
-
-mod/item.php: call_hooks('post_local_start', $_REQUEST);
-
-mod/item.php: call_hooks('post_local',$datarray);
-
-mod/item.php: call_hooks('post_local_end', $datarray);
-
-mod/profile.php: call_hooks('profile_advanced',$o);
-
-mod/profiles.php: call_hooks('profile_post', $_POST);
-
-mod/profiles.php: call_hooks('profile_edit', $arr);
-
-mod/tagger.php: call_hooks('post_local_end', $arr);
-
-mod/cb.php: call_hooks('cb_init');
-
-mod/cb.php: call_hooks('cb_post', $_POST);
-
-mod/cb.php: call_hooks('cb_afterpost');
-
-mod/cb.php: call_hooks('cb_content', $o);
-
-mod/directory.php: call_hooks('directory_item', $arr);
-
diff --git a/doc/Profiles.md b/doc/Profiles.md
index 716db908e..249ea4f29 100644
--- a/doc/Profiles.md
+++ b/doc/Profiles.md
@@ -3,7 +3,7 @@ Profiles
* [Home](help)
-Friendica has unlimited profiles. You may use different profiles to show different "sides of yourself" to different audiences.
+Red has unlimited profiles. You may use different profiles to show different "sides of yourself" to different audiences. This is different to having different _channels_. Different channels allow for completely sets of information. You may have a channel for yourself, a channel for your sports team, a channel for your website, or whatever else. A profile allows for finely graded "sides" of each channel. For example, your default public profile might say "Hello, I'm Fred, and I like laughing". You may show your close friends a profile that adds "and I also enjoy dwarf tossing".
You always have a profile known as your "default" or "public" profile. This profile is always available to the general public and cannot be hidden (there may be rare exceptions on privately run or disconnected sites). You may, and probably should restrict the information you make available on your public profile.
@@ -17,21 +17,18 @@ Without this basic information, you could get very lonely here. Most people (eve
In addition, if you'd like to meet people that share some general interests with you, please take a moment and add some "Public Keywords" to your profile. Such as "music, linux, photography" or whatever. You can add as many keywords as you like.
-
Your default or public profile is also shown to contacts on other networks, since they do not have the ability to view your private profiles. Only members of the Friendica network can see alternate/private profiles.
To create an alternate profile, select "Profiles" from the menu of your Friendica site. You may edit an existing profile, change the profile photo, or create a new profile. You may also create a "clone" of an existing profile if you only wish to change a few items but don't wish to enter all the information again.
-To assign a profile to specific persons, select the person from your "Contacts" page and click the pencil "Edit" icon. You will find a dropdown box listing the various profiles available. If this box is not selectable, the person is not in a supported network and cannot be assigned a specific profile.
-
-Once a profile has been selected, when the person views your profile from one of the "magic profile links" on their site, they will see the private profile you have assigned. If they are not logged into their site or view your profile from elsewhere, they will see your public profile.
+To assign a profile to specific persons, select the person from your "Connections" page and click the pencil "Edit" icon. You will find a dropdown box listing the various profiles available. If this box is not selectable, the person is not in a supported network and cannot be assigned a specific profile.
-A magic profile link is indicated by a special cursor when hovering over a contact's name or photo. Currently this cursor is a hand next to a small padlock. These magic cursors indicate that by following the link, you are able to access special areas of the other person's pages which are only available to friends and may not be available to the general public.
+Once a profile has been selected, when the person views your profile, they will see the private profile you have assigned. If they are not authenticated, they will see your public profile.
-You may also discover that (assuming you have the proper permissions) you may be able to post directly on the other person's profile (often called a "wall-to-wall" post). You may also be able to comment directly on posts from while visiting the other person's profile page.
+You may also discover that (assuming you have the proper permissions) you may be able to post directly on the other person's channel (often called a "wall-to-wall" post). You may also be able to comment directly on posts from while visiting the other person's profile page.
-There are two settings which allow you to publish your profile to a directory and ensure that it can be found by others. You can change these through settings on the "Settings" page. One setting allows you to publish your profile in the site directory of this Friendica server. Another option (this may have been disabled by the site creator) allows you to publish your profile in the "Global Directory". This is a mega directory which contains people from many other Friendica installations world-wide.
+There is a setting which allow you to publish your profile to a directory and ensure that it can be found by others. You can change this setting on the "Settings" page.
If you do not wish to be visible to any of these sites, you may leave your profile unpublished.
@@ -41,11 +38,11 @@ Although you may have multiple profiles, you only have one profile photo. This i
**Keywords and Directory Search**
-On the site Directory page, you may search for people with published profiles who are on this site. The search is typically for your nickname or part of your full name. However this search will also match against other profile fields - such as gender, location, "about", work, and education. You may also include "Keywords" in your default profile - which may be used to search for common interests with other members. You have two sets of keywords available - public and private. Private keywords are *not* visible to anybody. You could use these keywords to locate people who share membership in secret societies, or that share a love of fishing (for example) - without making this information visible on your public profile. Public keywords are used in the friend suggestion tool and although they aren't readily visible, they may be seen by viewing the HTML of your profile page.
+On the site Directory page, you may search for people with published profiles. The search is typically for your nickname or part of your full name. However this search will also match against other profile fields - such as gender, location, "about", work, and education. You may also include "Keywords" in your default profile - which may be used to search for common interests with other members. You have two sets of keywords available - public and private. Private keywords are *not* visible to anybody. You could use these keywords to locate people who share membership in secret societies, or that share a love of fishing (for example) - without making this information visible on your public profile. Public keywords are used in the friend suggestion tool and although they aren't readily visible, they may be seen by viewing the HTML of your profile page.
Directory searches are also able to use "boolean" logic so that you can search for "+lesbian +Florida" and find those who's sexual preference (or keywords) contain the world "lesbian" and that live in Florida. See the section on "Topical Tags" on the [Tags-and-Mentions](help/Tags-and-Mentions) page for more information on performing boolean searches.
-On your Contacts page is a link to "Find People with Shared Interests" (unless your site administrator has disabled the global directory). This will combine both your public and private keywords, and find people in the global directory who have matching and/or similar keywords. (Your private keywords are not identified or stored on the global directory). The more keywords you provide, the more relevant the search results that are returned. These are sorted by relevance. You may discover that you are the first person on the list - because you are very likely the most relevant match for your keywords in the directory.
+On your Contacts page is a link to "Find People with Shared Interests". This will combine both your public and private keywords, and find people who have matching and/or similar keywords. The more keywords you provide, the more relevant the search results that are returned. These are sorted by relevance. You may discover that you are the first person on the list - because you are very likely the most relevant match for your keywords in the directory.
\ No newline at end of file
diff --git a/doc/Remove-Account.md b/doc/Remove-Account.md
index ae5de2cb6..5759378a3 100644
--- a/doc/Remove-Account.md
+++ b/doc/Remove-Account.md
@@ -1,24 +1,4 @@
Remove Account
==============
-* [Home](help)
-
-We don't like to see people leave Friendica, but if you need to remove your account, you should visit the URL
-
-http://sitename/removeme
-
-with your web browser. You will need to be logged in at the time.
-
-You will be asked for your password to confirm the request. If this matches your stored password, your account will immediately be removed. Unlike some social networks we do **not** hold onto it for a grace period in case you change your mind. Your user details, your conversations, your photos, your friends - everything; will be removed immediately and you will be logged out.
-
-When we expire posts we send notifications out to Friendica to remove the posts. Diaspora doesn't have a bulk delete so this step is skipped on that network - and hopefully it will be obvious that deletion doesn't work on any other networks. If you manually delete a post or a range of posts we send individual delete notifications to Friendica and Diaspora for each deleted post.
-
-Diaspora often loses these.
-
-If you delete a post but somebody else has starred it, it is still removed. Your wishes take priority.
-
-When you remove your account we physically remove all your posts and your profile and user data, etc. immediately.
-
-In order to send out a bulk remove we would need to keep your account around to do this, as we would need to prove to your friends who it is that is submitting the request. We can't do this if you don't have an account.
-
-Your friends may still see your posts if your account is gone, but there is no public place within Friendica where they can be viewed. If you had friends on Diaspora, your public posts may stick around and be visible to others from that network.
+It is presently not possible to remove an account. We'll have better doco when somebody finishes that bit. \ No newline at end of file
diff --git a/doc/Settings.md b/doc/Settings.md
deleted file mode 100644
index 574ce8dcc..000000000
--- a/doc/Settings.md
+++ /dev/null
@@ -1,227 +0,0 @@
-Here are some of the built-in features which don't have an exposed interface or are otherwise undocumented. Configuration settings are stored in the file ".htconfig.php". Edit this file with a text editor to make the desired changes. Several system settings are already documented in that file and will not be covered here.
-
-**Hot Keys**
-
-Friendica traps the following keyboard events:
-
-* [Pause] - Pauses "Ajax" update activity. This is the process that provides updates without reloading the page. You may wish to pause it to reduce network usage and/or as a debugging aid for javascript developers. A pause indicator will appear at the lower right hand corner of the page. Hit the [pause] key once again to resume.
-
-* [F8] - Displays a language selector
-
-
-**Birthday Notifications**
-
-Birthday events are published on your Home page for any friends having a birthday in the coming 6 days. In order for your birthday to be discoverable by all of your friends, you must set your birthday (at least the month and day) in your default profile. You are not required to provide the year.
-
-**Configuration settings**
-
-
-**Language**
-
-System Setting
-
-Please see util/README for information on creating language translations.
-
-Config:
-```
-$a->config['system']['language'] = 'name';
-```
-
-
-**System Theme**
-
-System Setting
-
-Choose a named theme to be the default system theme (which may be over-ridden by user profiles). Default theme is "default".
-
-Config:
-```
-$a->config['system']['theme'] = 'theme-name';
-```
-
-
-**Verify SSL Certitificates**
-
-Security setting
-
-By default Friendica allows SSL communication between websites that have "self-signed" SSL certificates. For the widest compatibility with browsers and other networks we do not recommend using self-signed certificates, but we will not prevent you from using them. SSL encrypts all the data transmitted between sites (and to your browser) and this allows you to have completely encrypted communications, and also protect your login session from hijacking. Self-signed certificates can be generated for free, without paying top-dollar for a website SSL certificate - however these aren't looked upon favourably in the security community because they can be subject to so-called "man-in-the-middle" attacks. If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites.
-
-Config:
-```
-$a->config['system']['verifyssl'] = true;
-```
-
-
-**Allowed Friend Domains**
-
-Corporate/Edu enhancement
-
-Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. (Wildcard support on Windows platforms requires PHP5.3). By default, any (valid) domain may establish friendships with this site.
-
-Config:
-```
-$a->config['system']['allowed_sites'] = "sitea.com, *siteb.com";
-```
-
-
-**Allowed Email Domains**
-
-Corporate/Edu enhancement
-
-Comma separated list of domains which are allowed in email addresses for registrations to this site. This can lockout those who are not part of this organisation from registering here. Wildcards are accepted. (Wildcard support on Windows platforms requires PHP5.3). By default, any (valid) email address is allowed in registrations.
-
-Config:
-```
-$a->config['system']['allowed_email'] = "sitea.com, *siteb.com";
-```
-
-**Block Public**
-
-Corporate/Edu enhancement
-
-Set to true to block public access to all otherwise public personal pages on this site unless you are currently logged in. This blocks the viewing of profiles, friends, photos, the site directory and search pages to unauthorised persons. A side effect is that entries from this site will not appear in the global directory. We recommend specifically disabling that also (setting is described elsewhere on this page). Note: this is specifically for sites that desire to be "standalone" and do not wish to be connected to any other Friendica sites. Unauthorised persons will also not be able to request friendship with site members. Default is false. Available in version 2.2 or greater.
-
-Config:
-```
-$a->config['system']['block_public'] = true;
-```
-
-
-**Force Publish**
-
-Corporate/Edu enhancement
-
-By default, each user can choose on their Settings page whether or not to have their profile published in the site directory. This setting forces all
-profiles on this site to be listed in the site directory and there is no option provided to the user to change it. Default is false.
-
-Config:
-```
-$a->config['system']['publish_all'] = true;
-```
-
-
-**Global Directory**
-
-Corporate/Edu enhancement
-
-This configures the URL to update the global directory, and is supplied in the default configuration. The undocumented part is that if this is not set, the global directory is completely unavailable to the application. This allows a private community to be completely isolated from the global mistpark network.
-
-```
-$a->config['system']['directory_submit_url'] = 'http://dir.friendica.com/submit';
-```
-
-
-**Proxy Configuration Settings**
-
-If your site uses a proxy to connect to the internet, you may use these settings to communicate with the outside world (the outside world still needs to be able to see your website, or this will not be very useful).
-
-Config:
-```
-$a->config['system']['proxy'] = "http://proxyserver.domain:port";
-$a->config['system']['proxyuser'] = "username:password";
-```
-
-
-**Network Timeout**
-
-How long to wait on a network communication before timing out. Value is in seconds. Default is 60 seconds. Set to 0 for unlimited (not recommended).
-
-Config:
-```
-$a->config['system']['curl_timeout'] = 60;
-```
-
-
-**Banner/Logo**
-
-Set the content for the site banner. Default is the Friendica logo and name. You may wish to provide HTML/CSS to style and/or position this content, as it may not be themed by default.
-
-Config:
-```
-$a->config['system']['banner'] = '<span id="logo-text">My Great Website</span>';
-```
-
-
-**Maximum Image Size**
-
-Maximum size in bytes of uploaded images. Default is 0, which means no limits.
-
-Config:
-```
-$a->config['system']['maximagesize'] = 1000000;
-```
-
-
-**UTF-8 Regular Expressions**
-
-During registrations, full names are checked using UTF-8 regular expressions. This requires PHP to have been compiled with a special setting to allow UTF-8 expressions. If you are completely unable to register accounts, set no_utf to true. Default is false (meaning UTF8 regular expressions are supported and working).
-
-Config:
-```
-$a->config['system']['no_utf'] = true;
-```
-
-
-**Check Full Names**
-
-You may find a lot of spammers trying to register on your site. During testing we discovered that since these registrations were automatic, the "Full Name" field was often set to just an account name with no space between first and last name. If you would like to support people with only one name as their full name, you may change this setting to true. Default is false.
-
-Config:
-```
-$a->config['system']['no_regfullname'] = true;
-```
-
-
-**OpenID**
-
-By default, OpenID may be used for both registration and logins. If you do not wish to make OpenID facilities available on your system (at all), set 'no_openid' to true. Default is false.
-
-Config:
-```
-$a->config['system']['no_openid'] = true;
-```
-
-
-**Multiple Registrations**
-
-The ability to create "Pages" requires a person to register more than once. Your site configuration can block registration (or require approval to register). By default logged in users can register additional accounts for use as pages. These will still require approval if REGISTER_APPROVE is selected. You may prohibit logged in users from creating additional accounts by setting 'block_extended_register' to true. Default is false.
-
-Config:
-```
-$a->config['system']['block_extended_register'] = true;
-```
-
-
-**Developer Settings**
-
-Most useful when debugging protocol exchanges and tracking down other communications issues.
-
-Config:
-
-```
-$a->config['system']['debugging'] = true;
-$a->config['system']['logfile'] = 'logfile.out';
-$a->config['system']['loglevel'] = LOGGER_DEBUG;
-```
-Turns on detailed debugging logs which will be stored in 'logfile.out' (which must be writeable by the webserver). LOGGER_DEBUG will show a good deal of information about system activity but will not include detailed data. You may also select LOGGER_ALL but due to the volume of information we recommend only enabling this when you are tracking down a specific problem. Other log levels are possible but are not being used at the present time.
-
-
-**PHP error logging**
-
-Use the following settings to redirect PHP errors to a file.
-
-Config:
-
-```
-error_reporting(E_ERROR | E_WARNING | E_PARSE );
-ini_set('error_log','php.out');
-ini_set('log_errors','1');
-ini_set('display_errors', '0');
-```
-
-This will put all PHP errors in the file php.out (which must be writeable by the webserver). Undeclared variables are occasionally referenced in the program and therefore we do not recommend using E_NOTICE or E_ALL. The vast majority of issues reported at these levels are completely harmless. Please report to the developers any errors you encounter in the logs using the recommended settings above. They generally indicate issues which need to be resolved.
-
-If you encounter a blank (white) page when using the application, view the PHP logs - as this almost always indicates an error has occurred.
-
-
-
diff --git a/doc/Tags-and-Mentions.md b/doc/Tags-and-Mentions.md
index ce4e45f42..bcf69736f 100644
--- a/doc/Tags-and-Mentions.md
+++ b/doc/Tags-and-Mentions.md
@@ -1,36 +1,16 @@
Tags and Mentions
=================
-
-* [Home](help)
-
-
-Like many other modern social networks, Friendica uses a special notation inside messages to indicate "tags" or contextual links to other entities.
+Like many other platforms, Red uses a special notation inside messages to indicate "tags" or contextual links to other entities.
**Mentions**
-People are tagged by preceding their name with the @ character.
-
-The following are various ways of indicating a person:
-
-* @mike - indicates a known contact in your social circle whose nickname is "mike"
-* @mike_macgirvin - indicates a known contact in your social circle whose full name is "Mike Macgirvin". Note that spaces cannot be used inside tags.
-* @mike+151 - this form is used by the drop-down tag completion tool. It indicates the contact whose nickname is mike and whose contact identifier number is 151. The drop-down tool may be used to resolve people with duplicate nicknames.
-* @mike@macgirvin.com - indicates the Identity Address of a person on a different network, or one that is *not* in your social circle. This is called a "remote mention" and can only be an email-style locator, not a web URL.
+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.
-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. Please note that Friendica blocks incoming "mentions" from people with no relationship to you. This is a spam prevention measure.
-
-Remote mentions are delivered using the OStatus protocol. This protocol is used by Friendica and StatusNet and several other systems, but is not currently implemented in Diaspora.
-
-Friendica makes no distinction between people and groups for the purpose of tagging. (Some other networks use !group to indicate a group.)
+Red makes no distinction between different types of channel for the purpose of tagging.
**Topical Tags**
-Topical tags are indicated by preceding the tag name with the # character. This will create a link in the post to a generalised site search for the term provided. For example, #cars will provide a search link for all posts mentioning 'cars' on your site. Topical tags are generally a minimum of three characters in length. Shorter search terms are not likely to yield any search results, although this depends on the database configuration. The same rules apply as with names that spaces within tags are represented by the underscore character. It is therefore not possible to create a tag whose target contains an underscore.
-
-Topical tags are also not linked if they are purely numeric, e.g. #1. If you wish to use a numerica hashtag, please add some descriptive text such as #2012-elections.
-
-
-
-
+Topical tags are indicated by preceding the tag name with the # character. This will create a link in the post to a generalised site search for the term provided. For example, #cars will provide a search link for all posts mentioning 'cars' on your site. Topical tags are generally a minimum of three characters in length. Shorter search terms are not likely to yield any search results, although this depends on the database configuration. The same rules apply as with names that spaces within tags are represented by the underscore character. It is therefore not possible to create a tag whose target contains an underscore.
+Topical tags are also not linked if they are purely numeric, e.g. #1. If you wish to use a numerica hashtag, please add some descriptive text such as #2012-elections. \ No newline at end of file
diff --git a/doc/Webpages.md b/doc/Webpages.md
new file mode 100644
index 000000000..ddde2a401
--- /dev/null
+++ b/doc/Webpages.md
@@ -0,0 +1,14 @@
+Creating Webpages
+=================
+
+Red enables users to create static webpages. To activate this feature, enable the web pages feature in your Additional Features section.
+
+Once enabled, a new tab will appear on your channel page labelled "Webpages". Clicking this link will take you to the webpage editor. Here you can create a post using either BBCode or the rich text editor.
+
+Pages will be accessible at mydomain/page/username/pagelinktitle
+
+The "page link title" box allows a user to specify the "pagelinktitle" of this URL. If no page link title is set, we will set one for you automatically, using the message ID of the item.
+
+Beneath the page creation box, a list of existing pages will appear with an "edit" link. Clicking this will take you to an editor, similar to that of the post editor, where you can make changes to your webpages.
+
+If you are the admin of a site, you can speficy a channel whose webpages we will use at key points around the site. Presently, the only place this is implemented is the home page. If you specify the channel "admin" and then the channel called "admin" creates a webpage called "home", we will display it's content on your websites home page. We expect this functionality to be extended to other areas in future. \ No newline at end of file
diff --git a/doc/andfinally.md b/doc/andfinally.md
deleted file mode 100644
index c4e8cb948..000000000
--- a/doc/andfinally.md
+++ /dev/null
@@ -1,26 +0,0 @@
-[[!meta title="And Finally..."]]
-
-And that brings the Quick Start to an end.
-
-Here are some more things to help get you started:
-
-**Groups**
-
-
-- <a href="https://kakste.com/profile/newhere">New Here</a> - a group for people new to Friendica
-
-- <a href="http://helpers.pyxis.uberspace.de/profile/helpers">Friendica Support</a> - problems? This is the place to ask.
-
-- <a href="https://kakste.com/profile/public_stream">Public Stream</a> - a place to talk about anything to anyone.
-
-- <a href="https://letstalk.pyxis.uberspace.de/profile/letstalk">Let's Talk</a> a group for finding people and groups who share similar interests.
-
-- <a href="http://newzot.hydra.uberspace.de/profile/newzot">Local Friendica</a> a page for local Friendica groups</a>
-
-
-**Documentation**
-
-- <a href="help/Connectors">Connecting to more networks</a>
-- <a href="help">Help Index</a>
-
-
diff --git a/doc/groupsandpages.md b/doc/groupsandpages.md
deleted file mode 100644
index 5cfbc653c..000000000
--- a/doc/groupsandpages.md
+++ /dev/null
@@ -1,11 +0,0 @@
-This is the global directory. If you get lost, you can <a href = "help/groupsandpages">click this link</a> to bring yourself back here.
-
-On this page, you'll find a collection of groups, forums and celebrity pages. Groups are not real people. Connecting to them is similar to "liking" something on Facebook, or signing up for a new forum. You don't have to feel awkward about introducing yourself to a new person, because they're not people!
-
-When you connect to a group, all messages to that group will start appearing in your network tab. You can comment on these posts, or post to the group yourself without ever having to add any of the groups members. This is a great way to make friends dynamically - you'll find people you like and add each other naturally instead of adding random strangers. Simply find a group you're interested in, and connect to it the same way you did with people in the last section. There are a lot of groups, and you're likely to get lost. Remember the link at the top of this page will bring you back here.
-
-Once you've added some groups, <a href="help/andfinally">move on to the next section</a>.
-
-<iframe src="http://dir.friendica.com/directory/forum" width="950" height="600"></iframe>
-
-
diff --git a/doc/guide.md b/doc/guide.md
deleted file mode 100644
index d76af92e2..000000000
--- a/doc/guide.md
+++ /dev/null
@@ -1,13 +0,0 @@
-First things first, let's make sure you're logged in to your account. If you're not already logged in, do so in the frame below.
-
-Once you've logged in (or if you are already logged in), you'll now be looking at your profile page.
-
-This is a bit like your Facebook wall. It's where all your status messgages are kept, and where your friends come to post on your wall. To write your status, simply click in the box that says "share". When you do this, the box will expand. You can see some formatting options at the top such as Bold, Italics and Underline, as well as ways to add links and pictures. At the bottom you'll find some more links. You can use these to upload pictures and files from your computer, share websites with a bit of preview text, or embed video and audio files from elsewhere on the web. You can also set your post location here.
-
-Once you've finished writing your post, click on the padlock icon to select who can see it. If you do not use the padlock icon, your post will be public. This means it will appear to anybody who views your profile, and in the community tab if your site has it enabled, as well as in the network tab of any of your contacts.
-
-Play around with this a bit, then when you're ready to move on, we'll take a look at the <a href="help/network">Network Tab</a>
-
-<iframe src="login" width="950" height="600"></iframe>
-
-
diff --git a/doc/html/BaseObject_8php.html b/doc/html/BaseObject_8php.html
new file mode 100644
index 000000000..73fcf06ee
--- /dev/null
+++ b/doc/html/BaseObject_8php.html
@@ -0,0 +1,120 @@
+<!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: include/BaseObject.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="rhash-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('BaseObject_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="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">BaseObject.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="classBaseObject.html">BaseObject</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/Contact_8php.html b/doc/html/Contact_8php.html
new file mode 100644
index 000000000..4c7f6190c
--- /dev/null
+++ b/doc/html/Contact_8php.html
@@ -0,0 +1,528 @@
+<!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: include/Contact.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="rhash-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('Contact_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">Contact.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:a2f4f495d53f2a334ab75292af79d3c91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url</a> ($channel_id, $xchan)</td></tr>
+<tr class="separator:a2f4f495d53f2a334ab75292af79d3c91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8803c330352cbf1e828eb7490edf47e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">abook_connections</a> ($channel_id, $sql_conditions= '')</td></tr>
+<tr class="separator:ae8803c330352cbf1e828eb7490edf47e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5b02c2a962ee55b1b7ca6c159d6e4c5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">abook_self</a> ($channel_id)</td></tr>
+<tr class="separator:ad5b02c2a962ee55b1b7ca6c159d6e4c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87e699f74a1102b25e8aa0432d86a91e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick</a> ($nick)</td></tr>
+<tr class="separator:a87e699f74a1102b25e8aa0432d86a91e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a483cda56f9e37c3a4a8773dcdfeb0258"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash</a> ($hash)</td></tr>
+<tr class="separator:a483cda56f9e37c3a4a8773dcdfeb0258"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3a0844dac1e86d523de5d2f432cfeebc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n</a> ($id)</td></tr>
+<tr class="separator:a3a0844dac1e86d523de5d2f432cfeebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6348a532c9d26cd1c9afbc9aa6aa8960"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan</a> ($xchan, $observer=null, $mode= '')</td></tr>
+<tr class="separator:a6348a532c9d26cd1c9afbc9aa6aa8960"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a024919623a830e8703ac4f23496dd66c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag</a> ($abook, $flag)</td></tr>
+<tr class="separator:a024919623a830e8703ac4f23496dd66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2fc191067dd571a79603c66b04b1ca15"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15">user_remove</a> ($uid)</td></tr>
+<tr class="separator:a2fc191067dd571a79603c66b04b1ca15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3eef54a5523e568a28257c1f9b1644d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a3eef54a5523e568a28257c1f9b1644d8">account_remove</a> ($account_id)</td></tr>
+<tr class="separator:a3eef54a5523e568a28257c1f9b1644d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad46ff6764f12b6d3ab45c49b797f98aa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#ad46ff6764f12b6d3ab45c49b797f98aa">channel_remove</a> ($channel_id)</td></tr>
+<tr class="separator:ad46ff6764f12b6d3ab45c49b797f98aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc12cda999c88c4d6185cca967c15125"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources</a> ($xchan, $channel_id=0)</td></tr>
+<tr class="separator:acc12cda999c88c4d6185cca967c15125"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a28e062c884331dbb5dfa713228c25ad6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove</a> ($channel_id, $abook_id)</td></tr>
+<tr class="separator:a28e062c884331dbb5dfa713228c25ad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38daa1c210b78385307123450ca9a1fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a38daa1c210b78385307123450ca9a1fc">terminate_friendship</a> ($user, $self, $contact)</td></tr>
+<tr class="separator:a38daa1c210b78385307123450ca9a1fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91281b5d4bbbb2ed468e27ec82ca083c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(!function_exists('mark_for_death')) <br class="typebreak"/>
+<a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(!function_exists('unmark_for_death')) <br class="typebreak"/>
+<a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(!function_exists('contact_photo_menu'))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a91281b5d4bbbb2ed468e27ec82ca083c">random_profile</a> ()</td></tr>
+<tr class="separator:a91281b5d4bbbb2ed468e27ec82ca083c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a228fc01f90ae9bfdde4c2ad0772bd7dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a228fc01f90ae9bfdde4c2ad0772bd7dc">contacts_not_grouped</a> ($uid, $start=0, $count=0)</td></tr>
+<tr class="separator:a228fc01f90ae9bfdde4c2ad0772bd7dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ae8803c330352cbf1e828eb7490edf47e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">abook_connections </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>$sql_conditions</em> = <code>''</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="ad5b02c2a962ee55b1b7ca6c159d6e4c5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">abook_self </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a024919623a830e8703ac4f23496dd66c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">abook_toggle_flag </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$abook</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$flag</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="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3eef54a5523e568a28257c1f9b1644d8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">account_remove </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$account_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad46ff6764f12b6d3ab45c49b797f98aa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">channel_remove </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="Contact_8php.html#a3eef54a5523e568a28257c1f9b1644d8">account_remove()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a483cda56f9e37c3a4a8773dcdfeb0258"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">channelx_by_hash </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hash</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3a0844dac1e86d523de5d2f432cfeebc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">channelx_by_n </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a87e699f74a1102b25e8aa0432d86a91e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">channelx_by_nick </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$nick</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a28e062c884331dbb5dfa713228c25ad6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">contact_remove </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>$abook_id</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="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, and <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a228fc01f90ae9bfdde4c2ad0772bd7dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">contacts_not_grouped </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>$start</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$count</em> = <code>0</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="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a91281b5d4bbbb2ed468e27ec82ca083c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (!function_exists('mark_for_death')) <a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (!function_exists('unmark_for_death')) <a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (!function_exists('contact_photo_menu')) random_profile </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2f4f495d53f2a334ab75292af79d3c91"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">rconnect_url </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>$xchan</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="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acc12cda999c88c4d6185cca967c15125"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">remove_all_xchan_resources </td>
+ <td>(</td>
+ <td class="paramtype">&#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>$channel_id</em> = <code>0</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="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a38daa1c210b78385307123450ca9a1fc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">terminate_friendship </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$self</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$contact</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="a2fc191067dd571a79603c66b04b1ca15"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">user_remove </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em></td><td>)</td>
+ <td></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>, and <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6348a532c9d26cd1c9afbc9aa6aa8960"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">vcard_from_xchan </td>
+ <td>(</td>
+ <td class="paramtype">&#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>$observer</em> = <code>null</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$mode</em> = <code>''</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="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections_aside()</a>, and <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/Contact_8php.js b/doc/html/Contact_8php.js
new file mode 100644
index 000000000..6a4f7843d
--- /dev/null
+++ b/doc/html/Contact_8php.js
@@ -0,0 +1,19 @@
+var Contact_8php =
+[
+ [ "abook_connections", "Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e", null ],
+ [ "abook_self", "Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5", null ],
+ [ "abook_toggle_flag", "Contact_8php.html#a024919623a830e8703ac4f23496dd66c", null ],
+ [ "account_remove", "Contact_8php.html#a3eef54a5523e568a28257c1f9b1644d8", null ],
+ [ "channel_remove", "Contact_8php.html#ad46ff6764f12b6d3ab45c49b797f98aa", null ],
+ [ "channelx_by_hash", "Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258", null ],
+ [ "channelx_by_n", "Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc", null ],
+ [ "channelx_by_nick", "Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e", null ],
+ [ "contact_remove", "Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6", null ],
+ [ "contacts_not_grouped", "Contact_8php.html#a228fc01f90ae9bfdde4c2ad0772bd7dc", null ],
+ [ "random_profile", "Contact_8php.html#a91281b5d4bbbb2ed468e27ec82ca083c", null ],
+ [ "rconnect_url", "Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91", null ],
+ [ "remove_all_xchan_resources", "Contact_8php.html#acc12cda999c88c4d6185cca967c15125", null ],
+ [ "terminate_friendship", "Contact_8php.html#a38daa1c210b78385307123450ca9a1fc", null ],
+ [ "user_remove", "Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15", null ],
+ [ "vcard_from_xchan", "Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960", null ]
+]; \ No newline at end of file
diff --git a/doc/html/ConversationObject_8php.html b/doc/html/ConversationObject_8php.html
new file mode 100644
index 000000000..e89d0e39d
--- /dev/null
+++ b/doc/html/ConversationObject_8php.html
@@ -0,0 +1,120 @@
+<!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: include/ConversationObject.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="rhash-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('ConversationObject_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="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">ConversationObject.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="classConversation.html">Conversation</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/ITemplateEngine_8php.html b/doc/html/ITemplateEngine_8php.html
new file mode 100644
index 000000000..34cb6577b
--- /dev/null
+++ b/doc/html/ITemplateEngine_8php.html
@@ -0,0 +1,120 @@
+<!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: include/ITemplateEngine.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="rhash-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('ITemplateEngine_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="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">ITemplateEngine.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">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceITemplateEngine.html">ITemplateEngine</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/ItemObject_8php.html b/doc/html/ItemObject_8php.html
new file mode 100644
index 000000000..4a72f4ca8
--- /dev/null
+++ b/doc/html/ItemObject_8php.html
@@ -0,0 +1,120 @@
+<!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: include/ItemObject.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="rhash-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('ItemObject_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="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">ItemObject.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="classItem.html">Item</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/ProtoDriver_8php.html b/doc/html/ProtoDriver_8php.html
new file mode 100644
index 000000000..e419d0c4d
--- /dev/null
+++ b/doc/html/ProtoDriver_8php.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: include/ProtoDriver.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="rhash-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('ProtoDriver_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="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">ProtoDriver.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="classProtoDriver.html">ProtoDriver</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="classZotDriver.html">ZotDriver</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/README_8md.html b/doc/html/README_8md.html
new file mode 100644
index 000000000..723b5d96a
--- /dev/null
+++ b/doc/html/README_8md.html
@@ -0,0 +1,112 @@
+<!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: view/theme/redstrap/README.md 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="rhash-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('README_8md.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">view/theme/redstrap/README.md File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/Scrape_8php.html b/doc/html/Scrape_8php.html
new file mode 100644
index 000000000..59c15f35b
--- /dev/null
+++ b/doc/html/Scrape_8php.html
@@ -0,0 +1,171 @@
+<!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 Project: include/Scrape.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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('Scrape_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> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">Scrape.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:a32883beb7dbf311fc9bfa99200a7402c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Scrape_8php.html#a32883beb7dbf311fc9bfa99200a7402c">probe_url</a> ($url, $mode=<a class="el" href="Scrape_8php.html#aa6b0bdcf6e8f9d44e699fd94d2207c98">PROBE_NORMAL</a>)</td></tr>
+<tr class="separator:a32883beb7dbf311fc9bfa99200a7402c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:aa6b0bdcf6e8f9d44e699fd94d2207c98"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Scrape_8php.html#aa6b0bdcf6e8f9d44e699fd94d2207c98">PROBE_NORMAL</a> (!function_exists('scrape_feed')) 0</td></tr>
+<tr class="separator:aa6b0bdcf6e8f9d44e699fd94d2207c98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a32883beb7dbf311fc9bfa99200a7402c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">probe_url </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$mode</em> = <code><a class="el" href="Scrape_8php.html#aa6b0bdcf6e8f9d44e699fd94d2207c98">PROBE_NORMAL</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="aa6b0bdcf6e8f9d44e699fd94d2207c98"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PROBE_NORMAL(!function_exists('scrape_feed')) 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Probe a network address to discover what kind of protocols we need to communicate with it.</p>
+<p>Warning: this function is a bit touchy and there are some subtle dependencies within the logic flow. Edit with care.</p>
+<p>PROBE_DIASPORA has a bias towards returning Diaspora information while PROBE_NORMAL has a bias towards dfrn/zot - in the case where an address (such as a <a class="el" href="namespaceFriendica.html">Friendica</a> address) supports more than one type of network. </p>
+
+<p>Referenced by <a class="el" href="Scrape_8php.html#a32883beb7dbf311fc9bfa99200a7402c">probe_url()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/Scrape_8php.js b/doc/html/Scrape_8php.js
new file mode 100644
index 000000000..6bdfb178d
--- /dev/null
+++ b/doc/html/Scrape_8php.js
@@ -0,0 +1,5 @@
+var Scrape_8php =
+[
+ [ "probe_url", "Scrape_8php.html#a32883beb7dbf311fc9bfa99200a7402c", null ],
+ [ "PROBE_NORMAL", "Scrape_8php.html#aa6b0bdcf6e8f9d44e699fd94d2207c98", null ]
+]; \ No newline at end of file
diff --git a/doc/html/__well__known_8php.html b/doc/html/__well__known_8php.html
new file mode 100644
index 000000000..b78d77c12
--- /dev/null
+++ b/doc/html/__well__known_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/_well_known.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="rhash-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('__well__known_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">_well_known.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:a6ebfa937a2024f0b5dab53f0ac90fed0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a6ebfa937a2024f0b5dab53f0ac90fed0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a6ebfa937a2024f0b5dab53f0ac90fed0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">_well_known_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/__well__known_8php.js b/doc/html/__well__known_8php.js
new file mode 100644
index 000000000..47e6777dd
--- /dev/null
+++ b/doc/html/__well__known_8php.js
@@ -0,0 +1,4 @@
+var __well__known_8php =
+[
+ [ "_well_known_init", "__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0", null ]
+]; \ No newline at end of file
diff --git a/doc/html/account_8php.html b/doc/html/account_8php.html
new file mode 100644
index 000000000..868539d8e
--- /dev/null
+++ b/doc/html/account_8php.html
@@ -0,0 +1,328 @@
+<!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: include/account.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="rhash-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('account_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">account.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:ae052bd5558847bd38e89c213561a9771"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email</a> ($email)</td></tr>
+<tr class="separator:ae052bd5558847bd38e89c213561a9771"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a144b4891022567668375b58ea61cfff0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="account_8php.html#a144b4891022567668375b58ea61cfff0">check_account_password</a> ($password)</td></tr>
+<tr class="separator:a144b4891022567668375b58ea61cfff0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaff7720423417a4333697894ffd9ddeb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite</a> ($invite_code)</td></tr>
+<tr class="separator:aaff7720423417a4333697894ffd9ddeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a917d74aad0baf3e0c4b51cf1051e654f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin</a> ($arr)</td></tr>
+<tr class="separator:a917d74aad0baf3e0c4b51cf1051e654f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43e3042b2723d76915a030bac3c668b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="account_8php.html#a43e3042b2723d76915a030bac3c668b6">account_total</a> ()</td></tr>
+<tr class="separator:a43e3042b2723d76915a030bac3c668b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a141fe579c351c78209d425473f978eb5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account</a> ($arr)</td></tr>
+<tr class="separator:a141fe579c351c78209d425473f978eb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a014de2d5d5c9785de5bf547a485822fa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email</a> ($arr)</td></tr>
+<tr class="separator:a014de2d5d5c9785de5bf547a485822fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9c29c497c17d8f9344dce8631ad8761"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email</a> ($email, $password)</td></tr>
+<tr class="separator:aa9c29c497c17d8f9344dce8631ad8761"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5c570a2d46446bad4dd2501e9c5a4b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow</a> ($hash)</td></tr>
+<tr class="separator:ac5c570a2d46446bad4dd2501e9c5a4b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1653efba62493b9d87513e1b6c04c83"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny</a> ($hash)</td></tr>
+<tr class="separator:ac1653efba62493b9d87513e1b6c04c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a43e3042b2723d76915a030bac3c668b6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">account_total </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a917d74aad0baf3e0c4b51cf1051e654f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_account_admin </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="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae052bd5558847bd38e89c213561a9771"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_account_email </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$email</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, and <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaff7720423417a4333697894ffd9ddeb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_account_invite </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$invite_code</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, and <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a144b4891022567668375b58ea61cfff0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_account_password </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$password</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, and <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a141fe579c351c78209d425473f978eb5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">create_account </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="identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd">create_dir_account()</a>, and <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a014de2d5d5c9785de5bf547a485822fa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">send_reg_approval_email </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="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa9c29c497c17d8f9344dce8631ad8761"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">send_verification_email </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$email</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$password</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="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac5c570a2d46446bad4dd2501e9c5a4b1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">user_allow </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hash</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, and <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac1653efba62493b9d87513e1b6c04c83"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">user_deny </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hash</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, and <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/account_8php.js b/doc/html/account_8php.js
new file mode 100644
index 000000000..2e43e4b46
--- /dev/null
+++ b/doc/html/account_8php.js
@@ -0,0 +1,13 @@
+var account_8php =
+[
+ [ "account_total", "account_8php.html#a43e3042b2723d76915a030bac3c668b6", null ],
+ [ "check_account_admin", "account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f", null ],
+ [ "check_account_email", "account_8php.html#ae052bd5558847bd38e89c213561a9771", null ],
+ [ "check_account_invite", "account_8php.html#aaff7720423417a4333697894ffd9ddeb", null ],
+ [ "check_account_password", "account_8php.html#a144b4891022567668375b58ea61cfff0", null ],
+ [ "create_account", "account_8php.html#a141fe579c351c78209d425473f978eb5", null ],
+ [ "send_reg_approval_email", "account_8php.html#a014de2d5d5c9785de5bf547a485822fa", null ],
+ [ "send_verification_email", "account_8php.html#aa9c29c497c17d8f9344dce8631ad8761", null ],
+ [ "user_allow", "account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1", null ],
+ [ "user_deny", "account_8php.html#ac1653efba62493b9d87513e1b6c04c83", null ]
+]; \ No newline at end of file
diff --git a/doc/html/acl_8php.html b/doc/html/acl_8php.html
new file mode 100644
index 000000000..933631019
--- /dev/null
+++ b/doc/html/acl_8php.html
@@ -0,0 +1,157 @@
+<!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/acl.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="rhash-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('acl_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">acl.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:ac6776dba871806ecdb5d1659bc2eb07a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ac6776dba871806ecdb5d1659bc2eb07a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57dceff370d4a0e7ae673d50fbfda61f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete</a> (&amp;$a)</td></tr>
+<tr class="separator:a57dceff370d4a0e7ae673d50fbfda61f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ac6776dba871806ecdb5d1659bc2eb07a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">acl_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="a57dceff370d4a0e7ae673d50fbfda61f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">navbar_complete </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="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/acl_8php.js b/doc/html/acl_8php.js
new file mode 100644
index 000000000..f4e646edd
--- /dev/null
+++ b/doc/html/acl_8php.js
@@ -0,0 +1,5 @@
+var acl_8php =
+[
+ [ "acl_init", "acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a", null ],
+ [ "navbar_complete", "acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f", null ]
+]; \ No newline at end of file
diff --git a/doc/html/acl__selectors_8php.html b/doc/html/acl__selectors_8php.html
new file mode 100644
index 000000000..470be4754
--- /dev/null
+++ b/doc/html/acl__selectors_8php.html
@@ -0,0 +1,279 @@
+<!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: include/acl_selectors.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="rhash-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('acl__selectors_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="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">acl_selectors.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespaceacl__selectors"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceacl__selectors.html">acl_selectors</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:aa1e3bc344ca2b29f97eb9860216d21a0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select</a> ($selname, $selclass, $preselected=false, $size=4)</td></tr>
+<tr class="separator:aa1e3bc344ca2b29f97eb9860216d21a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9476997d2968a5794f3723878ed89c91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select</a> ($selname, $selclass, $preselected=false, $size=4, $privmail=false, $celeb=false, $privatenet=false, $tabindex=null)</td></tr>
+<tr class="separator:a9476997d2968a5794f3723878ed89c91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6664fb8330308e23f2645cd6624727e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e">fixacl</a> (&amp;$item)</td></tr>
+<tr class="separator:ad6664fb8330308e23f2645cd6624727e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51f2ec7a143d5a5b38e35efd5f3d6e2c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acl__selectors_8php.html#a51f2ec7a143d5a5b38e35efd5f3d6e2c">populate_acl</a> ($user=null, $celeb=false)</td></tr>
+<tr class="separator:a51f2ec7a143d5a5b38e35efd5f3d6e2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a9476997d2968a5794f3723878ed89c91"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">contact_select </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$selname</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$selclass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$preselected</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$size</em> = <code>4</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$privmail</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$celeb</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$privatenet</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$tabindex</em> = <code>null</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="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad6664fb8330308e23f2645cd6624727e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fixacl </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa1e3bc344ca2b29f97eb9860216d21a0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">group_select </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$selname</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$selclass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$preselected</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$size</em> = <code>4</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="a51f2ec7a143d5a5b38e35efd5f3d6e2c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">populate_acl </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user</em> = <code>null</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$celeb</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="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_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/acl__selectors_8php.js b/doc/html/acl__selectors_8php.js
new file mode 100644
index 000000000..1958789d9
--- /dev/null
+++ b/doc/html/acl__selectors_8php.js
@@ -0,0 +1,7 @@
+var acl__selectors_8php =
+[
+ [ "contact_select", "acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91", null ],
+ [ "fixacl", "acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e", null ],
+ [ "group_select", "acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0", null ],
+ [ "populate_acl", "acl__selectors_8php.html#a51f2ec7a143d5a5b38e35efd5f3d6e2c", null ]
+]; \ No newline at end of file
diff --git a/doc/html/activities_8php.html b/doc/html/activities_8php.html
new file mode 100644
index 000000000..31a786664
--- /dev/null
+++ b/doc/html/activities_8php.html
@@ -0,0 +1,149 @@
+<!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: include/activities.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="rhash-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('activities_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">activities.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:a80134e807719b3c54aba971958d2e132"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity</a> ($changed, $value)</td></tr>
+<tr class="separator:a80134e807719b3c54aba971958d2e132"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a80134e807719b3c54aba971958d2e132"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">profile_activity </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$changed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$value</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="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/activities_8php.js b/doc/html/activities_8php.js
new file mode 100644
index 000000000..73188de88
--- /dev/null
+++ b/doc/html/activities_8php.js
@@ -0,0 +1,4 @@
+var activities_8php =
+[
+ [ "profile_activity", "activities_8php.html#a80134e807719b3c54aba971958d2e132", null ]
+]; \ No newline at end of file
diff --git a/doc/html/admin_8php.html b/doc/html/admin_8php.html
new file mode 100644
index 000000000..f7b01d939
--- /dev/null
+++ b/doc/html/admin_8php.html
@@ -0,0 +1,550 @@
+<!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/admin.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="rhash-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('admin_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">admin.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:acf51f5837a7427832144c2bf7308ada3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post</a> (&amp;$a)</td></tr>
+<tr class="separator:acf51f5837a7427832144c2bf7308ada3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afef415e4011607fbb665610441595015"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content</a> (&amp;$a)</td></tr>
+<tr class="separator:afef415e4011607fbb665610441595015"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6e95b920b5abd030cc522964987087a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary</a> (&amp;$a)</td></tr>
+<tr class="separator:ac6e95b920b5abd030cc522964987087a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add865f4ae806ecbf716f423fc3e50e4f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post</a> (&amp;$a)</td></tr>
+<tr class="separator:add865f4ae806ecbf716f423fc3e50e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac0f3bd12431c056aad77bac9d09fa30e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site</a> (&amp;$a)</td></tr>
+<tr class="separator:ac0f3bd12431c056aad77bac9d09fa30e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa6addf2dbc3f3fcf99244a56b41eade"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync</a> (&amp;$a)</td></tr>
+<tr class="separator:aaa6addf2dbc3f3fcf99244a56b41eade"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a696706a3869800e65fb365214241b7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a5a696706a3869800e65fb365214241b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62f10f90c47686c9c3c37c4c03a108d2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users</a> (&amp;$a)</td></tr>
+<tr class="separator:a62f10f90c47686c9c3c37c4c03a108d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54128076986ba80c4a103de3fc3e19a8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins</a> (&amp;$a)</td></tr>
+<tr class="separator:a54128076986ba80c4a103de3fc3e19a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af81f081851791cd15e49e8ff6722dc27"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#af81f081851791cd15e49e8ff6722dc27">toggle_theme</a> (&amp;$themes, $th, &amp;$result)</td></tr>
+<tr class="separator:af81f081851791cd15e49e8ff6722dc27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4f74f33944a98b56d2c8c7601f124a4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4">theme_status</a> ($themes, $th)</td></tr>
+<tr class="separator:ad4f74f33944a98b56d2c8c7601f124a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae46311a3fefc21abc838a26e91789de6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#ae46311a3fefc21abc838a26e91789de6">rebuild_theme_table</a> ($themes)</td></tr>
+<tr class="separator:ae46311a3fefc21abc838a26e91789de6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af124619fdc278fe2bf14c45ddaa260fb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes</a> (&amp;$a)</td></tr>
+<tr class="separator:af124619fdc278fe2bf14c45ddaa260fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a233b7c8c31776b7020532003c6e44e1c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a233b7c8c31776b7020532003c6e44e1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d1362698af14d209aa3a0fb655551dd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs</a> (&amp;$a)</td></tr>
+<tr class="separator:a1d1362698af14d209aa3a0fb655551dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="afef415e4011607fbb665610441595015"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_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">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+<p>Side bar links</p>
+<p>Page content</p>
+
+</div>
+</div>
+<a class="anchor" id="aaa6addf2dbc3f3fcf99244a56b41eade"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_page_dbsync </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="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1d1362698af14d209aa3a0fb655551dd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_page_logs </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">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a233b7c8c31776b7020532003c6e44e1c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_page_logs_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">
+<p>Logs admin page</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a54128076986ba80c4a103de3fc3e19a8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_page_plugins </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>Plugins admin page</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+<p>Single plugin</p>
+<p>List plugins</p>
+
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac0f3bd12431c056aad77bac9d09fa30e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_page_site </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">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="add865f4ae806ecbf716f423fc3e50e4f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_page_site_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">
+<p>Admin Site Page </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac6e95b920b5abd030cc522964987087a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_page_summary </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>Admin Summary Page </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af124619fdc278fe2bf14c45ddaa260fb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_page_themes </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>Themes admin page</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+<p>Single theme</p>
+<p>List themes</p>
+
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a62f10f90c47686c9c3c37c4c03a108d2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_page_users </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">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5a696706a3869800e65fb365214241b7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_page_users_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">
+<p>Users admin page</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acf51f5837a7427832144c2bf7308ada3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">admin_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">
+<p>Red admin </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae46311a3fefc21abc838a26e91789de6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">rebuild_theme_table </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$themes</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">array</td><td class="paramname">$themes</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad4f74f33944a98b56d2c8c7601f124a4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">theme_status </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$themes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$th</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">array</td><td class="paramname">$themes</td><td></td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$th</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>int </dd></dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af81f081851791cd15e49e8ff6722dc27"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">toggle_theme </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$themes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$th</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$result</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">array</td><td class="paramname">$themes</td><td></td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$th</td><td></td></tr>
+ <tr><td class="paramtype">int</td><td class="paramname">$result</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/admin_8php.js b/doc/html/admin_8php.js
new file mode 100644
index 000000000..c3f42aa49
--- /dev/null
+++ b/doc/html/admin_8php.js
@@ -0,0 +1,18 @@
+var admin_8php =
+[
+ [ "admin_content", "admin_8php.html#afef415e4011607fbb665610441595015", null ],
+ [ "admin_page_dbsync", "admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade", null ],
+ [ "admin_page_logs", "admin_8php.html#a1d1362698af14d209aa3a0fb655551dd", null ],
+ [ "admin_page_logs_post", "admin_8php.html#a233b7c8c31776b7020532003c6e44e1c", null ],
+ [ "admin_page_plugins", "admin_8php.html#a54128076986ba80c4a103de3fc3e19a8", null ],
+ [ "admin_page_site", "admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e", null ],
+ [ "admin_page_site_post", "admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f", null ],
+ [ "admin_page_summary", "admin_8php.html#ac6e95b920b5abd030cc522964987087a", null ],
+ [ "admin_page_themes", "admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb", null ],
+ [ "admin_page_users", "admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2", null ],
+ [ "admin_page_users_post", "admin_8php.html#a5a696706a3869800e65fb365214241b7", null ],
+ [ "admin_post", "admin_8php.html#acf51f5837a7427832144c2bf7308ada3", null ],
+ [ "rebuild_theme_table", "admin_8php.html#ae46311a3fefc21abc838a26e91789de6", null ],
+ [ "theme_status", "admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4", null ],
+ [ "toggle_theme", "admin_8php.html#af81f081851791cd15e49e8ff6722dc27", null ]
+]; \ No newline at end of file
diff --git a/doc/html/allfriends_8php.html b/doc/html/allfriends_8php.html
new file mode 100644
index 000000000..9d55a584d
--- /dev/null
+++ b/doc/html/allfriends_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/allfriends.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="rhash-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('allfriends_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">allfriends.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:aad992ddbb5f20e81c5cf2259718aec83"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aad992ddbb5f20e81c5cf2259718aec83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aad992ddbb5f20e81c5cf2259718aec83"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">allfriends_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/allfriends_8php.js b/doc/html/allfriends_8php.js
new file mode 100644
index 000000000..906fc42b8
--- /dev/null
+++ b/doc/html/allfriends_8php.js
@@ -0,0 +1,4 @@
+var allfriends_8php =
+[
+ [ "allfriends_content", "allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83", null ]
+]; \ No newline at end of file
diff --git a/doc/html/annotated.html b/doc/html/annotated.html
new file mode 100644
index 000000000..a1b4d0318
--- /dev/null
+++ b/doc/html/annotated.html
@@ -0,0 +1,143 @@
+<!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: Class 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="rhash-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 class="current"><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('annotated.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">Class List</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceacl__selectors.html" target="_self">acl_selectors</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceFriendica.html" target="_self">Friendica</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacefriendica-to-smarty-tpl.html" target="_self">friendica-to-smarty-tpl</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceupdatetpl.html" target="_self">updatetpl</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceutil.html" target="_self">util</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><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="classApp.html" target="_self">App</a></td><td class="desc"></td></tr>
+<tr id="row_6_" 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="classBaseObject.html" target="_self">BaseObject</a></td><td class="desc"></td></tr>
+<tr id="row_7_"><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="classCache.html" target="_self">Cache</a></td><td class="desc"></td></tr>
+<tr id="row_8_" 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="classConversation.html" target="_self">Conversation</a></td><td class="desc"></td></tr>
+<tr id="row_9_"><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="classdba__driver.html" target="_self">dba_driver</a></td><td class="desc"></td></tr>
+<tr id="row_10_" 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="classdba__mysql.html" target="_self">dba_mysql</a></td><td class="desc"></td></tr>
+<tr id="row_11_"><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="classdba__mysqli.html" target="_self">dba_mysqli</a></td><td class="desc"></td></tr>
+<tr id="row_12_" 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="classenotify.html" target="_self">enotify</a></td><td class="desc"></td></tr>
+<tr id="row_13_"><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="classFKOAuth1.html" target="_self">FKOAuth1</a></td><td class="desc"></td></tr>
+<tr id="row_14_" 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="classFKOAuthDataStore.html" target="_self">FKOAuthDataStore</a></td><td class="desc"></td></tr>
+<tr id="row_15_"><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="classFriendicaSmarty.html" target="_self">FriendicaSmarty</a></td><td class="desc"></td></tr>
+<tr id="row_16_" 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="classFriendicaSmartyEngine.html" target="_self">FriendicaSmartyEngine</a></td><td class="desc"></td></tr>
+<tr id="row_17_"><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="classItem.html" target="_self">Item</a></td><td class="desc"></td></tr>
+<tr id="row_18_" 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="interfaceITemplateEngine.html" target="_self">ITemplateEngine</a></td><td class="desc"></td></tr>
+<tr id="row_19_"><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__driver.html" target="_self">photo_driver</a></td><td class="desc"></td></tr>
+<tr id="row_20_" 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="classphoto__gd.html" target="_self">photo_gd</a></td><td class="desc"></td></tr>
+<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="classTemplate.html" target="_self">Template</a></td><td class="desc"></td></tr>
+<tr id="row_24_" 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>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/annotated.js b/doc/html/annotated.js
new file mode 100644
index 000000000..243dc679f
--- /dev/null
+++ b/doc/html/annotated.js
@@ -0,0 +1,28 @@
+var annotated =
+[
+ [ "acl_selectors", "namespaceacl__selectors.html", null ],
+ [ "Friendica", "namespaceFriendica.html", null ],
+ [ "friendica-to-smarty-tpl", "namespacefriendica-to-smarty-tpl.html", null ],
+ [ "updatetpl", "namespaceupdatetpl.html", null ],
+ [ "util", "namespaceutil.html", null ],
+ [ "App", "classApp.html", "classApp" ],
+ [ "BaseObject", "classBaseObject.html", "classBaseObject" ],
+ [ "Cache", "classCache.html", null ],
+ [ "Conversation", "classConversation.html", "classConversation" ],
+ [ "dba_driver", "classdba__driver.html", "classdba__driver" ],
+ [ "dba_mysql", "classdba__mysql.html", "classdba__mysql" ],
+ [ "dba_mysqli", "classdba__mysqli.html", "classdba__mysqli" ],
+ [ "enotify", "classenotify.html", null ],
+ [ "FKOAuth1", "classFKOAuth1.html", "classFKOAuth1" ],
+ [ "FKOAuthDataStore", "classFKOAuthDataStore.html", "classFKOAuthDataStore" ],
+ [ "FriendicaSmarty", "classFriendicaSmarty.html", "classFriendicaSmarty" ],
+ [ "FriendicaSmartyEngine", "classFriendicaSmartyEngine.html", "classFriendicaSmartyEngine" ],
+ [ "Item", "classItem.html", "classItem" ],
+ [ "ITemplateEngine", "interfaceITemplateEngine.html", "interfaceITemplateEngine" ],
+ [ "photo_driver", "classphoto__driver.html", "classphoto__driver" ],
+ [ "photo_gd", "classphoto__gd.html", "classphoto__gd" ],
+ [ "photo_imagick", "classphoto__imagick.html", "classphoto__imagick" ],
+ [ "ProtoDriver", "classProtoDriver.html", "classProtoDriver" ],
+ [ "Template", "classTemplate.html", "classTemplate" ],
+ [ "ZotDriver", "classZotDriver.html", "classZotDriver" ]
+]; \ No newline at end of file
diff --git a/doc/html/apps_8php.html b/doc/html/apps_8php.html
new file mode 100644
index 000000000..67b133d31
--- /dev/null
+++ b/doc/html/apps_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/apps.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="rhash-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('apps_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">apps.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:a546016cb960d0b110ee8e489dfa6c27c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a546016cb960d0b110ee8e489dfa6c27c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a546016cb960d0b110ee8e489dfa6c27c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">apps_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/apps_8php.js b/doc/html/apps_8php.js
new file mode 100644
index 000000000..a2ca0a3d7
--- /dev/null
+++ b/doc/html/apps_8php.js
@@ -0,0 +1,4 @@
+var apps_8php =
+[
+ [ "apps_content", "apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c", null ]
+]; \ No newline at end of file
diff --git a/doc/html/auth_8php.html b/doc/html/auth_8php.html
new file mode 100644
index 000000000..9666c84f4
--- /dev/null
+++ b/doc/html/auth_8php.html
@@ -0,0 +1,199 @@
+<!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: include/auth.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="rhash-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('auth_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> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">auth.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:a2add3a1129ffa4d5515442a9d52a9b1a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a">nuke_session</a> ()</td></tr>
+<tr class="separator:a2add3a1129ffa4d5515442a9d52a9b1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a07bae0e623e2daa9ee2cd5a8aa294dee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password</a> ($email, $pass)</td></tr>
+<tr class="separator:a07bae0e623e2daa9ee2cd5a8aa294dee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a0950af7c2888ca1d4743fe5d0bff9ae5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>((isset($_SESSION))&amp;&amp;(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SESSION,'authenticated'))&amp;&amp;((!(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_POST,'auth-params')))||($_POST['auth-params']!== <br class="typebreak"/>
+'<a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login</a>')))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="auth_8php.html#a0950af7c2888ca1d4743fe5d0bff9ae5">else</a></td></tr>
+<tr class="separator:a0950af7c2888ca1d4743fe5d0bff9ae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a07bae0e623e2daa9ee2cd5a8aa294dee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">account_verify_password </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$email</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pass</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Verify login credentials</p>
+<p>Returns account record on success, null on failure </p>
+<p>A plugin indicates successful login by setting 'authenticated' to non-zero value and returning a user record Plugins should never set 'authenticated' except to indicate success - as hooks may be chained and later plugins should not interfere with an earlier one that succeeded.</p>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2add3a1129ffa4d5515442a9d52a9b1a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">nuke_session </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a2e94eab9d6c164bfef7a1b2ab87b339b">api_account_logout()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a0950af7c2888ca1d4743fe5d0bff9ae5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> ((isset($_SESSION))&amp;&amp;(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SESSION,'authenticated'))&amp;&amp;((!(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_POST,'auth-params')))||($_POST['auth-params']!== '<a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login</a>'))) else</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">{</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">if</span>(isset($_SESSION)) {</div>
+<div class="line"> <a class="code" href="auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a">nuke_session</a>();</div>
+<div class="line"> }</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">if</span>((<a class="code" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_POST,<span class="stringliteral">&#39;password&#39;</span>)) &amp;&amp; strlen($_POST[<span class="stringliteral">&#39;password&#39;</span>]))</div>
+<div class="line"> $encrypted = hash(<span class="stringliteral">&#39;whirlpool&#39;</span>,trim($_POST[<span class="stringliteral">&#39;password&#39;</span>]))</div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/auth_8php.js b/doc/html/auth_8php.js
new file mode 100644
index 000000000..88b106675
--- /dev/null
+++ b/doc/html/auth_8php.js
@@ -0,0 +1,6 @@
+var auth_8php =
+[
+ [ "account_verify_password", "auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee", null ],
+ [ "nuke_session", "auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a", null ],
+ [ "else", "auth_8php.html#a0950af7c2888ca1d4743fe5d0bff9ae5", null ]
+]; \ No newline at end of file
diff --git a/doc/html/bb2diaspora_8php.html b/doc/html/bb2diaspora_8php.html
new file mode 100644
index 000000000..d7293a518
--- /dev/null
+++ b/doc/html/bb2diaspora_8php.html
@@ -0,0 +1,342 @@
+<!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: include/bb2diaspora.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="rhash-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('bb2diaspora_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">bb2diaspora.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:a4c2f8f11b29a06809d9b07782215b1b2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2">get_bb_tag_pos</a> ($s, $name, $occurance=1)</td></tr>
+<tr class="separator:a4c2f8f11b29a06809d9b07782215b1b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0abe1a7ee50aa0736a233df0a422eba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba">bb_tag_preg_replace</a> ($pattern, $replace, $name, $s)</td></tr>
+<tr class="separator:ad0abe1a7ee50aa0736a233df0a422eba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a26c09c218413610e62e60754c579f6c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6">diaspora2bb</a> ($s)</td></tr>
+<tr class="separator:a26c09c218413610e62e60754c579f6c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180b0e3a7d702998be19e3c3b44b0e93"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93">stripdcode_br_cb</a> ($s)</td></tr>
+<tr class="separator:a180b0e3a7d702998be19e3c3b44b0e93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc92ccda5f85ed27e64fcc17712c89cc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc">diaspora_ul</a> ($s)</td></tr>
+<tr class="separator:adc92ccda5f85ed27e64fcc17712c89cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b96bd45884fa1c40b942939354197d4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4">diaspora_ol</a> ($s)</td></tr>
+<tr class="separator:a8b96bd45884fa1c40b942939354197d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f10e0876b27373c762bc1abbe745f5c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora</a> ($Text, $preserve_nl=false, $fordiaspora=true)</td></tr>
+<tr class="separator:a4f10e0876b27373c762bc1abbe745f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a599428bceb6f6d82a6a78cb66811f747"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bb2diaspora_8php.html#a599428bceb6f6d82a6a78cb66811f747">unescape_underscores_in_links</a> ($m)</td></tr>
+<tr class="separator:a599428bceb6f6d82a6a78cb66811f747"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29a2ad41f5826f3975fa9a49934ff863"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora</a> ($ev)</td></tr>
+<tr class="separator:a29a2ad41f5826f3975fa9a49934ff863"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a4f10e0876b27373c762bc1abbe745f5c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bb2diaspora </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$Text</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$preserve_nl</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$fordiaspora</em> = <code>true</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Transform #tags, strip off the [url] and replace spaces with underscore</p>
+
+<p>Referenced by <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad0abe1a7ee50aa0736a233df0a422eba"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bb_tag_preg_replace </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pattern</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$replace</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</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>$s</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="bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6">diaspora2bb()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a26c09c218413610e62e60754c579f6c6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">diaspora2bb </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">
+
+</div>
+</div>
+<a class="anchor" id="a8b96bd45884fa1c40b942939354197d4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">diaspora_ol </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">
+
+</div>
+</div>
+<a class="anchor" id="adc92ccda5f85ed27e64fcc17712c89cc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">diaspora_ul </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">
+
+</div>
+</div>
+<a class="anchor" id="a29a2ad41f5826f3975fa9a49934ff863"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">format_event_diaspora </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$ev</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4c2f8f11b29a06809d9b07782215b1b2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_bb_tag_pos </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>$name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$occurance</em> = <code>1</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="bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba">bb_tag_preg_replace()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a180b0e3a7d702998be19e3c3b44b0e93"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">stripdcode_br_cb </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">
+
+</div>
+</div>
+<a class="anchor" id="a599428bceb6f6d82a6a78cb66811f747"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unescape_underscores_in_links </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$m</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/bb2diaspora_8php.js b/doc/html/bb2diaspora_8php.js
new file mode 100644
index 000000000..4b7e4db0f
--- /dev/null
+++ b/doc/html/bb2diaspora_8php.js
@@ -0,0 +1,12 @@
+var bb2diaspora_8php =
+[
+ [ "bb2diaspora", "bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c", null ],
+ [ "bb_tag_preg_replace", "bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba", null ],
+ [ "diaspora2bb", "bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6", null ],
+ [ "diaspora_ol", "bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4", null ],
+ [ "diaspora_ul", "bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc", null ],
+ [ "format_event_diaspora", "bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863", null ],
+ [ "get_bb_tag_pos", "bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2", null ],
+ [ "stripdcode_br_cb", "bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93", null ],
+ [ "unescape_underscores_in_links", "bb2diaspora_8php.html#a599428bceb6f6d82a6a78cb66811f747", null ]
+]; \ No newline at end of file
diff --git a/doc/html/bbcode_8php.html b/doc/html/bbcode_8php.html
new file mode 100644
index 000000000..0ad017f65
--- /dev/null
+++ b/doc/html/bbcode_8php.html
@@ -0,0 +1,246 @@
+<!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: include/bbcode.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="rhash-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('bbcode_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">bbcode.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: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: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>
+<tr class="separator:a064dcfd9767df6f53be1a0e11ceeb15d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52c45273fbb7ce5ec27094f7936856e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(!function_exists('bb_extract_images')) <br class="typebreak"/>
+<a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(!function_exists('bb_replace_images'))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a52c45273fbb7ce5ec27094f7936856e1">bb_ShareAttributes</a> ($match)</td></tr>
+<tr class="separator:a52c45273fbb7ce5ec27094f7936856e1"><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:a009f61aaf78771737ed0765c8463911b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a> ($Text, $preserve_nl=false, $<a class="el" href="bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7">tryoembed</a>=true)</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="a52c45273fbb7ce5ec27094f7936856e1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (!function_exists('bb_extract_images')) <a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (!function_exists('bb_replace_images')) bb_ShareAttributes </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="a2be26414a367118143cc89e2d58e7377"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bb_ShareAttributesSimple </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="a8911e027907820df3db03b4f76724b50"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bb_spacefy </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$st</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a064dcfd9767df6f53be1a0e11ceeb15d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bb_unspacefy_and_trim </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$st</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a009f61aaf78771737ed0765c8463911b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bbcode </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$Text</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$preserve_nl</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$tryoembed</em> = <code>true</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="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api_format_messages()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <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="boot_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>
+
+</div>
+</div>
+<a class="anchor" id="a55b0cb6973f1ec731de0e726bcc0efa7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tryoembed </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
new file mode 100644
index 000000000..9cd2e8919
--- /dev/null
+++ b/doc/html/bbcode_8php.js
@@ -0,0 +1,9 @@
+var bbcode_8php =
+[
+ [ "bb_ShareAttributes", "bbcode_8php.html#a52c45273fbb7ce5ec27094f7936856e1", 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 ],
+ [ "tryoembed", "bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7", null ]
+]; \ No newline at end of file
diff --git a/doc/html/bc_s.png b/doc/html/bc_s.png
new file mode 100644
index 000000000..224b29aa9
--- /dev/null
+++ b/doc/html/bc_s.png
Binary files differ
diff --git a/doc/html/bdwn.png b/doc/html/bdwn.png
new file mode 100644
index 000000000..940a0b950
--- /dev/null
+++ b/doc/html/bdwn.png
Binary files differ
diff --git a/doc/html/blocks_8php.html b/doc/html/blocks_8php.html
new file mode 100644
index 000000000..b99143aee
--- /dev/null
+++ b/doc/html/blocks_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/blocks.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="rhash-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('blocks_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">blocks.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:a2531a8fd51db3cecb2eb20c002c66e12"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a2531a8fd51db3cecb2eb20c002c66e12"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a2531a8fd51db3cecb2eb20c002c66e12"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">blocks_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/blocks_8php.js b/doc/html/blocks_8php.js
new file mode 100644
index 000000000..b2123aa00
--- /dev/null
+++ b/doc/html/blocks_8php.js
@@ -0,0 +1,4 @@
+var blocks_8php =
+[
+ [ "blocks_content", "blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12", null ]
+]; \ No newline at end of file
diff --git a/doc/html/boot_8php.html b/doc/html/boot_8php.html
new file mode 100644
index 000000000..d9d754e9b
--- /dev/null
+++ b/doc/html/boot_8php.html
@@ -0,0 +1,4642 @@
+<!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: boot.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="rhash-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('boot_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="#nested-classes">Classes</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">boot.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="classApp.html">App</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:aca47505b8732177f52bb2d647eb2741c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aca47505b8732177f52bb2d647eb2741c">startup</a> ()</td></tr>
+<tr class="separator:aca47505b8732177f52bb2d647eb2741c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e6db7e365f2b041a828b93786f694bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0e6db7e365f2b041a828b93786f694bc">get_app</a> ()</td></tr>
+<tr class="separator:a0e6db7e365f2b041a828b93786f694bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01353c9abebc3544ea080ac161729632"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a> ($s, $k=NULL)</td></tr>
+<tr class="separator:a01353c9abebc3544ea080ac161729632"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac608a34f3bc180e7724192e0fd31f9b0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0">system_unavailable</a> ()</td></tr>
+<tr class="separator:ac608a34f3bc180e7724192e0fd31f9b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab79b8b4555cae20d03f8200666d89d63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab79b8b4555cae20d03f8200666d89d63">clean_urls</a> ()</td></tr>
+<tr class="separator:ab79b8b4555cae20d03f8200666d89d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba208673515cbb8a55e5fa4a1da99fda"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda">z_path</a> ()</td></tr>
+<tr class="separator:aba208673515cbb8a55e5fa4a1da99fda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add517a0958ac684792c62142a3877f81"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#add517a0958ac684792c62142a3877f81">z_root</a> ()</td></tr>
+<tr class="separator:add517a0958ac684792c62142a3877f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a081307d681d7d04f17b9ced2076e7c85"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a081307d681d7d04f17b9ced2076e7c85">absurl</a> ($path)</td></tr>
+<tr class="separator:a081307d681d7d04f17b9ced2076e7c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac17fc8a416ea79e9d5cb4dc9a8ff8c5c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c">is_ajax</a> ()</td></tr>
+<tr class="separator:ac17fc8a416ea79e9d5cb4dc9a8ff8c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c02d88e66852a01bd5a1feecb7c3ce3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config</a> (&amp;$a)</td></tr>
+<tr class="separator:a4c02d88e66852a01bd5a1feecb7c3ce3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca5e42678e178c6b9034610d66666fd7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls</a> ($oldurl, $newurl)</td></tr>
+<tr class="separator:aca5e42678e178c6b9034610d66666fd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aefecf8599036df7f1b95d6820e0e2fa4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login</a> ($register=false, $form_id= 'main-login', $hiddens=false)</td></tr>
+<tr class="separator:aefecf8599036df7f1b95d6820e0e2fa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea7fc57a4d8e9dcb42f2601b0b9b761c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c">killme</a> ()</td></tr>
+<tr class="separator:aea7fc57a4d8e9dcb42f2601b0b9b761c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ab6181607a090bcdbaa13b15b85aba1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1">goaway</a> ($s)</td></tr>
+<tr class="separator:a5ab6181607a090bcdbaa13b15b85aba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe88b920aa285982edb817a0dd44eb37"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#afe88b920aa285982edb817a0dd44eb37">get_account_id</a> ()</td></tr>
+<tr class="separator:afe88b920aa285982edb817a0dd44eb37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4c9dc2c8a82e8f52b7404c1655eab44"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">local_user</a> ()</td></tr>
+<tr class="separator:ad4c9dc2c8a82e8f52b7404c1655eab44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5542c5c2806ab8bca04bad53d47b5209"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209">remote_user</a> ()</td></tr>
+<tr class="separator:a5542c5c2806ab8bca04bad53d47b5209"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9255af5ae9c887520091ea04763c1a88"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice</a> ($s)</td></tr>
+<tr class="separator:a9255af5ae9c887520091ea04763c1a88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adfb2fc7be5a4226c0a8e24131da9d498"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info</a> ($s)</td></tr>
+<tr class="separator:adfb2fc7be5a4226c0a8e24131da9d498"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97769915c9f14adc4f8ab1ea2cecfd90"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90">get_max_import_size</a> ()</td></tr>
+<tr class="separator:a97769915c9f14adc4f8ab1ea2cecfd90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4751b522ea913d0e7ed43e03d22e9e68"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load</a> (&amp;$a, $nickname, $profile= '')</td></tr>
+<tr class="separator:a4751b522ea913d0e7ed43e03d22e9e68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4a2c8caca8f6ae93633ebeca0ed6620"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar</a> (&amp;$a, $connect=true)</td></tr>
+<tr class="separator:ad4a2c8caca8f6ae93633ebeca0ed6620"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a432259b2cf5b6f59be53e71db9f2c7dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar</a> ($profile, $block=0, $show_connect=true)</td></tr>
+<tr class="separator:a432259b2cf5b6f59be53e71db9f2c7dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2c97627a313d53df1a1c7b4215ddb51"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays</a> ()</td></tr>
+<tr class="separator:ad2c97627a313d53df1a1c7b4215ddb51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae381db3d43f8e7c1da8b15d14ecf5312"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events</a> ()</td></tr>
+<tr class="separator:ae381db3d43f8e7c1da8b15d14ecf5312"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab346a2ece14993861f3e4206befa94f0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run</a> ($cmd)</td></tr>
+<tr class="separator:ab346a2ece14993861f3e4206befa94f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad206598b909e8eb67eb0e0bb5ef69c13"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme</a> ()</td></tr>
+<tr class="separator:ad206598b909e8eb67eb0e0bb5ef69c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a926cad0b3d8b9d9ee5da1898fc063ba3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">current_theme_url</a> ($installing=false)</td></tr>
+<tr class="separator:a926cad0b3d8b9d9ee5da1898fc063ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab55e545b72ec8c097e052ea7d373491f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab55e545b72ec8c097e052ea7d373491f">z_birthday</a> ($<a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob</a>, $tz, $format=&quot;Y-m-d H:i:s&quot;)</td></tr>
+<tr class="separator:ab55e545b72ec8c097e052ea7d373491f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1e828bbbcba170265eb2668d8daf42e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">is_site_admin</a> ()</td></tr>
+<tr class="separator:aa1e828bbbcba170265eb2668d8daf42e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a719c7f3972d5f9268f37a41c76cd4ef6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links</a> ($uid)</td></tr>
+<tr class="separator:a719c7f3972d5f9268f37a41c76cd4ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1dfcb5146e9d1eca4528bc580ad5d273"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs</a> ($a, $is_owner=False, $nickname=Null)</td></tr>
+<tr class="separator:a1dfcb5146e9d1eca4528bc580ad5d273"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa46321e1cd6a3b8dfde8bf9510112fec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec">get_my_url</a> ()</td></tr>
+<tr class="separator:aa46321e1cd6a3b8dfde8bf9510112fec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a490972c02fdb638c52ec0e012a30bfd2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a490972c02fdb638c52ec0e012a30bfd2">get_my_address</a> ()</td></tr>
+<tr class="separator:a490972c02fdb638c52ec0e012a30bfd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a680fbafc2db023c5b1309e0180e81315"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a680fbafc2db023c5b1309e0180e81315"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b815330f3d177ab383af37a6c12e532"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5b815330f3d177ab383af37a6c12e532">zid</a> ($s, $address= '')</td></tr>
+<tr class="separator:a5b815330f3d177ab383af37a6c12e532"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cbab4ee728e9a8b4ce952bae643044e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e">build_querystring</a> ($params, $name=null)</td></tr>
+<tr class="separator:a9cbab4ee728e9a8b4ce952bae643044e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc0a90a1a77f5b668aa7e4b57d1776a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a> ()</td></tr>
+<tr class="separator:abc0a90a1a77f5b668aa7e4b57d1776a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a768f00b7d66be0daf7ef4eea2e862006"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="separator:a768f00b7d66be0daf7ef4eea2e862006"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e0930933fb2c0bf8211cc7ab4e1c3b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4">dba_timer</a> ()</td></tr>
+<tr class="separator:a3e0930933fb2c0bf8211cc7ab4e1c3b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a623e49c79943f3e7bdb770d021683cf7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a623e49c79943f3e7bdb770d021683cf7">get_observer_hash</a> ()</td></tr>
+<tr class="separator:a623e49c79943f3e7bdb770d021683cf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4221641e5c21db69fa52c426b9017f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa4221641e5c21db69fa52c426b9017f5">curPageURL</a> ()</td></tr>
+<tr class="separator:aa4221641e5c21db69fa52c426b9017f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a899d24fd074594ceebbf72e1feff335f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a899d24fd074594ceebbf72e1feff335f">get_custom_nav</a> (&amp;$a, $navname)</td></tr>
+<tr class="separator:a899d24fd074594ceebbf72e1feff335f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc4e0c910af066148b810e5fde55fff1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page</a> (&amp;$a)</td></tr>
+<tr class="separator:acc4e0c910af066148b810e5fde55fff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75a90b0eadd0df510f7e63210733634d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a75a90b0eadd0df510f7e63210733634d">appdirpath</a> ()</td></tr>
+<tr class="separator:a75a90b0eadd0df510f7e63210733634d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e4701c9742c3ef88f02ac450a042a84"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84">head_set_icon</a> ($icon)</td></tr>
+<tr class="separator:a0e4701c9742c3ef88f02ac450a042a84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24a7a70afedd5d85fe0eadc85afa9f77"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">head_get_icon</a> ()</td></tr>
+<tr class="separator:a24a7a70afedd5d85fe0eadc85afa9f77"><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="boot_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid</a> ()</td></tr>
+<tr class="separator:aaeb666872995e3ab8da8f7bc5f3b2bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a96ad56755a21e1361dbd7bf93c9e7ff4"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4">RED_PLATFORM</a> 'Red Matrix'</td></tr>
+<tr class="separator:a96ad56755a21e1361dbd7bf93c9e7ff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21cc29e0025943e7c28ff58cb4856ac3"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3">RED_VERSION</a> trim(file_get_contents('version.inc')) . 'R'</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> 1069</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>
+<tr class="memitem:ad34c1547020a305915bcc39707744690"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad34c1547020a305915bcc39707744690">ATOM_TIME</a> 'Y-m-d\TH:i:s\Z'</td></tr>
+<tr class="separator:ad34c1547020a305915bcc39707744690"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab7d65a7e7417825a4db62906bb600729"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab7d65a7e7417825a4db62906bb600729">DIRECTORY_MODE_NORMAL</a> 0x0000</td></tr>
+<tr class="separator:ab7d65a7e7417825a4db62906bb600729"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a60cc38bb567765fd926fef70205f16"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a8a60cc38bb567765fd926fef70205f16">DIRECTORY_MODE_PRIMARY</a> 0x0001</td></tr>
+<tr class="separator:a8a60cc38bb567765fd926fef70205f16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aedfb9501ed408278667995524e0d15cf"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aedfb9501ed408278667995524e0d15cf">DIRECTORY_MODE_SECONDARY</a> 0x0002</td></tr>
+<tr class="separator:aedfb9501ed408278667995524e0d15cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25476eec71fceda237f7dc1d78b0adb8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8">DIRECTORY_MODE_STANDALONE</a> 0x0100</td></tr>
+<tr class="separator:a25476eec71fceda237f7dc1d78b0adb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b9909db6a7ec80ec6fdd40ba74014dd"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd">DIRECTORY_REALM</a> 'RED_GLOBAL'</td></tr>
+<tr class="separator:a6b9909db6a7ec80ec6fdd40ba74014dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abedd940e664017c61b48c6efa31d0cb8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#abedd940e664017c61b48c6efa31d0cb8">DIRECTORY_FALLBACK_MASTER</a> 'https://zothub.com'</td></tr>
+<tr class="separator:abedd940e664017c61b48c6efa31d0cb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3475ff6c2e575f946ea0ee377e944173"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a3475ff6c2e575f946ea0ee377e944173">JPEG_QUALITY</a> 100</td></tr>
+<tr class="separator:a3475ff6c2e575f946ea0ee377e944173"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8df201788c9dd0ca91384e3a14c08bce"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce">PNG_QUALITY</a> 8</td></tr>
+<tr class="separator:a8df201788c9dd0ca91384e3a14c08bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a17cf72338b040891781a4bcbdd9a8595"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a17cf72338b040891781a4bcbdd9a8595">LANGUAGE_DETECT_MIN_LENGTH</a> 128</td></tr>
+<tr class="separator:a17cf72338b040891781a4bcbdd9a8595"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68d1d5bc9c7ccb663dc671b48c66df11"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11">LANGUAGE_DETECT_MIN_CONFIDENCE</a> 0.01</td></tr>
+<tr class="separator:a68d1d5bc9c7ccb663dc671b48c66df11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a525ca93ff35d3535d1a2b8ba57876afa"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa">MAX_IMAGE_LENGTH</a> -1</td></tr>
+<tr class="separator:a525ca93ff35d3535d1a2b8ba57876afa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8a2b61e70900139d1ca28e46f1da49d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d">DEFAULT_DB_ENGINE</a> 'MyISAM'</td></tr>
+<tr class="separator:aa8a2b61e70900139d1ca28e46f1da49d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af86c651547aa8f9e549ee40a09455549"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#af86c651547aa8f9e549ee40a09455549">SSL_POLICY_NONE</a> 0</td></tr>
+<tr class="separator:af86c651547aa8f9e549ee40a09455549"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02566ac9d891369a1d3ebb81a15722fc"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc">SSL_POLICY_FULL</a> 1</td></tr>
+<tr class="separator:a02566ac9d891369a1d3ebb81a15722fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adca48aee78465ae3064ca4432c0d87b5"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#adca48aee78465ae3064ca4432c0d87b5">SSL_POLICY_SELFSIGN</a> 2</td></tr>
+<tr class="separator:adca48aee78465ae3064ca4432c0d87b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a17b4ea23d9ecf628d9c8f53b7abcb805"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805">LOGGER_NORMAL</a> 0</td></tr>
+<tr class="separator:a17b4ea23d9ecf628d9c8f53b7abcb805"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a022cea669f9f13ef7c6268b63884c57f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a022cea669f9f13ef7c6268b63884c57f">LOGGER_TRACE</a> 1</td></tr>
+<tr class="separator:a022cea669f9f13ef7c6268b63884c57f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93823d15ae07548a4c49de88d325cd26"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a93823d15ae07548a4c49de88d325cd26">LOGGER_DEBUG</a> 2</td></tr>
+<tr class="separator:a93823d15ae07548a4c49de88d325cd26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6969947145a139ec374ce098224d8e81"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6969947145a139ec374ce098224d8e81">LOGGER_DATA</a> 3</td></tr>
+<tr class="separator:a6969947145a139ec374ce098224d8e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe63ae69ba55299f813766e54df06ede"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#afe63ae69ba55299f813766e54df06ede">LOGGER_ALL</a> 4</td></tr>
+<tr class="separator:afe63ae69ba55299f813766e54df06ede"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69aac276ed82e010dc382b16ab4d59e1"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1">REGISTER_CLOSED</a> 0</td></tr>
+<tr class="separator:a69aac276ed82e010dc382b16ab4d59e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7176c0f9f1c98421b97735d892cf6252"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7176c0f9f1c98421b97735d892cf6252">REGISTER_APPROVE</a> 1</td></tr>
+<tr class="separator:a7176c0f9f1c98421b97735d892cf6252"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8887b49bbb02dd30b4eb9f6c7773c63"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63">REGISTER_OPEN</a> 2</td></tr>
+<tr class="separator:ad8887b49bbb02dd30b4eb9f6c7773c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f3474fec541e261fc8dff47313c4017"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7f3474fec541e261fc8dff47313c4017">ACCESS_PRIVATE</a> 0</td></tr>
+<tr class="separator:a7f3474fec541e261fc8dff47313c4017"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c80420e5a063a4a87ce4831f086134d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9c80420e5a063a4a87ce4831f086134d">ACCESS_PAID</a> 1</td></tr>
+<tr class="separator:a9c80420e5a063a4a87ce4831f086134d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afbb1fe1b2c8c730ec8e08da93b6512c4"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#afbb1fe1b2c8c730ec8e08da93b6512c4">ACCESS_FREE</a> 2</td></tr>
+<tr class="separator:afbb1fe1b2c8c730ec8e08da93b6512c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada72d88ae39a7e3b45baea201cb49a29"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29">CONTACT_IS_FOLLOWER</a> 1</td></tr>
+<tr class="separator:ada72d88ae39a7e3b45baea201cb49a29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6c5e9e293c8242dcb9bc2c3ea2fee2c9"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9">CONTACT_IS_SHARING</a> 2</td></tr>
+<tr class="separator:a6c5e9e293c8242dcb9bc2c3ea2fee2c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27299ecfb9e9a99826f17a1c14c6995f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f">CONTACT_IS_FRIEND</a> 3</td></tr>
+<tr class="separator:a27299ecfb9e9a99826f17a1c14c6995f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac86615ddc0763a00f5311c90e991730c"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac86615ddc0763a00f5311c90e991730c">UPDATE_SUCCESS</a> 0</td></tr>
+<tr class="separator:ac86615ddc0763a00f5311c90e991730c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75fc600186b13c3b25e661afefb5eac8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a75fc600186b13c3b25e661afefb5eac8">UPDATE_FAILED</a> 1</td></tr>
+<tr class="separator:a75fc600186b13c3b25e661afefb5eac8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43c6c7d84d880e9500bd4f8f8ecc5731"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731">CLIENT_MODE_NORMAL</a> 0x0000</td></tr>
+<tr class="separator:a43c6c7d84d880e9500bd4f8f8ecc5731"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6f6f6f40139f12fc09ec47373b30919"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#af6f6f6f40139f12fc09ec47373b30919">CLIENT_MODE_LOAD</a> 0x0001</td></tr>
+<tr class="separator:af6f6f6f40139f12fc09ec47373b30919"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f40aa5bafff8c4eebdc62e5121daf77"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77">CLIENT_MODE_UPDATE</a> 0x0002</td></tr>
+<tr class="separator:a3f40aa5bafff8c4eebdc62e5121daf77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09532c3f750ae8c4527e63b2b790cbf3"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3">PAGE_NORMAL</a> 0x0000</td></tr>
+<tr class="separator:a09532c3f750ae8c4527e63b2b790cbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e322a2a2d0f51924c0b2e874988e640"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640">PAGE_HIDDEN</a> 0x0001</td></tr>
+<tr class="separator:a5e322a2a2d0f51924c0b2e874988e640"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa275653b9c87abc7391bb8040c1c2de9"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9">PAGE_AUTOCONNECT</a> 0x0002</td></tr>
+<tr class="separator:aa275653b9c87abc7391bb8040c1c2de9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8231d115060d41a9c2a677f2c86f10ed"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed">PAGE_APPLICATION</a> 0x0004</td></tr>
+<tr class="separator:a8231d115060d41a9c2a677f2c86f10ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b8484922918946d041e5e0515dbe718"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5b8484922918946d041e5e0515dbe718">PAGE_DIRECTORY_CHANNEL</a> 0x0008</td></tr>
+<tr class="separator:a5b8484922918946d041e5e0515dbe718"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3920c2f3cd64802c0b7ff625c3b2ea8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8">PAGE_PREMIUM</a> 0x0010</td></tr>
+<tr class="separator:ab3920c2f3cd64802c0b7ff625c3b2ea8"><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>
+<tr class="separator:a4a49b29838ef2c45ab3556b52baec6a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4bc9c50ecc927b92d519e36562b0df0"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0">PHOTO_PROFILE</a> 0x0001</td></tr>
+<tr class="separator:ab4bc9c50ecc927b92d519e36562b0df0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac43182e0d8bae7576a30b603774974f8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac43182e0d8bae7576a30b603774974f8">PHOTO_XCHAN</a> 0x0002</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: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>
+<tr class="separator:a2c65e925994566a63e6c03c381f1b4a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef4b6c558c68c88c10f13c5a00c20e3d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d">NETWORK_OSTATUS</a> 'stat'</td></tr>
+<tr class="separator:aef4b6c558c68c88c10f13c5a00c20e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4bddb41a0cf407178ec5278b950c393"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab4bddb41a0cf407178ec5278b950c393">NETWORK_FEED</a> 'feed'</td></tr>
+<tr class="separator:ab4bddb41a0cf407178ec5278b950c393"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38f6c7fe33b5434a24b4314567753dfa"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa">NETWORK_DIASPORA</a> 'dspr'</td></tr>
+<tr class="separator:a38f6c7fe33b5434a24b4314567753dfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7236b2cdcf59f02a42302e893a99013b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7236b2cdcf59f02a42302e893a99013b">NETWORK_MAIL</a> 'mail'</td></tr>
+<tr class="separator:a7236b2cdcf59f02a42302e893a99013b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa17a4f9c63f5cbc5c06f1066b6aebc42"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42">NETWORK_MAIL2</a> 'mai2'</td></tr>
+<tr class="separator:aa17a4f9c63f5cbc5c06f1066b6aebc42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3905ea8f8568d0236db13fca40514e3"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#af3905ea8f8568d0236db13fca40514e3">NETWORK_FACEBOOK</a> 'face'</td></tr>
+<tr class="separator:af3905ea8f8568d0236db13fca40514e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b043b7fdcfd4e8c9c3747574afc6caa"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa">NETWORK_LINKEDIN</a> 'lnkd'</td></tr>
+<tr class="separator:a5b043b7fdcfd4e8c9c3747574afc6caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43296b1b4398aacbf92a4b2d56bab91e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e">NETWORK_XMPP</a> 'xmpp'</td></tr>
+<tr class="separator:a43296b1b4398aacbf92a4b2d56bab91e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae94f7c7c0909629a75aed1c41f10bc95"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95">NETWORK_MYSPACE</a> 'mysp'</td></tr>
+<tr class="separator:ae94f7c7c0909629a75aed1c41f10bc95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8905fde0a5b7882bdc083b20d9b34701"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701">NETWORK_GPLUS</a> 'goog'</td></tr>
+<tr class="separator:a8905fde0a5b7882bdc083b20d9b34701"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab21fb0f3e6b962419955c6fc7f26734f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f">NETWORK_PHANTOM</a> 'unkn'</td></tr>
+<tr class="separator:ab21fb0f3e6b962419955c6fc7f26734f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec36f8fcd4cb14a52934590b3d6666b4"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4">PERMS_R_STREAM</a> 0x0001</td></tr>
+<tr class="separator:aec36f8fcd4cb14a52934590b3d6666b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad789aef3cb95fc1eb36be7c4283d0137"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137">PERMS_R_PROFILE</a> 0x0002</td></tr>
+<tr class="separator:ad789aef3cb95fc1eb36be7c4283d0137"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29e921c0c72412cc738e44cca6ca1f62"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62">PERMS_R_PHOTOS</a> 0x0004</td></tr>
+<tr class="separator:a29e921c0c72412cc738e44cca6ca1f62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6d4fc5fafcc9156811669158541caf"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a3d6d4fc5fafcc9156811669158541caf">PERMS_R_ABOOK</a> 0x0008</td></tr>
+<tr class="separator:a3d6d4fc5fafcc9156811669158541caf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8bb0395933b5e886f086f6a2fb0bfa55"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55">PERMS_W_STREAM</a> 0x0010</td></tr>
+<tr class="separator:a8bb0395933b5e886f086f6a2fb0bfa55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b14a31a8aa9f3452a13383f413bffa2"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2">PERMS_W_WALL</a> 0x0020</td></tr>
+<tr class="separator:a6b14a31a8aa9f3452a13383f413bffa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99a4a17cb644e7e6826ea07ecaf09777"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777">PERMS_W_TAGWALL</a> 0x0040</td></tr>
+<tr class="separator:a99a4a17cb644e7e6826ea07ecaf09777"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32df13fec0e43281da5979e1f5579aa8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a32df13fec0e43281da5979e1f5579aa8">PERMS_W_COMMENT</a> 0x0080</td></tr>
+<tr class="separator:a32df13fec0e43281da5979e1f5579aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b31dd451bc6c37fe7c9c766ff385aaf"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf">PERMS_W_MAIL</a> 0x0100</td></tr>
+<tr class="separator:a6b31dd451bc6c37fe7c9c766ff385aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57eee7352714c004d36c26dda74af73e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a57eee7352714c004d36c26dda74af73e">PERMS_W_PHOTOS</a> 0x0200</td></tr>
+<tr class="separator:a57eee7352714c004d36c26dda74af73e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd877c405b06b348b37b6f7e62a211e9"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#acd877c405b06b348b37b6f7e62a211e9">PERMS_W_CHAT</a> 0x0400</td></tr>
+<tr class="separator:acd877c405b06b348b37b6f7e62a211e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a423505ab8dbd8e39d04ae3fe1374102b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b">PERMS_A_DELEGATE</a> 0x0800</td></tr>
+<tr class="separator:a423505ab8dbd8e39d04ae3fe1374102b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1db4f0009c9cb4e107eab0f914a3c8dc"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc">PERMS_R_STORAGE</a> 0x1000</td></tr>
+<tr class="separator:a1db4f0009c9cb4e107eab0f914a3c8dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4fefd7486d3b888a05cfd3dc9575f115"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115">PERMS_W_STORAGE</a> 0x2000</td></tr>
+<tr class="separator:a4fefd7486d3b888a05cfd3dc9575f115"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab51965fabe54dc031e9a0ce1142ee83e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e">PERMS_R_PAGES</a> 0x4000</td></tr>
+<tr class="separator:ab51965fabe54dc031e9a0ce1142ee83e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9244fc9cc221980c07a20cc534111be"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa9244fc9cc221980c07a20cc534111be">PERMS_W_PAGES</a> 0x8000</td></tr>
+<tr class="separator:aa9244fc9cc221980c07a20cc534111be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff210e8403dd72368522b17fb6e5d4e7"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7">PERMS_PUBLIC</a> 0x0001</td></tr>
+<tr class="separator:aff210e8403dd72368522b17fb6e5d4e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6df1102664f64b274810db85197c2755"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6df1102664f64b274810db85197c2755">PERMS_NETWORK</a> 0x0002</td></tr>
+<tr class="separator:a6df1102664f64b274810db85197c2755"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ff652e5cb83cd11cbb0350844e7b28f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f">PERMS_SITE</a> 0x0004</td></tr>
+<tr class="separator:a9ff652e5cb83cd11cbb0350844e7b28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2d0e8a9b81ee548ef2ce8e4560da2f6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6">PERMS_CONTACTS</a> 0x0008</td></tr>
+<tr class="separator:ab2d0e8a9b81ee548ef2ce8e4560da2f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cc986b4f9dd6558cbb2e25aadbfd964"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964">PERMS_SPECIFIC</a> 0x0080</td></tr>
+<tr class="separator:a9cc986b4f9dd6558cbb2e25aadbfd964"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52b599cd13e152ebc80d7e4413683195"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a52b599cd13e152ebc80d7e4413683195">ABOOK_FLAG_BLOCKED</a> 0x0001</td></tr>
+<tr class="separator:a52b599cd13e152ebc80d7e4413683195"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3425e2de85b08f7041656d3a8502cb6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6">ABOOK_FLAG_IGNORED</a> 0x0002</td></tr>
+<tr class="separator:aa3425e2de85b08f7041656d3a8502cb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34c756469ebed32e2fc987bcde62d382"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a34c756469ebed32e2fc987bcde62d382">ABOOK_FLAG_HIDDEN</a> 0x0004</td></tr>
+<tr class="separator:a34c756469ebed32e2fc987bcde62d382"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a222395aa223cfbff6166fab0b4e2e1d5"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5">ABOOK_FLAG_ARCHIVED</a> 0x0008</td></tr>
+<tr class="separator:a222395aa223cfbff6166fab0b4e2e1d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68eebe493e6f729ffd1aeda7a4b11155"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155">ABOOK_FLAG_PENDING</a> 0x0010</td></tr>
+<tr class="separator:a68eebe493e6f729ffd1aeda7a4b11155"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0450389f24c632906fbc24347700a543"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0450389f24c632906fbc24347700a543">ABOOK_FLAG_SELF</a> 0x0080</td></tr>
+<tr class="separator:a0450389f24c632906fbc24347700a543"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0876e837cf3fad8a26417e315f6e2c8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8">MAIL_DELETED</a> 0x0001</td></tr>
+<tr class="separator:ad0876e837cf3fad8a26417e315f6e2c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3679df31c8dad1b71816b0322d5baff"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa3679df31c8dad1b71816b0322d5baff">MAIL_REPLIED</a> 0x0002</td></tr>
+<tr class="separator:aa3679df31c8dad1b71816b0322d5baff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa544a6c078130d0967a1f4ed8ce0a2d2"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2">MAIL_ISREPLY</a> 0x0004</td></tr>
+<tr class="separator:aa544a6c078130d0967a1f4ed8ce0a2d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fbb93cf030f07391f22cc2948744869"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a1fbb93cf030f07391f22cc2948744869">MAIL_SEEN</a> 0x0008</td></tr>
+<tr class="separator:a1fbb93cf030f07391f22cc2948744869"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4861de36017fe399c1839f778bad9f5"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ae4861de36017fe399c1839f778bad9f5">MAIL_RECALLED</a> 0x0010</td></tr>
+<tr class="separator:ae4861de36017fe399c1839f778bad9f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44ae1542a805ffd7f826fb511db07374"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a44ae1542a805ffd7f826fb511db07374">MAIL_OBSCURED</a> 0x0020</td></tr>
+<tr class="separator:a44ae1542a805ffd7f826fb511db07374"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa74438cf71e48e37bf7b440b94243985"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa74438cf71e48e37bf7b440b94243985">ATTACH_FLAG_DIR</a> 0x0001</td></tr>
+<tr class="separator:aa74438cf71e48e37bf7b440b94243985"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a781916f83fcc8ff1035649afa45f0292"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a781916f83fcc8ff1035649afa45f0292">ATTACH_FLAG_OS</a> 0x0002</td></tr>
+<tr class="separator:a781916f83fcc8ff1035649afa45f0292"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed0dfb35f7dd00dc9e4f868ea7f7ff53"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53">MENU_ITEM_ZID</a> 0x0001</td></tr>
+<tr class="separator:aed0dfb35f7dd00dc9e4f868ea7f7ff53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad11f30a6590d3d77f0c5e1e3909af8f5"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad11f30a6590d3d77f0c5e1e3909af8f5">MENU_ITEM_NEWWIN</a> 0x0002</td></tr>
+<tr class="separator:ad11f30a6590d3d77f0c5e1e3909af8f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad88a70ec62e08d590123d3697dfe64d5"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5">POLL_SIMPLE_RATING</a> 0x0001</td></tr>
+<tr class="separator:ad88a70ec62e08d590123d3697dfe64d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1ba00027b718db732f30fc0e2c3e0abc"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc">POLL_TENSCALE</a> 0x0002</td></tr>
+<tr class="separator:a1ba00027b718db732f30fc0e2c3e0abc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abbf5ac24eb8aeedb862f618ee0d21e86"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86">POLL_MULTIPLE_CHOICE</a> 0x0004</td></tr>
+<tr class="separator:abbf5ac24eb8aeedb862f618ee0d21e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b525996e4426bdddbcec277778bde08"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a2b525996e4426bdddbcec277778bde08">POLL_OVERWRITE</a> 0x8000</td></tr>
+<tr class="separator:a2b525996e4426bdddbcec277778bde08"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35625dacd2158b9f1f1a8e77f9f081fd"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd">MAX_LIKERS</a> 75</td></tr>
+<tr class="separator:a35625dacd2158b9f1f1a8e77f9f081fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3cd42a70c6b3999590e4fd7a1a9096af"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af">ZCURL_TIMEOUT</a> (-1)</td></tr>
+<tr class="separator:a3cd42a70c6b3999590e4fd7a1a9096af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56fd673eaa7014150297ce1162502db5"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a56fd673eaa7014150297ce1162502db5">NOTIFY_INTRO</a> 0x0001</td></tr>
+<tr class="separator:a56fd673eaa7014150297ce1162502db5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8c0cb0744c9a6b5d6d3baafb1f1e71d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d">NOTIFY_CONFIRM</a> 0x0002</td></tr>
+<tr class="separator:af8c0cb0744c9a6b5d6d3baafb1f1e71d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a505410c7edc5f5bb5fa227b98359793e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a505410c7edc5f5bb5fa227b98359793e">NOTIFY_WALL</a> 0x0004</td></tr>
+<tr class="separator:a505410c7edc5f5bb5fa227b98359793e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20f0eed431d25870b624b8937a07a59f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a20f0eed431d25870b624b8937a07a59f">NOTIFY_COMMENT</a> 0x0008</td></tr>
+<tr class="separator:a20f0eed431d25870b624b8937a07a59f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a285732e7889fa7f333cbe431111e1029"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a285732e7889fa7f333cbe431111e1029">NOTIFY_MAIL</a> 0x0010</td></tr>
+<tr class="separator:a285732e7889fa7f333cbe431111e1029"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d01ef178b72b145016cca1393415bc4"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9d01ef178b72b145016cca1393415bc4">NOTIFY_SUGGEST</a> 0x0020</td></tr>
+<tr class="separator:a9d01ef178b72b145016cca1393415bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a981d46380f9f23c308bac1f9cb00dc5b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b">NOTIFY_PROFILE</a> 0x0040</td></tr>
+<tr class="separator:a981d46380f9f23c308bac1f9cb00dc5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab724491497ab2618b23a01d5da60aec0"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab724491497ab2618b23a01d5da60aec0">NOTIFY_TAGSELF</a> 0x0080</td></tr>
+<tr class="separator:ab724491497ab2618b23a01d5da60aec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6937db5f581d006bf4a5c3d9c7e0461"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461">NOTIFY_TAGSHARE</a> 0x0100</td></tr>
+<tr class="separator:af6937db5f581d006bf4a5c3d9c7e0461"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca08bc4f1554ba877500f6abcc99e1e8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8">NOTIFY_POKE</a> 0x0200</td></tr>
+<tr class="separator:aca08bc4f1554ba877500f6abcc99e1e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14d44d4a00223dc3db4ea962325db192"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a14d44d4a00223dc3db4ea962325db192">NOTIFY_SYSTEM</a> 0x8000</td></tr>
+<tr class="separator:a14d44d4a00223dc3db4ea962325db192"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ad9cc5d4354be741fa1de12b96e9955"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955">HUBLOC_FLAGS_PRIMARY</a> 0x0001</td></tr>
+<tr class="separator:a3ad9cc5d4354be741fa1de12b96e9955"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab54b24cc302e1a42a67a49d788b6b764"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764">HUBLOC_FLAGS_UNVERIFIED</a> 0x0002</td></tr>
+<tr class="separator:ab54b24cc302e1a42a67a49d788b6b764"><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>
+<tr class="separator:a1c923b99bf77e4203ae94e5684b6ad0f"><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>
+<tr class="separator:aa589421267f0c2f0d643f727792cce35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b56bfc6a0dd159070e316ddac3b7456"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456">HUBLOC_SEND_ERROR</a> 0x0001</td></tr>
+<tr class="separator:a3b56bfc6a0dd159070e316ddac3b7456"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abeb4d86e17cefa8584f1244e2183b0e1"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1">HUBLOC_RECEIVE_ERROR</a> 0x0002</td></tr>
+<tr class="separator:abeb4d86e17cefa8584f1244e2183b0e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a8ba64d089cc0412c59a2eefc6d655c"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c">HUBLOC_WORKS</a> 0x0004</td></tr>
+<tr class="separator:a7a8ba64d089cc0412c59a2eefc6d655c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a845891f82bf6edd7fa2d578b66703112"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a845891f82bf6edd7fa2d578b66703112">HUBLOC_OFFLINE</a> 0x0008</td></tr>
+<tr class="separator:a845891f82bf6edd7fa2d578b66703112"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c59dde058efebbc66520d136cbd1631"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0c59dde058efebbc66520d136cbd1631">TERM_UNKNOWN</a> 0</td></tr>
+<tr class="separator:a0c59dde058efebbc66520d136cbd1631"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2750985ec445617d7e82ae3098c91e3f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a2750985ec445617d7e82ae3098c91e3f">TERM_HASHTAG</a> 1</td></tr>
+<tr class="separator:a2750985ec445617d7e82ae3098c91e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae37444eaa42705185080ccf3e670cbc2"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ae37444eaa42705185080ccf3e670cbc2">TERM_MENTION</a> 2</td></tr>
+<tr class="separator:ae37444eaa42705185080ccf3e670cbc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af33d1b2e98a1e21af672005525d46dfe"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#af33d1b2e98a1e21af672005525d46dfe">TERM_CATEGORY</a> 3</td></tr>
+<tr class="separator:af33d1b2e98a1e21af672005525d46dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45b12aefab9675baffc7a07a09486db8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a45b12aefab9675baffc7a07a09486db8">TERM_PCATEGORY</a> 4</td></tr>
+<tr class="separator:a45b12aefab9675baffc7a07a09486db8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb97615e985a013799839b68b99018d7"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#afb97615e985a013799839b68b99018d7">TERM_FILE</a> 5</td></tr>
+<tr class="separator:afb97615e985a013799839b68b99018d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd7bb40da9cc073297e49736b338ca07"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#abd7bb40da9cc073297e49736b338ca07">TERM_SAVEDSEARCH</a> 6</td></tr>
+<tr class="separator:abd7bb40da9cc073297e49736b338ca07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d877df1e20bae765e1708be50f6b503"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0d877df1e20bae765e1708be50f6b503">TERM_THING</a> 7</td></tr>
+<tr class="separator:a0d877df1e20bae765e1708be50f6b503"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9eeb8989272d5ff804a616898bb13659"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9eeb8989272d5ff804a616898bb13659">TERM_OBJ_POST</a> 1</td></tr>
+<tr class="separator:a9eeb8989272d5ff804a616898bb13659"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a64617d4655804de2a3c86501ab4fdbfd"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd">TERM_OBJ_PHOTO</a> 2</td></tr>
+<tr class="separator:a64617d4655804de2a3c86501ab4fdbfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aead84fa27d7516b855220fe004964a45"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aead84fa27d7516b855220fe004964a45">TERM_OBJ_PROFILE</a> 3</td></tr>
+<tr class="separator:aead84fa27d7516b855220fe004964a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8892374789fd261eb32a7969d934a14a"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a8892374789fd261eb32a7969d934a14a">TERM_OBJ_CHANNEL</a> 4</td></tr>
+<tr class="separator:a8892374789fd261eb32a7969d934a14a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a882b666adfe21f035a0f8c02806066d6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a882b666adfe21f035a0f8c02806066d6">TERM_OBJ_OBJECT</a> 5</td></tr>
+<tr class="separator:a882b666adfe21f035a0f8c02806066d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0cc8dc76bd10ac0ec81bac08a46f82fe"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe">TERM_OBJ_THING</a> 6</td></tr>
+<tr class="separator:a0cc8dc76bd10ac0ec81bac08a46f82fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49f2a70b3b43aa904223a8d19e986a47"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> 'http://purl.org/zot'</td></tr>
+<tr class="separator:a49f2a70b3b43aa904223a8d19e986a47"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ed4581ab66ebcde97f6b3730856b028"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028">NAMESPACE_DFRN</a> 'http://purl.org/macgirvin/dfrn/1.0'</td></tr>
+<tr class="separator:a7ed4581ab66ebcde97f6b3730856b028"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d6e7f4c08bb68e4a424326a811bdd86"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86">NAMESPACE_THREAD</a> 'http://purl.org/syndication/thread/1.0'</td></tr>
+<tr class="separator:a1d6e7f4c08bb68e4a424326a811bdd86"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4bfe22e163657690dfb6d5b1d04cb47e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e">NAMESPACE_TOMB</a> 'http://purl.org/atompub/tombstones/1.0'</td></tr>
+<tr class="separator:a4bfe22e163657690dfb6d5b1d04cb47e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5df5359090d1f8e898c36d7cf8878ad2"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2">NAMESPACE_ACTIVITY</a> 'http://activitystrea.ms/spec/1.0/'</td></tr>
+<tr class="separator:a5df5359090d1f8e898c36d7cf8878ad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b8f8ad9dbe82711257d23891ef6b133"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> 'http://activitystrea.ms/schema/1.0/'</td></tr>
+<tr class="separator:a7b8f8ad9dbe82711257d23891ef6b133"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6626f383c3d2d459f731ab8b4f237d16"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16">NAMESPACE_MEDIA</a> 'http://purl.org/syndication/atommedia'</td></tr>
+<tr class="separator:a6626f383c3d2d459f731ab8b4f237d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee324eca9de4e0fedf01ab5f92e27c67"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67">NAMESPACE_SALMON_ME</a> 'http://salmon-protocol.org/ns/magic-env'</td></tr>
+<tr class="separator:aee324eca9de4e0fedf01ab5f92e27c67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a181c111f4b6c14d091dfd3bf0d0a22cd"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd">NAMESPACE_OSTATUSSUB</a> 'http://ostatus.org/schema/1.0/subscribe'</td></tr>
+<tr class="separator:a181c111f4b6c14d091dfd3bf0d0a22cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03d19251c245587de7ed959300b87bdf"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a03d19251c245587de7ed959300b87bdf">NAMESPACE_GEORSS</a> 'http://www.georss.org/georss'</td></tr>
+<tr class="separator:a03d19251c245587de7ed959300b87bdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b73e2548d6f9beb9c93211f488e336a"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a">NAMESPACE_POCO</a> 'http://portablecontacts.net/spec/1.0'</td></tr>
+<tr class="separator:a0b73e2548d6f9beb9c93211f488e336a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac195fc9003298923ea81f144388e24b1"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac195fc9003298923ea81f144388e24b1">NAMESPACE_FEED</a> 'http://schemas.google.com/g/2010#updates-from'</td></tr>
+<tr class="separator:ac195fc9003298923ea81f144388e24b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acca19aae62e1a6951a856b945de20d67"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#acca19aae62e1a6951a856b945de20d67">NAMESPACE_OSTATUS</a> 'http://ostatus.org/schema/1.0'</td></tr>
+<tr class="separator:acca19aae62e1a6951a856b945de20d67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaf93b7026f784b113b4f8921745891e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#afaf93b7026f784b113b4f8921745891e">NAMESPACE_STATUSNET</a> 'http://status.net/schema/api/1/'</td></tr>
+<tr class="separator:afaf93b7026f784b113b4f8921745891e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a444ce608ce34efb82ee11852f36e825f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a444ce608ce34efb82ee11852f36e825f">NAMESPACE_ATOM1</a> 'http://www.w3.org/2005/Atom'</td></tr>
+<tr class="separator:a444ce608ce34efb82ee11852f36e825f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abdcdfc873ace4e0902177bad934de0c0"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#abdcdfc873ace4e0902177bad934de0c0">ACTIVITY_LIKE</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'like'</td></tr>
+<tr class="separator:abdcdfc873ace4e0902177bad934de0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e57f846e6d47a308feced0f7274f178"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0e57f846e6d47a308feced0f7274f178">ACTIVITY_DISLIKE</a> <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/dislike'</td></tr>
+<tr class="separator:a0e57f846e6d47a308feced0f7274f178"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad302cb26b838898d475f57f61b0fcc9f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f">ACTIVITY_OBJ_HEART</a> <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/heart'</td></tr>
+<tr class="separator:ad302cb26b838898d475f57f61b0fcc9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a176664e78dcb9132e16be69418223eb2"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a176664e78dcb9132e16be69418223eb2">ACTIVITY_FRIEND</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'make-friend'</td></tr>
+<tr class="separator:a176664e78dcb9132e16be69418223eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe084c30a1810c10442edb4fbcbc0086"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#afe084c30a1810c10442edb4fbcbc0086">ACTIVITY_REQ_FRIEND</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'request-friend'</td></tr>
+<tr class="separator:afe084c30a1810c10442edb4fbcbc0086"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29528a2544373cc19a378f350040c6a1"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a29528a2544373cc19a378f350040c6a1">ACTIVITY_UNFRIEND</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'remove-friend'</td></tr>
+<tr class="separator:a29528a2544373cc19a378f350040c6a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ae728ac966ea1d3525a19e7fec59434"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434">ACTIVITY_FOLLOW</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'follow'</td></tr>
+<tr class="separator:a5ae728ac966ea1d3525a19e7fec59434"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a53e4bdb6f225da55115acb9277f75e53"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a53e4bdb6f225da55115acb9277f75e53">ACTIVITY_UNFOLLOW</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'stop-following'</td></tr>
+<tr class="separator:a53e4bdb6f225da55115acb9277f75e53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aced60c7285192e80b7c4757e45a7f1e3"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3">ACTIVITY_JOIN</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'join'</td></tr>
+<tr class="separator:aced60c7285192e80b7c4757e45a7f1e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c3747e0f505f0d5271dc4c54e3feaf4"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4">ACTIVITY_POST</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'post'</td></tr>
+<tr class="separator:a5c3747e0f505f0d5271dc4c54e3feaf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f4264232dbb6c3b41f2617deecb1866"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866">ACTIVITY_UPDATE</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'update'</td></tr>
+<tr class="separator:a7f4264232dbb6c3b41f2617deecb1866"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12c781cefc20167231e2e3fd5866b1b5"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5">ACTIVITY_TAG</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'tag'</td></tr>
+<tr class="separator:a12c781cefc20167231e2e3fd5866b1b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e2ea123d29a72012db1241f96280b0e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a3e2ea123d29a72012db1241f96280b0e">ACTIVITY_FAVORITE</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'favorite'</td></tr>
+<tr class="separator:a3e2ea123d29a72012db1241f96280b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14ba8f9e162f2559831ee3bf98e0c3bd"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd">ACTIVITY_POKE</a> <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/poke'</td></tr>
+<tr class="separator:a14ba8f9e162f2559831ee3bf98e0c3bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7aa57438db03834aaa0b468bdce773a6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7aa57438db03834aaa0b468bdce773a6">ACTIVITY_MOOD</a> <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/mood'</td></tr>
+<tr class="separator:a7aa57438db03834aaa0b468bdce773a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a98dd0110dc6c8e24cefc8ae74d5562"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562">ACTIVITY_OBJ_COMMENT</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'comment'</td></tr>
+<tr class="separator:a0a98dd0110dc6c8e24cefc8ae74d5562"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44d069c8a1cfcc6d2007c506a17ff28f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f">ACTIVITY_OBJ_NOTE</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'note'</td></tr>
+<tr class="separator:a44d069c8a1cfcc6d2007c506a17ff28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f8f25b13480c37a5f22511f53da8bab"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab">ACTIVITY_OBJ_PERSON</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'person'</td></tr>
+<tr class="separator:a2f8f25b13480c37a5f22511f53da8bab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a774f0f792ebfec1e774c5a17bb9d5966"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966">ACTIVITY_OBJ_PHOTO</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'photo'</td></tr>
+<tr class="separator:a774f0f792ebfec1e774c5a17bb9d5966"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74bf27f7564c9a37975e7b37d973dcab"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab">ACTIVITY_OBJ_P_PHOTO</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'profile-photo'</td></tr>
+<tr class="separator:a74bf27f7564c9a37975e7b37d973dcab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf9b76832ee5f85e56466af162ba8a14"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14">ACTIVITY_OBJ_ALBUM</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'photo-album'</td></tr>
+<tr class="separator:aaf9b76832ee5f85e56466af162ba8a14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e90096fede6acce16abf0da8cb2febe"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a2e90096fede6acce16abf0da8cb2febe">ACTIVITY_OBJ_EVENT</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'event'</td></tr>
+<tr class="separator:a2e90096fede6acce16abf0da8cb2febe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7bff2278e68a71e524afd1c7c951e1e3"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3">ACTIVITY_OBJ_GROUP</a> <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'group'</td></tr>
+<tr class="separator:a7bff2278e68a71e524afd1c7c951e1e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1da180f961f49a11573cac4ff6c62c05"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a1da180f961f49a11573cac4ff6c62c05">ACTIVITY_OBJ_TAGTERM</a> <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/tagterm'</td></tr>
+<tr class="separator:a1da180f961f49a11573cac4ff6c62c05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62c832a95e38b1fa23e6cef39521b7d5"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5">ACTIVITY_OBJ_PROFILE</a> <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/profile'</td></tr>
+<tr class="separator:a62c832a95e38b1fa23e6cef39521b7d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fb63e51c2a9814941842ae8f2f4dff8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0fb63e51c2a9814941842ae8f2f4dff8">ACTIVITY_OBJ_THING</a> <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/thing'</td></tr>
+<tr class="separator:a0fb63e51c2a9814941842ae8f2f4dff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2af173e4e9836ee7c90757b4793a2be3"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3">GRAVITY_PARENT</a> 0</td></tr>
+<tr class="separator:a2af173e4e9836ee7c90757b4793a2be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f5906598e90b5ea2b4245f682be4348"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a1f5906598e90b5ea2b4245f682be4348">GRAVITY_LIKE</a> 3</td></tr>
+<tr class="separator:a1f5906598e90b5ea2b4245f682be4348"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a12ce5de39789b0361e308d89925a20"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a4a12ce5de39789b0361e308d89925a20">GRAVITY_COMMENT</a> 6</td></tr>
+<tr class="separator:a4a12ce5de39789b0361e308d89925a20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84057c5bfa1bca5fba8497fe005ee4d8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8">ACCOUNT_OK</a> 0x0000</td></tr>
+<tr class="separator:a84057c5bfa1bca5fba8497fe005ee4d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3a4271630aabd8be592213f925d6a36"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#af3a4271630aabd8be592213f925d6a36">ACCOUNT_UNVERIFIED</a> 0x0001</td></tr>
+<tr class="separator:af3a4271630aabd8be592213f925d6a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3bdfc20979c16f15bb9c60446a480f9"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9">ACCOUNT_BLOCKED</a> 0x0002</td></tr>
+<tr class="separator:af3bdfc20979c16f15bb9c60446a480f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a400519fa181591cd6fdbb8f25fbcba0a"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a">ACCOUNT_EXPIRED</a> 0x0004</td></tr>
+<tr class="separator:a400519fa181591cd6fdbb8f25fbcba0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5ddbe69d3d03acd06e1fb281488cb78"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78">ACCOUNT_REMOVED</a> 0x0008</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: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>
+<tr class="separator:ac99fc4d040764eac1736bec6973556fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab28dc518fa90b6f617dd8c564eb4f35f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f">ITEM_BLOCKED</a> 0x0002</td></tr>
+<tr class="separator:ab28dc518fa90b6f617dd8c564eb4f35f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac01230c7655e0705b2e99c9bc03c4450"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450">ITEM_MODERATED</a> 0x0004</td></tr>
+<tr class="separator:ac01230c7655e0705b2e99c9bc03c4450"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a40d885b2cfd736aab4234ae641ca4dfb"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb">ITEM_SPAM</a> 0x0008</td></tr>
+<tr class="separator:a40d885b2cfd736aab4234ae641ca4dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3515ea6bf77495de89b93e9ccd881c49"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49">ITEM_DELETED</a> 0x0010</td></tr>
+<tr class="separator:a3515ea6bf77495de89b93e9ccd881c49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adaeb4f590c56326b2dca3b19f31b6272"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272">ITEM_UNPUBLISHED</a> 0x0020</td></tr>
+<tr class="separator:adaeb4f590c56326b2dca3b19f31b6272"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af489d0c3166551b93e63a79ff2c9be35"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#af489d0c3166551b93e63a79ff2c9be35">ITEM_WEBPAGE</a> 0x0040</td></tr>
+<tr class="separator:af489d0c3166551b93e63a79ff2c9be35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac890557fedc5b5a3b1d996249b1e1a20"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20">ITEM_DELAYED_PUBLISH</a> 0x0080</td></tr>
+<tr class="separator:ac890557fedc5b5a3b1d996249b1e1a20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7fc4b291a7cdaa48b38e27344ea183cf"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf">ITEM_BUILDBLOCK</a> 0x0100</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: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>
+<tr class="separator:a009e6a0637cb65804ea8094ecc4450b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7af107fab8d62b9a73801713b774ed30"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7af107fab8d62b9a73801713b774ed30">ITEM_STARRED</a> 0x0004</td></tr>
+<tr class="separator:a7af107fab8d62b9a73801713b774ed30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aefba06f1c0842036329033e7567ecf6d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aefba06f1c0842036329033e7567ecf6d">ITEM_UPLINK</a> 0x0008</td></tr>
+<tr class="separator:aefba06f1c0842036329033e7567ecf6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad33b494084f729b6ee3b0bc457718a1"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aad33b494084f729b6ee3b0bc457718a1">ITEM_UPLINK_PRV</a> 0x0010</td></tr>
+<tr class="separator:aad33b494084f729b6ee3b0bc457718a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6788e99021ec8ffb0fa94d651f22a322"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322">ITEM_WALL</a> 0x0020</td></tr>
+<tr class="separator:a6788e99021ec8ffb0fa94d651f22a322"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a749144d8dd9c1366596a0213c277d050"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a749144d8dd9c1366596a0213c277d050">ITEM_THREAD_TOP</a> 0x0040</td></tr>
+<tr class="separator:a749144d8dd9c1366596a0213c277d050"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8663f32171568489dbb2a01dd00371f8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a8663f32171568489dbb2a01dd00371f8">ITEM_NOTSHOWN</a> 0x0080</td></tr>
+<tr class="separator:a8663f32171568489dbb2a01dd00371f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a939de9a99278f4fd7dcd0ee67f243f08"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08">ITEM_NSFW</a> 0x0100</td></tr>
+<tr class="separator:a939de9a99278f4fd7dcd0ee67f243f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2958a2bd5422b85329d7c36c06dbc221"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221">ITEM_RELAY</a> 0x0200</td></tr>
+<tr class="separator:a2958a2bd5422b85329d7c36c06dbc221"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8da836617174eed9fc2ac8054125354b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a8da836617174eed9fc2ac8054125354b">ITEM_MENTIONSME</a> 0x0400</td></tr>
+<tr class="separator:a8da836617174eed9fc2ac8054125354b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a949116d9a295b214293006c060ca4848"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a949116d9a295b214293006c060ca4848">ITEM_NOCOMMENT</a> 0x0800</td></tr>
+<tr class="separator:a949116d9a295b214293006c060ca4848"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c8906f1af94a3559a5b4661067bb79d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d">ITEM_OBSCURED</a> 0x1000</td></tr>
+<tr class="separator:a2c8906f1af94a3559a5b4661067bb79d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a081307d681d7d04f17b9ced2076e7c85"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">absurl </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="a75a90b0eadd0df510f7e63210733634d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">appdirpath </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7">get_capath()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abc0a90a1a77f5b668aa7e4b57d1776a7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">argc </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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#a9c6a6179e0e626398ebecc6151905ef1">channel_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="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="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="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_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="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="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>
+
+</div>
+</div>
+<a class="anchor" id="a768f00b7d66be0daf7ef4eea2e862006"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">argv </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em></td><td>)</td>
+ <td></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#a9c6a6179e0e626398ebecc6151905ef1">channel_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="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="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="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_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="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs()</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="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="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>
+
+</div>
+</div>
+<a class="anchor" id="a9cbab4ee728e9a8b4ce952bae643044e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">build_querystring </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$params</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$name</em> = <code>null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>returns querystring as string from a mapped array</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">params</td><td>Array </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4c02d88e66852a01bd5a1feecb7c3ce3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_config </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>Synchronise plugins:</p>
+<p>$a-&gt;config['system']['addon'] contains a comma-separated list of names of plugins/addons which are used on this system. Go through the database list of already installed addons, and if we have an entry, but it isn't in the config list, call the unload procedure and mark it uninstalled in the database (for now we'll remove it). Then go through the config list and if we have a plugin that isn't installed, call the install procedure and add it to the database.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab79b8b4555cae20d03f8200666d89d63"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">clean_urls </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda">z_path()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acc4e0c910af066148b810e5fde55fff1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">construct_page </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>Build the page - now that we have all the components</p>
+
+</div>
+</div>
+<a class="anchor" id="aa4221641e5c21db69fa52c426b9017f5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">curPageURL </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Returns the complete URL of the current page, e.g.: http(s)://something.com/network</p>
+<p>Taken from <a href="http://webcheatsheet.com/php/get_current_page_url.php">http://webcheatsheet.com/php/get_current_page_url.php</a> </p>
+
+<p>Referenced by <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad206598b909e8eb67eb0e0bb5ef69c13"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">current_theme </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">current_theme_url()</a>, and <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">theme_include()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a926cad0b3d8b9d9ee5da1898fc063ba3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">current_theme_url </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$installing</em> = <code>false</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Return full URL to theme which is currently in effect. Provide a sane default if nothing is chosen or the specified theme does not exist. </p>
+
+<p>Referenced by <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3e0930933fb2c0bf8211cc7ab4e1c3b4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_timer </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</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="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template\replace_macros()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aca5e42678e178c6b9034610d66666fd7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fix_system_urls </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$oldurl</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$newurl</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="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe88b920aa285982edb817a0dd44eb37"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_account_id </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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>
+
+</div>
+</div>
+<a class="anchor" id="a0e6db7e365f2b041a828b93786f694bc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_app </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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="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#ad46ff6764f12b6d3ab45c49b797f98aa">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#a1fe339e1454803aa502ac89379c17f5b">comanche_menu()</a>, <a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche_replace_region()</a>, <a class="el" href="comanche_8php.html#a45900dd1d6101b53e3d063db40eafa5e">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="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</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="include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a">fetch_url()</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="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="boot_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#a05b7f26dc2df78681f57eeade53040c6">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#a7273b82b017fd96d29b2c57bab03aea6">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#a3c9e0b243ba29a7b0c050bd0b86eee32">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#ab0227978011d8601494a7651fa26acf0">import_xchan()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</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#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="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</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="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="include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e">post_url()</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="boot_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="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#ac382fdcdf990dcfa8f6528ab8fd280bd">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="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="comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, and <a class="el" href="zot_8php.html#a77720d6b59894e9b609af89c310c8a4d">zot_finger()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad2c97627a313d53df1a1c7b4215ddb51"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_birthdays </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a899d24fd074594ceebbf72e1feff335f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_custom_nav </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$navname</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="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae381db3d43f8e7c1da8b15d14ecf5312"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_events </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a97769915c9f14adc4f8ab1ea2cecfd90"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_max_import_size </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">limit_body_size()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a490972c02fdb638c52ec0e012a30bfd2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_my_address </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="boot_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>, and <a class="el" href="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa46321e1cd6a3b8dfde8bf9510112fec"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_my_url </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, and <a class="el" href="boot_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a623e49c79943f3e7bdb770d021683cf7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_observer_hash </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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#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="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="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</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="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="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</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="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>
+
+</div>
+</div>
+<a class="anchor" id="aaeb666872995e3ab8da8f7bc5f3b2bd3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_theme_uid </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5ab6181607a090bcdbaa13b15b85aba1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">goaway </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>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#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="Contact_8php.html#ad46ff6764f12b6d3ab45c49b797f98aa">channel_remove()</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="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="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_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>, and <a class="el" href="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a24a7a70afedd5d85fe0eadc85afa9f77"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">head_get_icon </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0e4701c9742c3ef88f02ac450a042a84"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">head_set_icon </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$icon</em></td><td>)</td>
+ <td></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>, and <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adfb2fc7be5a4226c0a8e24131da9d498"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">info </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>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="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_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="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="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>
+<a class="anchor" id="ac17fc8a416ea79e9d5cb4dc9a8ff8c5c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">is_ajax </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa1e828bbbcba170265eb2668d8daf42e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">is_site_admin </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</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="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</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="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aea7fc57a4d8e9dcb42f2601b0b9b761c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">killme </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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="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="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</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>
+
+</div>
+</div>
+<a class="anchor" id="a719c7f3972d5f9268f37a41c76cd4ef6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">load_contact_links </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, and <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad4c9dc2c8a82e8f52b7404c1655eab44"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">local_user </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</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="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#ad46ff6764f12b6d3ab45c49b797f98aa">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#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#a1e97305a441dc143edbe09e17d1ceda1">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="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="boot_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="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#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="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="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_content()</a>, <a class="el" href="nogroup_8php.html#a099cb353bf62e8453069ce107b763212">nogroup_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="boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="boot_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="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs()</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#a29a6e1ef07465d1617d836b859b3b2b2">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="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="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">stream_perms_api_uids()</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_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="view_2theme_2redbasic_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="comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aefecf8599036df7f1b95d6820e0e2fa4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">login </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$register</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$form_id</em> = <code>'main-login'</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hiddens</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="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="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_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="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, and <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9255af5ae9c887520091ea04763c1a88"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">notice </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>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</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="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_content()</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="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="boot_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="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>
+
+</div>
+</div>
+<a class="anchor" id="ab346a2ece14993861f3e4206befa94f0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">proc_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$cmd</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Wrap calls to proc_close(proc_open()) and call hook so plugins can take part in process :)</p>
+<p>args: $cmd program to run next args are passed as $cmd command line</p>
+<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="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="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="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#ac382fdcdf990dcfa8f6528ab8fd280bd">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="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad4a2c8caca8f6ae93633ebeca0ed6620"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">profile_create_sidebar </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$connect</em> = <code>true</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="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>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">profile_load </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$nickname</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$profile</em> = <code>''</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Function : profile_load <a class="el" href="classApp.html">App</a> $a string $nickname string $profile</p>
+<p>Summary: Loads a profile into the page sidebar. The function requires a writeable copy of the main <a class="el" href="classApp.html">App</a> structure, and the nickname of a registered local account.</p>
+<p>If the viewer is an authenticated remote viewer, the profile displayed is the one that has been configured for his/her viewing in the Contact manager. Passing a non-zero profile ID can also allow a preview of a selected profile by the owner.</p>
+<p>Profile information is placed in the <a class="el" href="classApp.html">App</a> structure for later retrieval. Honours the owner's chosen theme for display. </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>
+
+</div>
+</div>
+<a class="anchor" id="a432259b2cf5b6f59be53e71db9f2c7dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">profile_sidebar </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$profile</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$block</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$show_connect</em> = <code>true</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Function: profile_sidebar</p>
+<p>Formats a profile for display in the sidebar. It is very difficult to templatise the HTML completely because of all the conditional logic.</p>
+<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="boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, and <a class="el" href="comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1dfcb5146e9d1eca4528bc580ad5d273"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">profile_tabs </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$is_owner</em> = <code>False</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$nickname</em> = <code>Null</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="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>
+
+</div>
+</div>
+<a class="anchor" id="a5542c5c2806ab8bca04bad53d47b5209"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">remote_user </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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="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="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="boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</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="comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aca47505b8732177f52bb2d647eb2741c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">startup </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Reverse the effect of magic_quotes_gpc if it is enabled. Please disable magic_quotes_gpc so we don't have to do this. See <a href="http://php.net/manual/en/security.magicquotes.disabling.php">http://php.net/manual/en/security.magicquotes.disabling.php</a> </p>
+
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac608a34f3bc180e7724192e0fd31f9b0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">system_unavailable </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a01353c9abebc3544ea080ac161729632"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">x </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>$k</em> = <code>NULL</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="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="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</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#a1e97305a441dc143edbe09e17d1ceda1">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="dirfind_8php.html#ac689a812c84f161b3a0d42349f83981c">dirfind_init()</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="boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90">get_max_import_size()</a>, <a class="el" href="boot_8php.html#a490972c02fdb638c52ec0e012a30bfd2">get_my_address()</a>, <a class="el" href="boot_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec">get_my_url()</a>, <a class="el" href="text_8php.html#a05b7f26dc2df78681f57eeade53040c6">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#ab0227978011d8601494a7651fa26acf0">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="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</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="mod_2network_8php.html#aeaa518c1a317516a3da337b88d358666">network_query_get_sel_tab()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="nogroup_8php.html#a099cb353bf62e8453069ce107b763212">nogroup_init()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</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="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="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="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs()</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="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="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>
+<a class="anchor" id="ab55e545b72ec8c097e052ea7d373491f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">z_birthday </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dob</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$tz</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$format</em> = <code>&quot;Y-m-d&#160;H:i:s&quot;</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="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aba208673515cbb8a55e5fa4a1da99fda"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">z_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="boot_8php.html#a081307d681d7d04f17b9ced2076e7c85">absurl()</a>, and <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="add517a0958ac684792c62142a3877f81"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">z_root </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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="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="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#a1e97305a441dc143edbe09e17d1ceda1">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="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="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#ab0227978011d8601494a7651fa26acf0">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="boot_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="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</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="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="boot_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>
+<a class="anchor" id="a5b815330f3d177ab383af37a6c12e532"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zid </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>$address</em> = <code>''</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>zid($s,$address = '') Adds a zid parameter to a url </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$s</td><td>The url to accept the zid </td></tr>
+ <tr><td class="paramtype">boolean</td><td class="paramname">$address</td><td>$address to use instead of session environment </td></tr>
+ </table>
+ </dd>
+</dl>
+<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="bbcode_8php.html#a52c45273fbb7ce5ec27094f7936856e1">bb_ShareAttributes()</a>, <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, <a class="el" href="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_content()</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>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, and <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a680fbafc2db023c5b1309e0180e81315"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zid_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">
+<p>zid_init(&amp;$a) If somebody arrives at our site using a zid, add their xchan to our DB if we don't have it already. And if they aren't already authenticated here, attempt reverse magic auth.</p>
+<p>'zid_init' string 'zid' - their zid string 'url' - the destination url </p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a222395aa223cfbff6166fab0b4e2e1d5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ABOOK_FLAG_ARCHIVED 0x0008</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>
+
+</div>
+</div>
+<a class="anchor" id="a52b599cd13e152ebc80d7e4413683195"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ABOOK_FLAG_BLOCKED 0x0001</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>
+
+</div>
+</div>
+<a class="anchor" id="a34c756469ebed32e2fc987bcde62d382"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ABOOK_FLAG_HIDDEN 0x0004</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>
+
+</div>
+</div>
+<a class="anchor" id="aa3425e2de85b08f7041656d3a8502cb6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ABOOK_FLAG_IGNORED 0x0002</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>, and <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a68eebe493e6f729ffd1aeda7a4b11155"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ABOOK_FLAG_PENDING 0x0010</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="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>
+<a class="anchor" id="a0450389f24c632906fbc24347700a543"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ABOOK_FLAG_SELF 0x0080</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="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</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="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>
+
+</div>
+</div>
+<a class="anchor" id="afbb1fe1b2c8c730ec8e08da93b6512c4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCESS_FREE 2</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>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9c80420e5a063a4a87ce4831f086134d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCESS_PAID 1</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>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7f3474fec541e261fc8dff47313c4017"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCESS_PRIVATE 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>site access policy </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>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af3bdfc20979c16f15bb9c60446a480f9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCOUNT_BLOCKED 0x0002</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="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, and <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a400519fa181591cd6fdbb8f25fbcba0a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCOUNT_EXPIRED 0x0004</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a84057c5bfa1bca5fba8497fe005ee4d8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCOUNT_OK 0x0000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Account Flags </p>
+
+<p>Referenced by <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</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>
+<a class="anchor" id="a032bbd6d0321e99e9117332c9ed2b1b8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCOUNT_PENDING 0x0010</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="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, and <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab5ddbe69d3d03acd06e1fb281488cb78"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCOUNT_REMOVED 0x0008</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac8400313df2c831653f9036f71ebd86d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCOUNT_ROLE_ADMIN 0x1000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Account roles </p>
+
+<p>Referenced by <a class="el" href="Contact_8php.html#a3eef54a5523e568a28257c1f9b1644d8">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>
+
+</div>
+</div>
+<a class="anchor" id="a84f48897059bbd4a8738d7ee4cec6688"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCOUNT_ROLE_ALLOWCODE 0x0001</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="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="af3a4271630aabd8be592213f925d6a36"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCOUNT_UNVERIFIED 0x0001</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="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, and <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0e57f846e6d47a308feced0f7274f178"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_DISLIKE <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/dislike'</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#a1e97305a441dc143edbe09e17d1ceda1">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>
+
+</div>
+</div>
+<a class="anchor" id="a3e2ea123d29a72012db1241f96280b0e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_FAVORITE <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'favorite'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5ae728ac966ea1d3525a19e7fec59434"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_FOLLOW <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'follow'</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="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a176664e78dcb9132e16be69418223eb2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_FRIEND <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'make-friend'</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>
+
+</div>
+</div>
+<a class="anchor" id="aced60c7285192e80b7c4757e45a7f1e3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_JOIN <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'join'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="abdcdfc873ace4e0902177bad934de0c0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_LIKE <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'like'</td>
+ </tr>
+ </table>
+</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#a1e97305a441dc143edbe09e17d1ceda1">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>
+
+</div>
+</div>
+<a class="anchor" id="a7aa57438db03834aaa0b468bdce773a6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_MOOD <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/mood'</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="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaf9b76832ee5f85e56466af162ba8a14"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_ALBUM <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'photo-album'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0a98dd0110dc6c8e24cefc8ae74d5562"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_COMMENT <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'comment'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2e90096fede6acce16abf0da8cb2febe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_EVENT <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'event'</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="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7bff2278e68a71e524afd1c7c951e1e3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_GROUP <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'group'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad302cb26b838898d475f57f61b0fcc9f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_HEART <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/heart'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a44d069c8a1cfcc6d2007c506a17ff28f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_NOTE <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'note'</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="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <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="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_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>
+<a class="anchor" id="a74bf27f7564c9a37975e7b37d973dcab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_P_PHOTO <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'profile-photo'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2f8f25b13480c37a5f22511f53da8bab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_PERSON <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'person'</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>
+
+</div>
+</div>
+<a class="anchor" id="a774f0f792ebfec1e774c5a17bb9d5966"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_PHOTO <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'photo'</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>
+
+</div>
+</div>
+<a class="anchor" id="a62c832a95e38b1fa23e6cef39521b7d5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_PROFILE <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/profile'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1da180f961f49a11573cac4ff6c62c05"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_TAGTERM <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/tagterm'</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="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>
+<a class="anchor" id="a0fb63e51c2a9814941842ae8f2f4dff8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_OBJ_THING <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/thing'</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="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a14ba8f9e162f2559831ee3bf98e0c3bd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_POKE <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">NAMESPACE_ZOT</a> . '/activity/poke'</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="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5c3747e0f505f0d5271dc4c54e3feaf4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_POST <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'post'</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#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8">construct_verb()</a>, <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="text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e">item_post_type()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, and <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe084c30a1810c10442edb4fbcbc0086"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_REQ_FRIEND <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'request-friend'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a12c781cefc20167231e2e3fd5866b1b5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_TAG <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'tag'</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>
+
+</div>
+</div>
+<a class="anchor" id="a53e4bdb6f225da55115acb9277f75e53"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_UNFOLLOW <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'stop-following'</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="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a29528a2544373cc19a378f350040c6a1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_UNFRIEND <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'remove-friend'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7f4264232dbb6c3b41f2617deecb1866"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACTIVITY_UPDATE <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">NAMESPACE_ACTIVITY_SCHEMA</a> . 'update'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad34c1547020a305915bcc39707744690"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ATOM_TIME 'Y-m-d\TH:i:s\Z'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5">api_account_rate_limit_status()</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="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, and <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa74438cf71e48e37bf7b440b94243985"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ATTACH_FLAG_DIR 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a781916f83fcc8ff1035649afa45f0292"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ATTACH_FLAG_OS 0x0002</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="af6f6f6f40139f12fc09ec47373b30919"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const CLIENT_MODE_LOAD 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a43c6c7d84d880e9500bd4f8f8ecc5731"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const CLIENT_MODE_NORMAL 0x0000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, and <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3f40aa5bafff8c4eebdc62e5121daf77"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const CLIENT_MODE_UPDATE 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ada72d88ae39a7e3b45baea201cb49a29"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const CONTACT_IS_FOLLOWER 1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>relationship types </p>
+
+<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a27299ecfb9e9a99826f17a1c14c6995f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const CONTACT_IS_FRIEND 3</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6c5e9e293c8242dcb9bc2c3ea2fee2c9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const CONTACT_IS_SHARING 2</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac59a18a4838710d6c2de37aed6b21f03"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const DB_UPDATE_VERSION 1069</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity_basic_export()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa8a2b61e70900139d1ca28e46f1da49d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const DEFAULT_DB_ENGINE 'MyISAM'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Not yet used </p>
+
+</div>
+</div>
+<a class="anchor" id="abedd940e664017c61b48c6efa31d0cb8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const DIRECTORY_FALLBACK_MASTER 'https://zothub.com'</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>
+
+</div>
+</div>
+<a class="anchor" id="ab7d65a7e7417825a4db62906bb600729"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const DIRECTORY_MODE_NORMAL 0x0000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <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="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">import_xchan()</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>
+<a class="anchor" id="a8a60cc38bb567765fd926fef70205f16"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const DIRECTORY_MODE_PRIMARY 0x0001</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>
+
+</div>
+</div>
+<a class="anchor" id="aedfb9501ed408278667995524e0d15cf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const DIRECTORY_MODE_SECONDARY 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a25476eec71fceda237f7dc1d78b0adb8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const DIRECTORY_MODE_STANDALONE 0x0100</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#ab0227978011d8601494a7651fa26acf0">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>
+<a class="anchor" id="a6b9909db6a7ec80ec6fdd40ba74014dd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const DIRECTORY_REALM 'RED_GLOBAL'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0603d6ece8c5d37b4b7db697db053a4b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const EOL '&lt;br /&gt;' . &quot;\r\n&quot;</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#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="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_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#ab0227978011d8601494a7651fa26acf0">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="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_content()</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="boot_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="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="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>
+
+</div>
+</div>
+<a class="anchor" id="a4a12ce5de39789b0361e308d89925a20"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const GRAVITY_COMMENT 6</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1f5906598e90b5ea2b4245f682be4348"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const GRAVITY_LIKE 3</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="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2af173e4e9836ee7c90757b4793a2be3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const GRAVITY_PARENT 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>item weight for query ordering </p>
+
+</div>
+</div>
+<a class="anchor" id="a3ad9cc5d4354be741fa1de12b96e9955"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const HUBLOC_FLAGS_PRIMARY 0x0001</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="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">import_xchan()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</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="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a77720d6b59894e9b609af89c310c8a4d">zot_finger()</a>, <a class="el" href="zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e">zot_get_hubloc()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab54b24cc302e1a42a67a49d788b6b764"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const HUBLOC_FLAGS_UNVERIFIED 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa589421267f0c2f0d643f727792cce35"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const HUBLOC_NOTUSED 0x0000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a845891f82bf6edd7fa2d578b66703112"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const HUBLOC_OFFLINE 0x0008</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="abeb4d86e17cefa8584f1244e2183b0e1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const HUBLOC_RECEIVE_ERROR 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3b56bfc6a0dd159070e316ddac3b7456"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const HUBLOC_SEND_ERROR 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7a8ba64d089cc0412c59a2eefc6d655c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const HUBLOC_WORKS 0x0004</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab28dc518fa90b6f617dd8c564eb4f35f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_BLOCKED 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7fc4b291a7cdaa48b38e27344ea183cf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_BUILDBLOCK 0x0100</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>
+
+</div>
+</div>
+<a class="anchor" id="ac890557fedc5b5a3b1d996249b1e1a20"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_DELAYED_PUBLISH 0x0080</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="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3515ea6bf77495de89b93e9ccd881c49"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_DELETED 0x0010</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#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>, and <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac99fc4d040764eac1736bec6973556fe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_HIDDEN 0x0001</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="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, and <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8da836617174eed9fc2ac8054125354b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_MENTIONSME 0x0400</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <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#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac01230c7655e0705b2e99c9bc03c4450"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_MODERATED 0x0004</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="a949116d9a295b214293006c060ca4848"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_NOCOMMENT 0x0800</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="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, and <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8663f32171568489dbb2a01dd00371f8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_NOTSHOWN 0x0080</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a939de9a99278f4fd7dcd0ee67f243f08"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_NSFW 0x0100</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a5f690fc2484abec07840b4f9dd525bd9">encode_item_flags()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2c8906f1af94a3559a5b4661067bb79d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_OBSCURED 0x1000</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>, and <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8c9dce0ef27b35397e29298eb966f7f7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_ORIGIN 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p><a class="el" href="classItem.html">Item</a> Flags </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="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="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>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6e57d913634d033b4d5ad72d99fd3e9d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_PDL 0x0200</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>
+
+</div>
+</div>
+<a class="anchor" id="a2958a2bd5422b85329d7c36c06dbc221"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_RELAY 0x0200</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a40d885b2cfd736aab4234ae641ca4dfb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_SPAM 0x0008</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7af107fab8d62b9a73801713b774ed30"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_STARRED 0x0004</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#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</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="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a749144d8dd9c1366596a0213c277d050"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_THREAD_TOP 0x0040</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>
+
+</div>
+</div>
+<a class="anchor" id="adaeb4f590c56326b2dca3b19f31b6272"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_UNPUBLISHED 0x0020</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a009e6a0637cb65804ea8094ecc4450b0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_UNSEEN 0x0002</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#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>
+
+</div>
+</div>
+<a class="anchor" id="aefba06f1c0842036329033e7567ecf6d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_UPLINK 0x0008</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>
+
+</div>
+</div>
+<a class="anchor" id="aad33b494084f729b6ee3b0bc457718a1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_UPLINK_PRV 0x0010</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab55b16ae7fc19fafe5afaedd49163bbf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_VISIBLE 0x0000</td>
+ </tr>
+ </table>
+</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>
+
+</div>
+</div>
+<a class="anchor" id="a6788e99021ec8ffb0fa94d651f22a322"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_WALL 0x0020</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>
+
+</div>
+</div>
+<a class="anchor" id="af489d0c3166551b93e63a79ff2c9be35"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ITEM_WEBPAGE 0x0040</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <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>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3475ff6c2e575f946ea0ee377e944173"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const JPEG_QUALITY 100</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Image storage quality. Lower numbers save space at cost of image detail. For ease of upgrade, please do not change here. Change jpeg quality with $a-&gt;config['system']['jpeg_quality'] = n; in .htconfig.php, where n is netween 1 and 100, and with very poor results below about 50 </p>
+
+<p>Referenced by <a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">photo_gd\imageString()</a>, and <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">photo_imagick\load()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a68d1d5bc9c7ccb663dc671b48c66df11"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const LANGUAGE_DETECT_MIN_CONFIDENCE 0.01</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a17cf72338b040891781a4bcbdd9a8595"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const LANGUAGE_DETECT_MIN_LENGTH 128</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Language detection parameters </p>
+
+<p>Referenced by <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe63ae69ba55299f813766e54df06ede"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const LOGGER_ALL 4</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6969947145a139ec374ce098224d8e81"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const LOGGER_DATA 3</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="profile__advanced_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="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">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="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</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="include_2group_8php.html#ab4d9e5b59f48787cb01baae5dc6c381f">mini_group_select()</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="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_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="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</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#a22e3f9b97b7969ddbe43ccf0db93a19c">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>
+<a class="anchor" id="a93823d15ae07548a4c49de88d325cd26"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const LOGGER_DEBUG 2</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#a1e97305a441dc143edbe09e17d1ceda1">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="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</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#a7273b82b017fd96d29b2c57bab03aea6">guess_image_type()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">import_directory_profile()</a>, <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>, <a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">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="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</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="boot_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#a77720d6b59894e9b609af89c310c8a4d">zot_finger()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a17b4ea23d9ecf628d9c8f53b7abcb805"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const LOGGER_NORMAL 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>log levels </p>
+
+<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a022cea669f9f13ef7c6268b63884c57f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const LOGGER_TRACE 1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad0876e837cf3fad8a26417e315f6e2c8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MAIL_DELETED 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa544a6c078130d0967a1f4ed8ce0a2d2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MAIL_ISREPLY 0x0004</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a44ae1542a805ffd7f826fb511db07374"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MAIL_OBSCURED 0x0020</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="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>, and <a class="el" href="include_2message_8php.html#ac382fdcdf990dcfa8f6528ab8fd280bd">send_message()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae4861de36017fe399c1839f778bad9f5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MAIL_RECALLED 0x0010</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>, and <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa3679df31c8dad1b71816b0322d5baff"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MAIL_REPLIED 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1fbb93cf030f07391f22cc2948744869"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MAIL_SEEN 0x0008</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</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>, and <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a525ca93ff35d3535d1a2b8ba57876afa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MAX_IMAGE_LENGTH -1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>An alternate way of limiting picture upload sizes. Specify the maximum pixel length that pictures are allowed to be (for non-square pictures, it will apply to the longest side). Pictures longer than this length will be resized to be this length (on the longest side, the other side will be scaled appropriately). Modify this value using</p>
+<p>$a-&gt;config['system']['max_image_length'] = n;</p>
+<p>in .htconfig.php</p>
+<p>If you don't want to set a maximum length, set to -1. The default value is defined by 'MAX_IMAGE_LENGTH' below. </p>
+
+<p>Referenced by <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a35625dacd2158b9f1f1a8e77f9f081fd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MAX_LIKERS 75</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Maximum number of "people who like (or don't like) this" that we will list by name </p>
+
+</div>
+</div>
+<a class="anchor" id="ad11f30a6590d3d77f0c5e1e3909af8f5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MENU_ITEM_NEWWIN 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu_render()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, and <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aed0dfb35f7dd00dc9e4f868ea7f7ff53"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const MENU_ITEM_ZID 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu_render()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, and <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5df5359090d1f8e898c36d7cf8878ad2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_ACTIVITY 'http://activitystrea.ms/spec/1.0/'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7b8f8ad9dbe82711257d23891ef6b133"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_ACTIVITY_SCHEMA 'http://activitystrea.ms/schema/1.0/'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="text_8php.html#af8a3e3a66a7b862d4510f145d2e13186">activity_match()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a444ce608ce34efb82ee11852f36e825f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_ATOM1 'http://www.w3.org/2005/Atom'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7ed4581ab66ebcde97f6b3730856b028"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_DFRN 'http://purl.org/macgirvin/dfrn/1.0'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, and <a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">webfinger_dfrn()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac195fc9003298923ea81f144388e24b1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_FEED 'http://schemas.google.com/g/2010#updates-from'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a03d19251c245587de7ed959300b87bdf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_GEORSS 'http://www.georss.org/georss'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6626f383c3d2d459f731ab8b4f237d16"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_MEDIA 'http://purl.org/syndication/atommedia'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#aa723c0571e314a1853a24c5854b4f54f">encode_rel_links()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acca19aae62e1a6951a856b945de20d67"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_OSTATUS 'http://ostatus.org/schema/1.0'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a181c111f4b6c14d091dfd3bf0d0a22cd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_OSTATUSSUB 'http://ostatus.org/schema/1.0/subscribe'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">webfinger_dfrn()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0b73e2548d6f9beb9c93211f488e336a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_POCO 'http://portablecontacts.net/spec/1.0'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aee324eca9de4e0fedf01ab5f92e27c67"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_SALMON_ME 'http://salmon-protocol.org/ns/magic-env'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afaf93b7026f784b113b4f8921745891e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_STATUSNET 'http://status.net/schema/api/1/'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1d6e7f4c08bb68e4a424326a811bdd86"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_THREAD 'http://purl.org/syndication/thread/1.0'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4bfe22e163657690dfb6d5b1d04cb47e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_TOMB 'http://purl.org/atompub/tombstones/1.0'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a49f2a70b3b43aa904223a8d19e986a47"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NAMESPACE_ZOT 'http://purl.org/zot'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>various namespaces we may need to parse </p>
+
+</div>
+</div>
+<a class="anchor" id="ae3cef7b63e25e7bafea3fcf6b99fad0e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_DFRN 'dfrn'</td>
+ </tr>
+ </table>
+</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="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</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>
+
+</div>
+</div>
+<a class="anchor" id="a38f6c7fe33b5434a24b4314567753dfa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_DIASPORA 'dspr'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, and <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af3905ea8f8568d0236db13fca40514e3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_FACEBOOK 'face'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab4bddb41a0cf407178ec5278b950c393"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_FEED 'feed'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8905fde0a5b7882bdc083b20d9b34701"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_GPLUS 'goog'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5b043b7fdcfd4e8c9c3747574afc6caa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_LINKEDIN 'lnkd'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7236b2cdcf59f02a42302e893a99013b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_MAIL 'mail'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa17a4f9c63f5cbc5c06f1066b6aebc42"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_MAIL2 'mai2'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae94f7c7c0909629a75aed1c41f10bc95"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_MYSPACE 'mysp'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aef4b6c558c68c88c10f13c5a00c20e3d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_OSTATUS 'stat'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, and <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab21fb0f3e6b962419955c6fc7f26734f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_PHANTOM 'unkn'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a43296b1b4398aacbf92a4b2d56bab91e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_XMPP 'xmpp'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2c65e925994566a63e6c03c381f1b4a0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NETWORK_ZOT 'zot!'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a20f0eed431d25870b624b8937a07a59f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NOTIFY_COMMENT 0x0008</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="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, and <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af8c0cb0744c9a6b5d6d3baafb1f1e71d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NOTIFY_CONFIRM 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a56fd673eaa7014150297ce1162502db5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NOTIFY_INTRO 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>email notification options </p>
+
+<p>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a285732e7889fa7f333cbe431111e1029"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NOTIFY_MAIL 0x0010</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, and <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aca08bc4f1554ba877500f6abcc99e1e8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NOTIFY_POKE 0x0200</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a981d46380f9f23c308bac1f9cb00dc5b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NOTIFY_PROFILE 0x0040</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9d01ef178b72b145016cca1393415bc4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NOTIFY_SUGGEST 0x0020</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a14d44d4a00223dc3db4ea962325db192"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NOTIFY_SYSTEM 0x8000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab724491497ab2618b23a01d5da60aec0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NOTIFY_TAGSELF 0x0080</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, and <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af6937db5f581d006bf4a5c3d9c7e0461"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NOTIFY_TAGSHARE 0x0100</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a505410c7edc5f5bb5fa227b98359793e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const NOTIFY_WALL 0x0004</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="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8231d115060d41a9c2a677f2c86f10ed"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PAGE_APPLICATION 0x0004</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa275653b9c87abc7391bb8040c1c2de9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PAGE_AUTOCONNECT 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5b8484922918946d041e5e0515dbe718"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PAGE_DIRECTORY_CHANNEL 0x0008</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>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PAGE_HIDDEN 0x0001</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>
+
+</div>
+</div>
+<a class="anchor" id="a09532c3f750ae8c4527e63b2b790cbf3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PAGE_NORMAL 0x0000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>page/profile types</p>
+<p>PAGE_NORMAL is a typical personal profile account PAGE_SOAPBOX automatically approves all friend requests as CONTACT_IS_SHARING, (readonly) PAGE_COMMUNITY automatically approves all friend requests as CONTACT_IS_SHARING, but with write access to wall and comments (no email and not included in page owner's ACL lists) PAGE_FREELOVE automatically approves all friend requests as full friends (CONTACT_IS_FRIEND). </p>
+
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab3920c2f3cd64802c0b7ff625c3b2ea8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PAGE_PREMIUM 0x0010</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <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="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4edce16cb7f21cdafa1e85bf63d713e6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PAGE_REMOVED 0x8000</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#ad46ff6764f12b6d3ab45c49b797f98aa">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>, and <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a423505ab8dbd8e39d04ae3fe1374102b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_A_DELEGATE 0x0800</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab2d0e8a9b81ee548ef2ce8e4560da2f6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_CONTACTS 0x0008</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#ac1fcf621dce7370515b420a7753f4726">map_scope()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6df1102664f64b274810db85197c2755"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_NETWORK 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#ac1fcf621dce7370515b420a7753f4726">map_scope()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aff210e8403dd72368522b17fb6e5d4e7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_PUBLIC 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#ac1fcf621dce7370515b420a7753f4726">map_scope()</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>
+<a class="anchor" id="a3d6d4fc5fafcc9156811669158541caf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_R_ABOOK 0x0008</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab51965fabe54dc031e9a0ce1142ee83e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_R_PAGES 0x4000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a29e921c0c72412cc738e44cca6ca1f62"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_R_PHOTOS 0x0004</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad789aef3cb95fc1eb36be7c4283d0137"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_R_PROFILE 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1db4f0009c9cb4e107eab0f914a3c8dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_R_STORAGE 0x1000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aec36f8fcd4cb14a52934590b3d6666b4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_R_STREAM 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Permissions </p>
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9ff652e5cb83cd11cbb0350844e7b28f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_SITE 0x0004</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#ac1fcf621dce7370515b420a7753f4726">map_scope()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9cc986b4f9dd6558cbb2e25aadbfd964"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_SPECIFIC 0x0080</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>
+
+</div>
+</div>
+<a class="anchor" id="acd877c405b06b348b37b6f7e62a211e9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_W_CHAT 0x0400</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a32df13fec0e43281da5979e1f5579aa8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_W_COMMENT 0x0080</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">can_comment_on_post()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6b31dd451bc6c37fe7c9c766ff385aaf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_W_MAIL 0x0100</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>
+
+</div>
+</div>
+<a class="anchor" id="aa9244fc9cc221980c07a20cc534111be"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_W_PAGES 0x8000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a57eee7352714c004d36c26dda74af73e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_W_PHOTOS 0x0200</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4fefd7486d3b888a05cfd3dc9575f115"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_W_STORAGE 0x2000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8bb0395933b5e886f086f6a2fb0bfa55"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_W_STREAM 0x0010</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</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>
+<a class="anchor" id="a99a4a17cb644e7e6826ea07ecaf09777"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_W_TAGWALL 0x0040</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>, and <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6b14a31a8aa9f3452a13383f413bffa2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PERMS_W_WALL 0x0020</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4a49b29838ef2c45ab3556b52baec6a4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PHOTO_NORMAL 0x0000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Photo types </p>
+
+<p>Referenced by <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#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab4bc9c50ecc927b92d519e36562b0df0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PHOTO_PROFILE 0x0001</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="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="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, and <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a78849a1bf8ce8d9804b4cbb502e8f383"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PHOTO_THING 0x0004</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac43182e0d8bae7576a30b603774974f8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PHOTO_XCHAN 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca">import_profile_photo()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8df201788c9dd0ca91384e3a14c08bce"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PNG_QUALITY 8</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>$a-&gt;config['system']['png_quality'] from 0 (uncompressed) to 9 </p>
+
+<p>Referenced by <a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">photo_gd\imageString()</a>, and <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">photo_imagick\load()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abbf5ac24eb8aeedb862f618ee0d21e86"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const POLL_MULTIPLE_CHOICE 0x0004</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2b525996e4426bdddbcec277778bde08"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const POLL_OVERWRITE 0x8000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad88a70ec62e08d590123d3697dfe64d5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const POLL_SIMPLE_RATING 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Poll/Survey types </p>
+
+<p>Referenced by <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1ba00027b718db732f30fc0e2c3e0abc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const POLL_TENSCALE 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a96ad56755a21e1361dbd7bf93c9e7ff4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const RED_PLATFORM 'Red Matrix'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Red Matrix.</p>
+<p>The Red Matrix (aka "Red") is an open source decentralised communications platform combined with a decentralised identity/authentication framework wrapped in an extensible content management system, providing website designers the ability to embed fully decentralised communications and social tools into many traditional website designs (blogs, forums, small business websites, charitable organisations, etc.). Red also provides DNS mobility and internet scale privacy/access control.</p>
+<p>This allows any individual website to participate in a matrix of linked sites and people and media sharing which is far greater than the reach of an individual site.</p>
+<p>If you are reading the source code and come across a function or code block which is not documented, but you have a good idea what it does, please add some descriptive comments and push it to the main project. Even if your description isn't perfect, it gives us a base which we can build on and correct - so that eventually everything is fully documented. </p>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity_basic_export()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a21cc29e0025943e7c28ff58cb4856ac3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const RED_VERSION trim(file_get_contents('version.inc')) . 'R'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74">api_friendica_version()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity_basic_export()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7176c0f9f1c98421b97735d892cf6252"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const REGISTER_APPROVE 1</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>
+
+</div>
+</div>
+<a class="anchor" id="a69aac276ed82e010dc382b16ab4d59e1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const REGISTER_CLOSED 0</td>
+ </tr>
+ </table>
+</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>
+
+</div>
+</div>
+<a class="anchor" id="ad8887b49bbb02dd30b4eb9f6c7773c63"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const REGISTER_OPEN 2</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="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a02566ac9d891369a1d3ebb81a15722fc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const SSL_POLICY_FULL 1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2network_8php.html#a2729d012410e470c527a62a3f777ded8">fix_contact_ssl_policy()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af86c651547aa8f9e549ee40a09455549"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const SSL_POLICY_NONE 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>SSL redirection policies </p>
+
+</div>
+</div>
+<a class="anchor" id="adca48aee78465ae3064ca4432c0d87b5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const SSL_POLICY_SELFSIGN 2</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2network_8php.html#a2729d012410e470c527a62a3f777ded8">fix_contact_ssl_policy()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af33d1b2e98a1e21af672005525d46dfe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_CATEGORY 3</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <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="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</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="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afb97615e985a013799839b68b99018d7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_FILE 5</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="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="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2750985ec445617d7e82ae3098c91e3f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_HASHTAG 1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">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="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="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>
+<a class="anchor" id="ae37444eaa42705185080ccf3e670cbc2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_MENTION 2</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">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="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</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>
+<a class="anchor" id="a8892374789fd261eb32a7969d934a14a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_OBJ_CHANNEL 4</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a882b666adfe21f035a0f8c02806066d6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_OBJ_OBJECT 5</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a64617d4655804de2a3c86501ab4fdbfd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_OBJ_PHOTO 2</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9eeb8989272d5ff804a616898bb13659"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_OBJ_POST 1</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#a061b3db9426d4b074395f5824062cad4">tagadelic()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aead84fa27d7516b855220fe004964a45"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_OBJ_PROFILE 3</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0cc8dc76bd10ac0ec81bac08a46f82fe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_OBJ_THING 6</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a45b12aefab9675baffc7a07a09486db8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_PCATEGORY 4</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abd7bb40da9cc073297e49736b338ca07"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_SAVEDSEARCH 6</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>
+
+</div>
+</div>
+<a class="anchor" id="a0d877df1e20bae765e1708be50f6b503"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_THING 7</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0c59dde058efebbc66520d136cbd1631"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const TERM_UNKNOWN 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Tag/term types </p>
+
+<p>Referenced by <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">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>, <a class="el" href="item_8php.html#abd0e603a6696051af16476eb968d52e7">handle_tag()</a>, and <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a75fc600186b13c3b25e661afefb5eac8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const UPDATE_FAILED 1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac86615ddc0763a00f5311c90e991730c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const UPDATE_SUCCESS 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>DB update return values </p>
+
+<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1af3ed96de14aa0d7891b39cc75b60f2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const XCHAN_FLAGS_HIDDEN 0x0001</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#ab0227978011d8601494a7651fa26acf0">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>
+
+</div>
+</div>
+<a class="anchor" id="a1c923b99bf77e4203ae94e5684b6ad0f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const XCHAN_FLAGS_ORPHAN 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3cd42a70c6b3999590e4fd7a1a9096af"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ZCURL_TIMEOUT (-1)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Communication timeout </p>
+
+</div>
+</div>
+<a class="anchor" id="a36b31575f992a10b5927b76efba9362e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ZOT_REVISION 1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, and <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/boot_8php.js b/doc/html/boot_8php.js
new file mode 100644
index 000000000..950cd4ea7
--- /dev/null
+++ b/doc/html/boot_8php.js
@@ -0,0 +1,269 @@
+var boot_8php =
+[
+ [ "App", "classApp.html", "classApp" ],
+ [ "absurl", "boot_8php.html#a081307d681d7d04f17b9ced2076e7c85", null ],
+ [ "appdirpath", "boot_8php.html#a75a90b0eadd0df510f7e63210733634d", null ],
+ [ "argc", "boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7", null ],
+ [ "argv", "boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006", null ],
+ [ "build_querystring", "boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e", null ],
+ [ "check_config", "boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3", null ],
+ [ "clean_urls", "boot_8php.html#ab79b8b4555cae20d03f8200666d89d63", null ],
+ [ "construct_page", "boot_8php.html#acc4e0c910af066148b810e5fde55fff1", null ],
+ [ "curPageURL", "boot_8php.html#aa4221641e5c21db69fa52c426b9017f5", null ],
+ [ "current_theme", "boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13", null ],
+ [ "current_theme_url", "boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3", null ],
+ [ "dba_timer", "boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4", null ],
+ [ "fix_system_urls", "boot_8php.html#aca5e42678e178c6b9034610d66666fd7", null ],
+ [ "get_account_id", "boot_8php.html#afe88b920aa285982edb817a0dd44eb37", null ],
+ [ "get_app", "boot_8php.html#a0e6db7e365f2b041a828b93786f694bc", null ],
+ [ "get_birthdays", "boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51", null ],
+ [ "get_custom_nav", "boot_8php.html#a899d24fd074594ceebbf72e1feff335f", null ],
+ [ "get_events", "boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312", null ],
+ [ "get_max_import_size", "boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90", null ],
+ [ "get_my_address", "boot_8php.html#a490972c02fdb638c52ec0e012a30bfd2", null ],
+ [ "get_my_url", "boot_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec", null ],
+ [ "get_observer_hash", "boot_8php.html#a623e49c79943f3e7bdb770d021683cf7", null ],
+ [ "get_theme_uid", "boot_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3", null ],
+ [ "goaway", "boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1", null ],
+ [ "head_get_icon", "boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77", null ],
+ [ "head_set_icon", "boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84", null ],
+ [ "info", "boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498", null ],
+ [ "is_ajax", "boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c", null ],
+ [ "is_site_admin", "boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e", null ],
+ [ "killme", "boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c", null ],
+ [ "load_contact_links", "boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6", null ],
+ [ "local_user", "boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44", null ],
+ [ "login", "boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4", null ],
+ [ "notice", "boot_8php.html#a9255af5ae9c887520091ea04763c1a88", null ],
+ [ "proc_run", "boot_8php.html#ab346a2ece14993861f3e4206befa94f0", null ],
+ [ "profile_create_sidebar", "boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620", null ],
+ [ "profile_load", "boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68", null ],
+ [ "profile_sidebar", "boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc", null ],
+ [ "profile_tabs", "boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273", null ],
+ [ "remote_user", "boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209", null ],
+ [ "startup", "boot_8php.html#aca47505b8732177f52bb2d647eb2741c", null ],
+ [ "system_unavailable", "boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0", null ],
+ [ "x", "boot_8php.html#a01353c9abebc3544ea080ac161729632", null ],
+ [ "z_birthday", "boot_8php.html#ab55e545b72ec8c097e052ea7d373491f", null ],
+ [ "z_path", "boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda", null ],
+ [ "z_root", "boot_8php.html#add517a0958ac684792c62142a3877f81", null ],
+ [ "zid", "boot_8php.html#a5b815330f3d177ab383af37a6c12e532", null ],
+ [ "zid_init", "boot_8php.html#a680fbafc2db023c5b1309e0180e81315", null ],
+ [ "ABOOK_FLAG_ARCHIVED", "boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5", null ],
+ [ "ABOOK_FLAG_BLOCKED", "boot_8php.html#a52b599cd13e152ebc80d7e4413683195", null ],
+ [ "ABOOK_FLAG_HIDDEN", "boot_8php.html#a34c756469ebed32e2fc987bcde62d382", null ],
+ [ "ABOOK_FLAG_IGNORED", "boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6", null ],
+ [ "ABOOK_FLAG_PENDING", "boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155", null ],
+ [ "ABOOK_FLAG_SELF", "boot_8php.html#a0450389f24c632906fbc24347700a543", null ],
+ [ "ACCESS_FREE", "boot_8php.html#afbb1fe1b2c8c730ec8e08da93b6512c4", null ],
+ [ "ACCESS_PAID", "boot_8php.html#a9c80420e5a063a4a87ce4831f086134d", null ],
+ [ "ACCESS_PRIVATE", "boot_8php.html#a7f3474fec541e261fc8dff47313c4017", null ],
+ [ "ACCOUNT_BLOCKED", "boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9", null ],
+ [ "ACCOUNT_EXPIRED", "boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a", null ],
+ [ "ACCOUNT_OK", "boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8", null ],
+ [ "ACCOUNT_PENDING", "boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8", null ],
+ [ "ACCOUNT_REMOVED", "boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78", null ],
+ [ "ACCOUNT_ROLE_ADMIN", "boot_8php.html#ac8400313df2c831653f9036f71ebd86d", null ],
+ [ "ACCOUNT_ROLE_ALLOWCODE", "boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688", null ],
+ [ "ACCOUNT_UNVERIFIED", "boot_8php.html#af3a4271630aabd8be592213f925d6a36", null ],
+ [ "ACTIVITY_DISLIKE", "boot_8php.html#a0e57f846e6d47a308feced0f7274f178", null ],
+ [ "ACTIVITY_FAVORITE", "boot_8php.html#a3e2ea123d29a72012db1241f96280b0e", null ],
+ [ "ACTIVITY_FOLLOW", "boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434", null ],
+ [ "ACTIVITY_FRIEND", "boot_8php.html#a176664e78dcb9132e16be69418223eb2", null ],
+ [ "ACTIVITY_JOIN", "boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3", null ],
+ [ "ACTIVITY_LIKE", "boot_8php.html#abdcdfc873ace4e0902177bad934de0c0", null ],
+ [ "ACTIVITY_MOOD", "boot_8php.html#a7aa57438db03834aaa0b468bdce773a6", null ],
+ [ "ACTIVITY_OBJ_ALBUM", "boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14", null ],
+ [ "ACTIVITY_OBJ_COMMENT", "boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562", null ],
+ [ "ACTIVITY_OBJ_EVENT", "boot_8php.html#a2e90096fede6acce16abf0da8cb2febe", null ],
+ [ "ACTIVITY_OBJ_GROUP", "boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3", null ],
+ [ "ACTIVITY_OBJ_HEART", "boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f", null ],
+ [ "ACTIVITY_OBJ_NOTE", "boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f", null ],
+ [ "ACTIVITY_OBJ_P_PHOTO", "boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab", null ],
+ [ "ACTIVITY_OBJ_PERSON", "boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab", null ],
+ [ "ACTIVITY_OBJ_PHOTO", "boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966", null ],
+ [ "ACTIVITY_OBJ_PROFILE", "boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5", null ],
+ [ "ACTIVITY_OBJ_TAGTERM", "boot_8php.html#a1da180f961f49a11573cac4ff6c62c05", null ],
+ [ "ACTIVITY_OBJ_THING", "boot_8php.html#a0fb63e51c2a9814941842ae8f2f4dff8", null ],
+ [ "ACTIVITY_POKE", "boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd", null ],
+ [ "ACTIVITY_POST", "boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4", null ],
+ [ "ACTIVITY_REQ_FRIEND", "boot_8php.html#afe084c30a1810c10442edb4fbcbc0086", null ],
+ [ "ACTIVITY_TAG", "boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5", null ],
+ [ "ACTIVITY_UNFOLLOW", "boot_8php.html#a53e4bdb6f225da55115acb9277f75e53", null ],
+ [ "ACTIVITY_UNFRIEND", "boot_8php.html#a29528a2544373cc19a378f350040c6a1", null ],
+ [ "ACTIVITY_UPDATE", "boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866", null ],
+ [ "ATOM_TIME", "boot_8php.html#ad34c1547020a305915bcc39707744690", null ],
+ [ "ATTACH_FLAG_DIR", "boot_8php.html#aa74438cf71e48e37bf7b440b94243985", null ],
+ [ "ATTACH_FLAG_OS", "boot_8php.html#a781916f83fcc8ff1035649afa45f0292", null ],
+ [ "CLIENT_MODE_LOAD", "boot_8php.html#af6f6f6f40139f12fc09ec47373b30919", null ],
+ [ "CLIENT_MODE_NORMAL", "boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731", null ],
+ [ "CLIENT_MODE_UPDATE", "boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77", null ],
+ [ "CONTACT_IS_FOLLOWER", "boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29", null ],
+ [ "CONTACT_IS_FRIEND", "boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f", null ],
+ [ "CONTACT_IS_SHARING", "boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9", null ],
+ [ "DB_UPDATE_VERSION", "boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03", null ],
+ [ "DEFAULT_DB_ENGINE", "boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d", null ],
+ [ "DIRECTORY_FALLBACK_MASTER", "boot_8php.html#abedd940e664017c61b48c6efa31d0cb8", null ],
+ [ "DIRECTORY_MODE_NORMAL", "boot_8php.html#ab7d65a7e7417825a4db62906bb600729", null ],
+ [ "DIRECTORY_MODE_PRIMARY", "boot_8php.html#a8a60cc38bb567765fd926fef70205f16", null ],
+ [ "DIRECTORY_MODE_SECONDARY", "boot_8php.html#aedfb9501ed408278667995524e0d15cf", null ],
+ [ "DIRECTORY_MODE_STANDALONE", "boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8", null ],
+ [ "DIRECTORY_REALM", "boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd", null ],
+ [ "EOL", "boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b", null ],
+ [ "GRAVITY_COMMENT", "boot_8php.html#a4a12ce5de39789b0361e308d89925a20", null ],
+ [ "GRAVITY_LIKE", "boot_8php.html#a1f5906598e90b5ea2b4245f682be4348", null ],
+ [ "GRAVITY_PARENT", "boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3", null ],
+ [ "HUBLOC_FLAGS_PRIMARY", "boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955", null ],
+ [ "HUBLOC_FLAGS_UNVERIFIED", "boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764", null ],
+ [ "HUBLOC_NOTUSED", "boot_8php.html#aa589421267f0c2f0d643f727792cce35", null ],
+ [ "HUBLOC_OFFLINE", "boot_8php.html#a845891f82bf6edd7fa2d578b66703112", null ],
+ [ "HUBLOC_RECEIVE_ERROR", "boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1", null ],
+ [ "HUBLOC_SEND_ERROR", "boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456", null ],
+ [ "HUBLOC_WORKS", "boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c", null ],
+ [ "ITEM_BLOCKED", "boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f", null ],
+ [ "ITEM_BUILDBLOCK", "boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf", null ],
+ [ "ITEM_DELAYED_PUBLISH", "boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20", null ],
+ [ "ITEM_DELETED", "boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49", null ],
+ [ "ITEM_HIDDEN", "boot_8php.html#ac99fc4d040764eac1736bec6973556fe", null ],
+ [ "ITEM_MENTIONSME", "boot_8php.html#a8da836617174eed9fc2ac8054125354b", null ],
+ [ "ITEM_MODERATED", "boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450", null ],
+ [ "ITEM_NOCOMMENT", "boot_8php.html#a949116d9a295b214293006c060ca4848", null ],
+ [ "ITEM_NOTSHOWN", "boot_8php.html#a8663f32171568489dbb2a01dd00371f8", null ],
+ [ "ITEM_NSFW", "boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08", null ],
+ [ "ITEM_OBSCURED", "boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d", null ],
+ [ "ITEM_ORIGIN", "boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7", null ],
+ [ "ITEM_PDL", "boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d", null ],
+ [ "ITEM_RELAY", "boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221", null ],
+ [ "ITEM_SPAM", "boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb", null ],
+ [ "ITEM_STARRED", "boot_8php.html#a7af107fab8d62b9a73801713b774ed30", null ],
+ [ "ITEM_THREAD_TOP", "boot_8php.html#a749144d8dd9c1366596a0213c277d050", null ],
+ [ "ITEM_UNPUBLISHED", "boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272", null ],
+ [ "ITEM_UNSEEN", "boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0", null ],
+ [ "ITEM_UPLINK", "boot_8php.html#aefba06f1c0842036329033e7567ecf6d", null ],
+ [ "ITEM_UPLINK_PRV", "boot_8php.html#aad33b494084f729b6ee3b0bc457718a1", null ],
+ [ "ITEM_VISIBLE", "boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf", null ],
+ [ "ITEM_WALL", "boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322", null ],
+ [ "ITEM_WEBPAGE", "boot_8php.html#af489d0c3166551b93e63a79ff2c9be35", null ],
+ [ "JPEG_QUALITY", "boot_8php.html#a3475ff6c2e575f946ea0ee377e944173", null ],
+ [ "LANGUAGE_DETECT_MIN_CONFIDENCE", "boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11", null ],
+ [ "LANGUAGE_DETECT_MIN_LENGTH", "boot_8php.html#a17cf72338b040891781a4bcbdd9a8595", null ],
+ [ "LOGGER_ALL", "boot_8php.html#afe63ae69ba55299f813766e54df06ede", null ],
+ [ "LOGGER_DATA", "boot_8php.html#a6969947145a139ec374ce098224d8e81", null ],
+ [ "LOGGER_DEBUG", "boot_8php.html#a93823d15ae07548a4c49de88d325cd26", null ],
+ [ "LOGGER_NORMAL", "boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805", null ],
+ [ "LOGGER_TRACE", "boot_8php.html#a022cea669f9f13ef7c6268b63884c57f", null ],
+ [ "MAIL_DELETED", "boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8", null ],
+ [ "MAIL_ISREPLY", "boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2", null ],
+ [ "MAIL_OBSCURED", "boot_8php.html#a44ae1542a805ffd7f826fb511db07374", null ],
+ [ "MAIL_RECALLED", "boot_8php.html#ae4861de36017fe399c1839f778bad9f5", null ],
+ [ "MAIL_REPLIED", "boot_8php.html#aa3679df31c8dad1b71816b0322d5baff", null ],
+ [ "MAIL_SEEN", "boot_8php.html#a1fbb93cf030f07391f22cc2948744869", null ],
+ [ "MAX_IMAGE_LENGTH", "boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa", null ],
+ [ "MAX_LIKERS", "boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd", null ],
+ [ "MENU_ITEM_NEWWIN", "boot_8php.html#ad11f30a6590d3d77f0c5e1e3909af8f5", null ],
+ [ "MENU_ITEM_ZID", "boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53", null ],
+ [ "NAMESPACE_ACTIVITY", "boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2", null ],
+ [ "NAMESPACE_ACTIVITY_SCHEMA", "boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133", null ],
+ [ "NAMESPACE_ATOM1", "boot_8php.html#a444ce608ce34efb82ee11852f36e825f", null ],
+ [ "NAMESPACE_DFRN", "boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028", null ],
+ [ "NAMESPACE_FEED", "boot_8php.html#ac195fc9003298923ea81f144388e24b1", null ],
+ [ "NAMESPACE_GEORSS", "boot_8php.html#a03d19251c245587de7ed959300b87bdf", null ],
+ [ "NAMESPACE_MEDIA", "boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16", null ],
+ [ "NAMESPACE_OSTATUS", "boot_8php.html#acca19aae62e1a6951a856b945de20d67", null ],
+ [ "NAMESPACE_OSTATUSSUB", "boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd", null ],
+ [ "NAMESPACE_POCO", "boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a", null ],
+ [ "NAMESPACE_SALMON_ME", "boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67", null ],
+ [ "NAMESPACE_STATUSNET", "boot_8php.html#afaf93b7026f784b113b4f8921745891e", null ],
+ [ "NAMESPACE_THREAD", "boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86", null ],
+ [ "NAMESPACE_TOMB", "boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e", null ],
+ [ "NAMESPACE_ZOT", "boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47", null ],
+ [ "NETWORK_DFRN", "boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e", null ],
+ [ "NETWORK_DIASPORA", "boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa", null ],
+ [ "NETWORK_FACEBOOK", "boot_8php.html#af3905ea8f8568d0236db13fca40514e3", null ],
+ [ "NETWORK_FEED", "boot_8php.html#ab4bddb41a0cf407178ec5278b950c393", null ],
+ [ "NETWORK_GPLUS", "boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701", null ],
+ [ "NETWORK_LINKEDIN", "boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa", null ],
+ [ "NETWORK_MAIL", "boot_8php.html#a7236b2cdcf59f02a42302e893a99013b", null ],
+ [ "NETWORK_MAIL2", "boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42", null ],
+ [ "NETWORK_MYSPACE", "boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95", null ],
+ [ "NETWORK_OSTATUS", "boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d", null ],
+ [ "NETWORK_PHANTOM", "boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f", null ],
+ [ "NETWORK_XMPP", "boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e", null ],
+ [ "NETWORK_ZOT", "boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0", null ],
+ [ "NOTIFY_COMMENT", "boot_8php.html#a20f0eed431d25870b624b8937a07a59f", null ],
+ [ "NOTIFY_CONFIRM", "boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d", null ],
+ [ "NOTIFY_INTRO", "boot_8php.html#a56fd673eaa7014150297ce1162502db5", null ],
+ [ "NOTIFY_MAIL", "boot_8php.html#a285732e7889fa7f333cbe431111e1029", null ],
+ [ "NOTIFY_POKE", "boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8", null ],
+ [ "NOTIFY_PROFILE", "boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b", null ],
+ [ "NOTIFY_SUGGEST", "boot_8php.html#a9d01ef178b72b145016cca1393415bc4", null ],
+ [ "NOTIFY_SYSTEM", "boot_8php.html#a14d44d4a00223dc3db4ea962325db192", null ],
+ [ "NOTIFY_TAGSELF", "boot_8php.html#ab724491497ab2618b23a01d5da60aec0", null ],
+ [ "NOTIFY_TAGSHARE", "boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461", null ],
+ [ "NOTIFY_WALL", "boot_8php.html#a505410c7edc5f5bb5fa227b98359793e", null ],
+ [ "PAGE_APPLICATION", "boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed", null ],
+ [ "PAGE_AUTOCONNECT", "boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9", null ],
+ [ "PAGE_DIRECTORY_CHANNEL", "boot_8php.html#a5b8484922918946d041e5e0515dbe718", null ],
+ [ "PAGE_HIDDEN", "boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640", null ],
+ [ "PAGE_NORMAL", "boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3", null ],
+ [ "PAGE_PREMIUM", "boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8", null ],
+ [ "PAGE_REMOVED", "boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6", null ],
+ [ "PERMS_A_DELEGATE", "boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b", null ],
+ [ "PERMS_CONTACTS", "boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6", null ],
+ [ "PERMS_NETWORK", "boot_8php.html#a6df1102664f64b274810db85197c2755", null ],
+ [ "PERMS_PUBLIC", "boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7", null ],
+ [ "PERMS_R_ABOOK", "boot_8php.html#a3d6d4fc5fafcc9156811669158541caf", null ],
+ [ "PERMS_R_PAGES", "boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e", null ],
+ [ "PERMS_R_PHOTOS", "boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62", null ],
+ [ "PERMS_R_PROFILE", "boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137", null ],
+ [ "PERMS_R_STORAGE", "boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc", null ],
+ [ "PERMS_R_STREAM", "boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4", null ],
+ [ "PERMS_SITE", "boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f", null ],
+ [ "PERMS_SPECIFIC", "boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964", null ],
+ [ "PERMS_W_CHAT", "boot_8php.html#acd877c405b06b348b37b6f7e62a211e9", null ],
+ [ "PERMS_W_COMMENT", "boot_8php.html#a32df13fec0e43281da5979e1f5579aa8", null ],
+ [ "PERMS_W_MAIL", "boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf", null ],
+ [ "PERMS_W_PAGES", "boot_8php.html#aa9244fc9cc221980c07a20cc534111be", null ],
+ [ "PERMS_W_PHOTOS", "boot_8php.html#a57eee7352714c004d36c26dda74af73e", null ],
+ [ "PERMS_W_STORAGE", "boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115", null ],
+ [ "PERMS_W_STREAM", "boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55", null ],
+ [ "PERMS_W_TAGWALL", "boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777", null ],
+ [ "PERMS_W_WALL", "boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2", null ],
+ [ "PHOTO_NORMAL", "boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4", null ],
+ [ "PHOTO_PROFILE", "boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0", null ],
+ [ "PHOTO_THING", "boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383", null ],
+ [ "PHOTO_XCHAN", "boot_8php.html#ac43182e0d8bae7576a30b603774974f8", null ],
+ [ "PNG_QUALITY", "boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce", null ],
+ [ "POLL_MULTIPLE_CHOICE", "boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86", null ],
+ [ "POLL_OVERWRITE", "boot_8php.html#a2b525996e4426bdddbcec277778bde08", null ],
+ [ "POLL_SIMPLE_RATING", "boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5", null ],
+ [ "POLL_TENSCALE", "boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc", null ],
+ [ "RED_PLATFORM", "boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4", null ],
+ [ "RED_VERSION", "boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3", null ],
+ [ "REGISTER_APPROVE", "boot_8php.html#a7176c0f9f1c98421b97735d892cf6252", null ],
+ [ "REGISTER_CLOSED", "boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1", null ],
+ [ "REGISTER_OPEN", "boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63", null ],
+ [ "SSL_POLICY_FULL", "boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc", null ],
+ [ "SSL_POLICY_NONE", "boot_8php.html#af86c651547aa8f9e549ee40a09455549", null ],
+ [ "SSL_POLICY_SELFSIGN", "boot_8php.html#adca48aee78465ae3064ca4432c0d87b5", null ],
+ [ "TERM_CATEGORY", "boot_8php.html#af33d1b2e98a1e21af672005525d46dfe", null ],
+ [ "TERM_FILE", "boot_8php.html#afb97615e985a013799839b68b99018d7", null ],
+ [ "TERM_HASHTAG", "boot_8php.html#a2750985ec445617d7e82ae3098c91e3f", null ],
+ [ "TERM_MENTION", "boot_8php.html#ae37444eaa42705185080ccf3e670cbc2", null ],
+ [ "TERM_OBJ_CHANNEL", "boot_8php.html#a8892374789fd261eb32a7969d934a14a", null ],
+ [ "TERM_OBJ_OBJECT", "boot_8php.html#a882b666adfe21f035a0f8c02806066d6", null ],
+ [ "TERM_OBJ_PHOTO", "boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd", null ],
+ [ "TERM_OBJ_POST", "boot_8php.html#a9eeb8989272d5ff804a616898bb13659", null ],
+ [ "TERM_OBJ_PROFILE", "boot_8php.html#aead84fa27d7516b855220fe004964a45", null ],
+ [ "TERM_OBJ_THING", "boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe", null ],
+ [ "TERM_PCATEGORY", "boot_8php.html#a45b12aefab9675baffc7a07a09486db8", null ],
+ [ "TERM_SAVEDSEARCH", "boot_8php.html#abd7bb40da9cc073297e49736b338ca07", null ],
+ [ "TERM_THING", "boot_8php.html#a0d877df1e20bae765e1708be50f6b503", null ],
+ [ "TERM_UNKNOWN", "boot_8php.html#a0c59dde058efebbc66520d136cbd1631", null ],
+ [ "UPDATE_FAILED", "boot_8php.html#a75fc600186b13c3b25e661afefb5eac8", null ],
+ [ "UPDATE_SUCCESS", "boot_8php.html#ac86615ddc0763a00f5311c90e991730c", null ],
+ [ "XCHAN_FLAGS_HIDDEN", "boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2", null ],
+ [ "XCHAN_FLAGS_ORPHAN", "boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f", 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/cache_8php.html b/doc/html/cache_8php.html
new file mode 100644
index 000000000..f88decc38
--- /dev/null
+++ b/doc/html/cache_8php.html
@@ -0,0 +1,120 @@
+<!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: include/cache.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="rhash-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('cache_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="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">cache.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="classCache.html">Cache</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/chanman_8php.html b/doc/html/chanman_8php.html
new file mode 100644
index 000000000..4d829d819
--- /dev/null
+++ b/doc/html/chanman_8php.html
@@ -0,0 +1,112 @@
+<!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/chanman.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="rhash-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('chanman_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="headertitle">
+<div class="title">chanman.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/channel_8php.html b/doc/html/channel_8php.html
new file mode 100644
index 000000000..76ac3beb6
--- /dev/null
+++ b/doc/html/channel_8php.html
@@ -0,0 +1,192 @@
+<!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/channel.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="rhash-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('channel_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">channel.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: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">
+ <table class="memname">
+ <tr>
+ <td class="memname">channel_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$load</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups</p>
+
+<p>Referenced by <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac7c8c7845741baadf87fae6bc279f3dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">channel_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/channel_8php.js b/doc/html/channel_8php.js
new file mode 100644
index 000000000..4aa5d2d20
--- /dev/null
+++ b/doc/html/channel_8php.js
@@ -0,0 +1,6 @@
+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/chanview_8php.html b/doc/html/chanview_8php.html
new file mode 100644
index 000000000..dafe62257
--- /dev/null
+++ b/doc/html/chanview_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/chanview.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="rhash-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('chanview_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">chanview.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:a4192c6da888c8c1165851acf9ad4cb8b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a4192c6da888c8c1165851acf9ad4cb8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a4192c6da888c8c1165851acf9ad4cb8b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">chanview_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/chanview_8php.js b/doc/html/chanview_8php.js
new file mode 100644
index 000000000..cbf2b353b
--- /dev/null
+++ b/doc/html/chanview_8php.js
@@ -0,0 +1,4 @@
+var chanview_8php =
+[
+ [ "chanview_content", "chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classApp-members.html b/doc/html/classApp-members.html
new file mode 100644
index 000000000..495c1683e
--- /dev/null
+++ b/doc/html/classApp-members.html
@@ -0,0 +1,211 @@
+<!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="rhash-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('classApp.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">App Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classApp.html">App</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a14bd4b1c29f3aff371fe5d4cb11aeea3">$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#a230e975296cf164da2fee35ef720964f">$apps</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#af58db526040829b1c8bd95561b329262">$argc</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#ab3da757abe5cb45bf88f07cc51a73b58">$argv</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#ad5175536561021548ae8188e24c7b80c">$baseurl</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#abe0e4fa91097f7a6588e1213a834121c">$cached_profile_image</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#aab4a685d15a363bb1d7edbbc20bfb94e">$cached_profile_picdate</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#a5cfc098c061b7d765add58fd2ca97445">$category</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#a050b0696118da47e8b30859ad1a2c149">$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#ad1c8eb91a6fd470b94f34b7fdad3a2d0">$cid</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#a495ec082c2719314e536070ca1ce073d">$cmd</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#ac73dc90e4764497e2f1b7e6612c8fb88">$config</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#a98ef4cfd36693a3457c879b76bc6d694">$contact</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#a61ca6e3af82071ea25ff2fd5dbcddae2">$contacts</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#ac1d80a14492acc932715d54567d8a589">$content</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#a6f55d087e1ff4710132c1b0863faa2ee">$css_sources</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#a256360c9184fed6d7556e0bc0a835d7f">$curl_code</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#af5007c42a693afd9c4899c243b2e1363">$curl_headers</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#a0ce85be198e46570366cb3344f3c55b8">$data</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#a330410a288f3393d53772f5e98f857ea">$db</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#ac1a8b2cd40609b231a560201a08852ba">$error</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#ae3f47830543d0d902f66913def8db66b">$force_max_items</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#ac6e6b1c7d6df408580ff79977fcfa656">$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#a3694aa1907aa103a2adbc71f926f0fa0">$hooks</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#a037049cba88dfc6ff94f4b5b779e3fd3">$hostname</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#a7954862f44f606b0ff83d4c74d15e792">$identities</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#a4c7cfc62d39508086cf300dc2e39c4df">$interactive</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#a11e24b3ed9b33ffee7dd41d110b4366d">$js_sources</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#a1a297e70b3667b83f4460aa7ed9f5d6f">$language</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#a58ac598544892ff7c32890291b72635e">$layout</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#a59dd4b665c70e7dbd80682c014ff7145">$ldelim</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#a9bf62f8e39585c0aa48fcffc3bf3484d">$module</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#a6e4f0fbfa3cf6c11baebe22a03db6165">$module_loaded</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#a33a8e90b60ec4438f6fbf299d0f6839c">$nav_sel</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#a4ffe529fb14389f7fedf5fdc5f722e7f">$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#a4b67935096f66d1f14b657399a8461ac">$page</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#a6bcb19cdc4907077da72864686d5a780">$pager</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#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#ab410451f132910773d0a02e35d0dced9">get_curl_code</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#abaf2173711e861ae4aebf43a7f70157e">get_curl_headers</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#a5e6a6bd641e4d9909df56f0283c03821">set_curl_code</a>($code)</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#a9632092d9e8fdaa82a9fc4586433fd31">set_curl_headers</a>($headers)</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>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classApp.html b/doc/html/classApp.html
new file mode 100644
index 000000000..313a7fc85
--- /dev/null
+++ b/doc/html/classApp.html
@@ -0,0 +1,1811 @@
+<!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: App 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="rhash-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('classApp.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="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pri-attribs">Private Attributes</a> &#124;
+<a href="classApp-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">App Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:af6d39f63fb7116bbeb04e51696f99474"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">__construct</a> ()</td></tr>
+<tr class="separator:af6d39f63fb7116bbeb04e51696f99474"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a604d659d6977a99de42a160343e5289a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a604d659d6977a99de42a160343e5289a">get_baseurl</a> ($ssl=false)</td></tr>
+<tr class="separator:a604d659d6977a99de42a160343e5289a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78788f6e9d8b713b138f81e457c5cd08"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">set_baseurl</a> ($url)</td></tr>
+<tr class="separator:a78788f6e9d8b713b138f81e457c5cd08"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a622eace13f8fc9f4b5672a68e2bc4396"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a622eace13f8fc9f4b5672a68e2bc4396">get_hostname</a> ()</td></tr>
+<tr class="separator:a622eace13f8fc9f4b5672a68e2bc4396"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a344d2b7dc2f276648d521aee4da1731c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a344d2b7dc2f276648d521aee4da1731c">set_hostname</a> ($h)</td></tr>
+<tr class="separator:a344d2b7dc2f276648d521aee4da1731c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb060d5c7f35a521ec7ec0effbe08097"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#adb060d5c7f35a521ec7ec0effbe08097">set_path</a> ($p)</td></tr>
+<tr class="separator:adb060d5c7f35a521ec7ec0effbe08097"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5293a8543ba338dcf38cd4ff3bc5d4be"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be">get_path</a> ()</td></tr>
+<tr class="separator:a5293a8543ba338dcf38cd4ff3bc5d4be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb1fe1c8ad9aa639909bd183ce578536"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#aeb1fe1c8ad9aa639909bd183ce578536">set_account</a> ($acct)</td></tr>
+<tr class="separator:aeb1fe1c8ad9aa639909bd183ce578536"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08bc87aff64f39fbc084e9d6545cee4d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a08bc87aff64f39fbc084e9d6545cee4d">get_account</a> ()</td></tr>
+<tr class="separator:a08bc87aff64f39fbc084e9d6545cee4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89e9feb2bfb5253883a9720beaffe876"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a89e9feb2bfb5253883a9720beaffe876">set_channel</a> ($channel)</td></tr>
+<tr class="separator:a89e9feb2bfb5253883a9720beaffe876"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a084e03c77686d8c13390fef3f7428a2b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a084e03c77686d8c13390fef3f7428a2b">get_channel</a> ()</td></tr>
+<tr class="separator:a084e03c77686d8c13390fef3f7428a2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4776d9322edea17fae56afa5d01a323e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a4776d9322edea17fae56afa5d01a323e">set_observer</a> ($xchan)</td></tr>
+<tr class="separator:a4776d9322edea17fae56afa5d01a323e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1ad3bb1b68439b3b7cbe630918e618d2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2">get_observer</a> ()</td></tr>
+<tr class="separator:a1ad3bb1b68439b3b7cbe630918e618d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a557d7b779d8259027f4724ebf7b248dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a557d7b779d8259027f4724ebf7b248dc">set_perms</a> ($perms)</td></tr>
+<tr class="separator:a557d7b779d8259027f4724ebf7b248dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb5a4bb657881e553978ff390babd01f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#adb5a4bb657881e553978ff390babd01f">get_perms</a> ()</td></tr>
+<tr class="separator:adb5a4bb657881e553978ff390babd01f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c63eabdc7fdd8b6e3348980ec16a3ad"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad">get_apps</a> ()</td></tr>
+<tr class="separator:a5c63eabdc7fdd8b6e3348980ec16a3ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abea5a4f77dcd53c928dc4eed86616637"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">set_apps</a> ($arr)</td></tr>
+<tr class="separator:abea5a4f77dcd53c928dc4eed86616637"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d84af5e42082098672531cd1a618853"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a3d84af5e42082098672531cd1a618853">set_groups</a> ($g)</td></tr>
+<tr class="separator:a3d84af5e42082098672531cd1a618853"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4659785d13e4bac0bed50dbb1b0d4299"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a4659785d13e4bac0bed50dbb1b0d4299">get_groups</a> ()</td></tr>
+<tr class="separator:a4659785d13e4bac0bed50dbb1b0d4299"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a123b903dfe5d3488cc68db3471d36fd2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a123b903dfe5d3488cc68db3471d36fd2">set_widget</a> ($title, $html, $location= 'aside')</td></tr>
+<tr class="separator:a123b903dfe5d3488cc68db3471d36fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a871898becd0697d778f36d9336253ae8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">get_widgets</a> ($location= '')</td></tr>
+<tr class="separator:a871898becd0697d778f36d9336253ae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a560189f048d3db2f526841963cc43e97"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a560189f048d3db2f526841963cc43e97">set_pager_total</a> ($<a class="el" href="php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b">n</a>)</td></tr>
+<tr class="separator:a560189f048d3db2f526841963cc43e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4bdd7bfed62f50515fce652127bf481b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a4bdd7bfed62f50515fce652127bf481b">set_pager_itemspage</a> ($<a class="el" href="php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b">n</a>)</td></tr>
+<tr class="separator:a4bdd7bfed62f50515fce652127bf481b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08f0537964d98958d218066364cff785"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">build_pagehead</a> ()</td></tr>
+<tr class="separator:a08f0537964d98958d218066364cff785"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e6a6bd641e4d9909df56f0283c03821"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a5e6a6bd641e4d9909df56f0283c03821">set_curl_code</a> ($code)</td></tr>
+<tr class="separator:a5e6a6bd641e4d9909df56f0283c03821"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab410451f132910773d0a02e35d0dced9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ab410451f132910773d0a02e35d0dced9">get_curl_code</a> ()</td></tr>
+<tr class="separator:ab410451f132910773d0a02e35d0dced9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9632092d9e8fdaa82a9fc4586433fd31"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a9632092d9e8fdaa82a9fc4586433fd31">set_curl_headers</a> ($headers)</td></tr>
+<tr class="separator:a9632092d9e8fdaa82a9fc4586433fd31"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abaf2173711e861ae4aebf43a7f70157e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#abaf2173711e861ae4aebf43a7f70157e">get_curl_headers</a> ()</td></tr>
+<tr class="separator:abaf2173711e861ae4aebf43a7f70157e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf46a653d8499e7c253cc1be894a6d83"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">register_template_engine</a> ($class, $name= '')</td></tr>
+<tr class="separator:abf46a653d8499e7c253cc1be894a6d83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94a1ed2dc493c58612d17035b74ae736"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">template_engine</a> ($name= '')</td></tr>
+<tr class="separator:a94a1ed2dc493c58612d17035b74ae736"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb27e607fe4c82603444676e25c36b70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#acb27e607fe4c82603444676e25c36b70">get_template_engine</a> ()</td></tr>
+<tr class="separator:acb27e607fe4c82603444676e25c36b70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20d1890cc16b22ba79eeb0cbf2f719f7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7">set_template_engine</a> ($engine= 'smarty3')</td></tr>
+<tr class="separator:a20d1890cc16b22ba79eeb0cbf2f719f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2eb832a8577dee7d40b93abdf6d1d35a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a">get_template_ldelim</a> ($engine= 'smarty3')</td></tr>
+<tr class="separator:a2eb832a8577dee7d40b93abdf6d1d35a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab23c59172310fd30f2d60dc039d3eea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#aab23c59172310fd30f2d60dc039d3eea">get_template_rdelim</a> ($engine= 'smarty3')</td></tr>
+<tr class="separator:aab23c59172310fd30f2d60dc039d3eea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8863703a0305eaa45eb970dbd2046291"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a8863703a0305eaa45eb970dbd2046291">head_set_icon</a> ($icon)</td></tr>
+<tr class="separator:a8863703a0305eaa45eb970dbd2046291"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af17df107f2216ddf5ad2a7e0f2ba2166"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166">head_get_icon</a> ()</td></tr>
+<tr class="separator:af17df107f2216ddf5ad2a7e0f2ba2166"><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:a14bd4b1c29f3aff371fe5d4cb11aeea3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a14bd4b1c29f3aff371fe5d4cb11aeea3">$account</a> = null</td></tr>
+<tr class="separator:a14bd4b1c29f3aff371fe5d4cb11aeea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a050b0696118da47e8b30859ad1a2c149"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a050b0696118da47e8b30859ad1a2c149">$channel</a> = null</td></tr>
+<tr class="separator:a050b0696118da47e8b30859ad1a2c149"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ffe529fb14389f7fedf5fdc5f722e7f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f">$observer</a> = null</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: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>
+<tr class="separator:ac6e6b1c7d6df408580ff79977fcfa656"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a297e70b3667b83f4460aa7ed9f5d6f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f">$language</a></td></tr>
+<tr class="separator:a1a297e70b3667b83f4460aa7ed9f5d6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e4f0fbfa3cf6c11baebe22a03db6165"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a6e4f0fbfa3cf6c11baebe22a03db6165">$module_loaded</a> = false</td></tr>
+<tr class="separator:a6e4f0fbfa3cf6c11baebe22a03db6165"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e82da4aecfc2017a8d1d332ca501f9f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f">$query_string</a></td></tr>
+<tr class="separator:a2e82da4aecfc2017a8d1d332ca501f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac73dc90e4764497e2f1b7e6612c8fb88"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88">$config</a></td></tr>
+<tr class="separator:ac73dc90e4764497e2f1b7e6612c8fb88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b67935096f66d1f14b657399a8461ac"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a4b67935096f66d1f14b657399a8461ac">$page</a></td></tr>
+<tr class="separator:a4b67935096f66d1f14b657399a8461ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57d041fcc003d08c127dfa99a02bc192"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a57d041fcc003d08c127dfa99a02bc192">$profile</a></td></tr>
+<tr class="separator:a57d041fcc003d08c127dfa99a02bc192"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91fd3c8b89016113b05f3be24805ccff"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a91fd3c8b89016113b05f3be24805ccff">$user</a></td></tr>
+<tr class="separator:a91fd3c8b89016113b05f3be24805ccff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1c8eb91a6fd470b94f34b7fdad3a2d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0">$cid</a></td></tr>
+<tr class="separator:ad1c8eb91a6fd470b94f34b7fdad3a2d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98ef4cfd36693a3457c879b76bc6d694"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a98ef4cfd36693a3457c879b76bc6d694">$contact</a></td></tr>
+<tr class="separator:a98ef4cfd36693a3457c879b76bc6d694"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61ca6e3af82071ea25ff2fd5dbcddae2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2">$contacts</a></td></tr>
+<tr class="separator:a61ca6e3af82071ea25ff2fd5dbcddae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1d80a14492acc932715d54567d8a589"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ac1d80a14492acc932715d54567d8a589">$content</a></td></tr>
+<tr class="separator:ac1d80a14492acc932715d54567d8a589"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ce85be198e46570366cb3344f3c55b8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a0ce85be198e46570366cb3344f3c55b8">$data</a> = array()</td></tr>
+<tr class="separator:a0ce85be198e46570366cb3344f3c55b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1a8b2cd40609b231a560201a08852ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ac1a8b2cd40609b231a560201a08852ba">$error</a> = false</td></tr>
+<tr class="separator:ac1a8b2cd40609b231a560201a08852ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a495ec082c2719314e536070ca1ce073d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a495ec082c2719314e536070ca1ce073d">$cmd</a></td></tr>
+<tr class="separator:a495ec082c2719314e536070ca1ce073d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3da757abe5cb45bf88f07cc51a73b58"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ab3da757abe5cb45bf88f07cc51a73b58">$argv</a></td></tr>
+<tr class="separator:ab3da757abe5cb45bf88f07cc51a73b58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af58db526040829b1c8bd95561b329262"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#af58db526040829b1c8bd95561b329262">$argc</a></td></tr>
+<tr class="separator:af58db526040829b1c8bd95561b329262"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9bf62f8e39585c0aa48fcffc3bf3484d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a9bf62f8e39585c0aa48fcffc3bf3484d">$module</a></td></tr>
+<tr class="separator:a9bf62f8e39585c0aa48fcffc3bf3484d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6bcb19cdc4907077da72864686d5a780"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a6bcb19cdc4907077da72864686d5a780">$pager</a></td></tr>
+<tr class="separator:a6bcb19cdc4907077da72864686d5a780"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f64620473a9727a48ebe9cf6f335a98"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a5f64620473a9727a48ebe9cf6f335a98">$strings</a></td></tr>
+<tr class="separator:a5f64620473a9727a48ebe9cf6f335a98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3694aa1907aa103a2adbc71f926f0fa0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a3694aa1907aa103a2adbc71f926f0fa0">$hooks</a></td></tr>
+<tr class="separator:a3694aa1907aa103a2adbc71f926f0fa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab35b01a366a2ea95725e97af278f87ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ab35b01a366a2ea95725e97af278f87ab">$timezone</a></td></tr>
+<tr class="separator:ab35b01a366a2ea95725e97af278f87ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c7cfc62d39508086cf300dc2e39c4df"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a4c7cfc62d39508086cf300dc2e39c4df">$interactive</a> = true</td></tr>
+<tr class="separator:a4c7cfc62d39508086cf300dc2e39c4df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9f96338f32187d308b67b980eea0008"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ae9f96338f32187d308b67b980eea0008">$plugins</a></td></tr>
+<tr class="separator:ae9f96338f32187d308b67b980eea0008"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7954862f44f606b0ff83d4c74d15e792"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a7954862f44f606b0ff83d4c74d15e792">$identities</a></td></tr>
+<tr class="separator:a7954862f44f606b0ff83d4c74d15e792"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f55d087e1ff4710132c1b0863faa2ee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a6f55d087e1ff4710132c1b0863faa2ee">$css_sources</a> = array()</td></tr>
+<tr class="separator:a6f55d087e1ff4710132c1b0863faa2ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11e24b3ed9b33ffee7dd41d110b4366d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d">$js_sources</a> = array()</td></tr>
+<tr class="separator:a11e24b3ed9b33ffee7dd41d110b4366d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeca29fd4f7192ca07369b3c598c36e67"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#aeca29fd4f7192ca07369b3c598c36e67">$theme_info</a> = array()</td></tr>
+<tr class="separator:aeca29fd4f7192ca07369b3c598c36e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33a8e90b60ec4438f6fbf299d0f6839c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c">$nav_sel</a></td></tr>
+<tr class="separator:a33a8e90b60ec4438f6fbf299d0f6839c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5cfc098c061b7d765add58fd2ca97445"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a5cfc098c061b7d765add58fd2ca97445">$category</a></td></tr>
+<tr class="separator:a5cfc098c061b7d765add58fd2ca97445"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13710907ef62554a0b4dd8a5eaa2eb11"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11">$sourcename</a> = ''</td></tr>
+<tr class="separator:a13710907ef62554a0b4dd8a5eaa2eb11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf2aaf95b062736a6fd5fc70fadf80e8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8">$videowidth</a> = 425</td></tr>
+<tr class="separator:adf2aaf95b062736a6fd5fc70fadf80e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56b1a432c96aef8b1971f779c9d93c8c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a56b1a432c96aef8b1971f779c9d93c8c">$videoheight</a> = 350</td></tr>
+<tr class="separator:a56b1a432c96aef8b1971f779c9d93c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3f47830543d0d902f66913def8db66b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ae3f47830543d0d902f66913def8db66b">$force_max_items</a> = 0</td></tr>
+<tr class="separator:ae3f47830543d0d902f66913def8db66b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a487332f8de40414ca1a54a4265570b70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a487332f8de40414ca1a54a4265570b70">$theme_thread_allow</a> = true</td></tr>
+<tr class="separator:a487332f8de40414ca1a54a4265570b70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6859a4848a5c0049b4134cc4b34228b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a6859a4848a5c0049b4134cc4b34228b6">$template_engines</a> = array()</td></tr>
+<tr class="separator:a6859a4848a5c0049b4134cc4b34228b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6844aedad10e201b8c3d80cfc9e876d3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a6844aedad10e201b8c3d80cfc9e876d3">$template_engine_instance</a> = array()</td></tr>
+<tr class="separator:a6844aedad10e201b8c3d80cfc9e876d3"><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:ab47de68fa39806d1fb0976407e188b77"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ab47de68fa39806d1fb0976407e188b77">$perms</a> = null</td></tr>
+<tr class="separator:ab47de68fa39806d1fb0976407e188b77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa5a87c46ab3fee21362c466bf78042ef"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#aa5a87c46ab3fee21362c466bf78042ef">$widgets</a> = array()</td></tr>
+<tr class="separator:aa5a87c46ab3fee21362c466bf78042ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4833bee2eae4ad1691a04fa19e11a766"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a4833bee2eae4ad1691a04fa19e11a766">$widgetlist</a> = null</td></tr>
+<tr class="separator:a4833bee2eae4ad1691a04fa19e11a766"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a230e975296cf164da2fee35ef720964f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a230e975296cf164da2fee35ef720964f">$apps</a> = array()</td></tr>
+<tr class="separator:a230e975296cf164da2fee35ef720964f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a764cc6cd7578132c21d2b4545de9301c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a764cc6cd7578132c21d2b4545de9301c">$theme</a></td></tr>
+<tr class="separator:a764cc6cd7578132c21d2b4545de9301c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a59dd4b665c70e7dbd80682c014ff7145"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a59dd4b665c70e7dbd80682c014ff7145">$ldelim</a></td></tr>
+<tr class="separator:a59dd4b665c70e7dbd80682c014ff7145"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a244b2d53b21be269aad2269d23192f95"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a244b2d53b21be269aad2269d23192f95">$rdelim</a></td></tr>
+<tr class="separator:a244b2d53b21be269aad2269d23192f95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad082d63acc078e5bf23825a03bdd6a76"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ad082d63acc078e5bf23825a03bdd6a76">$scheme</a></td></tr>
+<tr class="separator:ad082d63acc078e5bf23825a03bdd6a76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a037049cba88dfc6ff94f4b5b779e3fd3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3">$hostname</a></td></tr>
+<tr class="separator:a037049cba88dfc6ff94f4b5b779e3fd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5175536561021548ae8188e24c7b80c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#ad5175536561021548ae8188e24c7b80c">$baseurl</a></td></tr>
+<tr class="separator:ad5175536561021548ae8188e24c7b80c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acad5896b7a79ae31433ad8f89606c728"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#acad5896b7a79ae31433ad8f89606c728">$path</a></td></tr>
+<tr class="separator:acad5896b7a79ae31433ad8f89606c728"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a330410a288f3393d53772f5e98f857ea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a330410a288f3393d53772f5e98f857ea">$db</a></td></tr>
+<tr class="separator:a330410a288f3393d53772f5e98f857ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a256360c9184fed6d7556e0bc0a835d7f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a256360c9184fed6d7556e0bc0a835d7f">$curl_code</a></td></tr>
+<tr class="separator:a256360c9184fed6d7556e0bc0a835d7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5007c42a693afd9c4899c243b2e1363"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#af5007c42a693afd9c4899c243b2e1363">$curl_headers</a></td></tr>
+<tr class="separator:af5007c42a693afd9c4899c243b2e1363"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe0e4fa91097f7a6588e1213a834121c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#abe0e4fa91097f7a6588e1213a834121c">$cached_profile_image</a></td></tr>
+<tr class="separator:abe0e4fa91097f7a6588e1213a834121c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab4a685d15a363bb1d7edbbc20bfb94e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e">$cached_profile_picdate</a></td></tr>
+<tr class="separator:aab4a685d15a363bb1d7edbbc20bfb94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>class: <a class="el" href="classApp.html">App</a></p>
+<p>Our main application structure for the life of this page Primarily deals with the URL that got us here and tries to make some sense of it, and stores our page contents and config storage and anything else that might need to be passed around before we spit the page out. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="af6d39f63fb7116bbeb04e51696f99474"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::__construct </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Figure out if we are running at the top of a domain or in a sub-directory and adjust accordingly</p>
+<p>Break the URL path into C style argc/argv style arguments for our modules. Given "http://example.com/module/arg1/arg2", $this-&gt;argc will be 3 (integer) and $this-&gt;argv will contain: [0] =&gt; 'module' [1] =&gt; 'arg1' [2] =&gt; 'arg2'</p>
+<p>There will always be one argument. If provided a naked domain URL, $this-&gt;argv[0] is set to "home".</p>
+<p>See if there is any page number information, and initialise pagination</p>
+<p>Detect mobile devices</p>
+<p>register template engines</p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a08f0537964d98958d218066364cff785"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::build_pagehead </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a08bc87aff64f39fbc084e9d6545cee4d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_account </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5c63eabdc7fdd8b6e3348980ec16a3ad"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_apps </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a604d659d6977a99de42a160343e5289a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_baseurl </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$ssl</em> = <code>false</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">build_pagehead()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a084e03c77686d8c13390fef3f7428a2b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_channel </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab410451f132910773d0a02e35d0dced9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_curl_code </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="abaf2173711e861ae4aebf43a7f70157e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_curl_headers </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4659785d13e4bac0bed50dbb1b0d4299"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_groups </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a622eace13f8fc9f4b5672a68e2bc4396"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_hostname </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1ad3bb1b68439b3b7cbe630918e618d2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_observer </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5293a8543ba338dcf38cd4ff3bc5d4be"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_path </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="adb5a4bb657881e553978ff390babd01f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_perms </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acb27e607fe4c82603444676e25c36b70"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_template_engine </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2eb832a8577dee7d40b93abdf6d1d35a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_template_ldelim </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$engine</em> = <code>'smarty3'</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aab23c59172310fd30f2d60dc039d3eea"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_template_rdelim </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$engine</em> = <code>'smarty3'</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a871898becd0697d778f36d9336253ae8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::get_widgets </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$location</em> = <code>''</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af17df107f2216ddf5ad2a7e0f2ba2166"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::head_get_icon </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">build_pagehead()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8863703a0305eaa45eb970dbd2046291"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::head_set_icon </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$icon</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">__construct()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abf46a653d8499e7c253cc1be894a6d83"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::register_template_engine </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$class</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$name</em> = <code>''</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>register template engine class if $name is "", is used class static property $class::$name </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$class</td><td></td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$name</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">__construct()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aeb1fe1c8ad9aa639909bd183ce578536"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_account </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$acct</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="abea5a4f77dcd53c928dc4eed86616637"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_apps </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="a78788f6e9d8b713b138f81e457c5cd08"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_baseurl </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a89e9feb2bfb5253883a9720beaffe876"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_channel </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5e6a6bd641e4d9909df56f0283c03821"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_curl_code </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$code</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9632092d9e8fdaa82a9fc4586433fd31"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_curl_headers </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$headers</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3d84af5e42082098672531cd1a618853"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_groups </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$g</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a344d2b7dc2f276648d521aee4da1731c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_hostname </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4776d9322edea17fae56afa5d01a323e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_observer </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$xchan</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4bdd7bfed62f50515fce652127bf481b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_pager_itemspage </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$n</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a560189f048d3db2f526841963cc43e97"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_pager_total </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$n</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="adb060d5c7f35a521ec7ec0effbe08097"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_path </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$p</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a557d7b779d8259027f4724ebf7b248dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_perms </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$perms</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a20d1890cc16b22ba79eeb0cbf2f719f7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_template_engine </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$engine</em> = <code>'smarty3'</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a123b903dfe5d3488cc68db3471d36fd2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::set_widget </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$html</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$location</em> = <code>'aside'</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="a94a1ed2dc493c58612d17035b74ae736"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::template_engine </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$name</em> = <code>''</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>return template engine instance. If $name is not defined, return engine defined by theme, or default</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">strin</td><td class="paramname">$name</td><td><a class="el" href="classTemplate.html">Template</a> engine name </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>object <a class="el" href="classTemplate.html">Template</a> Engine instance </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a14bd4b1c29f3aff371fe5d4cb11aeea3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$account = null</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#a08bc87aff64f39fbc084e9d6545cee4d">get_account()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a230e975296cf164da2fee35ef720964f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$apps = array()</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="classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad">get_apps()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af58db526040829b1c8bd95561b329262"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$argc</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab3da757abe5cb45bf88f07cc51a73b58"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$argv</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad5175536561021548ae8188e24c7b80c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$baseurl</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="classApp.html#a604d659d6977a99de42a160343e5289a">get_baseurl()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abe0e4fa91097f7a6588e1213a834121c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$cached_profile_image</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>
+<a class="anchor" id="aab4a685d15a363bb1d7edbbc20bfb94e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$cached_profile_picdate</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>
+<a class="anchor" id="a5cfc098c061b7d765add58fd2ca97445"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$category</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a050b0696118da47e8b30859ad1a2c149"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$channel = null</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#a084e03c77686d8c13390fef3f7428a2b">get_channel()</a>, and <a class="el" href="classApp.html#a89e9feb2bfb5253883a9720beaffe876">set_channel()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad1c8eb91a6fd470b94f34b7fdad3a2d0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$cid</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a495ec082c2719314e536070ca1ce073d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$cmd</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac73dc90e4764497e2f1b7e6612c8fb88"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$config</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a98ef4cfd36693a3457c879b76bc6d694"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$contact</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a61ca6e3af82071ea25ff2fd5dbcddae2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$contacts</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac1d80a14492acc932715d54567d8a589"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$content</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6f55d087e1ff4710132c1b0863faa2ee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$css_sources = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a256360c9184fed6d7556e0bc0a835d7f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$curl_code</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="classApp.html#ab410451f132910773d0a02e35d0dced9">get_curl_code()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af5007c42a693afd9c4899c243b2e1363"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$curl_headers</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="classApp.html#abaf2173711e861ae4aebf43a7f70157e">get_curl_headers()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0ce85be198e46570366cb3344f3c55b8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$data = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a330410a288f3393d53772f5e98f857ea"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$db</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>
+<a class="anchor" id="ac1a8b2cd40609b231a560201a08852ba"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$error = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae3f47830543d0d902f66913def8db66b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$force_max_items = 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac6e6b1c7d6df408580ff79977fcfa656"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$groups</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#a4659785d13e4bac0bed50dbb1b0d4299">get_groups()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3694aa1907aa103a2adbc71f926f0fa0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$hooks</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a037049cba88dfc6ff94f4b5b779e3fd3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$hostname</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="classApp.html#a622eace13f8fc9f4b5672a68e2bc4396">get_hostname()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7954862f44f606b0ff83d4c74d15e792"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$identities</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4c7cfc62d39508086cf300dc2e39c4df"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$interactive = true</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a11e24b3ed9b33ffee7dd41d110b4366d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$js_sources = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1a297e70b3667b83f4460aa7ed9f5d6f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$language</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a58ac598544892ff7c32890291b72635e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$layout = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a59dd4b665c70e7dbd80682c014ff7145"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$ldelim</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= array(</div>
+<div class="line"> <span class="stringliteral">&#39;internal&#39;</span> =&gt; <span class="stringliteral">&#39;&#39;</span>,</div>
+<div class="line"> <span class="stringliteral">&#39;smarty3&#39;</span> =&gt; <span class="stringliteral">&#39;{{&#39;</span></div>
+<div class="line"> )</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a9bf62f8e39585c0aa48fcffc3bf3484d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$module</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6e4f0fbfa3cf6c11baebe22a03db6165"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$module_loaded = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a33a8e90b60ec4438f6fbf299d0f6839c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$nav_sel</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4ffe529fb14389f7fedf5fdc5f722e7f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$observer = null</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2">get_observer()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4b67935096f66d1f14b657399a8461ac"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$page</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6bcb19cdc4907077da72864686d5a780"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$pager</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acad5896b7a79ae31433ad8f89606c728"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$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="classApp.html#af6d39f63fb7116bbeb04e51696f99474">__construct()</a>, and <a class="el" href="classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be">get_path()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab47de68fa39806d1fb0976407e188b77"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$perms = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#adb5a4bb657881e553978ff390babd01f">get_perms()</a>, and <a class="el" href="classApp.html#a557d7b779d8259027f4724ebf7b248dc">set_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae9f96338f32187d308b67b980eea0008"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$plugins</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a57d041fcc003d08c127dfa99a02bc192"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$profile</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a08c24d6a6fc52fcc784b0f765f13b820"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$profile_uid = 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2e82da4aecfc2017a8d1d332ca501f9f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$query_string</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a244b2d53b21be269aad2269d23192f95"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$rdelim</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= array(</div>
+<div class="line"> <span class="stringliteral">&#39;internal&#39;</span> =&gt; <span class="stringliteral">&#39;&#39;</span>,</div>
+<div class="line"> <span class="stringliteral">&#39;smarty3&#39;</span> =&gt; <span class="stringliteral">&#39;}}&#39;</span></div>
+<div class="line"> )</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ad082d63acc078e5bf23825a03bdd6a76"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$scheme</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="classApp.html#a604d659d6977a99de42a160343e5289a">get_baseurl()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a13710907ef62554a0b4dd8a5eaa2eb11"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$sourcename = ''</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5f64620473a9727a48ebe9cf6f335a98"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$strings</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6844aedad10e201b8c3d80cfc9e876d3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$template_engine_instance = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6859a4848a5c0049b4134cc4b34228b6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$template_engines = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a764cc6cd7578132c21d2b4545de9301c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$theme</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= array(</div>
+<div class="line"> <span class="stringliteral">&#39;sourcename&#39;</span> =&gt; <span class="stringliteral">&#39;&#39;</span>,</div>
+<div class="line"> <span class="stringliteral">&#39;videowidth&#39;</span> =&gt; 425,</div>
+<div class="line"> <span class="stringliteral">&#39;videoheight&#39;</span> =&gt; 350,</div>
+<div class="line"> <span class="stringliteral">&#39;force_max_items&#39;</span> =&gt; 0,</div>
+<div class="line"> <span class="stringliteral">&#39;thread_allow&#39;</span> =&gt; <span class="keyword">true</span>,</div>
+<div class="line"> <span class="stringliteral">&#39;stylesheet&#39;</span> =&gt; <span class="stringliteral">&#39;&#39;</span>,</div>
+<div class="line"> <span class="stringliteral">&#39;template_engine&#39;</span> =&gt; <span class="stringliteral">&#39;smarty3&#39;</span>,</div>
+<div class="line"> )</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="aeca29fd4f7192ca07369b3c598c36e67"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$theme_info = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a487332f8de40414ca1a54a4265570b70"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$theme_thread_allow = true</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab35b01a366a2ea95725e97af278f87ab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$timezone</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a91fd3c8b89016113b05f3be24805ccff"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$user</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a56b1a432c96aef8b1971f779c9d93c8c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$videoheight = 350</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="adf2aaf95b062736a6fd5fc70fadf80e8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$videowidth = 425</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4833bee2eae4ad1691a04fa19e11a766"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$widgetlist = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa5a87c46ab3fee21362c466bf78042ef"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$widgets = array()</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="classApp.html#a871898becd0697d778f36d9336253ae8">get_widgets()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="boot_8php.html">boot.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classApp.js b/doc/html/classApp.js
new file mode 100644
index 000000000..599db1c69
--- /dev/null
+++ b/doc/html/classApp.js
@@ -0,0 +1,97 @@
+var classApp =
+[
+ [ "__construct", "classApp.html#af6d39f63fb7116bbeb04e51696f99474", null ],
+ [ "build_pagehead", "classApp.html#a08f0537964d98958d218066364cff785", null ],
+ [ "get_account", "classApp.html#a08bc87aff64f39fbc084e9d6545cee4d", null ],
+ [ "get_apps", "classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad", null ],
+ [ "get_baseurl", "classApp.html#a604d659d6977a99de42a160343e5289a", null ],
+ [ "get_channel", "classApp.html#a084e03c77686d8c13390fef3f7428a2b", null ],
+ [ "get_curl_code", "classApp.html#ab410451f132910773d0a02e35d0dced9", null ],
+ [ "get_curl_headers", "classApp.html#abaf2173711e861ae4aebf43a7f70157e", null ],
+ [ "get_groups", "classApp.html#a4659785d13e4bac0bed50dbb1b0d4299", null ],
+ [ "get_hostname", "classApp.html#a622eace13f8fc9f4b5672a68e2bc4396", null ],
+ [ "get_observer", "classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2", null ],
+ [ "get_path", "classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be", null ],
+ [ "get_perms", "classApp.html#adb5a4bb657881e553978ff390babd01f", null ],
+ [ "get_template_engine", "classApp.html#acb27e607fe4c82603444676e25c36b70", null ],
+ [ "get_template_ldelim", "classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a", null ],
+ [ "get_template_rdelim", "classApp.html#aab23c59172310fd30f2d60dc039d3eea", null ],
+ [ "get_widgets", "classApp.html#a871898becd0697d778f36d9336253ae8", null ],
+ [ "head_get_icon", "classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166", null ],
+ [ "head_set_icon", "classApp.html#a8863703a0305eaa45eb970dbd2046291", null ],
+ [ "register_template_engine", "classApp.html#abf46a653d8499e7c253cc1be894a6d83", null ],
+ [ "set_account", "classApp.html#aeb1fe1c8ad9aa639909bd183ce578536", null ],
+ [ "set_apps", "classApp.html#abea5a4f77dcd53c928dc4eed86616637", null ],
+ [ "set_baseurl", "classApp.html#a78788f6e9d8b713b138f81e457c5cd08", null ],
+ [ "set_channel", "classApp.html#a89e9feb2bfb5253883a9720beaffe876", null ],
+ [ "set_curl_code", "classApp.html#a5e6a6bd641e4d9909df56f0283c03821", null ],
+ [ "set_curl_headers", "classApp.html#a9632092d9e8fdaa82a9fc4586433fd31", null ],
+ [ "set_groups", "classApp.html#a3d84af5e42082098672531cd1a618853", null ],
+ [ "set_hostname", "classApp.html#a344d2b7dc2f276648d521aee4da1731c", null ],
+ [ "set_observer", "classApp.html#a4776d9322edea17fae56afa5d01a323e", null ],
+ [ "set_pager_itemspage", "classApp.html#a4bdd7bfed62f50515fce652127bf481b", null ],
+ [ "set_pager_total", "classApp.html#a560189f048d3db2f526841963cc43e97", null ],
+ [ "set_path", "classApp.html#adb060d5c7f35a521ec7ec0effbe08097", null ],
+ [ "set_perms", "classApp.html#a557d7b779d8259027f4724ebf7b248dc", null ],
+ [ "set_template_engine", "classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7", null ],
+ [ "set_widget", "classApp.html#a123b903dfe5d3488cc68db3471d36fd2", null ],
+ [ "template_engine", "classApp.html#a94a1ed2dc493c58612d17035b74ae736", null ],
+ [ "$account", "classApp.html#a14bd4b1c29f3aff371fe5d4cb11aeea3", null ],
+ [ "$apps", "classApp.html#a230e975296cf164da2fee35ef720964f", null ],
+ [ "$argc", "classApp.html#af58db526040829b1c8bd95561b329262", null ],
+ [ "$argv", "classApp.html#ab3da757abe5cb45bf88f07cc51a73b58", null ],
+ [ "$baseurl", "classApp.html#ad5175536561021548ae8188e24c7b80c", null ],
+ [ "$cached_profile_image", "classApp.html#abe0e4fa91097f7a6588e1213a834121c", null ],
+ [ "$cached_profile_picdate", "classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e", null ],
+ [ "$category", "classApp.html#a5cfc098c061b7d765add58fd2ca97445", null ],
+ [ "$channel", "classApp.html#a050b0696118da47e8b30859ad1a2c149", null ],
+ [ "$cid", "classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0", null ],
+ [ "$cmd", "classApp.html#a495ec082c2719314e536070ca1ce073d", null ],
+ [ "$config", "classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88", null ],
+ [ "$contact", "classApp.html#a98ef4cfd36693a3457c879b76bc6d694", null ],
+ [ "$contacts", "classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2", null ],
+ [ "$content", "classApp.html#ac1d80a14492acc932715d54567d8a589", null ],
+ [ "$css_sources", "classApp.html#a6f55d087e1ff4710132c1b0863faa2ee", null ],
+ [ "$curl_code", "classApp.html#a256360c9184fed6d7556e0bc0a835d7f", null ],
+ [ "$curl_headers", "classApp.html#af5007c42a693afd9c4899c243b2e1363", null ],
+ [ "$data", "classApp.html#a0ce85be198e46570366cb3344f3c55b8", null ],
+ [ "$db", "classApp.html#a330410a288f3393d53772f5e98f857ea", null ],
+ [ "$error", "classApp.html#ac1a8b2cd40609b231a560201a08852ba", null ],
+ [ "$force_max_items", "classApp.html#ae3f47830543d0d902f66913def8db66b", null ],
+ [ "$groups", "classApp.html#ac6e6b1c7d6df408580ff79977fcfa656", null ],
+ [ "$hooks", "classApp.html#a3694aa1907aa103a2adbc71f926f0fa0", null ],
+ [ "$hostname", "classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3", null ],
+ [ "$identities", "classApp.html#a7954862f44f606b0ff83d4c74d15e792", null ],
+ [ "$interactive", "classApp.html#a4c7cfc62d39508086cf300dc2e39c4df", null ],
+ [ "$js_sources", "classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d", null ],
+ [ "$language", "classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f", null ],
+ [ "$layout", "classApp.html#a58ac598544892ff7c32890291b72635e", null ],
+ [ "$ldelim", "classApp.html#a59dd4b665c70e7dbd80682c014ff7145", null ],
+ [ "$module", "classApp.html#a9bf62f8e39585c0aa48fcffc3bf3484d", null ],
+ [ "$module_loaded", "classApp.html#a6e4f0fbfa3cf6c11baebe22a03db6165", null ],
+ [ "$nav_sel", "classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c", null ],
+ [ "$observer", "classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f", null ],
+ [ "$page", "classApp.html#a4b67935096f66d1f14b657399a8461ac", null ],
+ [ "$pager", "classApp.html#a6bcb19cdc4907077da72864686d5a780", null ],
+ [ "$path", "classApp.html#acad5896b7a79ae31433ad8f89606c728", null ],
+ [ "$perms", "classApp.html#ab47de68fa39806d1fb0976407e188b77", null ],
+ [ "$plugins", "classApp.html#ae9f96338f32187d308b67b980eea0008", null ],
+ [ "$profile", "classApp.html#a57d041fcc003d08c127dfa99a02bc192", null ],
+ [ "$profile_uid", "classApp.html#a08c24d6a6fc52fcc784b0f765f13b820", null ],
+ [ "$query_string", "classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f", null ],
+ [ "$rdelim", "classApp.html#a244b2d53b21be269aad2269d23192f95", null ],
+ [ "$scheme", "classApp.html#ad082d63acc078e5bf23825a03bdd6a76", null ],
+ [ "$sourcename", "classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11", null ],
+ [ "$strings", "classApp.html#a5f64620473a9727a48ebe9cf6f335a98", null ],
+ [ "$template_engine_instance", "classApp.html#a6844aedad10e201b8c3d80cfc9e876d3", null ],
+ [ "$template_engines", "classApp.html#a6859a4848a5c0049b4134cc4b34228b6", null ],
+ [ "$theme", "classApp.html#a764cc6cd7578132c21d2b4545de9301c", null ],
+ [ "$theme_info", "classApp.html#aeca29fd4f7192ca07369b3c598c36e67", null ],
+ [ "$theme_thread_allow", "classApp.html#a487332f8de40414ca1a54a4265570b70", null ],
+ [ "$timezone", "classApp.html#ab35b01a366a2ea95725e97af278f87ab", null ],
+ [ "$user", "classApp.html#a91fd3c8b89016113b05f3be24805ccff", null ],
+ [ "$videoheight", "classApp.html#a56b1a432c96aef8b1971f779c9d93c8c", null ],
+ [ "$videowidth", "classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8", null ],
+ [ "$widgetlist", "classApp.html#a4833bee2eae4ad1691a04fa19e11a766", null ],
+ [ "$widgets", "classApp.html#aa5a87c46ab3fee21362c466bf78042ef", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classBaseObject-members.html b/doc/html/classBaseObject-members.html
new file mode 100644
index 000000000..2cc4aed11
--- /dev/null
+++ b/doc/html/classBaseObject-members.html
@@ -0,0 +1,120 @@
+<!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="rhash-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('classBaseObject.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">BaseObject Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classBaseObject.html">BaseObject</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classBaseObject.html#a02cc4cd8fa26b6fc76d92fde54b4e4b1">$app</a></td><td class="entry"><a class="el" href="classBaseObject.html">BaseObject</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">get_app</a>()</td><td class="entry"><a class="el" href="classBaseObject.html">BaseObject</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classBaseObject.html#a0a9acda12d751692834cf6999f889223">set_app</a>($app)</td><td class="entry"><a class="el" href="classBaseObject.html">BaseObject</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classBaseObject.html b/doc/html/classBaseObject.html
new file mode 100644
index 000000000..f83c0e393
--- /dev/null
+++ b/doc/html/classBaseObject.html
@@ -0,0 +1,221 @@
+<!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: BaseObject 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="rhash-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('classBaseObject.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="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
+<a href="classBaseObject-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">BaseObject Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for BaseObject:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classBaseObject.png" usemap="#BaseObject_map" alt=""/>
+ <map id="BaseObject_map" name="BaseObject_map">
+<area href="classConversation.html" alt="Conversation" shape="rect" coords="0,56,87,80"/>
+<area href="classItem.html" alt="Item" shape="rect" coords="97,56,184,80"/>
+</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:ac43f10e69ce80c78e4870636250fc8a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">get_app</a> ()</td></tr>
+<tr class="separator:ac43f10e69ce80c78e4870636250fc8a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a0a9acda12d751692834cf6999f889223"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBaseObject.html#a0a9acda12d751692834cf6999f889223">set_app</a> ($app)</td></tr>
+<tr class="separator:a0a9acda12d751692834cf6999f889223"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
+Static Private Attributes</h2></td></tr>
+<tr class="memitem:a02cc4cd8fa26b6fc76d92fde54b4e4b1"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBaseObject.html#a02cc4cd8fa26b6fc76d92fde54b4e4b1">$app</a> = null</td></tr>
+<tr class="separator:a02cc4cd8fa26b6fc76d92fde54b4e4b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Basic object</p>
+<p>Contains what is usefull to any object </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ac43f10e69ce80c78e4870636250fc8a2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">BaseObject::get_app </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get the app</p>
+<p>Same as get_app from <a class="el" href="boot_8php.html">boot.php</a> </p>
+
+<p>Referenced by <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">Item\__construct()</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>, and <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0a9acda12d751692834cf6999f889223"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static BaseObject::set_app </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$app</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Set the app </p>
+
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a02cc4cd8fa26b6fc76d92fde54b4e4b1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">BaseObject::$app = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classBaseObject.html#a0a9acda12d751692834cf6999f889223">set_app()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="BaseObject_8php.html">BaseObject.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classBaseObject.js b/doc/html/classBaseObject.js
new file mode 100644
index 000000000..ba0c42902
--- /dev/null
+++ b/doc/html/classBaseObject.js
@@ -0,0 +1,4 @@
+var classBaseObject =
+[
+ [ "get_app", "classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classBaseObject.png b/doc/html/classBaseObject.png
new file mode 100644
index 000000000..8cbd659ec
--- /dev/null
+++ b/doc/html/classBaseObject.png
Binary files differ
diff --git a/doc/html/classCache-members.html b/doc/html/classCache-members.html
new file mode 100644
index 000000000..f45439a83
--- /dev/null
+++ b/doc/html/classCache-members.html
@@ -0,0 +1,120 @@
+<!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="rhash-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('classCache.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">Cache Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classCache.html">Cache</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">clear</a>()</td><td class="entry"><a class="el" href="classCache.html">Cache</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">get</a>($key)</td><td class="entry"><a class="el" href="classCache.html">Cache</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">set</a>($key, $value)</td><td class="entry"><a class="el" href="classCache.html">Cache</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classCache.html b/doc/html/classCache.html
new file mode 100644
index 000000000..9eaf93380
--- /dev/null
+++ b/doc/html/classCache.html
@@ -0,0 +1,218 @@
+<!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: Cache 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="rhash-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('classCache.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-static-methods">Static Public Member Functions</a> &#124;
+<a href="classCache-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">Cache Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a70392b109331897bf9fdd7f1960e21de"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">get</a> ($key)</td></tr>
+<tr class="separator:a70392b109331897bf9fdd7f1960e21de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae622b82adc1c2fb1f3e2cc4fd9688fce"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">set</a> ($key, $value)</td></tr>
+<tr class="separator:ae622b82adc1c2fb1f3e2cc4fd9688fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab14d0f4bdf7116a94d545c574b38f568"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">clear</a> ()</td></tr>
+<tr class="separator:ab14d0f4bdf7116a94d545c574b38f568"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>cache api </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ab14d0f4bdf7116a94d545c574b38f568"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static Cache::clear </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a70392b109331897bf9fdd7f1960e21de"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static Cache::get </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae622b82adc1c2fb1f3e2cc4fd9688fce"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static Cache::set </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$value</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="cache_8php.html">cache.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classConversation-members.html b/doc/html/classConversation-members.html
new file mode 100644
index 000000000..e93c324c5
--- /dev/null
+++ b/doc/html/classConversation-members.html
@@ -0,0 +1,138 @@
+<!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="rhash-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('classConversation.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">Conversation Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classConversation.html">Conversation</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6">$commentable</a></td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classConversation.html#afb03d1648dbfafe62caa1e30f32f2b1a">$mode</a></td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classConversation.html#a8748445aa26047ebed5141f3c3cbc244">$observer</a></td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae">$preview</a></td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classConversation.html#a2f12724ef0244e9049fe1bb9641b516d">$profile_owner</a></td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classConversation.html#a41f4a549e6a99f98935c4742addd22c8">$threads</a></td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classConversation.html#ae81221251307e315f566a11f921ce0a9">$writable</a></td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classConversation.html#a6b064d00c56a6b7dec359d4348711c84">__construct</a>($mode, $preview)</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">add_thread</a>($item)</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">get_app</a>()</td><td class="entry"><a class="el" href="classBaseObject.html">BaseObject</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classConversation.html#a87a0d704d5f2b1a008cc2e9ce06a1bcd">get_mode</a>()</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classConversation.html#ae3d4190142e12b57051f11f2911f77a0">get_observer</a>()</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classConversation.html#a5effe8ad3007e01333df44b81432b813">get_profile_owner</a>()</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">get_template_data</a>($alike, $dlike)</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classConversation.html#a4cff75d8c46b517e7133e4d0da6fc1c8">get_thread</a>($id)</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3">is_commentable</a>()</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classConversation.html#adf25ce023b69a166c63c6e84e02c136a">is_preview</a>()</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classConversation.html#a5879199008b96bee7550b576d614e1c1">is_writable</a>()</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classBaseObject.html#a0a9acda12d751692834cf6999f889223">set_app</a>($app)</td><td class="entry"><a class="el" href="classBaseObject.html">BaseObject</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">set_mode</a>($mode)</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">set_profile_owner</a>($uid)</td><td class="entry"><a class="el" href="classConversation.html">Conversation</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classConversation.html b/doc/html/classConversation.html
new file mode 100644
index 000000000..22be4c4b0
--- /dev/null
+++ b/doc/html/classConversation.html
@@ -0,0 +1,585 @@
+<!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: Conversation 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="rhash-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('classConversation.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-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a> &#124;
+<a href="classConversation-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">Conversation Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for Conversation:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classConversation.png" usemap="#Conversation_map" alt=""/>
+ <map id="Conversation_map" name="Conversation_map">
+<area href="classBaseObject.html" alt="BaseObject" shape="rect" coords="0,0,87,24"/>
+</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:a6b064d00c56a6b7dec359d4348711c84"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a6b064d00c56a6b7dec359d4348711c84">__construct</a> ($mode, $preview)</td></tr>
+<tr class="separator:a6b064d00c56a6b7dec359d4348711c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87a0d704d5f2b1a008cc2e9ce06a1bcd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a87a0d704d5f2b1a008cc2e9ce06a1bcd">get_mode</a> ()</td></tr>
+<tr class="separator:a87a0d704d5f2b1a008cc2e9ce06a1bcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5879199008b96bee7550b576d614e1c1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a5879199008b96bee7550b576d614e1c1">is_writable</a> ()</td></tr>
+<tr class="separator:a5879199008b96bee7550b576d614e1c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b47c92b69459d461ea3cc9aae9597a3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3">is_commentable</a> ()</td></tr>
+<tr class="separator:a8b47c92b69459d461ea3cc9aae9597a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf25ce023b69a166c63c6e84e02c136a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#adf25ce023b69a166c63c6e84e02c136a">is_preview</a> ()</td></tr>
+<tr class="separator:adf25ce023b69a166c63c6e84e02c136a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5effe8ad3007e01333df44b81432b813"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a5effe8ad3007e01333df44b81432b813">get_profile_owner</a> ()</td></tr>
+<tr class="separator:a5effe8ad3007e01333df44b81432b813"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8898bddc1e8990e81dab9a13a532cc93"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">set_profile_owner</a> ($uid)</td></tr>
+<tr class="separator:a8898bddc1e8990e81dab9a13a532cc93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3d4190142e12b57051f11f2911f77a0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#ae3d4190142e12b57051f11f2911f77a0">get_observer</a> ()</td></tr>
+<tr class="separator:ae3d4190142e12b57051f11f2911f77a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8335cdd43f1836e3c255638e61a09e16"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">add_thread</a> ($item)</td></tr>
+<tr class="separator:a8335cdd43f1836e3c255638e61a09e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a96b7a6573ae53db861624659e831cb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">get_template_data</a> ($alike, $dlike)</td></tr>
+<tr class="separator:a2a96b7a6573ae53db861624659e831cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classBaseObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classBaseObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classBaseObject.html">BaseObject</a></td></tr>
+<tr class="memitem:ac43f10e69ce80c78e4870636250fc8a2 inherit pub_methods_classBaseObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">get_app</a> ()</td></tr>
+<tr class="separator:ac43f10e69ce80c78e4870636250fc8a2 inherit pub_methods_classBaseObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a66f121ca4026246f86a732e5faa0682c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">set_mode</a> ($mode)</td></tr>
+<tr class="separator:a66f121ca4026246f86a732e5faa0682c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cff75d8c46b517e7133e4d0da6fc1c8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a4cff75d8c46b517e7133e4d0da6fc1c8">get_thread</a> ($id)</td></tr>
+<tr class="separator:a4cff75d8c46b517e7133e4d0da6fc1c8"><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:a41f4a549e6a99f98935c4742addd22c8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a41f4a549e6a99f98935c4742addd22c8">$threads</a> = array()</td></tr>
+<tr class="separator:a41f4a549e6a99f98935c4742addd22c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb03d1648dbfafe62caa1e30f32f2b1a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#afb03d1648dbfafe62caa1e30f32f2b1a">$mode</a> = null</td></tr>
+<tr class="separator:afb03d1648dbfafe62caa1e30f32f2b1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8748445aa26047ebed5141f3c3cbc244"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a8748445aa26047ebed5141f3c3cbc244">$observer</a> = null</td></tr>
+<tr class="separator:a8748445aa26047ebed5141f3c3cbc244"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae81221251307e315f566a11f921ce0a9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#ae81221251307e315f566a11f921ce0a9">$writable</a> = false</td></tr>
+<tr class="separator:ae81221251307e315f566a11f921ce0a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd4965d22a6e4bfea2f35e931b3273c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6">$commentable</a> = false</td></tr>
+<tr class="separator:afd4965d22a6e4bfea2f35e931b3273c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f12724ef0244e9049fe1bb9641b516d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#a2f12724ef0244e9049fe1bb9641b516d">$profile_owner</a> = 0</td></tr>
+<tr class="separator:a2f12724ef0244e9049fe1bb9641b516d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9937f9e0f3d927acc2bed46cc72e9ae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae">$preview</a> = false</td></tr>
+<tr class="separator:ae9937f9e0f3d927acc2bed46cc72e9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_static_methods_classBaseObject"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classBaseObject')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classBaseObject.html">BaseObject</a></td></tr>
+<tr class="memitem:a0a9acda12d751692834cf6999f889223 inherit pub_static_methods_classBaseObject"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBaseObject.html#a0a9acda12d751692834cf6999f889223">set_app</a> ($app)</td></tr>
+<tr class="separator:a0a9acda12d751692834cf6999f889223 inherit pub_static_methods_classBaseObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A list of threads </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a6b064d00c56a6b7dec359d4348711c84"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::__construct </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$mode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$preview</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a8335cdd43f1836e3c255638e61a09e16"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::add_thread </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Add a thread to the conversation</p>
+<p>Returns: _ The inserted item on success _ false on failure </p>
+
+</div>
+</div>
+<a class="anchor" id="a87a0d704d5f2b1a008cc2e9ce06a1bcd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::get_mode </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get mode </p>
+
+<p>Referenced by <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">set_mode()</a>, and <a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">set_profile_owner()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae3d4190142e12b57051f11f2911f77a0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::get_observer </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5effe8ad3007e01333df44b81432b813"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::get_profile_owner </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get profile owner </p>
+
+</div>
+</div>
+<a class="anchor" id="a2a96b7a6573ae53db861624659e831cb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::get_template_data </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$alike</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dlike</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get data in a form usable by a conversation template</p>
+<p>We should find a way to avoid using those arguments (at least most of them)</p>
+<p>Returns: _ The data requested on success _ false on failure </p>
+
+</div>
+</div>
+<a class="anchor" id="a4cff75d8c46b517e7133e4d0da6fc1c8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::get_thread </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$id</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">
+<p>Get a thread based on its item id</p>
+<p>Returns: _ The found item on success _ false on failure </p>
+
+<p>Referenced by <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">add_thread()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8b47c92b69459d461ea3cc9aae9597a3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::is_commentable </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="adf25ce023b69a166c63c6e84e02c136a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::is_preview </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Check if page is a preview </p>
+
+</div>
+</div>
+<a class="anchor" id="a5879199008b96bee7550b576d614e1c1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::is_writable </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Check if page is writable </p>
+
+</div>
+</div>
+<a class="anchor" id="a66f121ca4026246f86a732e5faa0682c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::set_mode </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$mode</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">
+<p>Set the mode we'll be displayed on </p>
+
+<p>Referenced by <a class="el" href="classConversation.html#a6b064d00c56a6b7dec359d4348711c84">__construct()</a>, and <a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">set_profile_owner()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8898bddc1e8990e81dab9a13a532cc93"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::set_profile_owner </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</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="afd4965d22a6e4bfea2f35e931b3273c6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::$commentable = false</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="classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3">is_commentable()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afb03d1648dbfafe62caa1e30f32f2b1a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::$mode = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classConversation.html#a6b064d00c56a6b7dec359d4348711c84">__construct()</a>, <a class="el" href="classConversation.html#a87a0d704d5f2b1a008cc2e9ce06a1bcd">get_mode()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">set_mode()</a>, and <a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">set_profile_owner()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8748445aa26047ebed5141f3c3cbc244"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::$observer = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classConversation.html#ae3d4190142e12b57051f11f2911f77a0">get_observer()</a>, and <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">set_mode()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae9937f9e0f3d927acc2bed46cc72e9ae"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::$preview = false</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="classConversation.html#a6b064d00c56a6b7dec359d4348711c84">__construct()</a>, and <a class="el" href="classConversation.html#adf25ce023b69a166c63c6e84e02c136a">is_preview()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2f12724ef0244e9049fe1bb9641b516d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::$profile_owner = 0</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="classConversation.html#a5effe8ad3007e01333df44b81432b813">get_profile_owner()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a41f4a549e6a99f98935c4742addd22c8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::$threads = array()</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>
+<a class="anchor" id="ae81221251307e315f566a11f921ce0a9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Conversation::$writable = false</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="classConversation.html#a5879199008b96bee7550b576d614e1c1">is_writable()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="ConversationObject_8php.html">ConversationObject.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classConversation.js b/doc/html/classConversation.js
new file mode 100644
index 000000000..57f735fb5
--- /dev/null
+++ b/doc/html/classConversation.js
@@ -0,0 +1,22 @@
+var classConversation =
+[
+ [ "__construct", "classConversation.html#a6b064d00c56a6b7dec359d4348711c84", null ],
+ [ "add_thread", "classConversation.html#a8335cdd43f1836e3c255638e61a09e16", null ],
+ [ "get_mode", "classConversation.html#a87a0d704d5f2b1a008cc2e9ce06a1bcd", null ],
+ [ "get_observer", "classConversation.html#ae3d4190142e12b57051f11f2911f77a0", null ],
+ [ "get_profile_owner", "classConversation.html#a5effe8ad3007e01333df44b81432b813", null ],
+ [ "get_template_data", "classConversation.html#a2a96b7a6573ae53db861624659e831cb", null ],
+ [ "get_thread", "classConversation.html#a4cff75d8c46b517e7133e4d0da6fc1c8", null ],
+ [ "is_commentable", "classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3", null ],
+ [ "is_preview", "classConversation.html#adf25ce023b69a166c63c6e84e02c136a", null ],
+ [ "is_writable", "classConversation.html#a5879199008b96bee7550b576d614e1c1", null ],
+ [ "set_mode", "classConversation.html#a66f121ca4026246f86a732e5faa0682c", null ],
+ [ "set_profile_owner", "classConversation.html#a8898bddc1e8990e81dab9a13a532cc93", null ],
+ [ "$commentable", "classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6", null ],
+ [ "$mode", "classConversation.html#afb03d1648dbfafe62caa1e30f32f2b1a", null ],
+ [ "$observer", "classConversation.html#a8748445aa26047ebed5141f3c3cbc244", null ],
+ [ "$preview", "classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae", null ],
+ [ "$profile_owner", "classConversation.html#a2f12724ef0244e9049fe1bb9641b516d", null ],
+ [ "$threads", "classConversation.html#a41f4a549e6a99f98935c4742addd22c8", null ],
+ [ "$writable", "classConversation.html#ae81221251307e315f566a11f921ce0a9", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classConversation.png b/doc/html/classConversation.png
new file mode 100644
index 000000000..c4ab9b0ed
--- /dev/null
+++ b/doc/html/classConversation.png
Binary files differ
diff --git a/doc/html/classFKOAuth1-members.html b/doc/html/classFKOAuth1-members.html
new file mode 100644
index 000000000..dd4343883
--- /dev/null
+++ b/doc/html/classFKOAuth1-members.html
@@ -0,0 +1,119 @@
+<!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="rhash-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('classFKOAuth1.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">FKOAuth1 Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classFKOAuth1.html">FKOAuth1</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6">__construct</a>()</td><td class="entry"><a class="el" href="classFKOAuth1.html">FKOAuth1</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">loginUser</a>($uid)</td><td class="entry"><a class="el" href="classFKOAuth1.html">FKOAuth1</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classFKOAuth1.html b/doc/html/classFKOAuth1.html
new file mode 100644
index 000000000..7e3fb8590
--- /dev/null
+++ b/doc/html/classFKOAuth1.html
@@ -0,0 +1,169 @@
+<!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: FKOAuth1 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="rhash-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('classFKOAuth1.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="classFKOAuth1-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">FKOAuth1 Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for FKOAuth1:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classFKOAuth1.png" usemap="#FKOAuth1_map" alt=""/>
+ <map id="FKOAuth1_map" name="FKOAuth1_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:a2f1276872329a6f0b704ccda1a4b9fa6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6">__construct</a> ()</td></tr>
+<tr class="separator:a2f1276872329a6f0b704ccda1a4b9fa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b1dac2ed31fc6ef84668afdda8b263f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">loginUser</a> ($uid)</td></tr>
+<tr class="separator:a2b1dac2ed31fc6ef84668afdda8b263f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a2f1276872329a6f0b704ccda1a4b9fa6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FKOAuth1::__construct </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a2b1dac2ed31fc6ef84668afdda8b263f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FKOAuth1::loginUser </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="oauth_8php.html">oauth.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classFKOAuth1.js b/doc/html/classFKOAuth1.js
new file mode 100644
index 000000000..dbaf2c2d5
--- /dev/null
+++ b/doc/html/classFKOAuth1.js
@@ -0,0 +1,5 @@
+var classFKOAuth1 =
+[
+ [ "__construct", "classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6", null ],
+ [ "loginUser", "classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classFKOAuth1.png b/doc/html/classFKOAuth1.png
new file mode 100644
index 000000000..740172c10
--- /dev/null
+++ b/doc/html/classFKOAuth1.png
Binary files differ
diff --git a/doc/html/classFKOAuthDataStore-members.html b/doc/html/classFKOAuthDataStore-members.html
new file mode 100644
index 000000000..d5cab373b
--- /dev/null
+++ b/doc/html/classFKOAuthDataStore-members.html
@@ -0,0 +1,123 @@
+<!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="rhash-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('classFKOAuthDataStore.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">FKOAuthDataStore Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classFKOAuthDataStore.html">FKOAuthDataStore</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819">gen_token</a>()</td><td class="entry"><a class="el" href="classFKOAuthDataStore.html">FKOAuthDataStore</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">lookup_consumer</a>($consumer_key)</td><td class="entry"><a class="el" href="classFKOAuthDataStore.html">FKOAuthDataStore</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">lookup_nonce</a>($consumer, $token, $nonce, $timestamp)</td><td class="entry"><a class="el" href="classFKOAuthDataStore.html">FKOAuthDataStore</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">lookup_token</a>($consumer, $token_type, $token)</td><td class="entry"><a class="el" href="classFKOAuthDataStore.html">FKOAuthDataStore</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">new_access_token</a>($token, $consumer, $verifier=null)</td><td class="entry"><a class="el" href="classFKOAuthDataStore.html">FKOAuthDataStore</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">new_request_token</a>($consumer, $callback=null)</td><td class="entry"><a class="el" href="classFKOAuthDataStore.html">FKOAuthDataStore</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classFKOAuthDataStore.html b/doc/html/classFKOAuthDataStore.html
new file mode 100644
index 000000000..9966c83e1
--- /dev/null
+++ b/doc/html/classFKOAuthDataStore.html
@@ -0,0 +1,306 @@
+<!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: FKOAuthDataStore 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="rhash-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('classFKOAuthDataStore.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="classFKOAuthDataStore-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">FKOAuthDataStore Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for FKOAuthDataStore:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classFKOAuthDataStore.png" usemap="#FKOAuthDataStore_map" alt=""/>
+ <map id="FKOAuthDataStore_map" name="FKOAuthDataStore_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:aa1a268be88ad3979bb4cc35bbb4dc819"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819">gen_token</a> ()</td></tr>
+<tr class="separator:aa1a268be88ad3979bb4cc35bbb4dc819"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1148d47b546350bf440bdd92792c5df1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">lookup_consumer</a> ($consumer_key)</td></tr>
+<tr class="separator:a1148d47b546350bf440bdd92792c5df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a96f76387c3a93b0abe27a98013804bab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">lookup_token</a> ($consumer, $token_type, $token)</td></tr>
+<tr class="separator:a96f76387c3a93b0abe27a98013804bab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4edfe2e77ecd2e16ff6b5eb516ed3599"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">lookup_nonce</a> ($consumer, $token, $nonce, $timestamp)</td></tr>
+<tr class="separator:a4edfe2e77ecd2e16ff6b5eb516ed3599"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a431b44d70e3da6a8256ab38f710e3050"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">new_request_token</a> ($consumer, $callback=null)</td></tr>
+<tr class="separator:a431b44d70e3da6a8256ab38f710e3050"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a434882f03e3cdb171ed89e09e337e934"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">new_access_token</a> ($token, $consumer, $verifier=null)</td></tr>
+<tr class="separator:a434882f03e3cdb171ed89e09e337e934"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="aa1a268be88ad3979bb4cc35bbb4dc819"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FKOAuthDataStore::gen_token </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">new_access_token()</a>, and <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">new_request_token()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1148d47b546350bf440bdd92792c5df1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FKOAuthDataStore::lookup_consumer </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$consumer_key</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4edfe2e77ecd2e16ff6b5eb516ed3599"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FKOAuthDataStore::lookup_nonce </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$consumer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$token</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$nonce</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$timestamp</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="a96f76387c3a93b0abe27a98013804bab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FKOAuthDataStore::lookup_token </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$consumer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$token_type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$token</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="a434882f03e3cdb171ed89e09e337e934"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FKOAuthDataStore::new_access_token </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$token</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$consumer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$verifier</em> = <code>null</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="a431b44d70e3da6a8256ab38f710e3050"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FKOAuthDataStore::new_request_token </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$consumer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$callback</em> = <code>null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="oauth_8php.html">oauth.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classFKOAuthDataStore.js b/doc/html/classFKOAuthDataStore.js
new file mode 100644
index 000000000..29825cdac
--- /dev/null
+++ b/doc/html/classFKOAuthDataStore.js
@@ -0,0 +1,9 @@
+var classFKOAuthDataStore =
+[
+ [ "gen_token", "classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819", null ],
+ [ "lookup_consumer", "classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1", null ],
+ [ "lookup_nonce", "classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599", null ],
+ [ "lookup_token", "classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab", null ],
+ [ "new_access_token", "classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934", null ],
+ [ "new_request_token", "classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classFKOAuthDataStore.png b/doc/html/classFKOAuthDataStore.png
new file mode 100644
index 000000000..1d61bd0de
--- /dev/null
+++ b/doc/html/classFKOAuthDataStore.png
Binary files differ
diff --git a/doc/html/classFriendicaSmarty-members.html b/doc/html/classFriendicaSmarty-members.html
new file mode 100644
index 000000000..e160a346c
--- /dev/null
+++ b/doc/html/classFriendicaSmarty-members.html
@@ -0,0 +1,120 @@
+<!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="rhash-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('classFriendicaSmarty.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">FriendicaSmarty Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classFriendicaSmarty.html">FriendicaSmarty</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690">$filename</a></td><td class="entry"><a class="el" href="classFriendicaSmarty.html">FriendicaSmarty</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">__construct</a>()</td><td class="entry"><a class="el" href="classFriendicaSmarty.html">FriendicaSmarty</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9">parsed</a>($template= '')</td><td class="entry"><a class="el" href="classFriendicaSmarty.html">FriendicaSmarty</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classFriendicaSmarty.html b/doc/html/classFriendicaSmarty.html
new file mode 100644
index 000000000..49f77b903
--- /dev/null
+++ b/doc/html/classFriendicaSmarty.html
@@ -0,0 +1,188 @@
+<!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: FriendicaSmarty 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="rhash-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('classFriendicaSmarty.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="#pub-attribs">Public Attributes</a> &#124;
+<a href="classFriendicaSmarty-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">FriendicaSmarty Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for FriendicaSmarty:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classFriendicaSmarty.png" usemap="#FriendicaSmarty_map" alt=""/>
+ <map id="FriendicaSmarty_map" name="FriendicaSmarty_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:af12091b920b95eeef1218cbc48066ca6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">__construct</a> ()</td></tr>
+<tr class="separator:af12091b920b95eeef1218cbc48066ca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a4d4281d6fa9be1d37a97b188ffe8c9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9">parsed</a> ($template= '')</td></tr>
+<tr class="separator:a6a4d4281d6fa9be1d37a97b188ffe8c9"><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:a33fabbd4d6eef869df496adf357ae690"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690">$filename</a></td></tr>
+<tr class="separator:a33fabbd4d6eef869df496adf357ae690"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="af12091b920b95eeef1218cbc48066ca6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FriendicaSmarty::__construct </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a6a4d4281d6fa9be1d37a97b188ffe8c9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FriendicaSmarty::parsed </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$template</em> = <code>''</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a33fabbd4d6eef869df496adf357ae690"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FriendicaSmarty::$filename</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="friendica__smarty_8php.html">friendica_smarty.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classFriendicaSmarty.js b/doc/html/classFriendicaSmarty.js
new file mode 100644
index 000000000..eded144b6
--- /dev/null
+++ b/doc/html/classFriendicaSmarty.js
@@ -0,0 +1,6 @@
+var classFriendicaSmarty =
+[
+ [ "__construct", "classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6", null ],
+ [ "parsed", "classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9", null ],
+ [ "$filename", "classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classFriendicaSmarty.png b/doc/html/classFriendicaSmarty.png
new file mode 100644
index 000000000..a2fffb758
--- /dev/null
+++ b/doc/html/classFriendicaSmarty.png
Binary files differ
diff --git a/doc/html/classFriendicaSmartyEngine-members.html b/doc/html/classFriendicaSmartyEngine-members.html
new file mode 100644
index 000000000..772ff8657
--- /dev/null
+++ b/doc/html/classFriendicaSmartyEngine-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="rhash-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('classFriendicaSmartyEngine.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">FriendicaSmartyEngine Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classFriendicaSmartyEngine.html">FriendicaSmartyEngine</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classFriendicaSmartyEngine.html#aaba6a42101bc9ae32e36b7fa2e243f02">$name</a></td><td class="entry"><a class="el" href="classFriendicaSmartyEngine.html">FriendicaSmartyEngine</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">__construct</a>()</td><td class="entry"><a class="el" href="classFriendicaSmartyEngine.html">FriendicaSmartyEngine</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">get_intltext_template</a>($file, $root='')</td><td class="entry"><a class="el" href="classFriendicaSmartyEngine.html">FriendicaSmartyEngine</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88">get_markup_template</a>($file, $root='')</td><td class="entry"><a class="el" href="classFriendicaSmartyEngine.html">FriendicaSmartyEngine</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">replace_macros</a>($s, $r)</td><td class="entry"><a class="el" href="classFriendicaSmartyEngine.html">FriendicaSmartyEngine</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classFriendicaSmartyEngine.html b/doc/html/classFriendicaSmartyEngine.html
new file mode 100644
index 000000000..40f28092f
--- /dev/null
+++ b/doc/html/classFriendicaSmartyEngine.html
@@ -0,0 +1,267 @@
+<!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: FriendicaSmartyEngine 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="rhash-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('classFriendicaSmartyEngine.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="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="classFriendicaSmartyEngine-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">FriendicaSmartyEngine Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for FriendicaSmartyEngine:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classFriendicaSmartyEngine.png" usemap="#FriendicaSmartyEngine_map" alt=""/>
+ <map id="FriendicaSmartyEngine_map" name="FriendicaSmartyEngine_map">
+<area href="interfaceITemplateEngine.html" alt="ITemplateEngine" shape="rect" coords="0,0,144,24"/>
+</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:ab7c305bd8c386c2944e4dc9136cea5b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">__construct</a> ()</td></tr>
+<tr class="separator:ab7c305bd8c386c2944e4dc9136cea5b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad62f1181d2f02b54b46731ad2bd46db2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">replace_macros</a> ($s, $r)</td></tr>
+<tr class="separator:ad62f1181d2f02b54b46731ad2bd46db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab5994077fc3a64222e41b28e2bd8d88"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88">get_markup_template</a> ($file, $root='')</td></tr>
+<tr class="separator:aab5994077fc3a64222e41b28e2bd8d88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35ec0ee828c36640ea25296bcb84a118"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">get_intltext_template</a> ($file, $root='')</td></tr>
+<tr class="separator:a35ec0ee828c36640ea25296bcb84a118"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:aaba6a42101bc9ae32e36b7fa2e243f02"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFriendicaSmartyEngine.html#aaba6a42101bc9ae32e36b7fa2e243f02">$name</a> =&quot;smarty3&quot;</td></tr>
+<tr class="separator:aaba6a42101bc9ae32e36b7fa2e243f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ab7c305bd8c386c2944e4dc9136cea5b6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FriendicaSmartyEngine::__construct </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a35ec0ee828c36640ea25296bcb84a118"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FriendicaSmartyEngine::get_intltext_template </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">&#160;</td>
+ <td class="paramname"><em>$root</em> = <code>''</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="aab5994077fc3a64222e41b28e2bd8d88"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FriendicaSmartyEngine::get_markup_template </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">&#160;</td>
+ <td class="paramname"><em>$root</em> = <code>''</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442">ITemplateEngine</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad62f1181d2f02b54b46731ad2bd46db2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FriendicaSmartyEngine::replace_macros </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>$r</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243">ITemplateEngine</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="aaba6a42101bc9ae32e36b7fa2e243f02"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">FriendicaSmartyEngine::$name =&quot;smarty3&quot;</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="friendica__smarty_8php.html">friendica_smarty.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classFriendicaSmartyEngine.js b/doc/html/classFriendicaSmartyEngine.js
new file mode 100644
index 000000000..cabd197d1
--- /dev/null
+++ b/doc/html/classFriendicaSmartyEngine.js
@@ -0,0 +1,7 @@
+var classFriendicaSmartyEngine =
+[
+ [ "__construct", "classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6", null ],
+ [ "get_intltext_template", "classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118", null ],
+ [ "get_markup_template", "classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88", null ],
+ [ "replace_macros", "classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classFriendicaSmartyEngine.png b/doc/html/classFriendicaSmartyEngine.png
new file mode 100644
index 000000000..afe04a5fc
--- /dev/null
+++ b/doc/html/classFriendicaSmartyEngine.png
Binary files differ
diff --git a/doc/html/classItem-members.html b/doc/html/classItem-members.html
new file mode 100644
index 000000000..3e67b71c0
--- /dev/null
+++ b/doc/html/classItem-members.html
@@ -0,0 +1,161 @@
+<!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="rhash-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('classItem.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">Item Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classItem.html">Item</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#acc32426c0f465391be8a99ad810c7b8e">$channel</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a80dcd0fb7673776c0967839d429c2a0f">$children</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a90743c8348b13213275c223bb9333aa0">$comment_box_template</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a007424e3e3171dcfb4312a02161da6cd">$conversation</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#aec24e233f9098f902b1e57e60dcb2019">$data</a></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#a9594df6014b0b6f45364ea7a34510130">$owner_name</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a078f95b4134ce3a1df344cf8d386f986">$owner_photo</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#afa54851df82962c7c42dea3cc9f5c92c">$owner_url</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a1a1e42877e6ac7af50286142ceb483d2">$parent</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a5b561415861f5b89b0733aacfe0428d1">$redirect_url</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a7f7bc059de377319282cb4ef4a828480">$template</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2">$threaded</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a5cfa6cf964f433a917a81cab079ff9d8">$toplevel</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8">$visiting</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189">$wall_to_wall</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">__construct</a>($data)</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#a80dcd9d0f548c3ad550abe7e6981fb51">add_child</a>($item)</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#abcdb0ea9bcd1576bc99bba9b8f700bb8">check_wall_to_wall</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">count_descendants</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">get_app</a>()</td><td class="entry"><a class="el" href="classBaseObject.html">BaseObject</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a632185dd25c5caf277067c76230a4320">get_child</a>($id)</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#aa0ee775ec94abccec6c798428835d001">get_children</a>()</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#a3ee7667c2ec6cd7657328e27848c0bdf">get_comment_box</a>($indent)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a904421c7a427411bb2ab473bca872f63">get_comment_box_template</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a0c301aaed2b7d682728d18db3a22afa3">get_conversation</a>()</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#ad3638f93065693c1f69eb349feb1b7aa">get_data</a>()</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#ac6f1c96cc82a0dfb7e881fc70309ea3c">get_data_value</a>($name)</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#ac0f27e58532612f6e7a54c8a621b9b92">get_id</a>()</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#a67892aa23d19f4431bb2e5f43c74000e">get_owner_name</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#aa541bc4290e51bfd688d6921bebabc73">get_owner_photo</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a9f2d219da712390f59012fc32a342074">get_owner_url</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a4b92e3a9d6212c553aa2661489bd95d8">get_parent</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a428f448f89a8629055ea3294eb942aea">get_redirect_url</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#aba23a0a9d89e316d2b343cc46d695d91">get_template</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data</a>($alike, $dlike, $thread_level=1)</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#a5b2fafdca55aefeaa08993a5a60529f0">is_threaded</a>()</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#aa49e40f961dff66da32c5ae110e32993">is_toplevel</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a97c7feeea7f26a73176cb19faa455e12">is_visiting</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#aabf87ded59c25b5fe2b2296678e70509">is_wall_to_wall</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">remove_child</a>($item)</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#aa452b5bcd8dea12119b09212c615cb41">remove_parent</a>()</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="classBaseObject.html#a0a9acda12d751692834cf6999f889223">set_app</a>($app)</td><td class="entry"><a class="el" href="classBaseObject.html">BaseObject</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr class="even"><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><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>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classItem.html b/doc/html/classItem.html
new file mode 100644
index 000000000..de52cab07
--- /dev/null
+++ b/doc/html/classItem.html
@@ -0,0 +1,1177 @@
+<!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: Item 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="rhash-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('classItem.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="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a> &#124;
+<a href="classItem-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">Item Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for Item:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classItem.png" usemap="#Item_map" alt=""/>
+ <map id="Item_map" name="Item_map">
+<area href="classBaseObject.html" alt="BaseObject" shape="rect" coords="0,0,77,24"/>
+</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:a248f45871ecfe82a08d1d4c0769b2eb2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">__construct</a> ($data)</td></tr>
+<tr class="separator:a248f45871ecfe82a08d1d4c0769b2eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5dcbe0b94cb2d5719bc5b6bd8ad60c8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data</a> ($alike, $dlike, $thread_level=1)</td></tr>
+<tr class="separator:ad5dcbe0b94cb2d5719bc5b6bd8ad60c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac0f27e58532612f6e7a54c8a621b9b92"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#ac0f27e58532612f6e7a54c8a621b9b92">get_id</a> ()</td></tr>
+<tr class="separator:ac0f27e58532612f6e7a54c8a621b9b92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b2fafdca55aefeaa08993a5a60529f0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a5b2fafdca55aefeaa08993a5a60529f0">is_threaded</a> ()</td></tr>
+<tr class="separator:a5b2fafdca55aefeaa08993a5a60529f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a80dcd9d0f548c3ad550abe7e6981fb51"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">add_child</a> ($item)</td></tr>
+<tr class="separator:a80dcd9d0f548c3ad550abe7e6981fb51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a632185dd25c5caf277067c76230a4320"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a632185dd25c5caf277067c76230a4320">get_child</a> ($id)</td></tr>
+<tr class="separator:a632185dd25c5caf277067c76230a4320"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0ee775ec94abccec6c798428835d001"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aa0ee775ec94abccec6c798428835d001">get_children</a> ()</td></tr>
+<tr class="separator:aa0ee775ec94abccec6c798428835d001"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ce70ef63f9f4d86a09c351678806925"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">remove_child</a> ($item)</td></tr>
+<tr class="separator:a2ce70ef63f9f4d86a09c351678806925"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8b1bbc4236890694635295e46d7fd72"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">set_conversation</a> ($conv)</td></tr>
+<tr class="separator:aa8b1bbc4236890694635295e46d7fd72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c301aaed2b7d682728d18db3a22afa3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a0c301aaed2b7d682728d18db3a22afa3">get_conversation</a> ()</td></tr>
+<tr class="separator:a0c301aaed2b7d682728d18db3a22afa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3638f93065693c1f69eb349feb1b7aa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#ad3638f93065693c1f69eb349feb1b7aa">get_data</a> ()</td></tr>
+<tr class="separator:ad3638f93065693c1f69eb349feb1b7aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6f1c96cc82a0dfb7e881fc70309ea3c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c">get_data_value</a> ($name)</td></tr>
+<tr class="separator:ac6f1c96cc82a0dfb7e881fc70309ea3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classBaseObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classBaseObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classBaseObject.html">BaseObject</a></td></tr>
+<tr class="memitem:ac43f10e69ce80c78e4870636250fc8a2 inherit pub_methods_classBaseObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">get_app</a> ()</td></tr>
+<tr class="separator:ac43f10e69ce80c78e4870636250fc8a2 inherit pub_methods_classBaseObject"><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:aec24e233f9098f902b1e57e60dcb2019"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aec24e233f9098f902b1e57e60dcb2019">$data</a> = array()</td></tr>
+<tr class="separator:aec24e233f9098f902b1e57e60dcb2019"><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:a9890ff72662d5bba301d1f2dd8aec9d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7">set_parent</a> ($item)</td></tr>
+<tr class="separator:a9890ff72662d5bba301d1f2dd8aec9d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa452b5bcd8dea12119b09212c615cb41"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aa452b5bcd8dea12119b09212c615cb41">remove_parent</a> ()</td></tr>
+<tr class="separator:aa452b5bcd8dea12119b09212c615cb41"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b92e3a9d6212c553aa2661489bd95d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a4b92e3a9d6212c553aa2661489bd95d8">get_parent</a> ()</td></tr>
+<tr class="separator:a4b92e3a9d6212c553aa2661489bd95d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abcdb0ea9bcd1576bc99bba9b8f700bb8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">check_wall_to_wall</a> ()</td></tr>
+<tr class="separator:abcdb0ea9bcd1576bc99bba9b8f700bb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+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: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>
+<tr class="separator:aca1e66988ed00cd627b2a359b72cd0ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a904421c7a427411bb2ab473bca872f63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a904421c7a427411bb2ab473bca872f63">get_comment_box_template</a> ()</td></tr>
+<tr class="separator:a904421c7a427411bb2ab473bca872f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ee7667c2ec6cd7657328e27848c0bdf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">get_comment_box</a> ($indent)</td></tr>
+<tr class="separator:a3ee7667c2ec6cd7657328e27848c0bdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a428f448f89a8629055ea3294eb942aea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a428f448f89a8629055ea3294eb942aea">get_redirect_url</a> ()</td></tr>
+<tr class="separator:a428f448f89a8629055ea3294eb942aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabf87ded59c25b5fe2b2296678e70509"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aabf87ded59c25b5fe2b2296678e70509">is_wall_to_wall</a> ()</td></tr>
+<tr class="separator:aabf87ded59c25b5fe2b2296678e70509"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f2d219da712390f59012fc32a342074"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a9f2d219da712390f59012fc32a342074">get_owner_url</a> ()</td></tr>
+<tr class="separator:a9f2d219da712390f59012fc32a342074"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa541bc4290e51bfd688d6921bebabc73"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aa541bc4290e51bfd688d6921bebabc73">get_owner_photo</a> ()</td></tr>
+<tr class="separator:aa541bc4290e51bfd688d6921bebabc73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67892aa23d19f4431bb2e5f43c74000e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a67892aa23d19f4431bb2e5f43c74000e">get_owner_name</a> ()</td></tr>
+<tr class="separator:a67892aa23d19f4431bb2e5f43c74000e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97c7feeea7f26a73176cb19faa455e12"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a97c7feeea7f26a73176cb19faa455e12">is_visiting</a> ()</td></tr>
+<tr class="separator:a97c7feeea7f26a73176cb19faa455e12"><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:a7f7bc059de377319282cb4ef4a828480"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a7f7bc059de377319282cb4ef4a828480">$template</a> = 'conv_item.tpl'</td></tr>
+<tr class="separator:a7f7bc059de377319282cb4ef4a828480"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90743c8348b13213275c223bb9333aa0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a90743c8348b13213275c223bb9333aa0">$comment_box_template</a> = 'comment_item.tpl'</td></tr>
+<tr class="separator:a90743c8348b13213275c223bb9333aa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5cfa6cf964f433a917a81cab079ff9d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a5cfa6cf964f433a917a81cab079ff9d8">$toplevel</a> = false</td></tr>
+<tr class="separator:a5cfa6cf964f433a917a81cab079ff9d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a80dcd0fb7673776c0967839d429c2a0f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a80dcd0fb7673776c0967839d429c2a0f">$children</a> = array()</td></tr>
+<tr class="separator:a80dcd0fb7673776c0967839d429c2a0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a1e42877e6ac7af50286142ceb483d2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a1a1e42877e6ac7af50286142ceb483d2">$parent</a> = null</td></tr>
+<tr class="separator:a1a1e42877e6ac7af50286142ceb483d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a007424e3e3171dcfb4312a02161da6cd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a007424e3e3171dcfb4312a02161da6cd">$conversation</a> = null</td></tr>
+<tr class="separator:a007424e3e3171dcfb4312a02161da6cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b561415861f5b89b0733aacfe0428d1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a5b561415861f5b89b0733aacfe0428d1">$redirect_url</a> = null</td></tr>
+<tr class="separator:a5b561415861f5b89b0733aacfe0428d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa54851df82962c7c42dea3cc9f5c92c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#afa54851df82962c7c42dea3cc9f5c92c">$owner_url</a> = ''</td></tr>
+<tr class="separator:afa54851df82962c7c42dea3cc9f5c92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a078f95b4134ce3a1df344cf8d386f986"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a078f95b4134ce3a1df344cf8d386f986">$owner_photo</a> = ''</td></tr>
+<tr class="separator:a078f95b4134ce3a1df344cf8d386f986"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9594df6014b0b6f45364ea7a34510130"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a9594df6014b0b6f45364ea7a34510130">$owner_name</a> = ''</td></tr>
+<tr class="separator:a9594df6014b0b6f45364ea7a34510130"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d29ddecc073151a65a8e2ea2f6e4189"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189">$wall_to_wall</a> = false</td></tr>
+<tr class="separator:a5d29ddecc073151a65a8e2ea2f6e4189"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cb6aa8abdf7ea7daca647e40c8ea3a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2">$threaded</a> = false</td></tr>
+<tr class="separator:a1cb6aa8abdf7ea7daca647e40c8ea3a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a123ae98987c1e30ecb15c4edf5a3b8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8">$visiting</a> = false</td></tr>
+<tr class="separator:a4a123ae98987c1e30ecb15c4edf5a3b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc32426c0f465391be8a99ad810c7b8e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#acc32426c0f465391be8a99ad810c7b8e">$channel</a> = null</td></tr>
+<tr class="separator:acc32426c0f465391be8a99ad810c7b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_static_methods_classBaseObject"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classBaseObject')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classBaseObject.html">BaseObject</a></td></tr>
+<tr class="memitem:a0a9acda12d751692834cf6999f889223 inherit pub_static_methods_classBaseObject"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBaseObject.html#a0a9acda12d751692834cf6999f889223">set_app</a> ($app)</td></tr>
+<tr class="separator:a0a9acda12d751692834cf6999f889223 inherit pub_static_methods_classBaseObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>An item </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a248f45871ecfe82a08d1d4c0769b2eb2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::__construct </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$data</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="a80dcd9d0f548c3ad550abe7e6981fb51"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::add_child </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Add a child item </p>
+
+<p>Referenced by <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">__construct()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abcdb0ea9bcd1576bc99bba9b8f700bb8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::check_wall_to_wall </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Check if we are a wall to wall item and set the relevant properties </p>
+
+<p>Referenced by <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aca1e66988ed00cd627b2a359b72cd0ae"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::count_descendants </td>
+ <td>(</td>
+ <td class="paramname"></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">
+<p>Count the total of our descendants </p>
+
+<p>Referenced by <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a632185dd25c5caf277067c76230a4320"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_child </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get a child by its ID </p>
+
+<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">add_child()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa0ee775ec94abccec6c798428835d001"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_children </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get all our children </p>
+
+<p>Referenced by <a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">count_descendants()</a>, <a class="el" href="classItem.html#a632185dd25c5caf277067c76230a4320">get_child()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>, <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">remove_child()</a>, and <a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">set_conversation()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3ee7667c2ec6cd7657328e27848c0bdf"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_comment_box </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$indent</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">
+<p>Get the comment box</p>
+<p>Returns: _ The comment box string (empty if no comment box) _ false on failure </p>
+
+<p>Referenced by <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a904421c7a427411bb2ab473bca872f63"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_comment_box_template </td>
+ <td>(</td>
+ <td class="paramname"></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">
+<p>Get the template for the comment box </p>
+
+<p>Referenced by <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">get_comment_box()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0c301aaed2b7d682728d18db3a22afa3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_conversation </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>get conversation </p>
+
+<p>Referenced by <a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">check_wall_to_wall()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">get_comment_box()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad3638f93065693c1f69eb349feb1b7aa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_data </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get raw data</p>
+<p>We shouldn't need this </p>
+
+<p>Referenced by <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac6f1c96cc82a0dfb7e881fc70309ea3c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_data_value </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">
+<p>Get a data value</p>
+<p>Returns: _ value on success _ false on failure </p>
+
+<p>Referenced by <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">__construct()</a>, <a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">check_wall_to_wall()</a>, <a class="el" href="classItem.html#ac0f27e58532612f6e7a54c8a621b9b92">get_id()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac0f27e58532612f6e7a54c8a621b9b92"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_id </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">__construct()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">get_comment_box()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a67892aa23d19f4431bb2e5f43c74000e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_owner_name </td>
+ <td>(</td>
+ <td class="paramname"></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">
+
+<p>Referenced by <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa541bc4290e51bfd688d6921bebabc73"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_owner_photo </td>
+ <td>(</td>
+ <td class="paramname"></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">
+
+<p>Referenced by <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9f2d219da712390f59012fc32a342074"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_owner_url </td>
+ <td>(</td>
+ <td class="paramname"></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">
+
+<p>Referenced by <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4b92e3a9d6212c553aa2661489bd95d8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_parent </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Get parent item </p>
+
+<p>Referenced by <a class="el" href="classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7">set_parent()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a428f448f89a8629055ea3294eb942aea"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_redirect_url </td>
+ <td>(</td>
+ <td class="paramname"></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>
+<a class="anchor" id="aba23a0a9d89e316d2b343cc46d695d91"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_template </td>
+ <td>(</td>
+ <td class="paramname"></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">
+<p>Get template </p>
+
+<p>Referenced by <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad5dcbe0b94cb2d5719bc5b6bd8ad60c8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_template_data </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$alike</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dlike</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$thread_level</em> = <code>1</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get data in a form usable by a conversation template</p>
+<p>Returns: _ The data requested on success _ false on failure </p>
+
+</div>
+</div>
+<a class="anchor" id="a5b2fafdca55aefeaa08993a5a60529f0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::is_threaded </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">get_comment_box()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa49e40f961dff66da32c5ae110e32993"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::is_toplevel </td>
+ <td>(</td>
+ <td class="paramname"></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">
+<p>Check if this is a toplevel post </p>
+
+<p>Referenced by <a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">check_wall_to_wall()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">get_comment_box()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a97c7feeea7f26a73176cb19faa455e12"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::is_visiting </td>
+ <td>(</td>
+ <td class="paramname"></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>
+<a class="anchor" id="aabf87ded59c25b5fe2b2296678e70509"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::is_wall_to_wall </td>
+ <td>(</td>
+ <td class="paramname"></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>
+<a class="anchor" id="a2ce70ef63f9f4d86a09c351678806925"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::remove_child </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Remove a child </p>
+
+</div>
+</div>
+<a class="anchor" id="aa452b5bcd8dea12119b09212c615cb41"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::remove_parent </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Remove our parent </p>
+
+</div>
+</div>
+<a class="anchor" id="aa8b1bbc4236890694635295e46d7fd72"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::set_conversation </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$conv</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>set conversation </p>
+
+<p>Referenced by <a class="el" href="classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7">set_parent()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9890ff72662d5bba301d1f2dd8aec9d7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::set_parent </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Set our parent </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="acc32426c0f465391be8a99ad810c7b8e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$channel = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a80dcd0fb7673776c0967839d429c2a0f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$children = array()</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="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">count_descendants()</a>, <a class="el" href="classItem.html#aa0ee775ec94abccec6c798428835d001">get_children()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a90743c8348b13213275c223bb9333aa0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$comment_box_template = 'comment_item.tpl'</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="classItem.html#a904421c7a427411bb2ab473bca872f63">get_comment_box_template()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a007424e3e3171dcfb4312a02161da6cd"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$conversation = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classItem.html#a0c301aaed2b7d682728d18db3a22afa3">get_conversation()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aec24e233f9098f902b1e57e60dcb2019"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$data = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">__construct()</a>, and <a class="el" href="classItem.html#ad3638f93065693c1f69eb349feb1b7aa">get_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9594df6014b0b6f45364ea7a34510130"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$owner_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="classItem.html#a67892aa23d19f4431bb2e5f43c74000e">get_owner_name()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a078f95b4134ce3a1df344cf8d386f986"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$owner_photo = ''</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="classItem.html#aa541bc4290e51bfd688d6921bebabc73">get_owner_photo()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afa54851df82962c7c42dea3cc9f5c92c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$owner_url = ''</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="classItem.html#a9f2d219da712390f59012fc32a342074">get_owner_url()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1a1e42877e6ac7af50286142ceb483d2"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$parent = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classItem.html#a4b92e3a9d6212c553aa2661489bd95d8">get_parent()</a>, and <a class="el" href="classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7">set_parent()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5b561415861f5b89b0733aacfe0428d1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$redirect_url = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classItem.html#a428f448f89a8629055ea3294eb942aea">get_redirect_url()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7f7bc059de377319282cb4ef4a828480"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$template = 'conv_item.tpl'</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="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">get_comment_box()</a>, and <a class="el" href="classItem.html#aba23a0a9d89e316d2b343cc46d695d91">get_template()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1cb6aa8abdf7ea7daca647e40c8ea3a2"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$threaded = false</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="classItem.html#a5b2fafdca55aefeaa08993a5a60529f0">is_threaded()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5cfa6cf964f433a917a81cab079ff9d8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$toplevel = false</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="classItem.html#aa49e40f961dff66da32c5ae110e32993">is_toplevel()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4a123ae98987c1e30ecb15c4edf5a3b8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$visiting = false</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="classItem.html#a97c7feeea7f26a73176cb19faa455e12">is_visiting()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5d29ddecc073151a65a8e2ea2f6e4189"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$wall_to_wall = false</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="classItem.html#aabf87ded59c25b5fe2b2296678e70509">is_wall_to_wall()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="ItemObject_8php.html">ItemObject.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classItem.js b/doc/html/classItem.js
new file mode 100644
index 000000000..a47a3a8e3
--- /dev/null
+++ b/doc/html/classItem.js
@@ -0,0 +1,45 @@
+var classItem =
+[
+ [ "__construct", "classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2", null ],
+ [ "add_child", "classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51", null ],
+ [ "check_wall_to_wall", "classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8", null ],
+ [ "count_descendants", "classItem.html#aca1e66988ed00cd627b2a359b72cd0ae", null ],
+ [ "get_child", "classItem.html#a632185dd25c5caf277067c76230a4320", null ],
+ [ "get_children", "classItem.html#aa0ee775ec94abccec6c798428835d001", null ],
+ [ "get_comment_box", "classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf", null ],
+ [ "get_comment_box_template", "classItem.html#a904421c7a427411bb2ab473bca872f63", null ],
+ [ "get_conversation", "classItem.html#a0c301aaed2b7d682728d18db3a22afa3", null ],
+ [ "get_data", "classItem.html#ad3638f93065693c1f69eb349feb1b7aa", null ],
+ [ "get_data_value", "classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c", null ],
+ [ "get_id", "classItem.html#ac0f27e58532612f6e7a54c8a621b9b92", null ],
+ [ "get_owner_name", "classItem.html#a67892aa23d19f4431bb2e5f43c74000e", null ],
+ [ "get_owner_photo", "classItem.html#aa541bc4290e51bfd688d6921bebabc73", null ],
+ [ "get_owner_url", "classItem.html#a9f2d219da712390f59012fc32a342074", null ],
+ [ "get_parent", "classItem.html#a4b92e3a9d6212c553aa2661489bd95d8", null ],
+ [ "get_redirect_url", "classItem.html#a428f448f89a8629055ea3294eb942aea", null ],
+ [ "get_template", "classItem.html#aba23a0a9d89e316d2b343cc46d695d91", null ],
+ [ "get_template_data", "classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8", null ],
+ [ "is_threaded", "classItem.html#a5b2fafdca55aefeaa08993a5a60529f0", null ],
+ [ "is_toplevel", "classItem.html#aa49e40f961dff66da32c5ae110e32993", null ],
+ [ "is_visiting", "classItem.html#a97c7feeea7f26a73176cb19faa455e12", null ],
+ [ "is_wall_to_wall", "classItem.html#aabf87ded59c25b5fe2b2296678e70509", null ],
+ [ "remove_child", "classItem.html#a2ce70ef63f9f4d86a09c351678806925", null ],
+ [ "remove_parent", "classItem.html#aa452b5bcd8dea12119b09212c615cb41", null ],
+ [ "set_conversation", "classItem.html#aa8b1bbc4236890694635295e46d7fd72", null ],
+ [ "set_parent", "classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7", null ],
+ [ "$channel", "classItem.html#acc32426c0f465391be8a99ad810c7b8e", null ],
+ [ "$children", "classItem.html#a80dcd0fb7673776c0967839d429c2a0f", null ],
+ [ "$comment_box_template", "classItem.html#a90743c8348b13213275c223bb9333aa0", null ],
+ [ "$conversation", "classItem.html#a007424e3e3171dcfb4312a02161da6cd", null ],
+ [ "$data", "classItem.html#aec24e233f9098f902b1e57e60dcb2019", null ],
+ [ "$owner_name", "classItem.html#a9594df6014b0b6f45364ea7a34510130", null ],
+ [ "$owner_photo", "classItem.html#a078f95b4134ce3a1df344cf8d386f986", null ],
+ [ "$owner_url", "classItem.html#afa54851df82962c7c42dea3cc9f5c92c", null ],
+ [ "$parent", "classItem.html#a1a1e42877e6ac7af50286142ceb483d2", null ],
+ [ "$redirect_url", "classItem.html#a5b561415861f5b89b0733aacfe0428d1", null ],
+ [ "$template", "classItem.html#a7f7bc059de377319282cb4ef4a828480", null ],
+ [ "$threaded", "classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2", null ],
+ [ "$toplevel", "classItem.html#a5cfa6cf964f433a917a81cab079ff9d8", null ],
+ [ "$visiting", "classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8", null ],
+ [ "$wall_to_wall", "classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classItem.png b/doc/html/classItem.png
new file mode 100644
index 000000000..d1000fab9
--- /dev/null
+++ b/doc/html/classItem.png
Binary files differ
diff --git a/doc/html/classPhoto-members.html b/doc/html/classPhoto-members.html
new file mode 100644
index 000000000..02914e5d0
--- /dev/null
+++ b/doc/html/classPhoto-members.html
@@ -0,0 +1,145 @@
+<!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 Project: 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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('classPhoto.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">Photo Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classPhoto.html">Photo</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#a2b05906daa294e0c904aff0ba24b5bd3">$height</a></td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#aa09af89979e3e46c0c58989ee063d69d">$image</a></td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#a040b23beaab0c0db4311b31cae6b8106">$imagick</a></td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#af87e8ec7587bbcb28f91e7548f560695">$type</a></td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#a338d80512bdfeb6a6a00a9381d76de5f">$types</a></td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#a50e0b85ea8a3f724dd74366756669e61">$valid</a></td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#af18778643b1f6c637d9d7f5abd561f11">$width</a></td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#ad06199e7c1222350ef8c1cdcfade265c">__construct</a>($data, $type=null)</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#a0906cba2a2a895cc22179de27449cbd2">__destruct</a>()</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#a4ace266825f6b2bbc3c7f990f5d92500">cropImage</a>($max, $x, $y, $w, $h)</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#a7acd95a0380f95999dd069fbb5629ea5">flip</a>($horiz=true, $vert=false)</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#a1f00f0e1b6d90c5d83d8d3febb703075">get_FormatsMap</a>()</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#ade61db6eb69c065e4df66feaa1942d29">getExt</a>()</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#ab83e29500828ead47ac0a8cb9439082c">getHeight</a>()</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#a29213571e2688f17240cd2b3892d7a62">getImage</a>()</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#ad17537abe440ac133c3b2d951f92677b">getType</a>()</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#a74a04f56215cee00533b85b24daecfb1">getWidth</a>()</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#a7c4be19101d5a289a491428c2f8d747c">imageString</a>()</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#abad44c9fc7a1853920555398bf905433">is_imagick</a>()</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#a66705cd7db1f8dce59ceac57dbf14476">is_valid</a>()</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#a32ff09cd464a48bc8e510a1403410753">orient</a>($filename)</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#a8b2b0a7f949a566c21e0160fbf047666">rotate</a>($degrees)</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#af522871c8ab451155b9745fa7f057943">saveImage</a>($path)</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#a4ff11117ada771637a61a668d2af6636">scaleImage</a>($max)</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#a080a5219eb09c2621dabeae153ce6a03">scaleImageSquare</a>($dim)</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#a735eb657277e7a46cebe7f6fde0af80a">scaleImageUp</a>($min)</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classPhoto.html#a15e21237805d5f1019b4e40322389194">store</a>($aid, $uid, $xchan, $rid, $filename, $album, $scale, $profile=0, $allow_cid= '', $allow_gid= '', $deny_cid= '', $deny_gid= '')</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classPhoto.html#af46fdc365916728deb59adf5c99f528d">supportedTypes</a>()</td><td class="entry"><a class="el" href="classPhoto.html">Photo</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classPhoto.html b/doc/html/classPhoto.html
new file mode 100644
index 000000000..8c86285e3
--- /dev/null
+++ b/doc/html/classPhoto.html
@@ -0,0 +1,826 @@
+<!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 Project: Photo 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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('classPhoto.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="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a> &#124;
+<a href="classPhoto-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">Photo Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad06199e7c1222350ef8c1cdcfade265c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#ad06199e7c1222350ef8c1cdcfade265c">__construct</a> ($data, $type=null)</td></tr>
+<tr class="separator:ad06199e7c1222350ef8c1cdcfade265c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0906cba2a2a895cc22179de27449cbd2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a0906cba2a2a895cc22179de27449cbd2">__destruct</a> ()</td></tr>
+<tr class="separator:a0906cba2a2a895cc22179de27449cbd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abad44c9fc7a1853920555398bf905433"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#abad44c9fc7a1853920555398bf905433">is_imagick</a> ()</td></tr>
+<tr class="separator:abad44c9fc7a1853920555398bf905433"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f00f0e1b6d90c5d83d8d3febb703075"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a1f00f0e1b6d90c5d83d8d3febb703075">get_FormatsMap</a> ()</td></tr>
+<tr class="separator:a1f00f0e1b6d90c5d83d8d3febb703075"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66705cd7db1f8dce59ceac57dbf14476"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a66705cd7db1f8dce59ceac57dbf14476">is_valid</a> ()</td></tr>
+<tr class="separator:a66705cd7db1f8dce59ceac57dbf14476"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74a04f56215cee00533b85b24daecfb1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a74a04f56215cee00533b85b24daecfb1">getWidth</a> ()</td></tr>
+<tr class="separator:a74a04f56215cee00533b85b24daecfb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab83e29500828ead47ac0a8cb9439082c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#ab83e29500828ead47ac0a8cb9439082c">getHeight</a> ()</td></tr>
+<tr class="separator:ab83e29500828ead47ac0a8cb9439082c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29213571e2688f17240cd2b3892d7a62"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a29213571e2688f17240cd2b3892d7a62">getImage</a> ()</td></tr>
+<tr class="separator:a29213571e2688f17240cd2b3892d7a62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad17537abe440ac133c3b2d951f92677b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#ad17537abe440ac133c3b2d951f92677b">getType</a> ()</td></tr>
+<tr class="separator:ad17537abe440ac133c3b2d951f92677b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade61db6eb69c065e4df66feaa1942d29"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#ade61db6eb69c065e4df66feaa1942d29">getExt</a> ()</td></tr>
+<tr class="separator:ade61db6eb69c065e4df66feaa1942d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ff11117ada771637a61a668d2af6636"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a4ff11117ada771637a61a668d2af6636">scaleImage</a> ($max)</td></tr>
+<tr class="separator:a4ff11117ada771637a61a668d2af6636"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b2b0a7f949a566c21e0160fbf047666"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a8b2b0a7f949a566c21e0160fbf047666">rotate</a> ($degrees)</td></tr>
+<tr class="separator:a8b2b0a7f949a566c21e0160fbf047666"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7acd95a0380f95999dd069fbb5629ea5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a7acd95a0380f95999dd069fbb5629ea5">flip</a> ($horiz=true, $vert=false)</td></tr>
+<tr class="separator:a7acd95a0380f95999dd069fbb5629ea5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32ff09cd464a48bc8e510a1403410753"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a32ff09cd464a48bc8e510a1403410753">orient</a> ($filename)</td></tr>
+<tr class="separator:a32ff09cd464a48bc8e510a1403410753"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a735eb657277e7a46cebe7f6fde0af80a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a735eb657277e7a46cebe7f6fde0af80a">scaleImageUp</a> ($min)</td></tr>
+<tr class="separator:a735eb657277e7a46cebe7f6fde0af80a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a080a5219eb09c2621dabeae153ce6a03"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a080a5219eb09c2621dabeae153ce6a03">scaleImageSquare</a> ($dim)</td></tr>
+<tr class="separator:a080a5219eb09c2621dabeae153ce6a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ace266825f6b2bbc3c7f990f5d92500"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a4ace266825f6b2bbc3c7f990f5d92500">cropImage</a> ($max, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $y, $w, $h)</td></tr>
+<tr class="separator:a4ace266825f6b2bbc3c7f990f5d92500"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af522871c8ab451155b9745fa7f057943"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#af522871c8ab451155b9745fa7f057943">saveImage</a> ($path)</td></tr>
+<tr class="separator:af522871c8ab451155b9745fa7f057943"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c4be19101d5a289a491428c2f8d747c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a7c4be19101d5a289a491428c2f8d747c">imageString</a> ()</td></tr>
+<tr class="separator:a7c4be19101d5a289a491428c2f8d747c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15e21237805d5f1019b4e40322389194"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a15e21237805d5f1019b4e40322389194">store</a> ($aid, $uid, $xchan, $rid, $filename, $album, $scale, $profile=0, $allow_cid= '', $allow_gid= '', $deny_cid= '', $deny_gid= '')</td></tr>
+<tr class="separator:a15e21237805d5f1019b4e40322389194"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:af46fdc365916728deb59adf5c99f528d"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#af46fdc365916728deb59adf5c99f528d">supportedTypes</a> ()</td></tr>
+<tr class="separator:af46fdc365916728deb59adf5c99f528d"><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:aa09af89979e3e46c0c58989ee063d69d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#aa09af89979e3e46c0c58989ee063d69d">$image</a></td></tr>
+<tr class="separator:aa09af89979e3e46c0c58989ee063d69d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a040b23beaab0c0db4311b31cae6b8106"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a040b23beaab0c0db4311b31cae6b8106">$imagick</a></td></tr>
+<tr class="separator:a040b23beaab0c0db4311b31cae6b8106"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af18778643b1f6c637d9d7f5abd561f11"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#af18778643b1f6c637d9d7f5abd561f11">$width</a></td></tr>
+<tr class="separator:af18778643b1f6c637d9d7f5abd561f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b05906daa294e0c904aff0ba24b5bd3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a2b05906daa294e0c904aff0ba24b5bd3">$height</a></td></tr>
+<tr class="separator:a2b05906daa294e0c904aff0ba24b5bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50e0b85ea8a3f724dd74366756669e61"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a50e0b85ea8a3f724dd74366756669e61">$valid</a></td></tr>
+<tr class="separator:a50e0b85ea8a3f724dd74366756669e61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af87e8ec7587bbcb28f91e7548f560695"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#af87e8ec7587bbcb28f91e7548f560695">$type</a></td></tr>
+<tr class="separator:af87e8ec7587bbcb28f91e7548f560695"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a338d80512bdfeb6a6a00a9381d76de5f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPhoto.html#a338d80512bdfeb6a6a00a9381d76de5f">$types</a></td></tr>
+<tr class="separator:a338d80512bdfeb6a6a00a9381d76de5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad06199e7c1222350ef8c1cdcfade265c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::__construct </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">&#160;</td>
+ <td class="paramname"><em>$type</em> = <code>null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Setup the image to the format it will be saved to</p>
+<p>setup the compression here, so we'll do it only once</p>
+<p>From <a href="http://www.imagemagick.org/script/command-line-options.php#quality:">http://www.imagemagick.org/script/command-line-options.php#quality:</a></p>
+<p>'For the MNG and PNG image formats, the quality value sets the zlib compression level (quality / 10) and filter-type (quality % 10). The default PNG "quality" is 75, which means compression level 7 with adaptive PNG filtering, unless the image has a color map, in which case it means compression level 7 with no PNG filtering'</p>
+
+</div>
+</div>
+<a class="anchor" id="a0906cba2a2a895cc22179de27449cbd2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::__destruct </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a4ace266825f6b2bbc3c7f990f5d92500"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::cropImage </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$max</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$w</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$h</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>We need to remove the canva, or the image is not resized to the crop: <a href="http://php.net/manual/en/imagick.cropimage.php#97232">http://php.net/manual/en/imagick.cropimage.php#97232</a></p>
+
+</div>
+</div>
+<a class="anchor" id="a7acd95a0380f95999dd069fbb5629ea5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::flip </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$horiz</em> = <code>true</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$vert</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="classPhoto.html#a32ff09cd464a48bc8e510a1403410753">orient()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1f00f0e1b6d90c5d83d8d3febb703075"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::get_FormatsMap </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Maps Mime types to Imagick formats </p>
+
+<p>Referenced by <a class="el" href="classPhoto.html#ad06199e7c1222350ef8c1cdcfade265c">__construct()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ade61db6eb69c065e4df66feaa1942d29"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::getExt </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab83e29500828ead47ac0a8cb9439082c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::getHeight </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classPhoto.html#a15e21237805d5f1019b4e40322389194">store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a29213571e2688f17240cd2b3892d7a62"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::getImage </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad17537abe440ac133c3b2d951f92677b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::getType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classPhoto.html#ad06199e7c1222350ef8c1cdcfade265c">__construct()</a>, <a class="el" href="classPhoto.html#ade61db6eb69c065e4df66feaa1942d29">getExt()</a>, <a class="el" href="classPhoto.html#a7c4be19101d5a289a491428c2f8d747c">imageString()</a>, <a class="el" href="classPhoto.html#a32ff09cd464a48bc8e510a1403410753">orient()</a>, and <a class="el" href="classPhoto.html#a15e21237805d5f1019b4e40322389194">store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a74a04f56215cee00533b85b24daecfb1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::getWidth </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classPhoto.html#a15e21237805d5f1019b4e40322389194">store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7c4be19101d5a289a491428c2f8d747c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::imageString </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classPhoto.html#af522871c8ab451155b9745fa7f057943">saveImage()</a>, and <a class="el" href="classPhoto.html#a15e21237805d5f1019b4e40322389194">store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abad44c9fc7a1853920555398bf905433"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::is_imagick </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classPhoto.html#ad06199e7c1222350ef8c1cdcfade265c">__construct()</a>, <a class="el" href="classPhoto.html#a0906cba2a2a895cc22179de27449cbd2">__destruct()</a>, <a class="el" href="classPhoto.html#a4ace266825f6b2bbc3c7f990f5d92500">cropImage()</a>, <a class="el" href="classPhoto.html#a7acd95a0380f95999dd069fbb5629ea5">flip()</a>, <a class="el" href="classPhoto.html#ab83e29500828ead47ac0a8cb9439082c">getHeight()</a>, <a class="el" href="classPhoto.html#a29213571e2688f17240cd2b3892d7a62">getImage()</a>, <a class="el" href="classPhoto.html#a74a04f56215cee00533b85b24daecfb1">getWidth()</a>, <a class="el" href="classPhoto.html#a7c4be19101d5a289a491428c2f8d747c">imageString()</a>, <a class="el" href="classPhoto.html#a66705cd7db1f8dce59ceac57dbf14476">is_valid()</a>, <a class="el" href="classPhoto.html#a8b2b0a7f949a566c21e0160fbf047666">rotate()</a>, <a class="el" href="classPhoto.html#a4ff11117ada771637a61a668d2af6636">scaleImage()</a>, <a class="el" href="classPhoto.html#a080a5219eb09c2621dabeae153ce6a03">scaleImageSquare()</a>, and <a class="el" href="classPhoto.html#a735eb657277e7a46cebe7f6fde0af80a">scaleImageUp()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a66705cd7db1f8dce59ceac57dbf14476"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::is_valid </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classPhoto.html#a4ace266825f6b2bbc3c7f990f5d92500">cropImage()</a>, <a class="el" href="classPhoto.html#a7acd95a0380f95999dd069fbb5629ea5">flip()</a>, <a class="el" href="classPhoto.html#ade61db6eb69c065e4df66feaa1942d29">getExt()</a>, <a class="el" href="classPhoto.html#ab83e29500828ead47ac0a8cb9439082c">getHeight()</a>, <a class="el" href="classPhoto.html#a29213571e2688f17240cd2b3892d7a62">getImage()</a>, <a class="el" href="classPhoto.html#ad17537abe440ac133c3b2d951f92677b">getType()</a>, <a class="el" href="classPhoto.html#a74a04f56215cee00533b85b24daecfb1">getWidth()</a>, <a class="el" href="classPhoto.html#a7c4be19101d5a289a491428c2f8d747c">imageString()</a>, <a class="el" href="classPhoto.html#a32ff09cd464a48bc8e510a1403410753">orient()</a>, <a class="el" href="classPhoto.html#a8b2b0a7f949a566c21e0160fbf047666">rotate()</a>, <a class="el" href="classPhoto.html#af522871c8ab451155b9745fa7f057943">saveImage()</a>, <a class="el" href="classPhoto.html#a4ff11117ada771637a61a668d2af6636">scaleImage()</a>, <a class="el" href="classPhoto.html#a080a5219eb09c2621dabeae153ce6a03">scaleImageSquare()</a>, and <a class="el" href="classPhoto.html#a735eb657277e7a46cebe7f6fde0af80a">scaleImageUp()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a32ff09cd464a48bc8e510a1403410753"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::orient </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$filename</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8b2b0a7f949a566c21e0160fbf047666"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::rotate </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$degrees</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classPhoto.html#a32ff09cd464a48bc8e510a1403410753">orient()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af522871c8ab451155b9745fa7f057943"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::saveImage </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="a4ff11117ada771637a61a668d2af6636"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::scaleImage </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$max</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>If it is not animated, there will be only one iteration here, so don't bother checking</p>
+
+<p>Referenced by <a class="el" href="classPhoto.html#a4ace266825f6b2bbc3c7f990f5d92500">cropImage()</a>, and <a class="el" href="classPhoto.html#a735eb657277e7a46cebe7f6fde0af80a">scaleImageUp()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a080a5219eb09c2621dabeae153ce6a03"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::scaleImageSquare </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dim</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a735eb657277e7a46cebe7f6fde0af80a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::scaleImageUp </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$min</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a15e21237805d5f1019b4e40322389194"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::store </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$aid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$xchan</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$rid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$filename</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$album</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$scale</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$profile</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$allow_cid</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$allow_gid</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$deny_cid</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$deny_gid</em> = <code>''</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="af46fdc365916728deb59adf5c99f528d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static Photo::supportedTypes </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>supported mimetypes and corresponding file extensions </p>
+<p>Imagick::queryFormats won't help us a lot there... At least, not yet, other parts of friendica uses this array</p>
+
+<p>Referenced by <a class="el" href="classPhoto.html#ad06199e7c1222350ef8c1cdcfade265c">__construct()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="Photo_8php.html#a7273b82b017fd96d29b2c57bab03aea6">guess_image_type()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, and <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a2b05906daa294e0c904aff0ba24b5bd3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::$height</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="classPhoto.html#ab83e29500828ead47ac0a8cb9439082c">getHeight()</a>, <a class="el" href="classPhoto.html#a4ff11117ada771637a61a668d2af6636">scaleImage()</a>, and <a class="el" href="classPhoto.html#a735eb657277e7a46cebe7f6fde0af80a">scaleImageUp()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa09af89979e3e46c0c58989ee063d69d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::$image</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="classPhoto.html#a29213571e2688f17240cd2b3892d7a62">getImage()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a040b23beaab0c0db4311b31cae6b8106"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::$imagick</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>Put back gd stuff, not everybody have Imagick </p>
+
+<p>Referenced by <a class="el" href="classPhoto.html#abad44c9fc7a1853920555398bf905433">is_imagick()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af87e8ec7587bbcb28f91e7548f560695"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::$type</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="classPhoto.html#ad06199e7c1222350ef8c1cdcfade265c">__construct()</a>, and <a class="el" href="classPhoto.html#ad17537abe440ac133c3b2d951f92677b">getType()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a338d80512bdfeb6a6a00a9381d76de5f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::$types</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>
+<a class="anchor" id="a50e0b85ea8a3f724dd74366756669e61"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::$valid</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="classPhoto.html#a66705cd7db1f8dce59ceac57dbf14476">is_valid()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af18778643b1f6c637d9d7f5abd561f11"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Photo::$width</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="classPhoto.html#a74a04f56215cee00533b85b24daecfb1">getWidth()</a>, <a class="el" href="classPhoto.html#a4ff11117ada771637a61a668d2af6636">scaleImage()</a>, and <a class="el" href="classPhoto.html#a735eb657277e7a46cebe7f6fde0af80a">scaleImageUp()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="Photo_8php.html">Photo.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classPhoto.js b/doc/html/classPhoto.js
new file mode 100644
index 000000000..dd688af4b
--- /dev/null
+++ b/doc/html/classPhoto.js
@@ -0,0 +1,30 @@
+var classPhoto =
+[
+ [ "__construct", "classPhoto.html#ad06199e7c1222350ef8c1cdcfade265c", null ],
+ [ "__destruct", "classPhoto.html#a0906cba2a2a895cc22179de27449cbd2", null ],
+ [ "cropImage", "classPhoto.html#a4ace266825f6b2bbc3c7f990f5d92500", null ],
+ [ "flip", "classPhoto.html#a7acd95a0380f95999dd069fbb5629ea5", null ],
+ [ "get_FormatsMap", "classPhoto.html#a1f00f0e1b6d90c5d83d8d3febb703075", null ],
+ [ "getExt", "classPhoto.html#ade61db6eb69c065e4df66feaa1942d29", null ],
+ [ "getHeight", "classPhoto.html#ab83e29500828ead47ac0a8cb9439082c", null ],
+ [ "getImage", "classPhoto.html#a29213571e2688f17240cd2b3892d7a62", null ],
+ [ "getType", "classPhoto.html#ad17537abe440ac133c3b2d951f92677b", null ],
+ [ "getWidth", "classPhoto.html#a74a04f56215cee00533b85b24daecfb1", null ],
+ [ "imageString", "classPhoto.html#a7c4be19101d5a289a491428c2f8d747c", null ],
+ [ "is_imagick", "classPhoto.html#abad44c9fc7a1853920555398bf905433", null ],
+ [ "is_valid", "classPhoto.html#a66705cd7db1f8dce59ceac57dbf14476", null ],
+ [ "orient", "classPhoto.html#a32ff09cd464a48bc8e510a1403410753", null ],
+ [ "rotate", "classPhoto.html#a8b2b0a7f949a566c21e0160fbf047666", null ],
+ [ "saveImage", "classPhoto.html#af522871c8ab451155b9745fa7f057943", null ],
+ [ "scaleImage", "classPhoto.html#a4ff11117ada771637a61a668d2af6636", null ],
+ [ "scaleImageSquare", "classPhoto.html#a080a5219eb09c2621dabeae153ce6a03", null ],
+ [ "scaleImageUp", "classPhoto.html#a735eb657277e7a46cebe7f6fde0af80a", null ],
+ [ "store", "classPhoto.html#a15e21237805d5f1019b4e40322389194", null ],
+ [ "$height", "classPhoto.html#a2b05906daa294e0c904aff0ba24b5bd3", null ],
+ [ "$image", "classPhoto.html#aa09af89979e3e46c0c58989ee063d69d", null ],
+ [ "$imagick", "classPhoto.html#a040b23beaab0c0db4311b31cae6b8106", null ],
+ [ "$type", "classPhoto.html#af87e8ec7587bbcb28f91e7548f560695", null ],
+ [ "$types", "classPhoto.html#a338d80512bdfeb6a6a00a9381d76de5f", null ],
+ [ "$valid", "classPhoto.html#a50e0b85ea8a3f724dd74366756669e61", null ],
+ [ "$width", "classPhoto.html#af18778643b1f6c637d9d7f5abd561f11", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classProtoDriver-members.html b/doc/html/classProtoDriver-members.html
new file mode 100644
index 000000000..6eebcbc54
--- /dev/null
+++ b/doc/html/classProtoDriver-members.html
@@ -0,0 +1,124 @@
+<!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="rhash-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('classProtoDriver.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">ProtoDriver Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classProtoDriver.html">ProtoDriver</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a">acknowledge_permissions</a>($permissions, $channel, $recipient)</td><td class="entry"><a class="el" href="classProtoDriver.html">ProtoDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67">change_permissions</a>($permissions, $channel, $recipient)</td><td class="entry"><a class="el" href="classProtoDriver.html">ProtoDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d">collect</a>($channel, $connection)</td><td class="entry"><a class="el" href="classProtoDriver.html">ProtoDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b">collect_private</a>($channel, $connection)</td><td class="entry"><a class="el" href="classProtoDriver.html">ProtoDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classProtoDriver.html#a85e9063f6d0c304410cd246f7900ea1b">deliver</a>($item, $channel, $recipients)</td><td class="entry"><a class="el" href="classProtoDriver.html">ProtoDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181">deliver_private</a>($item, $channel, $recipients)</td><td class="entry"><a class="el" href="classProtoDriver.html">ProtoDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337">discover</a>($channel, $location)</td><td class="entry"><a class="el" href="classProtoDriver.html">ProtoDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classProtoDriver.html b/doc/html/classProtoDriver.html
new file mode 100644
index 000000000..cb869b65b
--- /dev/null
+++ b/doc/html/classProtoDriver.html
@@ -0,0 +1,410 @@
+<!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: ProtoDriver 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="rhash-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('classProtoDriver.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="#pro-methods">Protected Member Functions</a> &#124;
+<a href="classProtoDriver-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">ProtoDriver Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for ProtoDriver:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classProtoDriver.png" usemap="#ProtoDriver_map" alt=""/>
+ <map id="ProtoDriver_map" name="ProtoDriver_map">
+<area href="classZotDriver.html" alt="ZotDriver" shape="rect" coords="0,56,78,80"/>
+</map>
+ </div></div>
+<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:a64a3868cffe27d601d55f69a2ecc4337"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337">discover</a> ($channel, $location)</td></tr>
+<tr class="separator:a64a3868cffe27d601d55f69a2ecc4337"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85e9063f6d0c304410cd246f7900ea1b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#a85e9063f6d0c304410cd246f7900ea1b">deliver</a> ($item, $channel, $recipients)</td></tr>
+<tr class="separator:a85e9063f6d0c304410cd246f7900ea1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ba1758f0f9e3564580b6ff85292804d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d">collect</a> ($channel, $connection)</td></tr>
+<tr class="separator:a2ba1758f0f9e3564580b6ff85292804d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34b97ca5ef2165f2e16eb2fe59ff6c67"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67">change_permissions</a> ($permissions, $channel, $recipient)</td></tr>
+<tr class="separator:a34b97ca5ef2165f2e16eb2fe59ff6c67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1593f3abae050edbd9304f4f8bc4894a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a">acknowledge_permissions</a> ($permissions, $channel, $recipient)</td></tr>
+<tr class="separator:a1593f3abae050edbd9304f4f8bc4894a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae5b44739f84c10d00a9b65adf3785181"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181">deliver_private</a> ($item, $channel, $recipients)</td></tr>
+<tr class="separator:ae5b44739f84c10d00a9b65adf3785181"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af66171aa7dab9b62cee915cb4f1abe1b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b">collect_private</a> ($channel, $connection)</td></tr>
+<tr class="separator:af66171aa7dab9b62cee915cb4f1abe1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a1593f3abae050edbd9304f4f8bc4894a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ProtoDriver::acknowledge_permissions </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$permissions</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$recipient</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a34b97ca5ef2165f2e16eb2fe59ff6c67"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ProtoDriver::change_permissions </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$permissions</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$recipient</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2ba1758f0f9e3564580b6ff85292804d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ProtoDriver::collect </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>$connection</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af66171aa7dab9b62cee915cb4f1abe1b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ProtoDriver::collect_private </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>$connection</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a85e9063f6d0c304410cd246f7900ea1b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ProtoDriver::deliver </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$recipients</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae5b44739f84c10d00a9b65adf3785181"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ProtoDriver::deliver_private </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$recipients</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a64a3868cffe27d601d55f69a2ecc4337"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ProtoDriver::discover </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>$location</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="ProtoDriver_8php.html">ProtoDriver.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classProtoDriver.js b/doc/html/classProtoDriver.js
new file mode 100644
index 000000000..f5b39cecb
--- /dev/null
+++ b/doc/html/classProtoDriver.js
@@ -0,0 +1,10 @@
+var classProtoDriver =
+[
+ [ "acknowledge_permissions", "classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a", null ],
+ [ "change_permissions", "classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67", null ],
+ [ "collect", "classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d", null ],
+ [ "collect_private", "classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b", null ],
+ [ "deliver", "classProtoDriver.html#a85e9063f6d0c304410cd246f7900ea1b", null ],
+ [ "deliver_private", "classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181", null ],
+ [ "discover", "classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classProtoDriver.png b/doc/html/classProtoDriver.png
new file mode 100644
index 000000000..08fe5d4c4
--- /dev/null
+++ b/doc/html/classProtoDriver.png
Binary files differ
diff --git a/doc/html/classTemplate-members.html b/doc/html/classTemplate-members.html
new file mode 100644
index 000000000..ced57d9fa
--- /dev/null
+++ b/doc/html/classTemplate-members.html
@@ -0,0 +1,142 @@
+<!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="rhash-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('classTemplate.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">Template Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classTemplate.html">Template</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38">$d</a></td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a">$debug</a></td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#abda4c8d049f70553338eae7c905e9d5c">$done</a></td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8">$lang</a></td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#a6eb301a51cc94d8b94f4548fbad85eae">$name</a></td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#a8f4d17e49f42b876a97364c13fb572d1">$nodes</a></td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#aac9a4638f11271e1b1dcc9f247242718">$r</a></td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10">$replace</a></td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#a317d535946dc065c35dd5cd38380e6c6">$search</a></td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#a6f0efc256688c36110180b501067ff11">$stack</a></td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4">_build_nodes</a>($s)</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">_get_var</a>($name, $retNoKey=false)</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#a35d599c9b53a02e2fe2232e5b7ed5da7">_pop_stack</a>()</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#a37c15f6d1ade500943629f27a62808b7">_preg_error</a>()</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#aa6a087e0b7b887dd1c98c9e0ecbd3b29">_push_stack</a>()</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#ae791766c3d055f7f1ba5a5e60d647934">_replcb</a>($m)</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#a4b933954086d9e01a1804b0b1c6ee93e">_replcb_debug</a>($args)</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">_replcb_for</a>($args)</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">_replcb_if</a>($args)</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">_replcb_inc</a>($args)</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee">_replcb_node</a>($m)</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#afd97b4b1e7754a550e67c0ea79159059">get_markup_template</a>($file, $root='')</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">replace</a>($s, $r)</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">replace_macros</a>($s, $r)</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classTemplate.html#abbc484016ddf5d818f55b823cae6feb0">var_replace</a>($s)</td><td class="entry"><a class="el" href="classTemplate.html">Template</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classTemplate.html b/doc/html/classTemplate.html
new file mode 100644
index 000000000..18a4ee771
--- /dev/null
+++ b/doc/html/classTemplate.html
@@ -0,0 +1,742 @@
+<!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: Template 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="rhash-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('classTemplate.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="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="classTemplate-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">Template Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for Template:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classTemplate.png" usemap="#Template_map" alt=""/>
+ <map id="Template_map" name="Template_map">
+<area href="interfaceITemplateEngine.html" alt="ITemplateEngine" shape="rect" coords="0,0,104,24"/>
+</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:a07737733f6949bdedea1e3d301b2ab7b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">replace_macros</a> ($s, $r)</td></tr>
+<tr class="separator:a07737733f6949bdedea1e3d301b2ab7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd97b4b1e7754a550e67c0ea79159059"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#afd97b4b1e7754a550e67c0ea79159059">get_markup_template</a> ($file, $root='')</td></tr>
+<tr class="separator:afd97b4b1e7754a550e67c0ea79159059"><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:aac9a4638f11271e1b1dcc9f247242718"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#aac9a4638f11271e1b1dcc9f247242718">$r</a></td></tr>
+<tr class="separator:aac9a4638f11271e1b1dcc9f247242718"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a317d535946dc065c35dd5cd38380e6c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a317d535946dc065c35dd5cd38380e6c6">$search</a></td></tr>
+<tr class="separator:a317d535946dc065c35dd5cd38380e6c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e86b566c3f728e95ce5db1b33665c10"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10">$replace</a></td></tr>
+<tr class="separator:a4e86b566c3f728e95ce5db1b33665c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f0efc256688c36110180b501067ff11"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a6f0efc256688c36110180b501067ff11">$stack</a> = array()</td></tr>
+<tr class="separator:a6f0efc256688c36110180b501067ff11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f4d17e49f42b876a97364c13fb572d1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a8f4d17e49f42b876a97364c13fb572d1">$nodes</a> = array()</td></tr>
+<tr class="separator:a8f4d17e49f42b876a97364c13fb572d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abda4c8d049f70553338eae7c905e9d5c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#abda4c8d049f70553338eae7c905e9d5c">$done</a> = false</td></tr>
+<tr class="separator:abda4c8d049f70553338eae7c905e9d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8469ab2988b6be2681516dc4b4e07d38"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38">$d</a> = false</td></tr>
+<tr class="separator:a8469ab2988b6be2681516dc4b4e07d38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace26b8a4252fbc1c385d2b5e1e93e5c8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8">$lang</a> = null</td></tr>
+<tr class="separator:ace26b8a4252fbc1c385d2b5e1e93e5c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc4afb6f89bebcd5480022312a56cb4a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a">$debug</a> =false</td></tr>
+<tr class="separator:afc4afb6f89bebcd5480022312a56cb4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a6eb301a51cc94d8b94f4548fbad85eae"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a6eb301a51cc94d8b94f4548fbad85eae">$name</a> =&quot;internal&quot;</td></tr>
+<tr class="separator:a6eb301a51cc94d8b94f4548fbad85eae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr class="memitem:a37c15f6d1ade500943629f27a62808b7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a37c15f6d1ade500943629f27a62808b7">_preg_error</a> ()</td></tr>
+<tr class="separator:a37c15f6d1ade500943629f27a62808b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6a087e0b7b887dd1c98c9e0ecbd3b29"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#aa6a087e0b7b887dd1c98c9e0ecbd3b29">_push_stack</a> ()</td></tr>
+<tr class="separator:aa6a087e0b7b887dd1c98c9e0ecbd3b29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35d599c9b53a02e2fe2232e5b7ed5da7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a35d599c9b53a02e2fe2232e5b7ed5da7">_pop_stack</a> ()</td></tr>
+<tr class="separator:a35d599c9b53a02e2fe2232e5b7ed5da7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae9c4d761ea1298e745e8052d7910194"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">_get_var</a> ($name, $retNoKey=false)</td></tr>
+<tr class="separator:aae9c4d761ea1298e745e8052d7910194"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0836e7d5bd5afceb04f50fd635f1228"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">_replcb_if</a> ($args)</td></tr>
+<tr class="separator:ae0836e7d5bd5afceb04f50fd635f1228"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf71098c80fd1f218a59452b3408309e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">_replcb_for</a> ($args)</td></tr>
+<tr class="separator:abf71098c80fd1f218a59452b3408309e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86e8fd27955ef10cadfd86f3fca70677"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">_replcb_inc</a> ($args)</td></tr>
+<tr class="separator:a86e8fd27955ef10cadfd86f3fca70677"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b933954086d9e01a1804b0b1c6ee93e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a4b933954086d9e01a1804b0b1c6ee93e">_replcb_debug</a> ($args)</td></tr>
+<tr class="separator:a4b933954086d9e01a1804b0b1c6ee93e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6f9bd7a8f7512efcf90e8d376fe05ee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee">_replcb_node</a> ($m)</td></tr>
+<tr class="separator:aa6f9bd7a8f7512efcf90e8d376fe05ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae791766c3d055f7f1ba5a5e60d647934"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#ae791766c3d055f7f1ba5a5e60d647934">_replcb</a> ($m)</td></tr>
+<tr class="separator:ae791766c3d055f7f1ba5a5e60d647934"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac41c96e1f407b1a910029e5f4b7de8e4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4">_build_nodes</a> ($s)</td></tr>
+<tr class="separator:ac41c96e1f407b1a910029e5f4b7de8e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abbc484016ddf5d818f55b823cae6feb0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#abbc484016ddf5d818f55b823cae6feb0">var_replace</a> ($s)</td></tr>
+<tr class="separator:abbc484016ddf5d818f55b823cae6feb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a285b5b2007dbbf733476273df3fed4ef"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">replace</a> ($s, $r)</td></tr>
+<tr class="separator:a285b5b2007dbbf733476273df3fed4ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ac41c96e1f407b1a910029e5f4b7de8e4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::_build_nodes </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</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">
+
+<p>Referenced by <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">replace_macros()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aae9c4d761ea1298e745e8052d7910194"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::_get_var </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</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>$retNoKey</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</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">
+
+<p>Referenced by <a class="el" href="classTemplate.html#a4b933954086d9e01a1804b0b1c6ee93e">_replcb_debug()</a>, <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">_replcb_for()</a>, <a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">_replcb_if()</a>, <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">_replcb_inc()</a>, and <a class="el" href="classTemplate.html#abbc484016ddf5d818f55b823cae6feb0">var_replace()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a35d599c9b53a02e2fe2232e5b7ed5da7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::_pop_stack </td>
+ <td>(</td>
+ <td class="paramname"></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">
+
+<p>Referenced by <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">_replcb_for()</a>, and <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">_replcb_inc()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a37c15f6d1ade500943629f27a62808b7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::_preg_error </td>
+ <td>(</td>
+ <td class="paramname"></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">
+
+<p>Referenced by <a class="el" href="classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4">_build_nodes()</a>, and <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">replace_macros()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa6a087e0b7b887dd1c98c9e0ecbd3b29"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::_push_stack </td>
+ <td>(</td>
+ <td class="paramname"></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">
+
+<p>Referenced by <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">_replcb_for()</a>, and <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">_replcb_inc()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae791766c3d055f7f1ba5a5e60d647934"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::_replcb </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$m</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>
+<a class="anchor" id="a4b933954086d9e01a1804b0b1c6ee93e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::_replcb_debug </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$args</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">
+<p>DEBUG node</p>
+<p>{{ debug $var [$var [$var [...]]] }}{{ enddebug }}</p>
+<p>replace node with </p>
+<pre>var_dump($var, $var, ...);</pre>
+</div>
+</div>
+<a class="anchor" id="abf71098c80fd1f218a59452b3408309e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::_replcb_for </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$args</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">
+<p>FOR node</p>
+<p>{{ for &lt; $var&gt;=""&gt; as $name }}...{{ endfor }} {{ for &lt; $var&gt;=""&gt; as $key=&gt;$name }}...{{ endfor }} </p>
+
+</div>
+</div>
+<a class="anchor" id="ae0836e7d5bd5afceb04f50fd635f1228"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::_replcb_if </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$args</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">
+<p>IF node</p>
+<p>{{ if &lt; $var&gt;=""&gt; }}...[{{ else }} ...] {{ endif }} {{ if &lt; $var&gt;=""&gt;==&lt;val|$var&gt; }}...[{{ else }} ...]{{ endif }} {{ if &lt; $var&gt;=""&gt;!=&lt;val|$var&gt; }}...[{{ else }} ...]{{ endif }} </p>
+
+</div>
+</div>
+<a class="anchor" id="a86e8fd27955ef10cadfd86f3fca70677"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::_replcb_inc </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$args</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">
+<p>INC node</p>
+<p>{{ inc &lt;templatefile&gt; [with $var1=$var2] }}{{ endinc }} </p>
+
+</div>
+</div>
+<a class="anchor" id="aa6f9bd7a8f7512efcf90e8d376fe05ee"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::_replcb_node </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$m</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>
+<a class="anchor" id="afd97b4b1e7754a550e67c0ea79159059"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::get_markup_template </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">&#160;</td>
+ <td class="paramname"><em>$root</em> = <code>''</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442">ITemplateEngine</a>.</p>
+
+<p>Referenced by <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">_replcb_inc()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a285b5b2007dbbf733476273df3fed4ef"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::replace </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>$r</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</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">
+
+<p>Referenced by <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">_replcb_for()</a>, and <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">_replcb_inc()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a07737733f6949bdedea1e3d301b2ab7b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::replace_macros </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>$r</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Implements <a class="el" href="interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243">ITemplateEngine</a>.</p>
+
+<p>Referenced by <a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">replace()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abbc484016ddf5d818f55b823cae6feb0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::var_replace </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</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">
+<p>regexp: $ literal $ ([)? optional open square bracket ([a-zA-Z0-9-_]+.?)+ var name, followed by optional dot, repeated at least 1 time (?(1)]) if there was opened square bracket (subgrup 1), match close bracket</p>
+
+<p>Referenced by <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">replace_macros()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a8469ab2988b6be2681516dc4b4e07d38"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::$d = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afc4afb6f89bebcd5480022312a56cb4a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::$debug =false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="abda4c8d049f70553338eae7c905e9d5c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::$done = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ace26b8a4252fbc1c385d2b5e1e93e5c8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::$lang = null</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6eb301a51cc94d8b94f4548fbad85eae"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::$name =&quot;internal&quot;</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">_get_var()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8f4d17e49f42b876a97364c13fb572d1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::$nodes = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aac9a4638f11271e1b1dcc9f247242718"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::$r</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">_get_var()</a>, <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">_replcb_for()</a>, <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">_replcb_inc()</a>, <a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">replace()</a>, and <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">replace_macros()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4e86b566c3f728e95ce5db1b33665c10"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::$replace</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a317d535946dc065c35dd5cd38380e6c6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::$search</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6f0efc256688c36110180b501067ff11"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Template::$stack = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="template__processor_8php.html">template_processor.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classTemplate.js b/doc/html/classTemplate.js
new file mode 100644
index 000000000..9b5a06744
--- /dev/null
+++ b/doc/html/classTemplate.js
@@ -0,0 +1,27 @@
+var classTemplate =
+[
+ [ "_build_nodes", "classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4", null ],
+ [ "_get_var", "classTemplate.html#aae9c4d761ea1298e745e8052d7910194", null ],
+ [ "_pop_stack", "classTemplate.html#a35d599c9b53a02e2fe2232e5b7ed5da7", null ],
+ [ "_preg_error", "classTemplate.html#a37c15f6d1ade500943629f27a62808b7", null ],
+ [ "_push_stack", "classTemplate.html#aa6a087e0b7b887dd1c98c9e0ecbd3b29", null ],
+ [ "_replcb", "classTemplate.html#ae791766c3d055f7f1ba5a5e60d647934", null ],
+ [ "_replcb_debug", "classTemplate.html#a4b933954086d9e01a1804b0b1c6ee93e", null ],
+ [ "_replcb_for", "classTemplate.html#abf71098c80fd1f218a59452b3408309e", null ],
+ [ "_replcb_if", "classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228", null ],
+ [ "_replcb_inc", "classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677", null ],
+ [ "_replcb_node", "classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee", null ],
+ [ "get_markup_template", "classTemplate.html#afd97b4b1e7754a550e67c0ea79159059", null ],
+ [ "replace", "classTemplate.html#a285b5b2007dbbf733476273df3fed4ef", null ],
+ [ "replace_macros", "classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b", null ],
+ [ "var_replace", "classTemplate.html#abbc484016ddf5d818f55b823cae6feb0", null ],
+ [ "$d", "classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38", null ],
+ [ "$debug", "classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a", null ],
+ [ "$done", "classTemplate.html#abda4c8d049f70553338eae7c905e9d5c", null ],
+ [ "$lang", "classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8", null ],
+ [ "$nodes", "classTemplate.html#a8f4d17e49f42b876a97364c13fb572d1", null ],
+ [ "$r", "classTemplate.html#aac9a4638f11271e1b1dcc9f247242718", null ],
+ [ "$replace", "classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10", null ],
+ [ "$search", "classTemplate.html#a317d535946dc065c35dd5cd38380e6c6", null ],
+ [ "$stack", "classTemplate.html#a6f0efc256688c36110180b501067ff11", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classTemplate.png b/doc/html/classTemplate.png
new file mode 100644
index 000000000..3c073c726
--- /dev/null
+++ b/doc/html/classTemplate.png
Binary files differ
diff --git a/doc/html/classZotDriver-members.html b/doc/html/classZotDriver-members.html
new file mode 100644
index 000000000..5970e2144
--- /dev/null
+++ b/doc/html/classZotDriver-members.html
@@ -0,0 +1,124 @@
+<!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="rhash-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('classZotDriver.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">ZotDriver Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classZotDriver.html">ZotDriver</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classZotDriver.html#a3cfdf443da4e5326e205855d7c0054f2">acknowledge_permissions</a>($permissions, $channel, $recipient)</td><td class="entry"><a class="el" href="classZotDriver.html">ZotDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classZotDriver.html#a6776935156accb0f170e2e24577133db">change_permissions</a>($permissions, $channel, $recipient)</td><td class="entry"><a class="el" href="classZotDriver.html">ZotDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classZotDriver.html#af65febb26031eb7f39871b9e2a539797">collect</a>($channel, $connection)</td><td class="entry"><a class="el" href="classZotDriver.html">ZotDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classZotDriver.html#a2e15ff09772f0608203dad1c98299394">collect_private</a>($channel, $connection)</td><td class="entry"><a class="el" href="classZotDriver.html">ZotDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f">deliver</a>($item, $channel, $recipients)</td><td class="entry"><a class="el" href="classZotDriver.html">ZotDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classZotDriver.html#afaaf9941169fc966e43e25b25e6daea6">deliver_private</a>($item, $channel, $recipients)</td><td class="entry"><a class="el" href="classZotDriver.html">ZotDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classZotDriver.html#a40d328ff9f6b0a238afe286dddee1514">discover</a>($channel, $location)</td><td class="entry"><a class="el" href="classZotDriver.html">ZotDriver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classZotDriver.html b/doc/html/classZotDriver.html
new file mode 100644
index 000000000..5983ecd39
--- /dev/null
+++ b/doc/html/classZotDriver.html
@@ -0,0 +1,425 @@
+<!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: ZotDriver 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="rhash-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('classZotDriver.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="#pro-methods">Protected Member Functions</a> &#124;
+<a href="classZotDriver-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">ZotDriver Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for ZotDriver:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classZotDriver.png" usemap="#ZotDriver_map" alt=""/>
+ <map id="ZotDriver_map" name="ZotDriver_map">
+<area href="classProtoDriver.html" alt="ProtoDriver" shape="rect" coords="0,0,78,24"/>
+</map>
+ </div></div>
+<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:a40d328ff9f6b0a238afe286dddee1514"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classZotDriver.html#a40d328ff9f6b0a238afe286dddee1514">discover</a> ($channel, $location)</td></tr>
+<tr class="separator:a40d328ff9f6b0a238afe286dddee1514"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a876e3e0e4cad83c0b58c8696b344be6f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f">deliver</a> ($item, $channel, $recipients)</td></tr>
+<tr class="separator:a876e3e0e4cad83c0b58c8696b344be6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af65febb26031eb7f39871b9e2a539797"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classZotDriver.html#af65febb26031eb7f39871b9e2a539797">collect</a> ($channel, $connection)</td></tr>
+<tr class="separator:af65febb26031eb7f39871b9e2a539797"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6776935156accb0f170e2e24577133db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classZotDriver.html#a6776935156accb0f170e2e24577133db">change_permissions</a> ($permissions, $channel, $recipient)</td></tr>
+<tr class="separator:a6776935156accb0f170e2e24577133db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3cfdf443da4e5326e205855d7c0054f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classZotDriver.html#a3cfdf443da4e5326e205855d7c0054f2">acknowledge_permissions</a> ($permissions, $channel, $recipient)</td></tr>
+<tr class="separator:a3cfdf443da4e5326e205855d7c0054f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaaf9941169fc966e43e25b25e6daea6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classZotDriver.html#afaaf9941169fc966e43e25b25e6daea6">deliver_private</a> ($item, $channel, $recipients)</td></tr>
+<tr class="separator:afaaf9941169fc966e43e25b25e6daea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e15ff09772f0608203dad1c98299394"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classZotDriver.html#a2e15ff09772f0608203dad1c98299394">collect_private</a> ($channel, $connection)</td></tr>
+<tr class="separator:a2e15ff09772f0608203dad1c98299394"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_classProtoDriver"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classProtoDriver')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classProtoDriver.html">ProtoDriver</a></td></tr>
+<tr class="memitem:a64a3868cffe27d601d55f69a2ecc4337 inherit pro_methods_classProtoDriver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337">discover</a> ($channel, $location)</td></tr>
+<tr class="separator:a64a3868cffe27d601d55f69a2ecc4337 inherit pro_methods_classProtoDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85e9063f6d0c304410cd246f7900ea1b inherit pro_methods_classProtoDriver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#a85e9063f6d0c304410cd246f7900ea1b">deliver</a> ($item, $channel, $recipients)</td></tr>
+<tr class="separator:a85e9063f6d0c304410cd246f7900ea1b inherit pro_methods_classProtoDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ba1758f0f9e3564580b6ff85292804d inherit pro_methods_classProtoDriver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d">collect</a> ($channel, $connection)</td></tr>
+<tr class="separator:a2ba1758f0f9e3564580b6ff85292804d inherit pro_methods_classProtoDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34b97ca5ef2165f2e16eb2fe59ff6c67 inherit pro_methods_classProtoDriver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67">change_permissions</a> ($permissions, $channel, $recipient)</td></tr>
+<tr class="separator:a34b97ca5ef2165f2e16eb2fe59ff6c67 inherit pro_methods_classProtoDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1593f3abae050edbd9304f4f8bc4894a inherit pro_methods_classProtoDriver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a">acknowledge_permissions</a> ($permissions, $channel, $recipient)</td></tr>
+<tr class="separator:a1593f3abae050edbd9304f4f8bc4894a inherit pro_methods_classProtoDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae5b44739f84c10d00a9b65adf3785181 inherit pro_methods_classProtoDriver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181">deliver_private</a> ($item, $channel, $recipients)</td></tr>
+<tr class="separator:ae5b44739f84c10d00a9b65adf3785181 inherit pro_methods_classProtoDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af66171aa7dab9b62cee915cb4f1abe1b inherit pro_methods_classProtoDriver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b">collect_private</a> ($channel, $connection)</td></tr>
+<tr class="separator:af66171aa7dab9b62cee915cb4f1abe1b inherit pro_methods_classProtoDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a3cfdf443da4e5326e205855d7c0054f2"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ZotDriver::acknowledge_permissions </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$permissions</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$recipient</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6776935156accb0f170e2e24577133db"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ZotDriver::change_permissions </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$permissions</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$recipient</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af65febb26031eb7f39871b9e2a539797"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ZotDriver::collect </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>$connection</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2e15ff09772f0608203dad1c98299394"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ZotDriver::collect_private </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>$connection</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a876e3e0e4cad83c0b58c8696b344be6f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ZotDriver::deliver </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$recipients</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afaaf9941169fc966e43e25b25e6daea6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ZotDriver::deliver_private </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$recipients</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a40d328ff9f6b0a238afe286dddee1514"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ZotDriver::discover </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>$location</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="ProtoDriver_8php.html">ProtoDriver.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classZotDriver.js b/doc/html/classZotDriver.js
new file mode 100644
index 000000000..b5cdf4719
--- /dev/null
+++ b/doc/html/classZotDriver.js
@@ -0,0 +1,10 @@
+var classZotDriver =
+[
+ [ "acknowledge_permissions", "classZotDriver.html#a3cfdf443da4e5326e205855d7c0054f2", null ],
+ [ "change_permissions", "classZotDriver.html#a6776935156accb0f170e2e24577133db", null ],
+ [ "collect", "classZotDriver.html#af65febb26031eb7f39871b9e2a539797", null ],
+ [ "collect_private", "classZotDriver.html#a2e15ff09772f0608203dad1c98299394", null ],
+ [ "deliver", "classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f", null ],
+ [ "deliver_private", "classZotDriver.html#afaaf9941169fc966e43e25b25e6daea6", null ],
+ [ "discover", "classZotDriver.html#a40d328ff9f6b0a238afe286dddee1514", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classZotDriver.png b/doc/html/classZotDriver.png
new file mode 100644
index 000000000..38e96d6af
--- /dev/null
+++ b/doc/html/classZotDriver.png
Binary files differ
diff --git a/doc/html/classdba-members.html b/doc/html/classdba-members.html
new file mode 100644
index 000000000..a01572437
--- /dev/null
+++ b/doc/html/classdba-members.html
@@ -0,0 +1,128 @@
+<!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 Project: 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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('classdba.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">dba Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classdba.html">dba</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classdba.html#a986eb5c3bbd4c70801a9ddd2f8e5c561">$connected</a></td><td class="entry"><a class="el" href="classdba.html">dba</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba.html#ab57b3a4399f22ce5cdafbd3cd542a414">$db</a></td><td class="entry"><a class="el" href="classdba.html">dba</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba.html#a4da56b3eb82ad26ba49ca5f97e1490cb">$debug</a></td><td class="entry"><a class="el" href="classdba.html">dba</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba.html#a6a1471c18c6530044d20db5d3532958b">$error</a></td><td class="entry"><a class="el" href="classdba.html">dba</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba.html#ab5dcbd758d3f8fb84702c323cd85067e">$mysqli</a></td><td class="entry"><a class="el" href="classdba.html">dba</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba.html#aa36df91d776eedd1b90b9518a610d9fb">__construct</a>($server, $user, $pass, $db, $install=false)</td><td class="entry"><a class="el" href="classdba.html">dba</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba.html#ac25853e4d454aec9cfead4814429550d">__destruct</a>()</td><td class="entry"><a class="el" href="classdba.html">dba</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba.html#a2c6fecf396c66e07f00276fc18d31ca7">dbg</a>($dbg)</td><td class="entry"><a class="el" href="classdba.html">dba</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba.html#a522329687ff042074c1cbc8bd3226d2f">escape</a>($str)</td><td class="entry"><a class="el" href="classdba.html">dba</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba.html#a066ce6eab1282c9220ac4652ac2dbd27">getdb</a>()</td><td class="entry"><a class="el" href="classdba.html">dba</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba.html#a0060c8611e3c3ee71049904ad028a695">q</a>($sql)</td><td class="entry"><a class="el" href="classdba.html">dba</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classdba.html b/doc/html/classdba.html
new file mode 100644
index 000000000..dcb6e4b3c
--- /dev/null
+++ b/doc/html/classdba.html
@@ -0,0 +1,363 @@
+<!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 Project: dba 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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('classdba.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="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pri-attribs">Private Attributes</a> &#124;
+<a href="classdba-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">dba Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa36df91d776eedd1b90b9518a610d9fb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba.html#aa36df91d776eedd1b90b9518a610d9fb">__construct</a> ($server, $user, $pass, $db, $install=false)</td></tr>
+<tr class="separator:aa36df91d776eedd1b90b9518a610d9fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a066ce6eab1282c9220ac4652ac2dbd27"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba.html#a066ce6eab1282c9220ac4652ac2dbd27">getdb</a> ()</td></tr>
+<tr class="separator:a066ce6eab1282c9220ac4652ac2dbd27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0060c8611e3c3ee71049904ad028a695"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba.html#a0060c8611e3c3ee71049904ad028a695">q</a> ($sql)</td></tr>
+<tr class="separator:a0060c8611e3c3ee71049904ad028a695"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c6fecf396c66e07f00276fc18d31ca7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba.html#a2c6fecf396c66e07f00276fc18d31ca7">dbg</a> ($dbg)</td></tr>
+<tr class="separator:a2c6fecf396c66e07f00276fc18d31ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a522329687ff042074c1cbc8bd3226d2f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba.html#a522329687ff042074c1cbc8bd3226d2f">escape</a> ($str)</td></tr>
+<tr class="separator:a522329687ff042074c1cbc8bd3226d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac25853e4d454aec9cfead4814429550d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba.html#ac25853e4d454aec9cfead4814429550d">__destruct</a> ()</td></tr>
+<tr class="separator:ac25853e4d454aec9cfead4814429550d"><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:ab5dcbd758d3f8fb84702c323cd85067e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba.html#ab5dcbd758d3f8fb84702c323cd85067e">$mysqli</a> = true</td></tr>
+<tr class="separator:ab5dcbd758d3f8fb84702c323cd85067e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a986eb5c3bbd4c70801a9ddd2f8e5c561"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba.html#a986eb5c3bbd4c70801a9ddd2f8e5c561">$connected</a> = false</td></tr>
+<tr class="separator:a986eb5c3bbd4c70801a9ddd2f8e5c561"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a1471c18c6530044d20db5d3532958b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba.html#a6a1471c18c6530044d20db5d3532958b">$error</a> = false</td></tr>
+<tr class="separator:a6a1471c18c6530044d20db5d3532958b"><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:a4da56b3eb82ad26ba49ca5f97e1490cb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba.html#a4da56b3eb82ad26ba49ca5f97e1490cb">$debug</a> = 0</td></tr>
+<tr class="separator:a4da56b3eb82ad26ba49ca5f97e1490cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab57b3a4399f22ce5cdafbd3cd542a414"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba.html#ab57b3a4399f22ce5cdafbd3cd542a414">$db</a></td></tr>
+<tr class="separator:ab57b3a4399f22ce5cdafbd3cd542a414"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>MySQL database class</p>
+<p>For debugging, insert 'dbg(1);' anywhere in the program flow. dbg(0); will turn it off. Logging is performed at LOGGER_DATA level. When logging, all binary info is converted to text and html entities are escaped so that the debugging stream is safe to view within both terminals and web pages. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aa36df91d776eedd1b90b9518a610d9fb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba::__construct </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$server</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$db</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$install</em> = <code>false</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="ac25853e4d454aec9cfead4814429550d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba::__destruct </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a2c6fecf396c66e07f00276fc18d31ca7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba::dbg </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dbg</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a522329687ff042074c1cbc8bd3226d2f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba::escape </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a066ce6eab1282c9220ac4652ac2dbd27"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba::getdb </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0060c8611e3c3ee71049904ad028a695"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba::q </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sql</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>If dbfail.out exists, we will write any failed calls directly to it, regardless of any logging that may or may nor be in effect. These usually indicate SQL syntax errors that need to be resolved.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a986eb5c3bbd4c70801a9ddd2f8e5c561"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba::$connected = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab57b3a4399f22ce5cdafbd3cd542a414"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba::$db</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="classdba.html#aa36df91d776eedd1b90b9518a610d9fb">__construct()</a>, and <a class="el" href="classdba.html#a066ce6eab1282c9220ac4652ac2dbd27">getdb()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4da56b3eb82ad26ba49ca5f97e1490cb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba::$debug = 0</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>
+<a class="anchor" id="a6a1471c18c6530044d20db5d3532958b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba::$error = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classdba.html#a0060c8611e3c3ee71049904ad028a695">q()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab5dcbd758d3f8fb84702c323cd85067e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba::$mysqli = true</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="dba_8php.html">dba.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classdba.js b/doc/html/classdba.js
new file mode 100644
index 000000000..2b97b91eb
--- /dev/null
+++ b/doc/html/classdba.js
@@ -0,0 +1,14 @@
+var classdba =
+[
+ [ "__construct", "classdba.html#aa36df91d776eedd1b90b9518a610d9fb", null ],
+ [ "__destruct", "classdba.html#ac25853e4d454aec9cfead4814429550d", null ],
+ [ "dbg", "classdba.html#a2c6fecf396c66e07f00276fc18d31ca7", null ],
+ [ "escape", "classdba.html#a522329687ff042074c1cbc8bd3226d2f", null ],
+ [ "getdb", "classdba.html#a066ce6eab1282c9220ac4652ac2dbd27", null ],
+ [ "q", "classdba.html#a0060c8611e3c3ee71049904ad028a695", null ],
+ [ "$connected", "classdba.html#a986eb5c3bbd4c70801a9ddd2f8e5c561", null ],
+ [ "$db", "classdba.html#ab57b3a4399f22ce5cdafbd3cd542a414", null ],
+ [ "$debug", "classdba.html#a4da56b3eb82ad26ba49ca5f97e1490cb", null ],
+ [ "$error", "classdba.html#a6a1471c18c6530044d20db5d3532958b", null ],
+ [ "$mysqli", "classdba.html#ab5dcbd758d3f8fb84702c323cd85067e", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classdba__driver-members.html b/doc/html/classdba__driver-members.html
new file mode 100644
index 000000000..96b4a6225
--- /dev/null
+++ b/doc/html/classdba__driver-members.html
@@ -0,0 +1,129 @@
+<!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="rhash-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('classdba__driver.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">dba_driver Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classdba__driver.html">dba_driver</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">$connected</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">$db</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">$debug</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">$error</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a>($server, $port, $user, $pass, $db, $install=false)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">close</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">connect</a>($server, $port, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a>($dbg)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">escape</a>($str)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>($server, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">q</a>($sql)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classdba__driver.html b/doc/html/classdba__driver.html
new file mode 100644
index 000000000..ffac32e66
--- /dev/null
+++ b/doc/html/classdba__driver.html
@@ -0,0 +1,483 @@
+<!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: dba_driver 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="rhash-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('classdba__driver.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="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classdba__driver-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">dba_driver Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for dba_driver:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classdba__driver.png" usemap="#dba_driver_map" alt=""/>
+ <map id="dba_driver_map" name="dba_driver_map">
+<area href="classdba__mysql.html" alt="dba_mysql" shape="rect" coords="0,56,74,80"/>
+<area href="classdba__mysqli.html" alt="dba_mysqli" shape="rect" coords="84,56,158,80"/>
+</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:ae533e62a240a793f17aef5ab4ef10edc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">connect</a> ($server, $port, $user, $pass, $db)</td></tr>
+<tr class="separator:ae533e62a240a793f17aef5ab4ef10edc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a558e738b88ae893cc5d79ffa3793d555"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">q</a> ($sql)</td></tr>
+<tr class="separator:a558e738b88ae893cc5d79ffa3793d555"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc95ffa103a3290581b537670cde5311"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">escape</a> ($str)</td></tr>
+<tr class="separator:afc95ffa103a3290581b537670cde5311"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5afa54172f3c837df61643f8f5b2c975"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">close</a> ()</td></tr>
+<tr class="separator:a5afa54172f3c837df61643f8f5b2c975"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3541d13ccb7a3eddfc03e253c746186"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a> ($server, $port, $user, $pass, $db, $<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>=false)</td></tr>
+<tr class="separator:af3541d13ccb7a3eddfc03e253c746186"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ccb27243e62a8ca30dd8e1b8cc67746"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a> ($server, $user, $pass, $db)</td></tr>
+<tr class="separator:a4ccb27243e62a8ca30dd8e1b8cc67746"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcc1f8955120fec0708bce39202d0422"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a> ($dbg)</td></tr>
+<tr class="separator:adcc1f8955120fec0708bce39202d0422"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a8bc9dc839a6320a0e07d8047a6b721"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a> ()</td></tr>
+<tr class="separator:a1a8bc9dc839a6320a0e07d8047a6b721"><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:a205f6535e399700b6fca2492f96f2229"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">$connected</a> = false</td></tr>
+<tr class="separator:a205f6535e399700b6fca2492f96f2229"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84675d28c7bd9b7290dd37e66dbd216c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">$error</a> = false</td></tr>
+<tr class="separator:a84675d28c7bd9b7290dd37e66dbd216c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:af48e2afeded5285766bf92e22123ed03"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">$debug</a> = 0</td></tr>
+<tr class="separator:af48e2afeded5285766bf92e22123ed03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3033b5f1c2716b52202faeaae2592fe6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">$db</a></td></tr>
+<tr class="separator:a3033b5f1c2716b52202faeaae2592fe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="af3541d13ccb7a3eddfc03e253c746186"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::__construct </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$server</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$db</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$install</em> = <code>false</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="a1a8bc9dc839a6320a0e07d8047a6b721"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::__destruct </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a5afa54172f3c837df61643f8f5b2c975"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::close </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae533e62a240a793f17aef5ab4ef10edc"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::connect </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$server</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$db</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adcc1f8955120fec0708bce39202d0422"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::dbg </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dbg</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afc95ffa103a3290581b537670cde5311"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::escape </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4ccb27243e62a8ca30dd8e1b8cc67746"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::install </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$server</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$db</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="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a558e738b88ae893cc5d79ffa3793d555"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::q </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sql</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a205f6535e399700b6fca2492f96f2229"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::$connected = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3033b5f1c2716b52202faeaae2592fe6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::$db</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct()</a>, <a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">dba_mysqli\connect()</a>, and <a class="el" href="classdba__mysql.html#a1887338627ce0e28786839363014bd0b">dba_mysql\connect()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af48e2afeded5285766bf92e22123ed03"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::$debug = 0</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a84675d28c7bd9b7290dd37e66dbd216c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::$error = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/dba/<a class="el" href="dba__driver_8php.html">dba_driver.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classdba__driver.js b/doc/html/classdba__driver.js
new file mode 100644
index 000000000..14c656ca8
--- /dev/null
+++ b/doc/html/classdba__driver.js
@@ -0,0 +1,15 @@
+var classdba__driver =
+[
+ [ "__construct", "classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186", null ],
+ [ "__destruct", "classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721", null ],
+ [ "close", "classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975", null ],
+ [ "connect", "classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc", null ],
+ [ "dbg", "classdba__driver.html#adcc1f8955120fec0708bce39202d0422", null ],
+ [ "escape", "classdba__driver.html#afc95ffa103a3290581b537670cde5311", null ],
+ [ "install", "classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746", null ],
+ [ "q", "classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555", null ],
+ [ "$connected", "classdba__driver.html#a205f6535e399700b6fca2492f96f2229", null ],
+ [ "$db", "classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6", null ],
+ [ "$debug", "classdba__driver.html#af48e2afeded5285766bf92e22123ed03", null ],
+ [ "$error", "classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classdba__driver.png b/doc/html/classdba__driver.png
new file mode 100644
index 000000000..7c5b7cf41
--- /dev/null
+++ b/doc/html/classdba__driver.png
Binary files differ
diff --git a/doc/html/classdba__mysql-members.html b/doc/html/classdba__mysql-members.html
new file mode 100644
index 000000000..dfc7c777b
--- /dev/null
+++ b/doc/html/classdba__mysql-members.html
@@ -0,0 +1,129 @@
+<!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="rhash-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('classdba__mysql.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">dba_mysql Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classdba__mysql.html">dba_mysql</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">$connected</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">$db</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">$debug</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">$error</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a>($server, $port, $user, $pass, $db, $install=false)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e">close</a>()</td><td class="entry"><a class="el" href="classdba__mysql.html">dba_mysql</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__mysql.html#a1887338627ce0e28786839363014bd0b">connect</a>($server, $port, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__mysql.html">dba_mysql</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a>($dbg)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e">escape</a>($str)</td><td class="entry"><a class="el" href="classdba__mysql.html">dba_mysql</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>($server, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">q</a>($sql)</td><td class="entry"><a class="el" href="classdba__mysql.html">dba_mysql</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classdba__mysql.html b/doc/html/classdba__mysql.html
new file mode 100644
index 000000000..0604ea688
--- /dev/null
+++ b/doc/html/classdba__mysql.html
@@ -0,0 +1,263 @@
+<!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: dba_mysql 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="rhash-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('classdba__mysql.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="classdba__mysql-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">dba_mysql Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for dba_mysql:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classdba__mysql.png" usemap="#dba_mysql_map" alt=""/>
+ <map id="dba_mysql_map" name="dba_mysql_map">
+<area href="classdba__driver.html" alt="dba_driver" shape="rect" coords="0,0,74,24"/>
+</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:a1887338627ce0e28786839363014bd0b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysql.html#a1887338627ce0e28786839363014bd0b">connect</a> ($server, $port, $user, $pass, $db)</td></tr>
+<tr class="separator:a1887338627ce0e28786839363014bd0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3fd60c278f400907322dac578754a99"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">q</a> ($sql)</td></tr>
+<tr class="separator:ac3fd60c278f400907322dac578754a99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99a7691ea6cb1300031fb6549379066e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e">escape</a> ($str)</td></tr>
+<tr class="separator:a99a7691ea6cb1300031fb6549379066e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a850586714ef897bd25f643c89b4ef76e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e">close</a> ()</td></tr>
+<tr class="separator:a850586714ef897bd25f643c89b4ef76e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memitem:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">connect</a> ($server, $port, $user, $pass, $db)</td></tr>
+<tr class="separator:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">q</a> ($sql)</td></tr>
+<tr class="separator:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">escape</a> ($str)</td></tr>
+<tr class="separator:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">close</a> ()</td></tr>
+<tr class="separator:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3541d13ccb7a3eddfc03e253c746186 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a> ($server, $port, $user, $pass, $db, $<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>=false)</td></tr>
+<tr class="separator:af3541d13ccb7a3eddfc03e253c746186 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ccb27243e62a8ca30dd8e1b8cc67746 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a> ($server, $user, $pass, $db)</td></tr>
+<tr class="separator:a4ccb27243e62a8ca30dd8e1b8cc67746 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a> ($dbg)</td></tr>
+<tr class="separator:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a8bc9dc839a6320a0e07d8047a6b721 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a> ()</td></tr>
+<tr class="separator:a1a8bc9dc839a6320a0e07d8047a6b721 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_attribs_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memitem:a205f6535e399700b6fca2492f96f2229 inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">$connected</a> = false</td></tr>
+<tr class="separator:a205f6535e399700b6fca2492f96f2229 inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84675d28c7bd9b7290dd37e66dbd216c inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">$error</a> = false</td></tr>
+<tr class="separator:a84675d28c7bd9b7290dd37e66dbd216c inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memitem:af48e2afeded5285766bf92e22123ed03 inherit pro_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">$debug</a> = 0</td></tr>
+<tr class="separator:af48e2afeded5285766bf92e22123ed03 inherit pro_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3033b5f1c2716b52202faeaae2592fe6 inherit pro_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">$db</a></td></tr>
+<tr class="separator:a3033b5f1c2716b52202faeaae2592fe6 inherit pro_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a850586714ef897bd25f643c89b4ef76e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_mysql::close </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1887338627ce0e28786839363014bd0b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_mysql::connect </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$server</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$db</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="a99a7691ea6cb1300031fb6549379066e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_mysql::escape </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac3fd60c278f400907322dac578754a99"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_mysql::q </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sql</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/dba/<a class="el" href="dba__mysql_8php.html">dba_mysql.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classdba__mysql.js b/doc/html/classdba__mysql.js
new file mode 100644
index 000000000..9e5452f55
--- /dev/null
+++ b/doc/html/classdba__mysql.js
@@ -0,0 +1,7 @@
+var classdba__mysql =
+[
+ [ "close", "classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e", null ],
+ [ "connect", "classdba__mysql.html#a1887338627ce0e28786839363014bd0b", null ],
+ [ "escape", "classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e", null ],
+ [ "q", "classdba__mysql.html#ac3fd60c278f400907322dac578754a99", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classdba__mysql.png b/doc/html/classdba__mysql.png
new file mode 100644
index 000000000..38ea168b7
--- /dev/null
+++ b/doc/html/classdba__mysql.png
Binary files differ
diff --git a/doc/html/classdba__mysqli-members.html b/doc/html/classdba__mysqli-members.html
new file mode 100644
index 000000000..e58c0dad1
--- /dev/null
+++ b/doc/html/classdba__mysqli-members.html
@@ -0,0 +1,129 @@
+<!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="rhash-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('classdba__mysqli.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">dba_mysqli Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classdba__mysqli.html">dba_mysqli</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">$connected</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">$db</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">$debug</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">$error</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a>($server, $port, $user, $pass, $db, $install=false)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55">close</a>()</td><td class="entry"><a class="el" href="classdba__mysqli.html">dba_mysqli</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">connect</a>($server, $port, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__mysqli.html">dba_mysqli</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a>($dbg)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">escape</a>($str)</td><td class="entry"><a class="el" href="classdba__mysqli.html">dba_mysqli</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>($server, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">q</a>($sql)</td><td class="entry"><a class="el" href="classdba__mysqli.html">dba_mysqli</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classdba__mysqli.html b/doc/html/classdba__mysqli.html
new file mode 100644
index 000000000..5b1ef74cb
--- /dev/null
+++ b/doc/html/classdba__mysqli.html
@@ -0,0 +1,263 @@
+<!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: dba_mysqli 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="rhash-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('classdba__mysqli.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="classdba__mysqli-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">dba_mysqli Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for dba_mysqli:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classdba__mysqli.png" usemap="#dba_mysqli_map" alt=""/>
+ <map id="dba_mysqli_map" name="dba_mysqli_map">
+<area href="classdba__driver.html" alt="dba_driver" shape="rect" coords="0,0,74,24"/>
+</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:add062bd93961e5f0194d94820e9a51b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">connect</a> ($server, $port, $user, $pass, $db)</td></tr>
+<tr class="separator:add062bd93961e5f0194d94820e9a51b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a611c4de8d6d7512dffb83a38bb6701ec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">q</a> ($sql)</td></tr>
+<tr class="separator:a611c4de8d6d7512dffb83a38bb6701ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27d6a748af7f80028801306e7ea33f64"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">escape</a> ($str)</td></tr>
+<tr class="separator:a27d6a748af7f80028801306e7ea33f64"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb38f2c851187ad632ecfab30fdfab55"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55">close</a> ()</td></tr>
+<tr class="separator:acb38f2c851187ad632ecfab30fdfab55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memitem:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">connect</a> ($server, $port, $user, $pass, $db)</td></tr>
+<tr class="separator:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">q</a> ($sql)</td></tr>
+<tr class="separator:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">escape</a> ($str)</td></tr>
+<tr class="separator:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">close</a> ()</td></tr>
+<tr class="separator:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3541d13ccb7a3eddfc03e253c746186 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a> ($server, $port, $user, $pass, $db, $<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>=false)</td></tr>
+<tr class="separator:af3541d13ccb7a3eddfc03e253c746186 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ccb27243e62a8ca30dd8e1b8cc67746 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a> ($server, $user, $pass, $db)</td></tr>
+<tr class="separator:a4ccb27243e62a8ca30dd8e1b8cc67746 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a> ($dbg)</td></tr>
+<tr class="separator:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a8bc9dc839a6320a0e07d8047a6b721 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a> ()</td></tr>
+<tr class="separator:a1a8bc9dc839a6320a0e07d8047a6b721 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_attribs_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memitem:a205f6535e399700b6fca2492f96f2229 inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">$connected</a> = false</td></tr>
+<tr class="separator:a205f6535e399700b6fca2492f96f2229 inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84675d28c7bd9b7290dd37e66dbd216c inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">$error</a> = false</td></tr>
+<tr class="separator:a84675d28c7bd9b7290dd37e66dbd216c inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memitem:af48e2afeded5285766bf92e22123ed03 inherit pro_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">$debug</a> = 0</td></tr>
+<tr class="separator:af48e2afeded5285766bf92e22123ed03 inherit pro_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3033b5f1c2716b52202faeaae2592fe6 inherit pro_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">$db</a></td></tr>
+<tr class="separator:a3033b5f1c2716b52202faeaae2592fe6 inherit pro_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="acb38f2c851187ad632ecfab30fdfab55"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_mysqli::close </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="add062bd93961e5f0194d94820e9a51b1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_mysqli::connect </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$server</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$db</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="a27d6a748af7f80028801306e7ea33f64"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_mysqli::escape </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a611c4de8d6d7512dffb83a38bb6701ec"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_mysqli::q </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sql</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/dba/<a class="el" href="dba__mysqli_8php.html">dba_mysqli.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classdba__mysqli.js b/doc/html/classdba__mysqli.js
new file mode 100644
index 000000000..a5f54698e
--- /dev/null
+++ b/doc/html/classdba__mysqli.js
@@ -0,0 +1,7 @@
+var classdba__mysqli =
+[
+ [ "close", "classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55", null ],
+ [ "connect", "classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1", null ],
+ [ "escape", "classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64", null ],
+ [ "q", "classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classdba__mysqli.png b/doc/html/classdba__mysqli.png
new file mode 100644
index 000000000..1667829fc
--- /dev/null
+++ b/doc/html/classdba__mysqli.png
Binary files differ
diff --git a/doc/html/classenotify-members.html b/doc/html/classenotify-members.html
new file mode 100644
index 000000000..df4eae18a
--- /dev/null
+++ b/doc/html/classenotify-members.html
@@ -0,0 +1,118 @@
+<!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="rhash-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('classenotify.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">enotify Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classenotify.html">enotify</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">send</a>($params)</td><td class="entry"><a class="el" href="classenotify.html">enotify</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classenotify.html b/doc/html/classenotify.html
new file mode 100644
index 000000000..99084ccb0
--- /dev/null
+++ b/doc/html/classenotify.html
@@ -0,0 +1,167 @@
+<!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: enotify 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="rhash-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('classenotify.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-static-methods">Static Public Member Functions</a> &#124;
+<a href="classenotify-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">enotify Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:afbc088860f534c6c05788b48cfc262c6"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">send</a> ($params)</td></tr>
+<tr class="separator:afbc088860f534c6c05788b48cfc262c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="afbc088860f534c6c05788b48cfc262c6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static enotify::send </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$params</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Send a multipart/alternative message with Text and HTML versions</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">fromName</td><td>name of the sender </td></tr>
+ <tr><td class="paramname">fromEmail</td><td>email fo the sender </td></tr>
+ <tr><td class="paramname">replyTo</td><td>replyTo address to direct responses </td></tr>
+ <tr><td class="paramname">toEmail</td><td>destination email address </td></tr>
+ <tr><td class="paramname">messageSubject</td><td>subject of the message </td></tr>
+ <tr><td class="paramname">htmlVersion</td><td>html version of the message </td></tr>
+ <tr><td class="paramname">textVersion</td><td>text only version of the message </td></tr>
+ <tr><td class="paramname">additionalMailHeader</td><td>additions to the smtp mail header </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/<a class="el" href="enotify_8php.html">enotify.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classes.html b/doc/html/classes.html
new file mode 100644
index 000000000..3fbe05e31
--- /dev/null
+++ b/doc/html/classes.html
@@ -0,0 +1,139 @@
+<!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: Class Index</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="rhash-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 class="current"><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('classes.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">Class Index</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_Z">Z</a></div>
+<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;A&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classConversation.html">Conversation</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="interfaceITemplateEngine.html">ITemplateEngine</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_Z"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;Z&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table>
+</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></tr>
+<tr><td valign="top"><a class="el" href="classApp.html">App</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classFKOAuth1.html">FKOAuth1</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classZotDriver.html">ZotDriver</a>&#160;&#160;&#160;</td></tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;B&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classdba__driver.html">dba_driver</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classFKOAuthDataStore.html">FKOAuthDataStore</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classphoto__driver.html">photo_driver</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="classdba__mysql.html">dba_mysql</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classFriendicaSmarty.html">FriendicaSmarty</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classphoto__gd.html">photo_gd</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="classBaseObject.html">BaseObject</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classdba__mysqli.html">dba_mysqli</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classFriendicaSmartyEngine.html">FriendicaSmartyEngine</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classphoto__imagick.html">photo_imagick</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 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 rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classProtoDriver.html">ProtoDriver</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><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 valign="top"><a class="el" href="classCache.html">Cache</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classenotify.html">enotify</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classItem.html">Item</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td></td><td></td><td></td><td valign="top"><a class="el" href="classTemplate.html">Template</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</table>
+<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_Z">Z</a></div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classphoto__driver-members.html b/doc/html/classphoto__driver-members.html
new file mode 100644
index 000000000..4a270d6bf
--- /dev/null
+++ b/doc/html/classphoto__driver-members.html
@@ -0,0 +1,147 @@
+<!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="rhash-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('classphoto__driver.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">photo_driver Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classphoto__driver.html">photo_driver</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80">$height</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55">$image</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03">$type</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03">$types</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9">$valid</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1">$width</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae">__construct</a>($data, $type='')</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#ae4501abdc9651359f81d036b63625686">__destruct</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">cropImage</a>($max, $x, $y, $w, $h)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813">destroy</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f">doScaleImage</a>($new_width, $new_height)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832">flip</a>($horiz=true, $vert=false)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba">getExt</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">getHeight</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">getImage</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3">getType</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#acc30486acee9e89e32701f44a1738117">getWidth</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd">imageString</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab">is_valid</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712">load</a>($data, $type)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">orient</a>($filename)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec">rotate</a>($degrees)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">save</a>($arr)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3">saveImage</a>($path)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">scaleImage</a>($max)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a56634842b071b96502716e9843ea5361">scaleImageSquare</a>($dim)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">scaleImageUp</a>($min)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143">setDimensions</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">store</a>($aid, $uid, $xchan, $rid, $filename, $album, $scale, $profile=0, $allow_cid= '', $allow_gid= '', $deny_cid= '', $deny_gid= '')</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da">supportedTypes</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classphoto__driver.html b/doc/html/classphoto__driver.html
new file mode 100644
index 000000000..53f6d1ecc
--- /dev/null
+++ b/doc/html/classphoto__driver.html
@@ -0,0 +1,945 @@
+<!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: photo_driver 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="rhash-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('classphoto__driver.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classphoto__driver-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">photo_driver Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for photo_driver:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classphoto__driver.png" usemap="#photo_driver_map" alt=""/>
+ <map id="photo_driver_map" name="photo_driver_map">
+<area href="classphoto__gd.html" alt="photo_gd" shape="rect" coords="0,56,92,80"/>
+<area href="classphoto__imagick.html" alt="photo_imagick" shape="rect" coords="102,56,194,80"/>
+</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:a6eee8e36eaf9339f4faf80ddd43162da"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da">supportedTypes</a> ()</td></tr>
+<tr class="separator:a6eee8e36eaf9339f4faf80ddd43162da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a19e1af2b6af4c63aa6230abe69f83712"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712">load</a> ($data, $type)</td></tr>
+<tr class="separator:a19e1af2b6af4c63aa6230abe69f83712"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1a9edaf846983780dc65ea77d99e813"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813">destroy</a> ()</td></tr>
+<tr class="separator:ae1a9edaf846983780dc65ea77d99e813"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae663867d2c4eaa2fae50d60670920143"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143">setDimensions</a> ()</td></tr>
+<tr class="separator:ae663867d2c4eaa2fae50d60670920143"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab98da263bd7341fc132c4fb6fc76e8d5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">getImage</a> ()</td></tr>
+<tr class="separator:ab98da263bd7341fc132c4fb6fc76e8d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae18716018afcf362c7c24586b53e9e2f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f">doScaleImage</a> ($new_width, $new_height)</td></tr>
+<tr class="separator:ae18716018afcf362c7c24586b53e9e2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f2b6337cf9aa0688d10b422123f0eec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec">rotate</a> ($degrees)</td></tr>
+<tr class="separator:a2f2b6337cf9aa0688d10b422123f0eec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b2a99021fc63ed6465d703ddddcb832"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832">flip</a> ($horiz=true, $vert=false)</td></tr>
+<tr class="separator:a2b2a99021fc63ed6465d703ddddcb832"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e6e61f1e356a90bc978f4404a77137e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">cropImage</a> ($max, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $y, $w, $h)</td></tr>
+<tr class="separator:a2e6e61f1e356a90bc978f4404a77137e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc9f73ad90923772d52b9fcc4eb117dd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd">imageString</a> ()</td></tr>
+<tr class="separator:abc9f73ad90923772d52b9fcc4eb117dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6e85f8e507cab4e755ed7acdec401ae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae">__construct</a> ($data, $type='')</td></tr>
+<tr class="separator:ac6e85f8e507cab4e755ed7acdec401ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4501abdc9651359f81d036b63625686"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae4501abdc9651359f81d036b63625686">__destruct</a> ()</td></tr>
+<tr class="separator:ae4501abdc9651359f81d036b63625686"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97289aef3be43d9435ca3717ef10b8ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab">is_valid</a> ()</td></tr>
+<tr class="separator:a97289aef3be43d9435ca3717ef10b8ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc30486acee9e89e32701f44a1738117"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#acc30486acee9e89e32701f44a1738117">getWidth</a> ()</td></tr>
+<tr class="separator:acc30486acee9e89e32701f44a1738117"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af769e9abb144e57002c59aa2aa8f3468"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">getHeight</a> ()</td></tr>
+<tr class="separator:af769e9abb144e57002c59aa2aa8f3468"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22ecb8c696de65a5a10bd185be9d90c3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3">saveImage</a> ($path)</td></tr>
+<tr class="separator:a22ecb8c696de65a5a10bd185be9d90c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6c6c16dbc4f517ce799f9143ed61f0e3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3">getType</a> ()</td></tr>
+<tr class="separator:a6c6c16dbc4f517ce799f9143ed61f0e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2efb5b2a6af3fd67e3f1c2b9852a5ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba">getExt</a> ()</td></tr>
+<tr class="separator:aa2efb5b2a6af3fd67e3f1c2b9852a5ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0f7ec48a31ae9b557b6e3f8bd5b4af0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">scaleImage</a> ($max)</td></tr>
+<tr class="separator:af0f7ec48a31ae9b557b6e3f8bd5b4af0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a63c4ae17e892a115ab9cf6efb960ce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">scaleImageUp</a> ($min)</td></tr>
+<tr class="separator:a1a63c4ae17e892a115ab9cf6efb960ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56634842b071b96502716e9843ea5361"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a56634842b071b96502716e9843ea5361">scaleImageSquare</a> ($dim)</td></tr>
+<tr class="separator:a56634842b071b96502716e9843ea5361"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4de5bac8daea8f291a33c80788019d0d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">orient</a> ($filename)</td></tr>
+<tr class="separator:a4de5bac8daea8f291a33c80788019d0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5864fae7d8389372955a8e78cec527ac"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">save</a> ($arr)</td></tr>
+<tr class="separator:a5864fae7d8389372955a8e78cec527ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a642a8d0c4ad5f887c99c6af77cee287b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">store</a> ($aid, $uid, $xchan, $rid, $filename, $album, $scale, $profile=0, $allow_cid= '', $allow_gid= '', $deny_cid= '', $deny_gid= '')</td></tr>
+<tr class="separator:a642a8d0c4ad5f887c99c6af77cee287b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a7c78b5a01afe61ba3895ac07f4869b55"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55">$image</a></td></tr>
+<tr class="separator:a7c78b5a01afe61ba3895ac07f4869b55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e4215890f4a4894bf3799a7d2e0c0b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1">$width</a></td></tr>
+<tr class="separator:a3e4215890f4a4894bf3799a7d2e0c0b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea560be5dfba09117d36c12bacbf3b80"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80">$height</a></td></tr>
+<tr class="separator:aea560be5dfba09117d36c12bacbf3b80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01d28d43b404d6f6de219dc9c5069dc9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9">$valid</a></td></tr>
+<tr class="separator:a01d28d43b404d6f6de219dc9c5069dc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4920ed7cbb1ac735ac84153067537f03"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03">$type</a></td></tr>
+<tr class="separator:a4920ed7cbb1ac735ac84153067537f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00cb166c00b7502dbc456c94330e5b03"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03">$types</a></td></tr>
+<tr class="separator:a00cb166c00b7502dbc456c94330e5b03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ac6e85f8e507cab4e755ed7acdec401ae"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::__construct </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">&#160;</td>
+ <td class="paramname"><em>$type</em> = <code>''</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="ae4501abdc9651359f81d036b63625686"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::__destruct </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a2e6e61f1e356a90bc978f4404a77137e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::cropImage </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$max</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$w</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$h</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae1a9edaf846983780dc65ea77d99e813"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::destroy </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#ae4501abdc9651359f81d036b63625686">__destruct()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae18716018afcf362c7c24586b53e9e2f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::doScaleImage </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$new_width</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$new_height</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">scaleImage()</a>, <a class="el" href="classphoto__driver.html#a56634842b071b96502716e9843ea5361">scaleImageSquare()</a>, and <a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">scaleImageUp()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2b2a99021fc63ed6465d703ddddcb832"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::flip </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$horiz</em> = <code>true</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$vert</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">orient()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa2efb5b2a6af3fd67e3f1c2b9852a5ba"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::getExt </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af769e9abb144e57002c59aa2aa8f3468"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::getHeight </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">save()</a>, and <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab98da263bd7341fc132c4fb6fc76e8d5"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::getImage </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6c6c16dbc4f517ce799f9143ed61f0e3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::getType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba">getExt()</a>, <a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">photo_gd\imageString()</a>, <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">photo_imagick\load()</a>, <a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">orient()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">save()</a>, and <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acc30486acee9e89e32701f44a1738117"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::getWidth </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">save()</a>, and <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abc9f73ad90923772d52b9fcc4eb117dd"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::imageString </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">save()</a>, <a class="el" href="classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3">saveImage()</a>, and <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a97289aef3be43d9435ca3717ef10b8ab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::is_valid </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#ae4501abdc9651359f81d036b63625686">__destruct()</a>, <a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">photo_gd\cropImage()</a>, <a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">photo_imagick\cropImage()</a>, <a class="el" href="classphoto__gd.html#a724703ecf71b1f1d04a80e86c76db6b1">photo_gd\destroy()</a>, <a class="el" href="classphoto__imagick.html#afd49d64751ee3a298eac0c0ce0ba0207">photo_imagick\destroy()</a>, <a class="el" href="classphoto__gd.html#a44cedef376044018702d9355ddc813ce">photo_gd\flip()</a>, <a class="el" href="classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393">photo_imagick\flip()</a>, <a class="el" href="classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba">getExt()</a>, <a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">getHeight()</a>, <a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">photo_gd\getImage()</a>, <a class="el" href="classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc">photo_imagick\getImage()</a>, <a class="el" href="classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3">getType()</a>, <a class="el" href="classphoto__driver.html#acc30486acee9e89e32701f44a1738117">getWidth()</a>, <a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">photo_gd\imageString()</a>, <a class="el" href="classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019">photo_imagick\imageString()</a>, <a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">orient()</a>, <a class="el" href="classphoto__gd.html#a77f87730b11093b76980c541159df37d">photo_gd\rotate()</a>, <a class="el" href="classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f">photo_imagick\rotate()</a>, <a class="el" href="classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3">saveImage()</a>, <a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">scaleImage()</a>, <a class="el" href="classphoto__driver.html#a56634842b071b96502716e9843ea5361">scaleImageSquare()</a>, and <a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">scaleImageUp()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a19e1af2b6af4c63aa6230abe69f83712"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::load </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">&#160;</td>
+ <td class="paramname"><em>$type</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae">__construct()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4de5bac8daea8f291a33c80788019d0d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::orient </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$filename</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This function is a bit unusual, because it is operating on a file, but you must first create an image from that file to initialise the type and check validity of the image.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2f2b6337cf9aa0688d10b422123f0eec"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::rotate </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$degrees</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">orient()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5864fae7d8389372955a8e78cec527ac"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::save </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="a22ecb8c696de65a5a10bd185be9d90c3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::saveImage </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="af0f7ec48a31ae9b557b6e3f8bd5b4af0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::scaleImage </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$max</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a56634842b071b96502716e9843ea5361"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::scaleImageSquare </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dim</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1a63c4ae17e892a115ab9cf6efb960ce"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::scaleImageUp </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$min</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae663867d2c4eaa2fae50d60670920143"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::setDimensions </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a642a8d0c4ad5f887c99c6af77cee287b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::store </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$aid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$xchan</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$rid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$filename</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$album</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$scale</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$profile</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$allow_cid</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$allow_gid</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$deny_cid</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$deny_gid</em> = <code>''</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="a6eee8e36eaf9339f4faf80ddd43162da"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::supportedTypes </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae">__construct()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="aea560be5dfba09117d36c12bacbf3b80"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::$height</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754">photo_gd\doScaleImage()</a>, <a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">getHeight()</a>, <a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">scaleImage()</a>, and <a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">scaleImageUp()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7c78b5a01afe61ba3895ac07f4869b55"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::$image</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">photo_gd\getImage()</a>, and <a class="el" href="classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc">photo_imagick\getImage()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4920ed7cbb1ac735ac84153067537f03"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::$type</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae">__construct()</a>, <a class="el" href="classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3">getType()</a>, and <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">photo_imagick\load()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a00cb166c00b7502dbc456c94330e5b03"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::$types</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a01d28d43b404d6f6de219dc9c5069dc9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::$valid</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab">is_valid()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3e4215890f4a4894bf3799a7d2e0c0b1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_driver::$width</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754">photo_gd\doScaleImage()</a>, <a class="el" href="classphoto__driver.html#acc30486acee9e89e32701f44a1738117">getWidth()</a>, <a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">scaleImage()</a>, and <a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">scaleImageUp()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/photo/<a class="el" href="photo__driver_8php.html">photo_driver.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classphoto__driver.js b/doc/html/classphoto__driver.js
new file mode 100644
index 000000000..258b2eb60
--- /dev/null
+++ b/doc/html/classphoto__driver.js
@@ -0,0 +1,33 @@
+var classphoto__driver =
+[
+ [ "__construct", "classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae", null ],
+ [ "__destruct", "classphoto__driver.html#ae4501abdc9651359f81d036b63625686", null ],
+ [ "cropImage", "classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e", null ],
+ [ "destroy", "classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813", null ],
+ [ "doScaleImage", "classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f", null ],
+ [ "flip", "classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832", null ],
+ [ "getExt", "classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba", null ],
+ [ "getHeight", "classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468", null ],
+ [ "getImage", "classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5", null ],
+ [ "getType", "classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3", null ],
+ [ "getWidth", "classphoto__driver.html#acc30486acee9e89e32701f44a1738117", null ],
+ [ "imageString", "classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd", null ],
+ [ "is_valid", "classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab", null ],
+ [ "load", "classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712", null ],
+ [ "orient", "classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d", null ],
+ [ "rotate", "classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec", null ],
+ [ "save", "classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac", null ],
+ [ "saveImage", "classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3", null ],
+ [ "scaleImage", "classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0", null ],
+ [ "scaleImageSquare", "classphoto__driver.html#a56634842b071b96502716e9843ea5361", null ],
+ [ "scaleImageUp", "classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce", null ],
+ [ "setDimensions", "classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143", null ],
+ [ "store", "classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b", null ],
+ [ "supportedTypes", "classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da", null ],
+ [ "$height", "classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80", null ],
+ [ "$image", "classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55", null ],
+ [ "$type", "classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03", null ],
+ [ "$types", "classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03", null ],
+ [ "$valid", "classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9", null ],
+ [ "$width", "classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classphoto__driver.png b/doc/html/classphoto__driver.png
new file mode 100644
index 000000000..5ce112bd2
--- /dev/null
+++ b/doc/html/classphoto__driver.png
Binary files differ
diff --git a/doc/html/classphoto__gd-members.html b/doc/html/classphoto__gd-members.html
new file mode 100644
index 000000000..9fe52168d
--- /dev/null
+++ b/doc/html/classphoto__gd-members.html
@@ -0,0 +1,147 @@
+<!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="rhash-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('classphoto__gd.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">photo_gd Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classphoto__gd.html">photo_gd</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80">$height</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55">$image</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03">$type</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03">$types</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9">$valid</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1">$width</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae">__construct</a>($data, $type='')</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#ae4501abdc9651359f81d036b63625686">__destruct</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">cropImage</a>($max, $x, $y, $w, $h)</td><td class="entry"><a class="el" href="classphoto__gd.html">photo_gd</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__gd.html#a724703ecf71b1f1d04a80e86c76db6b1">destroy</a>()</td><td class="entry"><a class="el" href="classphoto__gd.html">photo_gd</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754">doScaleImage</a>($dest_width, $dest_height)</td><td class="entry"><a class="el" href="classphoto__gd.html">photo_gd</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__gd.html#a44cedef376044018702d9355ddc813ce">flip</a>($horiz=true, $vert=false)</td><td class="entry"><a class="el" href="classphoto__gd.html">photo_gd</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba">getExt</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">getHeight</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">getImage</a>()</td><td class="entry"><a class="el" href="classphoto__gd.html">photo_gd</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3">getType</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#acc30486acee9e89e32701f44a1738117">getWidth</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">imageString</a>()</td><td class="entry"><a class="el" href="classphoto__gd.html">photo_gd</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab">is_valid</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9">load</a>($data, $type)</td><td class="entry"><a class="el" href="classphoto__gd.html">photo_gd</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">orient</a>($filename)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__gd.html#a77f87730b11093b76980c541159df37d">rotate</a>($degrees)</td><td class="entry"><a class="el" href="classphoto__gd.html">photo_gd</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">save</a>($arr)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3">saveImage</a>($path)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">scaleImage</a>($max)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a56634842b071b96502716e9843ea5361">scaleImageSquare</a>($dim)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">scaleImageUp</a>($min)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e">setDimensions</a>()</td><td class="entry"><a class="el" href="classphoto__gd.html">photo_gd</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">store</a>($aid, $uid, $xchan, $rid, $filename, $album, $scale, $profile=0, $allow_cid= '', $allow_gid= '', $deny_cid= '', $deny_gid= '')</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">supportedTypes</a>()</td><td class="entry"><a class="el" href="classphoto__gd.html">photo_gd</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classphoto__gd.html b/doc/html/classphoto__gd.html
new file mode 100644
index 000000000..b9da47576
--- /dev/null
+++ b/doc/html/classphoto__gd.html
@@ -0,0 +1,434 @@
+<!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: photo_gd 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="rhash-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('classphoto__gd.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="classphoto__gd-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">photo_gd Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for photo_gd:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classphoto__gd.png" usemap="#photo_gd_map" alt=""/>
+ <map id="photo_gd_map" name="photo_gd_map">
+<area href="classphoto__driver.html" alt="photo_driver" shape="rect" coords="0,0,84,24"/>
+</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:a16f3dd7d3559f715aa2fe3f7880836dd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">supportedTypes</a> ()</td></tr>
+<tr class="separator:a16f3dd7d3559f715aa2fe3f7880836dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33092b889875b68bfb1c97ff123012d9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9">load</a> ($data, $type)</td></tr>
+<tr class="separator:a33092b889875b68bfb1c97ff123012d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c75304bd15f3b9986f0b315fb59271e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e">setDimensions</a> ()</td></tr>
+<tr class="separator:a1c75304bd15f3b9986f0b315fb59271e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a724703ecf71b1f1d04a80e86c76db6b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#a724703ecf71b1f1d04a80e86c76db6b1">destroy</a> ()</td></tr>
+<tr class="separator:a724703ecf71b1f1d04a80e86c76db6b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86757ba021fd80d1a5cf8c2f766a8484"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">getImage</a> ()</td></tr>
+<tr class="separator:a86757ba021fd80d1a5cf8c2f766a8484"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f2e5900e6d8b1667892ac631b1d4754"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754">doScaleImage</a> ($dest_width, $dest_height)</td></tr>
+<tr class="separator:a2f2e5900e6d8b1667892ac631b1d4754"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77f87730b11093b76980c541159df37d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#a77f87730b11093b76980c541159df37d">rotate</a> ($degrees)</td></tr>
+<tr class="separator:a77f87730b11093b76980c541159df37d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44cedef376044018702d9355ddc813ce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#a44cedef376044018702d9355ddc813ce">flip</a> ($horiz=true, $vert=false)</td></tr>
+<tr class="separator:a44cedef376044018702d9355ddc813ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2232d775c8bacf66773a03308105f0c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">cropImage</a> ($max, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $y, $w, $h)</td></tr>
+<tr class="separator:ab2232d775c8bacf66773a03308105f0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0795fc029be382557ae3f6e285f40e00"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">imageString</a> ()</td></tr>
+<tr class="separator:a0795fc029be382557ae3f6e285f40e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classphoto__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classphoto__driver')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classphoto__driver.html">photo_driver</a></td></tr>
+<tr class="memitem:a6eee8e36eaf9339f4faf80ddd43162da inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da">supportedTypes</a> ()</td></tr>
+<tr class="separator:a6eee8e36eaf9339f4faf80ddd43162da inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a19e1af2b6af4c63aa6230abe69f83712 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712">load</a> ($data, $type)</td></tr>
+<tr class="separator:a19e1af2b6af4c63aa6230abe69f83712 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1a9edaf846983780dc65ea77d99e813 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813">destroy</a> ()</td></tr>
+<tr class="separator:ae1a9edaf846983780dc65ea77d99e813 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae663867d2c4eaa2fae50d60670920143 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143">setDimensions</a> ()</td></tr>
+<tr class="separator:ae663867d2c4eaa2fae50d60670920143 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab98da263bd7341fc132c4fb6fc76e8d5 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">getImage</a> ()</td></tr>
+<tr class="separator:ab98da263bd7341fc132c4fb6fc76e8d5 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae18716018afcf362c7c24586b53e9e2f inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f">doScaleImage</a> ($new_width, $new_height)</td></tr>
+<tr class="separator:ae18716018afcf362c7c24586b53e9e2f inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f2b6337cf9aa0688d10b422123f0eec inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec">rotate</a> ($degrees)</td></tr>
+<tr class="separator:a2f2b6337cf9aa0688d10b422123f0eec inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b2a99021fc63ed6465d703ddddcb832 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832">flip</a> ($horiz=true, $vert=false)</td></tr>
+<tr class="separator:a2b2a99021fc63ed6465d703ddddcb832 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e6e61f1e356a90bc978f4404a77137e inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">cropImage</a> ($max, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $y, $w, $h)</td></tr>
+<tr class="separator:a2e6e61f1e356a90bc978f4404a77137e inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc9f73ad90923772d52b9fcc4eb117dd inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd">imageString</a> ()</td></tr>
+<tr class="separator:abc9f73ad90923772d52b9fcc4eb117dd inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6e85f8e507cab4e755ed7acdec401ae inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae">__construct</a> ($data, $type='')</td></tr>
+<tr class="separator:ac6e85f8e507cab4e755ed7acdec401ae inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4501abdc9651359f81d036b63625686 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae4501abdc9651359f81d036b63625686">__destruct</a> ()</td></tr>
+<tr class="separator:ae4501abdc9651359f81d036b63625686 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97289aef3be43d9435ca3717ef10b8ab inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab">is_valid</a> ()</td></tr>
+<tr class="separator:a97289aef3be43d9435ca3717ef10b8ab inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc30486acee9e89e32701f44a1738117 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#acc30486acee9e89e32701f44a1738117">getWidth</a> ()</td></tr>
+<tr class="separator:acc30486acee9e89e32701f44a1738117 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af769e9abb144e57002c59aa2aa8f3468 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">getHeight</a> ()</td></tr>
+<tr class="separator:af769e9abb144e57002c59aa2aa8f3468 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22ecb8c696de65a5a10bd185be9d90c3 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3">saveImage</a> ($path)</td></tr>
+<tr class="separator:a22ecb8c696de65a5a10bd185be9d90c3 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6c6c16dbc4f517ce799f9143ed61f0e3 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3">getType</a> ()</td></tr>
+<tr class="separator:a6c6c16dbc4f517ce799f9143ed61f0e3 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2efb5b2a6af3fd67e3f1c2b9852a5ba inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba">getExt</a> ()</td></tr>
+<tr class="separator:aa2efb5b2a6af3fd67e3f1c2b9852a5ba inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0f7ec48a31ae9b557b6e3f8bd5b4af0 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">scaleImage</a> ($max)</td></tr>
+<tr class="separator:af0f7ec48a31ae9b557b6e3f8bd5b4af0 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a63c4ae17e892a115ab9cf6efb960ce inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">scaleImageUp</a> ($min)</td></tr>
+<tr class="separator:a1a63c4ae17e892a115ab9cf6efb960ce inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56634842b071b96502716e9843ea5361 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a56634842b071b96502716e9843ea5361">scaleImageSquare</a> ($dim)</td></tr>
+<tr class="separator:a56634842b071b96502716e9843ea5361 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4de5bac8daea8f291a33c80788019d0d inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">orient</a> ($filename)</td></tr>
+<tr class="separator:a4de5bac8daea8f291a33c80788019d0d inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5864fae7d8389372955a8e78cec527ac inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">save</a> ($arr)</td></tr>
+<tr class="separator:a5864fae7d8389372955a8e78cec527ac inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a642a8d0c4ad5f887c99c6af77cee287b inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">store</a> ($aid, $uid, $xchan, $rid, $filename, $album, $scale, $profile=0, $allow_cid= '', $allow_gid= '', $deny_cid= '', $deny_gid= '')</td></tr>
+<tr class="separator:a642a8d0c4ad5f887c99c6af77cee287b inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classphoto__driver"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classphoto__driver')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classphoto__driver.html">photo_driver</a></td></tr>
+<tr class="memitem:a7c78b5a01afe61ba3895ac07f4869b55 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55">$image</a></td></tr>
+<tr class="separator:a7c78b5a01afe61ba3895ac07f4869b55 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e4215890f4a4894bf3799a7d2e0c0b1 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1">$width</a></td></tr>
+<tr class="separator:a3e4215890f4a4894bf3799a7d2e0c0b1 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea560be5dfba09117d36c12bacbf3b80 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80">$height</a></td></tr>
+<tr class="separator:aea560be5dfba09117d36c12bacbf3b80 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01d28d43b404d6f6de219dc9c5069dc9 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9">$valid</a></td></tr>
+<tr class="separator:a01d28d43b404d6f6de219dc9c5069dc9 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4920ed7cbb1ac735ac84153067537f03 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03">$type</a></td></tr>
+<tr class="separator:a4920ed7cbb1ac735ac84153067537f03 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00cb166c00b7502dbc456c94330e5b03 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03">$types</a></td></tr>
+<tr class="separator:a00cb166c00b7502dbc456c94330e5b03 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ab2232d775c8bacf66773a03308105f0c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_gd::cropImage </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$max</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$w</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$h</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="a724703ecf71b1f1d04a80e86c76db6b1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_gd::destroy </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2f2e5900e6d8b1667892ac631b1d4754"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_gd::doScaleImage </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dest_width</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dest_height</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="a44cedef376044018702d9355ddc813ce"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_gd::flip </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$horiz</em> = <code>true</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$vert</em> = <code>false</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="a86757ba021fd80d1a5cf8c2f766a8484"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_gd::getImage </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0795fc029be382557ae3f6e285f40e00"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_gd::imageString </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a33092b889875b68bfb1c97ff123012d9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_gd::load </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">&#160;</td>
+ <td class="paramname"><em>$type</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="a77f87730b11093b76980c541159df37d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_gd::rotate </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$degrees</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1c75304bd15f3b9986f0b315fb59271e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_gd::setDimensions </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">cropImage()</a>, <a class="el" href="classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754">doScaleImage()</a>, <a class="el" href="classphoto__gd.html#a44cedef376044018702d9355ddc813ce">flip()</a>, <a class="el" href="classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9">load()</a>, and <a class="el" href="classphoto__gd.html#a77f87730b11093b76980c541159df37d">rotate()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a16f3dd7d3559f715aa2fe3f7880836dd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_gd::supportedTypes </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/photo/<a class="el" href="photo__gd_8php.html">photo_gd.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classphoto__gd.js b/doc/html/classphoto__gd.js
new file mode 100644
index 000000000..c9992ce63
--- /dev/null
+++ b/doc/html/classphoto__gd.js
@@ -0,0 +1,13 @@
+var classphoto__gd =
+[
+ [ "cropImage", "classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c", null ],
+ [ "destroy", "classphoto__gd.html#a724703ecf71b1f1d04a80e86c76db6b1", null ],
+ [ "doScaleImage", "classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754", null ],
+ [ "flip", "classphoto__gd.html#a44cedef376044018702d9355ddc813ce", null ],
+ [ "getImage", "classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484", null ],
+ [ "imageString", "classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00", null ],
+ [ "load", "classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9", null ],
+ [ "rotate", "classphoto__gd.html#a77f87730b11093b76980c541159df37d", null ],
+ [ "setDimensions", "classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e", null ],
+ [ "supportedTypes", "classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classphoto__gd.png b/doc/html/classphoto__gd.png
new file mode 100644
index 000000000..405dcaccd
--- /dev/null
+++ b/doc/html/classphoto__gd.png
Binary files differ
diff --git a/doc/html/classphoto__imagick-members.html b/doc/html/classphoto__imagick-members.html
new file mode 100644
index 000000000..082ce2d75
--- /dev/null
+++ b/doc/html/classphoto__imagick-members.html
@@ -0,0 +1,148 @@
+<!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="rhash-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('classphoto__imagick.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">photo_imagick Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classphoto__imagick.html">photo_imagick</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80">$height</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55">$image</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03">$type</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03">$types</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9">$valid</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1">$width</a></td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae">__construct</a>($data, $type='')</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#ae4501abdc9651359f81d036b63625686">__destruct</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">cropImage</a>($max, $x, $y, $w, $h)</td><td class="entry"><a class="el" href="classphoto__imagick.html">photo_imagick</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__imagick.html#afd49d64751ee3a298eac0c0ce0ba0207">destroy</a>()</td><td class="entry"><a class="el" href="classphoto__imagick.html">photo_imagick</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__imagick.html#a3047c68bb4de7f66c2893fe451db2b66">doScaleImage</a>($dest_width, $dest_height)</td><td class="entry"><a class="el" href="classphoto__imagick.html">photo_imagick</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393">flip</a>($horiz=true, $vert=false)</td><td class="entry"><a class="el" href="classphoto__imagick.html">photo_imagick</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4">get_FormatsMap</a>()</td><td class="entry"><a class="el" href="classphoto__imagick.html">photo_imagick</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba">getExt</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">getHeight</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc">getImage</a>()</td><td class="entry"><a class="el" href="classphoto__imagick.html">photo_imagick</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3">getType</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#acc30486acee9e89e32701f44a1738117">getWidth</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019">imageString</a>()</td><td class="entry"><a class="el" href="classphoto__imagick.html">photo_imagick</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab">is_valid</a>()</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">load</a>($data, $type)</td><td class="entry"><a class="el" href="classphoto__imagick.html">photo_imagick</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">orient</a>($filename)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f">rotate</a>($degrees)</td><td class="entry"><a class="el" href="classphoto__imagick.html">photo_imagick</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">save</a>($arr)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3">saveImage</a>($path)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">scaleImage</a>($max)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__driver.html#a56634842b071b96502716e9843ea5361">scaleImageSquare</a>($dim)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">scaleImageUp</a>($min)</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb">setDimensions</a>()</td><td class="entry"><a class="el" href="classphoto__imagick.html">photo_imagick</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">store</a>($aid, $uid, $xchan, $rid, $filename, $album, $scale, $profile=0, $allow_cid= '', $allow_gid= '', $deny_cid= '', $deny_gid= '')</td><td class="entry"><a class="el" href="classphoto__driver.html">photo_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7">supportedTypes</a>()</td><td class="entry"><a class="el" href="classphoto__imagick.html">photo_imagick</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classphoto__imagick.html b/doc/html/classphoto__imagick.html
new file mode 100644
index 000000000..2efee443d
--- /dev/null
+++ b/doc/html/classphoto__imagick.html
@@ -0,0 +1,461 @@
+<!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: photo_imagick 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="rhash-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('classphoto__imagick.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="classphoto__imagick-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">photo_imagick Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for photo_imagick:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classphoto__imagick.png" usemap="#photo_imagick_map" alt=""/>
+ <map id="photo_imagick_map" name="photo_imagick_map">
+<area href="classphoto__driver.html" alt="photo_driver" shape="rect" coords="0,0,92,24"/>
+</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:a27596faca6108d9d563674d1b654a0b7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7">supportedTypes</a> ()</td></tr>
+<tr class="separator:a27596faca6108d9d563674d1b654a0b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef020d929f66f4370e33fc158c8eebd4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4">get_FormatsMap</a> ()</td></tr>
+<tr class="separator:aef020d929f66f4370e33fc158c8eebd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c9168f110ccd6c264095d766615dfa8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">load</a> ($data, $type)</td></tr>
+<tr class="separator:a2c9168f110ccd6c264095d766615dfa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd49d64751ee3a298eac0c0ce0ba0207"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#afd49d64751ee3a298eac0c0ce0ba0207">destroy</a> ()</td></tr>
+<tr class="separator:afd49d64751ee3a298eac0c0ce0ba0207"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af92901d252c1e6ab5b54eebedbed23bb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb">setDimensions</a> ()</td></tr>
+<tr class="separator:af92901d252c1e6ab5b54eebedbed23bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad07288e0eb3922cb08cc9d33a163decc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc">getImage</a> ()</td></tr>
+<tr class="separator:ad07288e0eb3922cb08cc9d33a163decc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3047c68bb4de7f66c2893fe451db2b66"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#a3047c68bb4de7f66c2893fe451db2b66">doScaleImage</a> ($dest_width, $dest_height)</td></tr>
+<tr class="separator:a3047c68bb4de7f66c2893fe451db2b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9df5738a4a18e76dd304c440e96f045f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f">rotate</a> ($degrees)</td></tr>
+<tr class="separator:a9df5738a4a18e76dd304c440e96f045f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff6bcdbab18593a3fc5a480db8509393"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393">flip</a> ($horiz=true, $vert=false)</td></tr>
+<tr class="separator:aff6bcdbab18593a3fc5a480db8509393"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f33a03a89497a2b2768e29736d4a8a4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">cropImage</a> ($max, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $y, $w, $h)</td></tr>
+<tr class="separator:a2f33a03a89497a2b2768e29736d4a8a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70adbef31128c0ac8cbc5dcf34cdb019"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019">imageString</a> ()</td></tr>
+<tr class="separator:a70adbef31128c0ac8cbc5dcf34cdb019"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classphoto__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classphoto__driver')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classphoto__driver.html">photo_driver</a></td></tr>
+<tr class="memitem:a6eee8e36eaf9339f4faf80ddd43162da inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da">supportedTypes</a> ()</td></tr>
+<tr class="separator:a6eee8e36eaf9339f4faf80ddd43162da inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a19e1af2b6af4c63aa6230abe69f83712 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712">load</a> ($data, $type)</td></tr>
+<tr class="separator:a19e1af2b6af4c63aa6230abe69f83712 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1a9edaf846983780dc65ea77d99e813 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813">destroy</a> ()</td></tr>
+<tr class="separator:ae1a9edaf846983780dc65ea77d99e813 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae663867d2c4eaa2fae50d60670920143 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143">setDimensions</a> ()</td></tr>
+<tr class="separator:ae663867d2c4eaa2fae50d60670920143 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab98da263bd7341fc132c4fb6fc76e8d5 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">getImage</a> ()</td></tr>
+<tr class="separator:ab98da263bd7341fc132c4fb6fc76e8d5 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae18716018afcf362c7c24586b53e9e2f inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f">doScaleImage</a> ($new_width, $new_height)</td></tr>
+<tr class="separator:ae18716018afcf362c7c24586b53e9e2f inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f2b6337cf9aa0688d10b422123f0eec inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec">rotate</a> ($degrees)</td></tr>
+<tr class="separator:a2f2b6337cf9aa0688d10b422123f0eec inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b2a99021fc63ed6465d703ddddcb832 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832">flip</a> ($horiz=true, $vert=false)</td></tr>
+<tr class="separator:a2b2a99021fc63ed6465d703ddddcb832 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e6e61f1e356a90bc978f4404a77137e inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">cropImage</a> ($max, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $y, $w, $h)</td></tr>
+<tr class="separator:a2e6e61f1e356a90bc978f4404a77137e inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc9f73ad90923772d52b9fcc4eb117dd inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd">imageString</a> ()</td></tr>
+<tr class="separator:abc9f73ad90923772d52b9fcc4eb117dd inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6e85f8e507cab4e755ed7acdec401ae inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae">__construct</a> ($data, $type='')</td></tr>
+<tr class="separator:ac6e85f8e507cab4e755ed7acdec401ae inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4501abdc9651359f81d036b63625686 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#ae4501abdc9651359f81d036b63625686">__destruct</a> ()</td></tr>
+<tr class="separator:ae4501abdc9651359f81d036b63625686 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97289aef3be43d9435ca3717ef10b8ab inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab">is_valid</a> ()</td></tr>
+<tr class="separator:a97289aef3be43d9435ca3717ef10b8ab inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc30486acee9e89e32701f44a1738117 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#acc30486acee9e89e32701f44a1738117">getWidth</a> ()</td></tr>
+<tr class="separator:acc30486acee9e89e32701f44a1738117 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af769e9abb144e57002c59aa2aa8f3468 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">getHeight</a> ()</td></tr>
+<tr class="separator:af769e9abb144e57002c59aa2aa8f3468 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22ecb8c696de65a5a10bd185be9d90c3 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3">saveImage</a> ($path)</td></tr>
+<tr class="separator:a22ecb8c696de65a5a10bd185be9d90c3 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6c6c16dbc4f517ce799f9143ed61f0e3 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3">getType</a> ()</td></tr>
+<tr class="separator:a6c6c16dbc4f517ce799f9143ed61f0e3 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2efb5b2a6af3fd67e3f1c2b9852a5ba inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba">getExt</a> ()</td></tr>
+<tr class="separator:aa2efb5b2a6af3fd67e3f1c2b9852a5ba inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0f7ec48a31ae9b557b6e3f8bd5b4af0 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">scaleImage</a> ($max)</td></tr>
+<tr class="separator:af0f7ec48a31ae9b557b6e3f8bd5b4af0 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a63c4ae17e892a115ab9cf6efb960ce inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">scaleImageUp</a> ($min)</td></tr>
+<tr class="separator:a1a63c4ae17e892a115ab9cf6efb960ce inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56634842b071b96502716e9843ea5361 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a56634842b071b96502716e9843ea5361">scaleImageSquare</a> ($dim)</td></tr>
+<tr class="separator:a56634842b071b96502716e9843ea5361 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4de5bac8daea8f291a33c80788019d0d inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">orient</a> ($filename)</td></tr>
+<tr class="separator:a4de5bac8daea8f291a33c80788019d0d inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5864fae7d8389372955a8e78cec527ac inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">save</a> ($arr)</td></tr>
+<tr class="separator:a5864fae7d8389372955a8e78cec527ac inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a642a8d0c4ad5f887c99c6af77cee287b inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">store</a> ($aid, $uid, $xchan, $rid, $filename, $album, $scale, $profile=0, $allow_cid= '', $allow_gid= '', $deny_cid= '', $deny_gid= '')</td></tr>
+<tr class="separator:a642a8d0c4ad5f887c99c6af77cee287b inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classphoto__driver"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classphoto__driver')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classphoto__driver.html">photo_driver</a></td></tr>
+<tr class="memitem:a7c78b5a01afe61ba3895ac07f4869b55 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55">$image</a></td></tr>
+<tr class="separator:a7c78b5a01afe61ba3895ac07f4869b55 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e4215890f4a4894bf3799a7d2e0c0b1 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1">$width</a></td></tr>
+<tr class="separator:a3e4215890f4a4894bf3799a7d2e0c0b1 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea560be5dfba09117d36c12bacbf3b80 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80">$height</a></td></tr>
+<tr class="separator:aea560be5dfba09117d36c12bacbf3b80 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01d28d43b404d6f6de219dc9c5069dc9 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9">$valid</a></td></tr>
+<tr class="separator:a01d28d43b404d6f6de219dc9c5069dc9 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4920ed7cbb1ac735ac84153067537f03 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03">$type</a></td></tr>
+<tr class="separator:a4920ed7cbb1ac735ac84153067537f03 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00cb166c00b7502dbc456c94330e5b03 inherit pro_attribs_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03">$types</a></td></tr>
+<tr class="separator:a00cb166c00b7502dbc456c94330e5b03 inherit pro_attribs_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a2f33a03a89497a2b2768e29736d4a8a4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_imagick::cropImage </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$max</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$w</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$h</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>We need to remove the canvas, or the image is not resized to the crop: <a href="http://php.net/manual/en/imagick.cropimage.php#97232">http://php.net/manual/en/imagick.cropimage.php#97232</a></p>
+
+</div>
+</div>
+<a class="anchor" id="afd49d64751ee3a298eac0c0ce0ba0207"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_imagick::destroy </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3047c68bb4de7f66c2893fe451db2b66"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_imagick::doScaleImage </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dest_width</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dest_height</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>If it is not animated, there will be only one iteration here, so don't bother checking</p>
+
+<p>Referenced by <a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">cropImage()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aff6bcdbab18593a3fc5a480db8509393"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_imagick::flip </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$horiz</em> = <code>true</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$vert</em> = <code>false</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="aef020d929f66f4370e33fc158c8eebd4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_imagick::get_FormatsMap </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">load()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad07288e0eb3922cb08cc9d33a163decc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_imagick::getImage </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a70adbef31128c0ac8cbc5dcf34cdb019"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_imagick::imageString </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2c9168f110ccd6c264095d766615dfa8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_imagick::load </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">&#160;</td>
+ <td class="paramname"><em>$type</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Setup the image to the format it will be saved to</p>
+<p>setup the compression here, so we'll do it only once</p>
+<p>From <a href="http://www.imagemagick.org/script/command-line-options.php#quality:">http://www.imagemagick.org/script/command-line-options.php#quality:</a></p>
+<p>'For the MNG and PNG image formats, the quality value sets the zlib compression level (quality / 10) and filter-type (quality % 10). The default PNG "quality" is 75, which means compression level 7 with adaptive PNG filtering, unless the image has a color map, in which case it means compression level 7 with no PNG filtering'</p>
+
+</div>
+</div>
+<a class="anchor" id="a9df5738a4a18e76dd304c440e96f045f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_imagick::rotate </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$degrees</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af92901d252c1e6ab5b54eebedbed23bb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_imagick::setDimensions </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classphoto__imagick.html#a3047c68bb4de7f66c2893fe451db2b66">doScaleImage()</a>, <a class="el" href="classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393">flip()</a>, <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">load()</a>, and <a class="el" href="classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f">rotate()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a27596faca6108d9d563674d1b654a0b7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_imagick::supportedTypes </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/photo/<a class="el" href="photo__imagick_8php.html">photo_imagick.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classphoto__imagick.js b/doc/html/classphoto__imagick.js
new file mode 100644
index 000000000..b43d1e9e5
--- /dev/null
+++ b/doc/html/classphoto__imagick.js
@@ -0,0 +1,14 @@
+var classphoto__imagick =
+[
+ [ "cropImage", "classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4", null ],
+ [ "destroy", "classphoto__imagick.html#afd49d64751ee3a298eac0c0ce0ba0207", null ],
+ [ "doScaleImage", "classphoto__imagick.html#a3047c68bb4de7f66c2893fe451db2b66", null ],
+ [ "flip", "classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393", null ],
+ [ "get_FormatsMap", "classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4", null ],
+ [ "getImage", "classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc", null ],
+ [ "imageString", "classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019", null ],
+ [ "load", "classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8", null ],
+ [ "rotate", "classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f", null ],
+ [ "setDimensions", "classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb", null ],
+ [ "supportedTypes", "classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classphoto__imagick.png b/doc/html/classphoto__imagick.png
new file mode 100644
index 000000000..c39b45b2e
--- /dev/null
+++ b/doc/html/classphoto__imagick.png
Binary files differ
diff --git a/doc/html/cli__startup_8php.html b/doc/html/cli__startup_8php.html
new file mode 100644
index 000000000..226e1972c
--- /dev/null
+++ b/doc/html/cli__startup_8php.html
@@ -0,0 +1,138 @@
+<!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: include/cli_startup.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="rhash-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('cli__startup_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">cli_startup.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:adfdde63686e33ccd4851fa5edc4fc70b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup</a> ()</td></tr>
+<tr class="separator:adfdde63686e33ccd4851fa5edc4fc70b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="adfdde63686e33ccd4851fa5edc4fc70b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">cli_startup </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest_run()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</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="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</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="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, and <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/cli__startup_8php.js b/doc/html/cli__startup_8php.js
new file mode 100644
index 000000000..3f941b222
--- /dev/null
+++ b/doc/html/cli__startup_8php.js
@@ -0,0 +1,4 @@
+var cli__startup_8php =
+[
+ [ "cli_startup", "cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b", null ]
+]; \ No newline at end of file
diff --git a/doc/html/cli__suggest_8php.html b/doc/html/cli__suggest_8php.html
new file mode 100644
index 000000000..b8b1f0e96
--- /dev/null
+++ b/doc/html/cli__suggest_8php.html
@@ -0,0 +1,147 @@
+<!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: include/cli_suggest.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="rhash-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('cli__suggest_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">cli_suggest.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:a8f3a60fc96f4bec7d3837c4efc7725f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
+<tr class="separator:a8f3a60fc96f4bec7d3837c4efc7725f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a8f3a60fc96f4bec7d3837c4efc7725f2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">cli_suggest_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/cli__suggest_8php.js b/doc/html/cli__suggest_8php.js
new file mode 100644
index 000000000..3389a1ddb
--- /dev/null
+++ b/doc/html/cli__suggest_8php.js
@@ -0,0 +1,4 @@
+var cli__suggest_8php =
+[
+ [ "cli_suggest_run", "cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2", null ]
+]; \ No newline at end of file
diff --git a/doc/html/closed.png b/doc/html/closed.png
new file mode 100644
index 000000000..98cc2c909
--- /dev/null
+++ b/doc/html/closed.png
Binary files differ
diff --git a/doc/html/comanche_8php.html b/doc/html/comanche_8php.html
new file mode 100644
index 000000000..58419e3df
--- /dev/null
+++ b/doc/html/comanche_8php.html
@@ -0,0 +1,343 @@
+<!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: include/comanche.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="rhash-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('comanche_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">comanche.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:af7150df735e5ff9d467994cd6f769c6e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector</a> ($uid, $current=&quot;&quot;)</td></tr>
+<tr class="separator:af7150df735e5ff9d467994cd6f769c6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a208fdb40dd83d6298caec4290ee922"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche_parser</a> (&amp;$a, $s)</td></tr>
+<tr class="separator:a1a208fdb40dd83d6298caec4290ee922"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fe339e1454803aa502ac89379c17f5b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche_menu</a> ($name)</td></tr>
+<tr class="separator:a1fe339e1454803aa502ac89379c17f5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028f004d5b8c23d6367816d899e17cfe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche_replace_region</a> ($match)</td></tr>
+<tr class="separator:a028f004d5b8c23d6367816d899e17cfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a7ab801717d38e91ac910b933973887"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block</a> ($name)</td></tr>
+<tr class="separator:a5a7ab801717d38e91ac910b933973887"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9fe1ce574db3dd0931eada80234f82a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a">comanche_webpage</a> (&amp;$a, $s)</td></tr>
+<tr class="separator:ae9fe1ce574db3dd0931eada80234f82a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45900dd1d6101b53e3d063db40eafa5e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="comanche_8php.html#a45900dd1d6101b53e3d063db40eafa5e">comanche_widget</a> ($name, $args=null)</td></tr>
+<tr class="separator:a45900dd1d6101b53e3d063db40eafa5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5718daeda40bf835345fe061e8808cdf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="comanche_8php.html#a5718daeda40bf835345fe061e8808cdf">comanche_region</a> (&amp;$a, $s)</td></tr>
+<tr class="separator:a5718daeda40bf835345fe061e8808cdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd2e508a2a0b911c4a838e3cb7599923"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile</a> ($args)</td></tr>
+<tr class="separator:abd2e508a2a0b911c4a838e3cb7599923"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a5a7ab801717d38e91ac910b933973887"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">comanche_block </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">
+
+<p>Referenced by <a class="el" href="comanche_8php.html#a5718daeda40bf835345fe061e8808cdf">comanche_region()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1fe339e1454803aa502ac89379c17f5b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">comanche_menu </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">
+
+<p>Referenced by <a class="el" href="comanche_8php.html#a5718daeda40bf835345fe061e8808cdf">comanche_region()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1a208fdb40dd83d6298caec4290ee922"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">comanche_parser </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</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="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5718daeda40bf835345fe061e8808cdf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">comanche_region </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</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="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche_parser()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a028f004d5b8c23d6367816d899e17cfe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">comanche_replace_region </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="ae9fe1ce574db3dd0931eada80234f82a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">comanche_webpage </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</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="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche_parser()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a45900dd1d6101b53e3d063db40eafa5e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">comanche_widget </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</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>$args</em> = <code>null</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="comanche_8php.html#a5718daeda40bf835345fe061e8808cdf">comanche_region()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af7150df735e5ff9d467994cd6f769c6e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pdl_selector </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>$current</em> = <code>&quot;&quot;</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="abd2e508a2a0b911c4a838e3cb7599923"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_profile </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>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/comanche_8php.js b/doc/html/comanche_8php.js
new file mode 100644
index 000000000..d4273e596
--- /dev/null
+++ b/doc/html/comanche_8php.js
@@ -0,0 +1,12 @@
+var comanche_8php =
+[
+ [ "comanche_block", "comanche_8php.html#a5a7ab801717d38e91ac910b933973887", null ],
+ [ "comanche_menu", "comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b", null ],
+ [ "comanche_parser", "comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922", null ],
+ [ "comanche_region", "comanche_8php.html#a5718daeda40bf835345fe061e8808cdf", null ],
+ [ "comanche_replace_region", "comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe", null ],
+ [ "comanche_webpage", "comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a", null ],
+ [ "comanche_widget", "comanche_8php.html#a45900dd1d6101b53e3d063db40eafa5e", null ],
+ [ "pdl_selector", "comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e", null ],
+ [ "widget_profile", "comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923", null ]
+]; \ No newline at end of file
diff --git a/doc/html/common_8php.html b/doc/html/common_8php.html
new file mode 100644
index 000000000..378acf654
--- /dev/null
+++ b/doc/html/common_8php.html
@@ -0,0 +1,173 @@
+<!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/common.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="rhash-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('common_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">common.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: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">
+ <table class="memname">
+ <tr>
+ <td class="memname">common_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="aca62f113655809f41f49042ce9b123c2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">common_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/common_8php.js b/doc/html/common_8php.js
new file mode 100644
index 000000000..6f763d046
--- /dev/null
+++ b/doc/html/common_8php.js
@@ -0,0 +1,6 @@
+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/community_8php.html b/doc/html/community_8php.html
new file mode 100644
index 000000000..00cdb818b
--- /dev/null
+++ b/doc/html/community_8php.html
@@ -0,0 +1,167 @@
+<!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/community.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="rhash-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('community_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">community.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:a56c94ec978a38633c5628fa6f8e386d9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="community_8php.html#a56c94ec978a38633c5628fa6f8e386d9">community_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a56c94ec978a38633c5628fa6f8e386d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1197aafd6a6b540dbb4a0c04ade3a25a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community_content</a> (&amp;$a, $update=0)</td></tr>
+<tr class="separator:a1197aafd6a6b540dbb4a0c04ade3a25a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a1197aafd6a6b540dbb4a0c04ade3a25a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">community_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>0</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="update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1">update_community_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a56c94ec978a38633c5628fa6f8e386d9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">community_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/community_8php.js b/doc/html/community_8php.js
new file mode 100644
index 000000000..06ba1c3b4
--- /dev/null
+++ b/doc/html/community_8php.js
@@ -0,0 +1,5 @@
+var community_8php =
+[
+ [ "community_content", "community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a", null ],
+ [ "community_init", "community_8php.html#a56c94ec978a38633c5628fa6f8e386d9", null ]
+]; \ No newline at end of file
diff --git a/doc/html/config_8md.html b/doc/html/config_8md.html
new file mode 100644
index 000000000..91c9e736b
--- /dev/null
+++ b/doc/html/config_8md.html
@@ -0,0 +1,112 @@
+<!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: util/config.md 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="rhash-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('config_8md.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">util/config.md File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/connect_8php.html b/doc/html/connect_8php.html
new file mode 100644
index 000000000..f2c267101
--- /dev/null
+++ b/doc/html/connect_8php.html
@@ -0,0 +1,173 @@
+<!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/connect.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="rhash-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('connect_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">connect.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:ad46a38f32fd7a3d324b1fa26373efa36"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ad46a38f32fd7a3d324b1fa26373efa36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a417ec27afe33f21a929667a665e32ee2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a417ec27afe33f21a929667a665e32ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a489f0a66c660de6ec4d6917b27674f07"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a489f0a66c660de6ec4d6917b27674f07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a489f0a66c660de6ec4d6917b27674f07"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">connect_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="ad46a38f32fd7a3d324b1fa26373efa36"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">connect_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="a417ec27afe33f21a929667a665e32ee2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">connect_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/connect_8php.js b/doc/html/connect_8php.js
new file mode 100644
index 000000000..208ea22b3
--- /dev/null
+++ b/doc/html/connect_8php.js
@@ -0,0 +1,6 @@
+var connect_8php =
+[
+ [ "connect_content", "connect_8php.html#a489f0a66c660de6ec4d6917b27674f07", null ],
+ [ "connect_init", "connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36", null ],
+ [ "connect_post", "connect_8php.html#a417ec27afe33f21a929667a665e32ee2", null ]
+]; \ No newline at end of file
diff --git a/doc/html/connections_8php.html b/doc/html/connections_8php.html
new file mode 100644
index 000000000..e9f73801d
--- /dev/null
+++ b/doc/html/connections_8php.html
@@ -0,0 +1,211 @@
+<!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/connections.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="rhash-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('connections_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">connections.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: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>
+<tr class="separator:a15af118efee9c948b6f8294e54a73bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec2e457420fce3e3bf6a9f48e36df25c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content</a> (&amp;$a)</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">
+ <table class="memname">
+ <tr>
+ <td class="memname">connections_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="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, and <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aec2e457420fce3e3bf6a9f48e36df25c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">connections_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="a1f23623f802af7bd35e95b0e94e5d558"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">connections_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="a1224058db8e3fb56463eb312f98e561d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">connections_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/connections_8php.js b/doc/html/connections_8php.js
new file mode 100644
index 000000000..ecab7efc9
--- /dev/null
+++ b/doc/html/connections_8php.js
@@ -0,0 +1,8 @@
+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 ],
+ [ "connections_post", "connections_8php.html#a1224058db8e3fb56463eb312f98e561d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/contact__selectors_8php.html b/doc/html/contact__selectors_8php.html
new file mode 100644
index 000000000..04f992db5
--- /dev/null
+++ b/doc/html/contact__selectors_8php.html
@@ -0,0 +1,207 @@
+<!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: include/contact_selectors.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="rhash-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('contact__selectors_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">contact_selectors.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:a2c743d2eb526eb758d943a1490162d75"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75">contact_profile_assign</a> ($current)</td></tr>
+<tr class="separator:a2c743d2eb526eb758d943a1490162d75"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae499960d6467bd30c78607b1018baf53"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53">contact_reputation</a> ($current)</td></tr>
+<tr class="separator:ae499960d6467bd30c78607b1018baf53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9839e8fdaac7ffb37bf1420493f5c28f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f">contact_poll_interval</a> ($current, $disabled=false)</td></tr>
+<tr class="separator:a9839e8fdaac7ffb37bf1420493f5c28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad472e4716426dd1a9dd77b62962454be"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name</a> ($s)</td></tr>
+<tr class="separator:ad472e4716426dd1a9dd77b62962454be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a9839e8fdaac7ffb37bf1420493f5c28f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">contact_poll_interval </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$current</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$disabled</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="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2c743d2eb526eb758d943a1490162d75"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">contact_profile_assign </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$current</em></td><td>)</td>
+ <td></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>
+
+</div>
+</div>
+<a class="anchor" id="ae499960d6467bd30c78607b1018baf53"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">contact_reputation </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$current</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad472e4716426dd1a9dd77b62962454be"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">network_to_name </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>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, and <a class="el" href="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/contact__selectors_8php.js b/doc/html/contact__selectors_8php.js
new file mode 100644
index 000000000..dcf8466e2
--- /dev/null
+++ b/doc/html/contact__selectors_8php.js
@@ -0,0 +1,7 @@
+var contact__selectors_8php =
+[
+ [ "contact_poll_interval", "contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f", null ],
+ [ "contact_profile_assign", "contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75", null ],
+ [ "contact_reputation", "contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53", null ],
+ [ "network_to_name", "contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be", null ]
+]; \ No newline at end of file
diff --git a/doc/html/contact__widgets_8php.html b/doc/html/contact__widgets_8php.html
new file mode 100644
index 000000000..d67fdb0df
--- /dev/null
+++ b/doc/html/contact__widgets_8php.html
@@ -0,0 +1,237 @@
+<!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: include/contact_widgets.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="rhash-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('contact__widgets_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">contact_widgets.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: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>
+<tr class="separator:a1eda66319d170f60a8d07c7ece95533b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a165eb021e61c4dcab2a552f28628d353"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget</a> ($baseurl, $selected= '')</td></tr>
+<tr class="separator:a165eb021e61c4dcab2a552f28628d353"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a552f8544528cec0c995cea7287ea9d65"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget</a> ($profile_uid)</td></tr>
+<tr class="separator:a552f8544528cec0c995cea7287ea9d65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a165eb021e61c4dcab2a552f28628d353"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">categories_widget </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$baseurl</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$selected</em> = <code>''</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="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside()</a>, and <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a552f8544528cec0c995cea7287ea9d65"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">common_friends_visitor_widget </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$profile_uid</em></td><td>)</td>
+ <td></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>
+
+</div>
+</div>
+<a class="anchor" id="a1eda66319d170f60a8d07c7ece95533b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fileas_widget </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$baseurl</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$selected</em> = <code>''</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="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a57e73ebcfd62bb5d8c7a7b9e663726d6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">findpeople_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="mod_2directory_8php.html#aa1d928543212871491706216742dd73c">directory_aside()</a>, <a class="el" href="dirfind_8php.html#ac689a812c84f161b3a0d42349f83981c">dirfind_init()</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="dirfind_8php.html#ac689a812c84f161b3a0d42349f83981c">dirfind_init()</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>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/contact__widgets_8php.js b/doc/html/contact__widgets_8php.js
new file mode 100644
index 000000000..1b2a8ecd5
--- /dev/null
+++ b/doc/html/contact__widgets_8php.js
@@ -0,0 +1,8 @@
+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 ]
+]; \ No newline at end of file
diff --git a/doc/html/contactgroup_8php.html b/doc/html/contactgroup_8php.html
new file mode 100644
index 000000000..58dbbe9a3
--- /dev/null
+++ b/doc/html/contactgroup_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/contactgroup.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="rhash-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('contactgroup_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">contactgroup.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:a18c7391b1b25debaf98c9dba639caab3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a18c7391b1b25debaf98c9dba639caab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a18c7391b1b25debaf98c9dba639caab3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">contactgroup_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/contactgroup_8php.js b/doc/html/contactgroup_8php.js
new file mode 100644
index 000000000..bb51dd652
--- /dev/null
+++ b/doc/html/contactgroup_8php.js
@@ -0,0 +1,4 @@
+var contactgroup_8php =
+[
+ [ "contactgroup_content", "contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3", null ]
+]; \ No newline at end of file
diff --git a/doc/html/conversation_8php.html b/doc/html/conversation_8php.html
new file mode 100644
index 000000000..d8ae2be0c
--- /dev/null
+++ b/doc/html/conversation_8php.html
@@ -0,0 +1,718 @@
+<!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: include/conversation.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="rhash-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('conversation_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">conversation.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:a0ee05f15255fb1cc3d89f30bc378a654"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654">item_extract_images</a> ($body)</td></tr>
+<tr class="separator:a0ee05f15255fb1cc3d89f30bc378a654"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adda79b75bf1ccf6ce9503aa310953533"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">item_redir_and_replace_images</a> ($body, $images, $cid)</td></tr>
+<tr class="separator:adda79b75bf1ccf6ce9503aa310953533"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9bd7f9fb6678736c581bcba3b17f471c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item</a> (&amp;$item)</td></tr>
+<tr class="separator:a9bd7f9fb6678736c581bcba3b17f471c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2383dff4f823e580399ff469d90ab19"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#ab2383dff4f823e580399ff469d90ab19">count_descendants</a> ($item)</td></tr>
+<tr class="separator:ab2383dff4f823e580399ff469d90ab19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eeaaf44506815576f3bd80053ef52c3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">visible_activity</a> ($item)</td></tr>
+<tr class="separator:a7eeaaf44506815576f3bd80053ef52c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e97305a441dc143edbe09e17d1ceda1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation</a> (&amp;$a, $items, $mode, $update, $page_mode= 'traditional')</td></tr>
+<tr class="separator:a1e97305a441dc143edbe09e17d1ceda1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad470fc7766f0db66d138fa1916c7a8b7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url</a> ($item)</td></tr>
+<tr class="separator:ad470fc7766f0db66d138fa1916c7a8b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aacbb12d372d5e9c3ab0735b4aea48fb3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu</a> ($item)</td></tr>
+<tr class="separator:aacbb12d372d5e9c3ab0735b4aea48fb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe5b2f38d8b803edb0d7ec5fa2868db0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller</a> ($a, $item, &amp;$arr, $mode)</td></tr>
+<tr class="separator:afe5b2f38d8b803edb0d7ec5fa2868db0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d8e30cc94f9a175054c021305d3aca3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like</a> ($cnt, $arr, $type, $id)</td></tr>
+<tr class="separator:a3d8e30cc94f9a175054c021305d3aca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a7d541854bba755eb8ada59af7dcb1a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a2a7d541854bba755eb8ada59af7dcb1a">status_editor</a> ($a, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $popup=false)</td></tr>
+<tr class="separator:a2a7d541854bba755eb8ada59af7dcb1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f6ef0dfa554bacf620e84c18d386e67"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a7f6ef0dfa554bacf620e84c18d386e67">get_item_children</a> ($arr, $parent)</td></tr>
+<tr class="separator:a7f6ef0dfa554bacf620e84c18d386e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae996eb116d397a2c6396c312d7b98664"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#ae996eb116d397a2c6396c312d7b98664">sort_item_children</a> ($items)</td></tr>
+<tr class="separator:ae996eb116d397a2c6396c312d7b98664"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3e1d4b15e7d6d026ee182edd58f692b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#ad3e1d4b15e7d6d026ee182edd58f692b">add_children_to_list</a> ($children, &amp;$arr)</td></tr>
+<tr class="separator:ad3e1d4b15e7d6d026ee182edd58f692b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abed85a41f1160598de880b84021c9cf7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#abed85a41f1160598de880b84021c9cf7">conv_sort</a> ($arr, $order)</td></tr>
+<tr class="separator:abed85a41f1160598de880b84021c9cf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac55e070f65f46fcc8e269f7896be4c7d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#ac55e070f65f46fcc8e269f7896be4c7d">sort_thr_created</a> ($a, $b)</td></tr>
+<tr class="separator:ac55e070f65f46fcc8e269f7896be4c7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cc2a679606da9e535a06433f9f553a0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a9cc2a679606da9e535a06433f9f553a0">sort_thr_created_rev</a> ($a, $b)</td></tr>
+<tr class="separator:a9cc2a679606da9e535a06433f9f553a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f909b8885259b79c6ac8da93afd8f11"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a9f909b8885259b79c6ac8da93afd8f11">sort_thr_commented</a> ($a, $b)</td></tr>
+<tr class="separator:a9f909b8885259b79c6ac8da93afd8f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae59703b07ce2ddf627b4172ff26058b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#ae59703b07ce2ddf627b4172ff26058b6">find_thread_parent_index</a> ($arr, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="separator:ae59703b07ce2ddf627b4172ff26058b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0891aaa4492cba2b51eda12fe01957f3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a0891aaa4492cba2b51eda12fe01957f3">format_location</a> ($item)</td></tr>
+<tr class="separator:a0891aaa4492cba2b51eda12fe01957f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a40b9b5e7825bc73932a32e667f05e6f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a40b9b5e7825bc73932a32e667f05e6f2">render_location_default</a> ($item)</td></tr>
+<tr class="separator:a40b9b5e7825bc73932a32e667f05e6f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b0888b0f26e1c284a4341fe5fd04f0c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a4b0888b0f26e1c284a4341fe5fd04f0c">prepare_page</a> ($item)</td></tr>
+<tr class="separator:a4b0888b0f26e1c284a4341fe5fd04f0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ad3e1d4b15e7d6d026ee182edd58f692b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">add_children_to_list </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$children</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$arr</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="ad470fc7766f0db66d138fa1916c7a8b7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">best_link_url </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abed85a41f1160598de880b84021c9cf7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">conv_sort </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$order</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="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>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1e97305a441dc143edbe09e17d1ceda1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">conversation </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$items</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$mode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$page_mode</em> = <code>'traditional'</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>"Render" a conversation or list of items for HTML display. There are two major forms of display:</p>
+<ul>
+<li>Sequential or unthreaded ("New Item View" or search results)</li>
+<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>
+
+</div>
+</div>
+<a class="anchor" id="ab2383dff4f823e580399ff469d90ab19"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">count_descendants </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Count the total of comments on this item and its desendants </p>
+
+</div>
+</div>
+<a class="anchor" id="ae59703b07ce2ddf627b4172ff26058b6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">find_thread_parent_index </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</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="a3d8e30cc94f9a175054c021305d3aca3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">format_like </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$cnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$id</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="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0891aaa4492cba2b51eda12fe01957f3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">format_location </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7f6ef0dfa554bacf620e84c18d386e67"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_item_children </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$parent</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="a0ee05f15255fb1cc3d89f30bc378a654"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_extract_images </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$body</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aacbb12d372d5e9c3ab0735b4aea48fb3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_photo_menu </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adda79b75bf1ccf6ce9503aa310953533"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_redir_and_replace_images </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$body</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$images</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$cid</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="afe5b2f38d8b803edb0d7ec5fa2868db0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">like_puller </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$mode</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="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9bd7f9fb6678736c581bcba3b17f471c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">localize_item </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Render actions localized </p>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">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>, and <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4b0888b0f26e1c284a4341fe5fd04f0c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">prepare_page </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a40b9b5e7825bc73932a32e667f05e6f2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">render_location_default </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae996eb116d397a2c6396c312d7b98664"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">sort_item_children </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$items</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9f909b8885259b79c6ac8da93afd8f11"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">sort_thr_commented </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$b</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="ac55e070f65f46fcc8e269f7896be4c7d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">sort_thr_created </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$b</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="a9cc2a679606da9e535a06433f9f553a0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">sort_thr_created_rev </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$b</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="a2a7d541854bba755eb8ada59af7dcb1a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">status_editor </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$popup</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="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_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>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7eeaaf44506815576f3bd80053ef52c3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">visible_activity </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">Item\__construct()</a>, <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, and <a class="el" href="conversation_8php.html#ab2383dff4f823e580399ff469d90ab19">count_descendants()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/conversation_8php.js b/doc/html/conversation_8php.js
new file mode 100644
index 000000000..4417191d0
--- /dev/null
+++ b/doc/html/conversation_8php.js
@@ -0,0 +1,25 @@
+var conversation_8php =
+[
+ [ "add_children_to_list", "conversation_8php.html#ad3e1d4b15e7d6d026ee182edd58f692b", null ],
+ [ "best_link_url", "conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7", null ],
+ [ "conv_sort", "conversation_8php.html#abed85a41f1160598de880b84021c9cf7", null ],
+ [ "conversation", "conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1", null ],
+ [ "count_descendants", "conversation_8php.html#ab2383dff4f823e580399ff469d90ab19", null ],
+ [ "find_thread_parent_index", "conversation_8php.html#ae59703b07ce2ddf627b4172ff26058b6", null ],
+ [ "format_like", "conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3", null ],
+ [ "format_location", "conversation_8php.html#a0891aaa4492cba2b51eda12fe01957f3", null ],
+ [ "get_item_children", "conversation_8php.html#a7f6ef0dfa554bacf620e84c18d386e67", null ],
+ [ "item_extract_images", "conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654", null ],
+ [ "item_photo_menu", "conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3", null ],
+ [ "item_redir_and_replace_images", "conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533", null ],
+ [ "like_puller", "conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0", null ],
+ [ "localize_item", "conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c", null ],
+ [ "prepare_page", "conversation_8php.html#a4b0888b0f26e1c284a4341fe5fd04f0c", null ],
+ [ "render_location_default", "conversation_8php.html#a40b9b5e7825bc73932a32e667f05e6f2", null ],
+ [ "sort_item_children", "conversation_8php.html#ae996eb116d397a2c6396c312d7b98664", null ],
+ [ "sort_thr_commented", "conversation_8php.html#a9f909b8885259b79c6ac8da93afd8f11", null ],
+ [ "sort_thr_created", "conversation_8php.html#ac55e070f65f46fcc8e269f7896be4c7d", null ],
+ [ "sort_thr_created_rev", "conversation_8php.html#a9cc2a679606da9e535a06433f9f553a0", null ],
+ [ "status_editor", "conversation_8php.html#a2a7d541854bba755eb8ada59af7dcb1a", null ],
+ [ "visible_activity", "conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3", null ]
+]; \ No newline at end of file
diff --git a/doc/html/crepair_8php.html b/doc/html/crepair_8php.html
new file mode 100644
index 000000000..a26c3a1e5
--- /dev/null
+++ b/doc/html/crepair_8php.html
@@ -0,0 +1,173 @@
+<!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/crepair.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="rhash-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('crepair_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">crepair.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:ab089978e50df156bbfabf9f8f5ccd198"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198">crepair_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ab089978e50df156bbfabf9f8f5ccd198"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc4493e1ffd1462a605dd9b870034513"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post</a> (&amp;$a)</td></tr>
+<tr class="separator:acc4493e1ffd1462a605dd9b870034513"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29464c01838e209c8059cfcd2d195caa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crepair_8php.html#a29464c01838e209c8059cfcd2d195caa">crepair_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a29464c01838e209c8059cfcd2d195caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a29464c01838e209c8059cfcd2d195caa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">crepair_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="ab089978e50df156bbfabf9f8f5ccd198"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">crepair_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="acc4493e1ffd1462a605dd9b870034513"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">crepair_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/crepair_8php.js b/doc/html/crepair_8php.js
new file mode 100644
index 000000000..4e4181a10
--- /dev/null
+++ b/doc/html/crepair_8php.js
@@ -0,0 +1,6 @@
+var crepair_8php =
+[
+ [ "crepair_content", "crepair_8php.html#a29464c01838e209c8059cfcd2d195caa", null ],
+ [ "crepair_init", "crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198", null ],
+ [ "crepair_post", "crepair_8php.html#acc4493e1ffd1462a605dd9b870034513", null ]
+]; \ No newline at end of file
diff --git a/doc/html/cronhooks_8php.html b/doc/html/cronhooks_8php.html
new file mode 100644
index 000000000..dab018017
--- /dev/null
+++ b/doc/html/cronhooks_8php.html
@@ -0,0 +1,147 @@
+<!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: include/cronhooks.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="rhash-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('cronhooks_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">cronhooks.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:a4c4c1bbec4ecc9a0efa00dd6afd2c0ca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
+<tr class="separator:a4c4c1bbec4ecc9a0efa00dd6afd2c0ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a4c4c1bbec4ecc9a0efa00dd6afd2c0ca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">cronhooks_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/cronhooks_8php.js b/doc/html/cronhooks_8php.js
new file mode 100644
index 000000000..e2b6234e2
--- /dev/null
+++ b/doc/html/cronhooks_8php.js
@@ -0,0 +1,4 @@
+var cronhooks_8php =
+[
+ [ "cronhooks_run", "cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca", null ]
+]; \ No newline at end of file
diff --git a/doc/html/crypto_8php.html b/doc/html/crypto_8php.html
new file mode 100644
index 000000000..25c416ed9
--- /dev/null
+++ b/doc/html/crypto_8php.html
@@ -0,0 +1,399 @@
+<!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: include/crypto.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="rhash-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('crypto_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">crypto.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:a920e5f222d0020f47556033d8b2b6552"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8php.html#a920e5f222d0020f47556033d8b2b6552">rsa_sign</a> ($data, $key, $alg= 'sha256')</td></tr>
+<tr class="separator:a920e5f222d0020f47556033d8b2b6552"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4f21d8f6b8ece0915e7c8bb73379f96"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96">rsa_verify</a> ($data, $sig, $key, $alg= 'sha256')</td></tr>
+<tr class="separator:ab4f21d8f6b8ece0915e7c8bb73379f96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5e51fd44cff93cfaa07a37e24a5edec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec">pkcs5_pad</a> ($text, $blocksize)</td></tr>
+<tr class="separator:ad5e51fd44cff93cfaa07a37e24a5edec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac95ac3b1b23b65b04a86613d4206ae85"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8php.html#ac95ac3b1b23b65b04a86613d4206ae85">pkcs5_unpad</a> ($text)</td></tr>
+<tr class="separator:ac95ac3b1b23b65b04a86613d4206ae85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c61821d205f95f127114159cbffa764"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8php.html#a5c61821d205f95f127114159cbffa764">AES256CBC_encrypt</a> ($data, $key, $iv)</td></tr>
+<tr class="separator:a5c61821d205f95f127114159cbffa764"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac852ee41392d1358c3a54d54935e0bf9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8php.html#ac852ee41392d1358c3a54d54935e0bf9">AES256CBC_decrypt</a> ($data, $key, $iv)</td></tr>
+<tr class="separator:ac852ee41392d1358c3a54d54935e0bf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2148d7aac7b30c720f7ebda7e9790286"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate</a> ($data, $pubkey)</td></tr>
+<tr class="separator:a2148d7aac7b30c720f7ebda7e9790286"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca7c3a574bfb6c6ef1f2403a56823914"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">aes_unencapsulate</a> ($data, $prvkey)</td></tr>
+<tr class="separator:aca7c3a574bfb6c6ef1f2403a56823914"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae0ab70d6a199b29555b1ac3cf250d6a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a">new_keypair</a> ($bits)</td></tr>
+<tr class="separator:aae0ab70d6a199b29555b1ac3cf250d6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ac852ee41392d1358c3a54d54935e0bf9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">AES256CBC_decrypt </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">&#160;</td>
+ <td class="paramname"><em>$key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$iv</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="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">aes_unencapsulate()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5c61821d205f95f127114159cbffa764"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">AES256CBC_encrypt </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">&#160;</td>
+ <td class="paramname"><em>$key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$iv</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="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2148d7aac7b30c720f7ebda7e9790286"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">aes_encapsulate </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">&#160;</td>
+ <td class="paramname"><em>$pubkey</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="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_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="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#ac382fdcdf990dcfa8f6528ab8fd280bd">send_message()</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>
+<a class="anchor" id="aca7c3a574bfb6c6ef1f2403a56823914"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">aes_unencapsulate </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">&#160;</td>
+ <td class="paramname"><em>$prvkey</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="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="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</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="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>, and <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aae0ab70d6a199b29555b1ac3cf250d6a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">new_keypair </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$bits</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, and <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad5e51fd44cff93cfaa07a37e24a5edec"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pkcs5_pad </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$text</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$blocksize</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="crypto_8php.html#a5c61821d205f95f127114159cbffa764">AES256CBC_encrypt()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac95ac3b1b23b65b04a86613d4206ae85"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pkcs5_unpad </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$text</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="crypto_8php.html#ac852ee41392d1358c3a54d54935e0bf9">AES256CBC_decrypt()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a920e5f222d0020f47556033d8b2b6552"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">rsa_sign </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">&#160;</td>
+ <td class="paramname"><em>$key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$alg</em> = <code>'sha256'</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="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="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>
+
+</div>
+</div>
+<a class="anchor" id="ab4f21d8f6b8ece0915e7c8bb73379f96"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">rsa_verify </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">&#160;</td>
+ <td class="paramname"><em>$sig</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$alg</em> = <code>'sha256'</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="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">import_xchan()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/crypto_8php.js b/doc/html/crypto_8php.js
new file mode 100644
index 000000000..bcbc2cc4d
--- /dev/null
+++ b/doc/html/crypto_8php.js
@@ -0,0 +1,12 @@
+var crypto_8php =
+[
+ [ "AES256CBC_decrypt", "crypto_8php.html#ac852ee41392d1358c3a54d54935e0bf9", null ],
+ [ "AES256CBC_encrypt", "crypto_8php.html#a5c61821d205f95f127114159cbffa764", null ],
+ [ "aes_encapsulate", "crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286", null ],
+ [ "aes_unencapsulate", "crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914", null ],
+ [ "new_keypair", "crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a", null ],
+ [ "pkcs5_pad", "crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec", null ],
+ [ "pkcs5_unpad", "crypto_8php.html#ac95ac3b1b23b65b04a86613d4206ae85", null ],
+ [ "rsa_sign", "crypto_8php.html#a920e5f222d0020f47556033d8b2b6552", null ],
+ [ "rsa_verify", "crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96", null ]
+]; \ No newline at end of file
diff --git a/doc/html/datetime_8php.html b/doc/html/datetime_8php.html
new file mode 100644
index 000000000..b3fc3d84f
--- /dev/null
+++ b/doc/html/datetime_8php.html
@@ -0,0 +1,561 @@
+<!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: include/datetime.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="rhash-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('datetime_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">datetime.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:aa51b5a7ea4f931b23acbdfcea46e9865"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">timezone_cmp</a> ($a, $b)</td></tr>
+<tr class="separator:aa51b5a7ea4f931b23acbdfcea46e9865"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a633dadba426fa2f60b25fabdb19ebc1f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f">select_timezone</a> ($current= 'America/Los_Angeles')</td></tr>
+<tr class="separator:a633dadba426fa2f60b25fabdb19ebc1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03900dcf0f9e3c58793a031673a70326"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">field_timezone</a> ($name='timezone', $label='', $current= 'America/Los_Angeles', $help)</td></tr>
+<tr class="separator:a03900dcf0f9e3c58793a031673a70326"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6301e74b0f9267d52f8d432b5beb226"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime_convert</a> ($from= 'UTC', $to= 'UTC', $s= 'now', $fmt=&quot;Y-m-d H:i:s&quot;)</td></tr>
+<tr class="separator:ad6301e74b0f9267d52f8d432b5beb226"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f2897db32e745fe2f3e70a6b46578f8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob</a> ($dob)</td></tr>
+<tr class="separator:a3f2897db32e745fe2f3e70a6b46578f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f29553799005b1fd4e9ce9d98ce05aa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#a5f29553799005b1fd4e9ce9d98ce05aa">datesel_format</a> ($f)</td></tr>
+<tr class="separator:a5f29553799005b1fd4e9ce9d98ce05aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac265b86f384ee094ed5479aae02aa5c8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#ac265b86f384ee094ed5479aae02aa5c8">datesel</a> ($f, $pre, $ymin, $ymax, $allow_blank, $y, $m, $d)</td></tr>
+<tr class="separator:ac265b86f384ee094ed5479aae02aa5c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36d3d6dff8d76b5f295bb3d9c535a5b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#a36d3d6dff8d76b5f295bb3d9c535a5b1">timesel</a> ($pre, $h, $m)</td></tr>
+<tr class="separator:a36d3d6dff8d76b5f295bb3d9c535a5b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ae8dc95ace7ac27fa5a1ecf42b78c82"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date</a> ($posted_date, $format=null)</td></tr>
+<tr class="separator:a8ae8dc95ace7ac27fa5a1ecf42b78c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc1652f96799cec6fce8797ba2ebc2df"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df">age</a> ($<a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob</a>, $owner_tz= '', $viewer_tz= '')</td></tr>
+<tr class="separator:abc1652f96799cec6fce8797ba2ebc2df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7df24d72ea05922d3127363e2295174c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#a7df24d72ea05922d3127363e2295174c">get_dim</a> ($y, $m)</td></tr>
+<tr class="separator:a7df24d72ea05922d3127363e2295174c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba971b67f17fecf050813f1eba72367f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#aba971b67f17fecf050813f1eba72367f">get_first_dim</a> ($y, $m)</td></tr>
+<tr class="separator:aba971b67f17fecf050813f1eba72367f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea356409ba69f9de412298c998595dd2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal</a> ($y=0, $m=0, $links=false, $class='')</td></tr>
+<tr class="separator:aea356409ba69f9de412298c998595dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="abc1652f96799cec6fce8797ba2ebc2df"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">age </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dob</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$owner_tz</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$viewer_tz</em> = <code>''</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="profile__advanced_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>
+
+</div>
+</div>
+<a class="anchor" id="aea356409ba69f9de412298c998595dd2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">cal </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$y</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$m</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$links</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$class</em> = <code>''</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="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac265b86f384ee094ed5479aae02aa5c8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">datesel </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$f</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pre</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$ymin</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$ymax</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$allow_blank</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$m</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$d</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="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob()</a>, and <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5f29553799005b1fd4e9ce9d98ce05aa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">datesel_format </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$f</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, and <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad6301e74b0f9267d52f8d432b5beb226"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">datetime_convert </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$from</em> = <code>'UTC'</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$to</em> = <code>'UTC'</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</em> = <code>'now'</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$fmt</em> = <code>&quot;Y-m-d&#160;H:i:s&quot;</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="include_2network_8php.html#a0bdc4b0bfc54797c249dc4eca25aeda4">add_fcontact()</a>, <a class="el" href="profile__advanced_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#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="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">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="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="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="boot_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#a3c9e0b243ba29a7b0c050bd0b86eee32">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#ab0227978011d8601494a7651fa26acf0">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="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="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">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="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#ac382fdcdf990dcfa8f6528ab8fd280bd">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="zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="boot_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>
+<a class="anchor" id="a3f2897db32e745fe2f3e70a6b46578f8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dob </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dob</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a03900dcf0f9e3c58793a031673a70326"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">field_timezone </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$name</em> = <code>'timezone'</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$label</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$current</em> = <code>'America/Los_Angeles'</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$help</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="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7df24d72ea05922d3127363e2295174c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_dim </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$m</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="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, and <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aba971b67f17fecf050813f1eba72367f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_first_dim </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$m</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="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8ae8dc95ace7ac27fa5a1ecf42b78c82"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">relative_date </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$posted_date</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$format</em> = <code>null</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="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="bbcode_8php.html#a52c45273fbb7ce5ec27094f7936856e1">bb_ShareAttributes()</a>, <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">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>
+<a class="anchor" id="a633dadba426fa2f60b25fabdb19ebc1f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">select_timezone </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$current</em> = <code>'America/Los_Angeles'</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">field_timezone()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a36d3d6dff8d76b5f295bb3d9c535a5b1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">timesel </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pre</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$m</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="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa51b5a7ea4f931b23acbdfcea46e9865"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">timezone_cmp </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$b</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/datetime_8php.js b/doc/html/datetime_8php.js
new file mode 100644
index 000000000..4a9260091
--- /dev/null
+++ b/doc/html/datetime_8php.js
@@ -0,0 +1,16 @@
+var datetime_8php =
+[
+ [ "age", "datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df", null ],
+ [ "cal", "datetime_8php.html#aea356409ba69f9de412298c998595dd2", null ],
+ [ "datesel", "datetime_8php.html#ac265b86f384ee094ed5479aae02aa5c8", null ],
+ [ "datesel_format", "datetime_8php.html#a5f29553799005b1fd4e9ce9d98ce05aa", null ],
+ [ "datetime_convert", "datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226", null ],
+ [ "dob", "datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8", null ],
+ [ "field_timezone", "datetime_8php.html#a03900dcf0f9e3c58793a031673a70326", null ],
+ [ "get_dim", "datetime_8php.html#a7df24d72ea05922d3127363e2295174c", null ],
+ [ "get_first_dim", "datetime_8php.html#aba971b67f17fecf050813f1eba72367f", null ],
+ [ "relative_date", "datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82", null ],
+ [ "select_timezone", "datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f", null ],
+ [ "timesel", "datetime_8php.html#a36d3d6dff8d76b5f295bb3d9c535a5b1", null ],
+ [ "timezone_cmp", "datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865", null ]
+]; \ No newline at end of file
diff --git a/doc/html/db__update_8php.html b/doc/html/db__update_8php.html
new file mode 100644
index 000000000..63485d5af
--- /dev/null
+++ b/doc/html/db__update_8php.html
@@ -0,0 +1,120 @@
+<!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: util/db_update.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="rhash-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('db__update_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="#namespaces">Namespaces</a> </div>
+ <div class="headertitle">
+<div class="title">db_update.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespaceutil"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html">util</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/db__update_8php.js b/doc/html/db__update_8php.js
new file mode 100644
index 000000000..a94d2d63d
--- /dev/null
+++ b/doc/html/db__update_8php.js
@@ -0,0 +1,7 @@
+var db__update_8php =
+[
+ [ "$a", "db__update_8php.html#acebf83966ef6d7e5645a6b62ba368f9f", null ],
+ [ "$build", "db__update_8php.html#a502b15db084ae270b52e03c8075916de", null ],
+ [ "$db", "db__update_8php.html#a1fa3127fc82f96b1436d871ef02be319", null ],
+ [ "$lang", "db__update_8php.html#a7714b111b644017933931ec69a154102", null ]
+]; \ No newline at end of file
diff --git a/doc/html/dba_8php.html b/doc/html/dba_8php.html
new file mode 100644
index 000000000..027f9d105
--- /dev/null
+++ b/doc/html/dba_8php.html
@@ -0,0 +1,112 @@
+<!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 Project: include/dba.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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('dba_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="headertitle">
+<div class="title">dba.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dba_8php.js b/doc/html/dba_8php.js
new file mode 100644
index 000000000..92ae4c2e4
--- /dev/null
+++ b/doc/html/dba_8php.js
@@ -0,0 +1,11 @@
+var dba_8php =
+[
+ [ "dba", "classdba.html", "classdba" ],
+ [ "dbesc", "dba_8php.html#ab222aa1dbf9ea93b320f82028739127e", null ],
+ [ "dbesc_array", "dba_8php.html#a65b83462bd26968106aebd43f16540e4", null ],
+ [ "dbesc_array_cb", "dba_8php.html#af531546fac5f0836a8557a4f6dfee930", null ],
+ [ "dbg", "dba_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb", null ],
+ [ "dbq", "dba_8php.html#aa377074e70981e8c4e82ca0accd068ee", null ],
+ [ "printable", "dba_8php.html#a55bf30d8176967e682656b5be4ad9249", null ],
+ [ "q", "dba_8php.html#a2c09a731d3b4fef41fed0e83db01be1f", null ]
+]; \ No newline at end of file
diff --git a/doc/html/dba__driver_8php.html b/doc/html/dba__driver_8php.html
new file mode 100644
index 000000000..0cf704be4
--- /dev/null
+++ b/doc/html/dba__driver_8php.html
@@ -0,0 +1,329 @@
+<!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: include/dba/dba_driver.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="rhash-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('dba__driver_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="#nested-classes">Classes</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">dba_driver.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="classdba__driver.html">dba_driver</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:ac10e60f6e5b95bcf67bd82cb88f37947"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947">dba_factory</a> ($server, $port, $user, $pass, $db, $install=false)</td></tr>
+<tr class="separator:ac10e60f6e5b95bcf67bd82cb88f37947"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55bf30d8176967e682656b5be4ad9249"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">printable</a> ($s)</td></tr>
+<tr class="separator:a55bf30d8176967e682656b5be4ad9249"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6607893d8f60ade9122bcfbd1a53ffb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb">dbg</a> ($state)</td></tr>
+<tr class="separator:aa6607893d8f60ade9122bcfbd1a53ffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab222aa1dbf9ea93b320f82028739127e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e">dbesc</a> ($str)</td></tr>
+<tr class="separator:ab222aa1dbf9ea93b320f82028739127e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c09a731d3b4fef41fed0e83db01be1f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f">q</a> ($sql)</td></tr>
+<tr class="separator:a2c09a731d3b4fef41fed0e83db01be1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa377074e70981e8c4e82ca0accd068ee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee">dbq</a> ($sql)</td></tr>
+<tr class="separator:aa377074e70981e8c4e82ca0accd068ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af531546fac5f0836a8557a4f6dfee930"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930">dbesc_array_cb</a> (&amp;$item, $key)</td></tr>
+<tr class="separator:af531546fac5f0836a8557a4f6dfee930"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65b83462bd26968106aebd43f16540e4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4">dbesc_array</a> (&amp;$arr)</td></tr>
+<tr class="separator:a65b83462bd26968106aebd43f16540e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ac10e60f6e5b95bcf67bd82cb88f37947"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_factory </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$server</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$db</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$install</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="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, and <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab222aa1dbf9ea93b320f82028739127e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dbesc </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></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="include_2network_8php.html#a0bdc4b0bfc54797c249dc4eca25aeda4">add_fcontact()</a>, <a class="el" href="profile__advanced_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#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#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#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="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="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="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="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</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="include_2network_8php.html#a2729d012410e470c527a62a3f777ded8">fix_contact_ssl_policy()</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="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">get_config_from_storage()</a>, <a class="el" href="boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</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="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">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#ab0227978011d8601494a7651fa26acf0">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="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="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="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="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="boot_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#ac382fdcdf990dcfa8f6528ab8fd280bd">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="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_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="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="zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63">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="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="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a77720d6b59894e9b609af89c310c8a4d">zot_finger()</a>, <a class="el" href="zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e">zot_get_hubloc()</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>
+<a class="anchor" id="a65b83462bd26968106aebd43f16540e4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dbesc_array </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#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="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_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#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, and <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af531546fac5f0836a8557a4f6dfee930"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dbesc_array_cb </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</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="aa6607893d8f60ade9122bcfbd1a53ffb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dbg </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$state</em></td><td>)</td>
+ <td></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="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, and <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa377074e70981e8c4e82ca0accd068ee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dbq </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sql</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Raw db query, no arguments </p>
+
+<p>Referenced by <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_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#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, and <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a55bf30d8176967e682656b5be4ad9249"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">printable </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>Referenced by <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, and <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2c09a731d3b4fef41fed0e83db01be1f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">q </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sql</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</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#a3eef54a5523e568a28257c1f9b1644d8">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="include_2network_8php.html#a0bdc4b0bfc54797c249dc4eca25aeda4">add_fcontact()</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#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="profile__advanced_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#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#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#ad46ff6764f12b6d3ab45c49b797f98aa">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="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#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="Contact_8php.html#a228fc01f90ae9bfdde4c2ad0772bd7dc">contacts_not_grouped()</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="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="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</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="include_2network_8php.html#a2729d012410e470c527a62a3f777ded8">fix_contact_ssl_policy()</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="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">get_config_from_storage()</a>, <a class="el" href="boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</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="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">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#ab0227978011d8601494a7651fa26acf0">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#ab4d9e5b59f48787cb01baae5dc6c381f">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="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="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="boot_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#a91281b5d4bbbb2ed468e27ec82ca083c">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#ac382fdcdf990dcfa8f6528ab8fd280bd">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="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="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="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#a061b3db9426d4b074395f5824062cad4">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="zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63">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="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="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a77720d6b59894e9b609af89c310c8a4d">zot_finger()</a>, <a class="el" href="zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e">zot_get_hubloc()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">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>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dba__driver_8php.js b/doc/html/dba__driver_8php.js
new file mode 100644
index 000000000..425133552
--- /dev/null
+++ b/doc/html/dba__driver_8php.js
@@ -0,0 +1,12 @@
+var dba__driver_8php =
+[
+ [ "dba_driver", "classdba__driver.html", "classdba__driver" ],
+ [ "dba_factory", "dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947", null ],
+ [ "dbesc", "dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e", null ],
+ [ "dbesc_array", "dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4", null ],
+ [ "dbesc_array_cb", "dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930", null ],
+ [ "dbg", "dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb", null ],
+ [ "dbq", "dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee", null ],
+ [ "printable", "dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249", null ],
+ [ "q", "dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f", null ]
+]; \ No newline at end of file
diff --git a/doc/html/dba__mysql_8php.html b/doc/html/dba__mysql_8php.html
new file mode 100644
index 000000000..561d83101
--- /dev/null
+++ b/doc/html/dba__mysql_8php.html
@@ -0,0 +1,120 @@
+<!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: include/dba/dba_mysql.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="rhash-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('dba__mysql_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="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">dba_mysql.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="classdba__mysql.html">dba_mysql</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dba__mysqli_8php.html b/doc/html/dba__mysqli_8php.html
new file mode 100644
index 000000000..5af3efc87
--- /dev/null
+++ b/doc/html/dba__mysqli_8php.html
@@ -0,0 +1,120 @@
+<!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: include/dba/dba_mysqli.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="rhash-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('dba__mysqli_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="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">dba_mysqli.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="classdba__mysqli.html">dba_mysqli</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/default_8php.html b/doc/html/default_8php.html
new file mode 100644
index 000000000..a8abec733
--- /dev/null
+++ b/doc/html/default_8php.html
@@ -0,0 +1,133 @@
+<!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 Project: view/php/default.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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('default_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">default.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<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="default_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="separator:a23bc1996b18e69c1a3ab44536613a762"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a23bc1996b18e69c1a3ab44536613a762"></a>
+<div class="memitem">
+<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>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/default_8php.js b/doc/html/default_8php.js
new file mode 100644
index 000000000..164421dc5
--- /dev/null
+++ b/doc/html/default_8php.js
@@ -0,0 +1,4 @@
+var default_8php =
+[
+ [ "if", "default_8php.html#a23bc1996b18e69c1a3ab44536613a762", null ]
+]; \ No newline at end of file
diff --git a/doc/html/delegate_8php.html b/doc/html/delegate_8php.html
new file mode 100644
index 000000000..41ee03f50
--- /dev/null
+++ b/doc/html/delegate_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/delegate.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="rhash-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('delegate_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">delegate.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:a943eea8996ef348eb845c498f9f354dd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a943eea8996ef348eb845c498f9f354dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a943eea8996ef348eb845c498f9f354dd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">delegate_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/delegate_8php.js b/doc/html/delegate_8php.js
new file mode 100644
index 000000000..0c96c49de
--- /dev/null
+++ b/doc/html/delegate_8php.js
@@ -0,0 +1,4 @@
+var delegate_8php =
+[
+ [ "delegate_content", "delegate_8php.html#a943eea8996ef348eb845c498f9f354dd", null ]
+]; \ No newline at end of file
diff --git a/doc/html/deliver_8php.html b/doc/html/deliver_8php.html
new file mode 100644
index 000000000..ac9e5af77
--- /dev/null
+++ b/doc/html/deliver_8php.html
@@ -0,0 +1,147 @@
+<!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: include/deliver.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="rhash-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('deliver_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">deliver.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:a397afcb9afecf0c1816b0951189dd346"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
+<tr class="separator:a397afcb9afecf0c1816b0951189dd346"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a397afcb9afecf0c1816b0951189dd346"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">deliver_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/deliver_8php.js b/doc/html/deliver_8php.js
new file mode 100644
index 000000000..7e8a08223
--- /dev/null
+++ b/doc/html/deliver_8php.js
@@ -0,0 +1,4 @@
+var deliver_8php =
+[
+ [ "deliver_run", "deliver_8php.html#a397afcb9afecf0c1816b0951189dd346", null ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_032dd9e2cfe278a2cfa5eb9547448eb9.html b/doc/html/dir_032dd9e2cfe278a2cfa5eb9547448eb9.html
new file mode 100644
index 000000000..6d112b738
--- /dev/null
+++ b/doc/html/dir_032dd9e2cfe278a2cfa5eb9547448eb9.html
@@ -0,0 +1,116 @@
+<!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: view/theme/redbasic/php Directory 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="rhash-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><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><!-- 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('dir_032dd9e2cfe278a2cfa5eb9547448eb9.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">php Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:view_2theme_2redbasic_2php_2config_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="view_2theme_2redbasic_2php_2config_8php.html">config.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:redbasic_2php_2style_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html">style.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:redbasic_2php_2theme_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2theme_8php.html">theme.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_032dd9e2cfe278a2cfa5eb9547448eb9.js b/doc/html/dir_032dd9e2cfe278a2cfa5eb9547448eb9.js
new file mode 100644
index 000000000..a9e861a3f
--- /dev/null
+++ b/doc/html/dir_032dd9e2cfe278a2cfa5eb9547448eb9.js
@@ -0,0 +1,6 @@
+var dir_032dd9e2cfe278a2cfa5eb9547448eb9 =
+[
+ [ "config.php", "view_2theme_2redbasic_2php_2config_8php.html", "view_2theme_2redbasic_2php_2config_8php" ],
+ [ "style.php", "redbasic_2php_2style_8php.html", "redbasic_2php_2style_8php" ],
+ [ "theme.php", "redbasic_2php_2theme_8php.html", "redbasic_2php_2theme_8php" ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_0eaa4a0adae8ba4811e133c6e594aeee.html b/doc/html/dir_0eaa4a0adae8ba4811e133c6e594aeee.html
new file mode 100644
index 000000000..f53ed2c0f
--- /dev/null
+++ b/doc/html/dir_0eaa4a0adae8ba4811e133c6e594aeee.html
@@ -0,0 +1,112 @@
+<!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: util/fpostit Directory 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="rhash-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><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><!-- 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('dir_0eaa4a0adae8ba4811e133c6e594aeee.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">fpostit Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:fpostit_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpostit_8php.html">fpostit.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_0eaa4a0adae8ba4811e133c6e594aeee.js b/doc/html/dir_0eaa4a0adae8ba4811e133c6e594aeee.js
new file mode 100644
index 000000000..b73b33dda
--- /dev/null
+++ b/doc/html/dir_0eaa4a0adae8ba4811e133c6e594aeee.js
@@ -0,0 +1,4 @@
+var dir_0eaa4a0adae8ba4811e133c6e594aeee =
+[
+ [ "fpostit.php", "fpostit_8php.html", "fpostit_8php" ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.html b/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.html
new file mode 100644
index 000000000..74f6d82bd
--- /dev/null
+++ b/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.html
@@ -0,0 +1,116 @@
+<!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: include/dba Directory 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="rhash-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><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><!-- 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('dir_21bc5169ff11430004758be31dcfc6c4.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">dba Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:dba__driver_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html">dba_driver.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dba__mysql_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__mysql_8php.html">dba_mysql.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dba__mysqli_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__mysqli_8php.html">dba_mysqli.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.js b/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.js
new file mode 100644
index 000000000..7b0143847
--- /dev/null
+++ b/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.js
@@ -0,0 +1,10 @@
+var dir_21bc5169ff11430004758be31dcfc6c4 =
+[
+ [ "dba_driver.php", "dba__driver_8php.html", "dba__driver_8php" ],
+ [ "dba_mysql.php", "dba__mysql_8php.html", [
+ [ "dba_mysql", "classdba__mysql.html", "classdba__mysql" ]
+ ] ],
+ [ "dba_mysqli.php", "dba__mysqli_8php.html", [
+ [ "dba_mysqli", "classdba__mysqli.html", "classdba__mysqli" ]
+ ] ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.html b/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.html
new file mode 100644
index 000000000..4c21b0927
--- /dev/null
+++ b/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.html
@@ -0,0 +1,135 @@
+<!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: util Directory 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="rhash-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><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><!-- 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('dir_23ec12649285f9fabf3a6b7380226c28.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">util Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_0eaa4a0adae8ba4811e133c6e594aeee"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_0eaa4a0adae8ba4811e133c6e594aeee.html">fpostit</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="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:db__update_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="db__update_8php.html">db_update.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:docblox__errorchecker_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html">docblox_errorchecker.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:extract_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="extract_8php.html">extract.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:friendica-to-smarty-tpl_8py"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="friendica-to-smarty-tpl_8py.html">friendica-to-smarty-tpl.py</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:php2po_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php2po_8php.html">php2po.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:po2php_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="po2php_8php.html">po2php.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:tpldebug_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tpldebug_8php.html">tpldebug.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:typo_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="typo_8php.html">typo.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:typohelper_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="typohelper_8php.html">typohelper.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:updatetpl_8py"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="updatetpl_8py.html">updatetpl.py</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.js b/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.js
new file mode 100644
index 000000000..1ea37ec69
--- /dev/null
+++ b/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.js
@@ -0,0 +1,14 @@
+var dir_23ec12649285f9fabf3a6b7380226c28 =
+[
+ [ "fpostit", "dir_0eaa4a0adae8ba4811e133c6e594aeee.html", "dir_0eaa4a0adae8ba4811e133c6e594aeee" ],
+ [ "db_update.php", "db__update_8php.html", null ],
+ [ "docblox_errorchecker.php", "docblox__errorchecker_8php.html", "docblox__errorchecker_8php" ],
+ [ "extract.php", "extract_8php.html", "extract_8php" ],
+ [ "friendica-to-smarty-tpl.py", "friendica-to-smarty-tpl_8py.html", "friendica-to-smarty-tpl_8py" ],
+ [ "php2po.php", "php2po_8php.html", "php2po_8php" ],
+ [ "po2php.php", "po2php_8php.html", "po2php_8php" ],
+ [ "tpldebug.php", "tpldebug_8php.html", "tpldebug_8php" ],
+ [ "typo.php", "typo_8php.html", "typo_8php" ],
+ [ "typohelper.php", "typohelper_8php.html", "typohelper_8php" ],
+ [ "updatetpl.py", "updatetpl_8py.html", "updatetpl_8py" ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_55dbaf9b7b53c4fc605c9011743a7353.html b/doc/html/dir_55dbaf9b7b53c4fc605c9011743a7353.html
new file mode 100644
index 000000000..08f198664
--- /dev/null
+++ b/doc/html/dir_55dbaf9b7b53c4fc605c9011743a7353.html
@@ -0,0 +1,112 @@
+<!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: view/theme/redbasic Directory 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="rhash-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><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><!-- 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('dir_55dbaf9b7b53c4fc605c9011743a7353.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">redbasic Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_032dd9e2cfe278a2cfa5eb9547448eb9"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_032dd9e2cfe278a2cfa5eb9547448eb9.html">php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_55dbaf9b7b53c4fc605c9011743a7353.js b/doc/html/dir_55dbaf9b7b53c4fc605c9011743a7353.js
new file mode 100644
index 000000000..53796edd8
--- /dev/null
+++ b/doc/html/dir_55dbaf9b7b53c4fc605c9011743a7353.js
@@ -0,0 +1,4 @@
+var dir_55dbaf9b7b53c4fc605c9011743a7353 =
+[
+ [ "php", "dir_032dd9e2cfe278a2cfa5eb9547448eb9.html", "dir_032dd9e2cfe278a2cfa5eb9547448eb9" ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_6b44a0e797e2f12381093380e3e54763.html b/doc/html/dir_6b44a0e797e2f12381093380e3e54763.html
new file mode 100644
index 000000000..2492bfb49
--- /dev/null
+++ b/doc/html/dir_6b44a0e797e2f12381093380e3e54763.html
@@ -0,0 +1,120 @@
+<!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: view/theme/redstrap/php Directory 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="rhash-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><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><!-- 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('dir_6b44a0e797e2f12381093380e3e54763.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">php Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:view_2theme_2redstrap_2php_2config_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="view_2theme_2redstrap_2php_2config_8php.html">config.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:theme_2redstrap_2php_2default_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="theme_2redstrap_2php_2default_8php.html">default.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:redstrap_2php_2style_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html">style.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:redstrap_2php_2theme_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2theme_8php.html">theme.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:theme_2redstrap_2php_2theme__init_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="theme_2redstrap_2php_2theme__init_8php.html">theme_init.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_6b44a0e797e2f12381093380e3e54763.js b/doc/html/dir_6b44a0e797e2f12381093380e3e54763.js
new file mode 100644
index 000000000..04783bb16
--- /dev/null
+++ b/doc/html/dir_6b44a0e797e2f12381093380e3e54763.js
@@ -0,0 +1,8 @@
+var dir_6b44a0e797e2f12381093380e3e54763 =
+[
+ [ "config.php", "view_2theme_2redstrap_2php_2config_8php.html", "view_2theme_2redstrap_2php_2config_8php" ],
+ [ "default.php", "theme_2redstrap_2php_2default_8php.html", "theme_2redstrap_2php_2default_8php" ],
+ [ "style.php", "redstrap_2php_2style_8php.html", "redstrap_2php_2style_8php" ],
+ [ "theme.php", "redstrap_2php_2theme_8php.html", "redstrap_2php_2theme_8php" ],
+ [ "theme_init.php", "theme_2redstrap_2php_2theme__init_8php.html", null ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_817f6d302394b98e59575acdb59998bc.html b/doc/html/dir_817f6d302394b98e59575acdb59998bc.html
new file mode 100644
index 000000000..1f7a769f2
--- /dev/null
+++ b/doc/html/dir_817f6d302394b98e59575acdb59998bc.html
@@ -0,0 +1,124 @@
+<!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: view/php Directory 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="rhash-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><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><!-- 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('dir_817f6d302394b98e59575acdb59998bc.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">php Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:php_2default_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php_2default_8php.html">default.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:full_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="full_8php.html">full.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:minimal_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="minimal_8php.html">minimal.php</a></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: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>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_817f6d302394b98e59575acdb59998bc.js b/doc/html/dir_817f6d302394b98e59575acdb59998bc.js
new file mode 100644
index 000000000..4ea58412d
--- /dev/null
+++ b/doc/html/dir_817f6d302394b98e59575acdb59998bc.js
@@ -0,0 +1,10 @@
+var dir_817f6d302394b98e59575acdb59998bc =
+[
+ [ "default.php", "php_2default_8php.html", "php_2default_8php" ],
+ [ "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" ],
+ [ "theme_init.php", "php_2theme__init_8php.html", null ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_8543001e5d25368a6edede3e63efb554.html b/doc/html/dir_8543001e5d25368a6edede3e63efb554.html
new file mode 100644
index 000000000..5c3316826
--- /dev/null
+++ b/doc/html/dir_8543001e5d25368a6edede3e63efb554.html
@@ -0,0 +1,114 @@
+<!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: view/theme Directory 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="rhash-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><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><!-- 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('dir_8543001e5d25368a6edede3e63efb554.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">theme Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_55dbaf9b7b53c4fc605c9011743a7353"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_55dbaf9b7b53c4fc605c9011743a7353.html">redbasic</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_d795dfe8933002397556cc7aa16eca15"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_d795dfe8933002397556cc7aa16eca15.html">redstrap</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_8543001e5d25368a6edede3e63efb554.js b/doc/html/dir_8543001e5d25368a6edede3e63efb554.js
new file mode 100644
index 000000000..a6077ce08
--- /dev/null
+++ b/doc/html/dir_8543001e5d25368a6edede3e63efb554.js
@@ -0,0 +1,5 @@
+var dir_8543001e5d25368a6edede3e63efb554 =
+[
+ [ "redbasic", "dir_55dbaf9b7b53c4fc605c9011743a7353.html", "dir_55dbaf9b7b53c4fc605c9011743a7353" ],
+ [ "redstrap", "dir_d795dfe8933002397556cc7aa16eca15.html", "dir_d795dfe8933002397556cc7aa16eca15" ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_8e4ceba158be32034f698ffd6810bb05.html b/doc/html/dir_8e4ceba158be32034f698ffd6810bb05.html
new file mode 100644
index 000000000..67c9c30f6
--- /dev/null
+++ b/doc/html/dir_8e4ceba158be32034f698ffd6810bb05.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 Project: view/theme/test Directory 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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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><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><!-- 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('dir_8e4ceba158be32034f698ffd6810bb05.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">test Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_955ae6074e6c84afe72925e364242b14"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_955ae6074e6c84afe72925e364242b14.html">php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_b2f003339c516cc00c8cadcafbe82f13.html">view</a></li><li class="navelem"><a class="el" href="dir_8543001e5d25368a6edede3e63efb554.html">theme</a></li><li class="navelem"><a class="el" href="dir_8e4ceba158be32034f698ffd6810bb05.html">test</a></li>
+ <li class="footer">Generated on Tue Feb 26 2013 15:43:22 for The Red Project by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/doc/html/dir_8e4ceba158be32034f698ffd6810bb05.js b/doc/html/dir_8e4ceba158be32034f698ffd6810bb05.js
new file mode 100644
index 000000000..0b8eea955
--- /dev/null
+++ b/doc/html/dir_8e4ceba158be32034f698ffd6810bb05.js
@@ -0,0 +1,4 @@
+var dir_8e4ceba158be32034f698ffd6810bb05 =
+[
+ [ "php", "dir_955ae6074e6c84afe72925e364242b14.html", "dir_955ae6074e6c84afe72925e364242b14" ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_955ae6074e6c84afe72925e364242b14.html b/doc/html/dir_955ae6074e6c84afe72925e364242b14.html
new file mode 100644
index 000000000..d031ec14f
--- /dev/null
+++ b/doc/html/dir_955ae6074e6c84afe72925e364242b14.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 Project: view/theme/test/php Directory 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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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><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><!-- 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('dir_955ae6074e6c84afe72925e364242b14.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">php Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:test_2php_2theme_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="test_2php_2theme_8php.html">theme.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_b2f003339c516cc00c8cadcafbe82f13.html">view</a></li><li class="navelem"><a class="el" href="dir_8543001e5d25368a6edede3e63efb554.html">theme</a></li><li class="navelem"><a class="el" href="dir_8e4ceba158be32034f698ffd6810bb05.html">test</a></li><li class="navelem"><a class="el" href="dir_955ae6074e6c84afe72925e364242b14.html">php</a></li>
+ <li class="footer">Generated on Tue Feb 26 2013 15:43:22 for The Red Project by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/doc/html/dir_955ae6074e6c84afe72925e364242b14.js b/doc/html/dir_955ae6074e6c84afe72925e364242b14.js
new file mode 100644
index 000000000..427747272
--- /dev/null
+++ b/doc/html/dir_955ae6074e6c84afe72925e364242b14.js
@@ -0,0 +1,4 @@
+var dir_955ae6074e6c84afe72925e364242b14 =
+[
+ [ "theme.php", "test_2php_2theme_8php.html", "test_2php_2theme_8php" ]
+]; \ No newline at end of file
diff --git a/doc/html/dir__fns_8php.html b/doc/html/dir__fns_8php.html
new file mode 100644
index 000000000..72bc242a9
--- /dev/null
+++ b/doc/html/dir__fns_8php.html
@@ -0,0 +1,179 @@
+<!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: include/dir_fns.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="rhash-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('dir__fns_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">dir_fns.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:a8c15aa69da12f2d3476b9e93b82b337d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">find_upstream_directory</a> ($dirmode)</td></tr>
+<tr class="separator:a8c15aa69da12f2d3476b9e93b82b337d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa666e7df6ca8c332f4081c9b66b4bdf6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories</a> ($dirmode)</td></tr>
+<tr class="separator:aa666e7df6ca8c332f4081c9b66b4bdf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6cae22cfdd6edda5ddf09e07abb3242a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs</a> ($uid)</td></tr>
+<tr class="separator:a6cae22cfdd6edda5ddf09e07abb3242a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a8c15aa69da12f2d3476b9e93b82b337d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">find_upstream_directory </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dirmode</em></td><td>)</td>
+ <td></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>
+
+</div>
+</div>
+<a class="anchor" id="aa666e7df6ca8c332f4081c9b66b4bdf6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">sync_directories </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dirmode</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6cae22cfdd6edda5ddf09e07abb3242a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">syncdirs </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir__fns_8php.js b/doc/html/dir__fns_8php.js
new file mode 100644
index 000000000..76c483ab5
--- /dev/null
+++ b/doc/html/dir__fns_8php.js
@@ -0,0 +1,6 @@
+var dir__fns_8php =
+[
+ [ "find_upstream_directory", "dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d", null ],
+ [ "sync_directories", "dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6", null ],
+ [ "syncdirs", "dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a", null ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_aae29906d7bfc07d076125f669c8352e.html b/doc/html/dir_aae29906d7bfc07d076125f669c8352e.html
new file mode 100644
index 000000000..7fc269799
--- /dev/null
+++ b/doc/html/dir_aae29906d7bfc07d076125f669c8352e.html
@@ -0,0 +1,116 @@
+<!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: include/photo Directory 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="rhash-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><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><!-- 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('dir_aae29906d7bfc07d076125f669c8352e.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">photo Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:photo__driver_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="photo__driver_8php.html">photo_driver.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:photo__gd_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="photo__gd_8php.html">photo_gd.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:photo__imagick_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="photo__imagick_8php.html">photo_imagick.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_aae29906d7bfc07d076125f669c8352e.js b/doc/html/dir_aae29906d7bfc07d076125f669c8352e.js
new file mode 100644
index 000000000..c8fe31dc4
--- /dev/null
+++ b/doc/html/dir_aae29906d7bfc07d076125f669c8352e.js
@@ -0,0 +1,10 @@
+var dir_aae29906d7bfc07d076125f669c8352e =
+[
+ [ "photo_driver.php", "photo__driver_8php.html", "photo__driver_8php" ],
+ [ "photo_gd.php", "photo__gd_8php.html", [
+ [ "photo_gd", "classphoto__gd.html", "classphoto__gd" ]
+ ] ],
+ [ "photo_imagick.php", "photo__imagick_8php.html", [
+ [ "photo_imagick", "classphoto__imagick.html", "classphoto__imagick" ]
+ ] ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_b2f003339c516cc00c8cadcafbe82f13.html b/doc/html/dir_b2f003339c516cc00c8cadcafbe82f13.html
new file mode 100644
index 000000000..fe7eec594
--- /dev/null
+++ b/doc/html/dir_b2f003339c516cc00c8cadcafbe82f13.html
@@ -0,0 +1,114 @@
+<!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: view Directory 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="rhash-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><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><!-- 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('dir_b2f003339c516cc00c8cadcafbe82f13.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">view Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_817f6d302394b98e59575acdb59998bc"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_817f6d302394b98e59575acdb59998bc.html">php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_8543001e5d25368a6edede3e63efb554"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_8543001e5d25368a6edede3e63efb554.html">theme</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_b2f003339c516cc00c8cadcafbe82f13.js b/doc/html/dir_b2f003339c516cc00c8cadcafbe82f13.js
new file mode 100644
index 000000000..991623ea4
--- /dev/null
+++ b/doc/html/dir_b2f003339c516cc00c8cadcafbe82f13.js
@@ -0,0 +1,5 @@
+var dir_b2f003339c516cc00c8cadcafbe82f13 =
+[
+ [ "php", "dir_817f6d302394b98e59575acdb59998bc.html", "dir_817f6d302394b98e59575acdb59998bc" ],
+ [ "theme", "dir_8543001e5d25368a6edede3e63efb554.html", "dir_8543001e5d25368a6edede3e63efb554" ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_d41ce877eb409a4791b288730010abe2.html b/doc/html/dir_d41ce877eb409a4791b288730010abe2.html
new file mode 100644
index 000000000..21dfadab0
--- /dev/null
+++ b/doc/html/dir_d41ce877eb409a4791b288730010abe2.html
@@ -0,0 +1,358 @@
+<!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 Directory 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="rhash-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><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><!-- 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('dir_d41ce877eb409a4791b288730010abe2.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">mod Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+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: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>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:mod_2attach_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2attach_8php.html">attach.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:blocks_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="blocks_8php.html">blocks.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:chanman_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="chanman_8php.html">chanman.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:channel_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="channel_8php.html">channel.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:chanview_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="chanview_8php.html">chanview.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:common_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8php.html">common.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:community_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="community_8php.html">community.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:connect_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="connect_8php.html">connect.php</a></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="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="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:dirfind_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirfind_8php.html">dirfind.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>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:editblock_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editblock_8php.html">editblock.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:editlayout_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editlayout_8php.html">editlayout.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:editpost_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editpost_8php.html">editpost.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:editwebpage_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editwebpage_8php.html">editwebpage.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:events_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="events_8php.html">events.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:fbrowser_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fbrowser_8php.html">fbrowser.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:feed_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feed_8php.html">feed.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:filer_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="filer_8php.html">filer.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:filerm_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="filerm_8php.html">filerm.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:filestorage_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="filestorage_8php.html">filestorage.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:mod_2follow_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2follow_8php.html">follow.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:fsuggest_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fsuggest_8php.html">fsuggest.php</a></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>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:hostxrd_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hostxrd_8php.html">hostxrd.php</a></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>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:lockview_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lockview_8php.html">lockview.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:login_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="login_8php.html">login.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:lostpass_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lostpass_8php.html">lostpass.php</a></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: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>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:mod_2menu_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2menu_8php.html">menu.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:mod_2message_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2message_8php.html">message.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:mitem_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mitem_8php.html">mitem.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:mood_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mood_8php.html">mood.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:msearch_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="msearch_8php.html">msearch.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:mod_2network_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2network_8php.html">network.php</a></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:nogroup_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nogroup_8php.html">nogroup.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>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:mod_2oembed_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2oembed_8php.html">oembed.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:oexchange_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="oexchange_8php.html">oexchange.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:opensearch_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="opensearch_8php.html">opensearch.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:page_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="page_8php.html">page.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:parse__url_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parse__url_8php.html">parse_url.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:photo_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="photo_8php.html">photo.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:mod_2photos_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2photos_8php.html">photos.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:php_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php_8php.html">php.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ping_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ping_8php.html">ping.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:poco_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="poco_8php.html">poco.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:poke_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="poke_8php.html">poke.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:post_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="post_8php.html">post.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:pretheme_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pretheme_8php.html">pretheme.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:probe_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="probe_8php.html">probe.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:profile_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile_8php.html">profile.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:profile__photo_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile__photo_8php.html">profile_photo.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:profiles_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profiles_8php.html">profiles.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:profperm_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profperm_8php.html">profperm.php</a></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>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:removeme_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="removeme_8php.html">removeme.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:rmagic_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rmagic_8php.html">rmagic.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:rsd__xml_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rsd__xml_8php.html">rsd_xml.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:search_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="search_8php.html">search.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:search__ac_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="search__ac_8php.html">search_ac.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:settings_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="settings_8php.html">settings.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:setup_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html">setup.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:share_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="share_8php.html">share.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:siteinfo_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="siteinfo_8php.html">siteinfo.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sitelist_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sitelist_8php.html">sitelist.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:smilies_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smilies_8php.html">smilies.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>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:suggest_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="suggest_8php.html">suggest.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:tagger_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tagger_8php.html">tagger.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:tagrm_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tagrm_8php.html">tagrm.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:thing_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="thing_8php.html">thing.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:toggle__mobile_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="toggle__mobile_8php.html">toggle_mobile.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:uexport_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uexport_8php.html">uexport.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:update__channel_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__channel_8php.html">update_channel.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:update__community_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__community_8php.html">update_community.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:update__display_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__display_8php.html">update_display.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:update__network_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__network_8php.html">update_network.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:update__search_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__search_8php.html">update_search.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:view_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="view_8php.html">view.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:viewconnections_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="viewconnections_8php.html">viewconnections.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:viewsrc_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="viewsrc_8php.html">viewsrc.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:vote_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vote_8php.html">vote.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:wall__attach_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wall__attach_8php.html">wall_attach.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:wall__upload_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wall__upload_8php.html">wall_upload.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:webfinger_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="webfinger_8php.html">webfinger.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:webpages_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="webpages_8php.html">webpages.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:wfinger_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wfinger_8php.html">wfinger.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:xchan_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xchan_8php.html">xchan.php</a></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: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>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:zping_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zping_8php.html">zping.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_d41ce877eb409a4791b288730010abe2.js b/doc/html/dir_d41ce877eb409a4791b288730010abe2.js
new file mode 100644
index 000000000..53154e4b6
--- /dev/null
+++ b/doc/html/dir_d41ce877eb409a4791b288730010abe2.js
@@ -0,0 +1,127 @@
+var dir_d41ce877eb409a4791b288730010abe2 =
+[
+ [ "_well_known.php", "__well__known_8php.html", "__well__known_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" ],
+ [ "blocks.php", "blocks_8php.html", "blocks_8php" ],
+ [ "chanman.php", "chanman_8php.html", null ],
+ [ "channel.php", "channel_8php.html", "channel_8php" ],
+ [ "chanview.php", "chanview_8php.html", "chanview_8php" ],
+ [ "common.php", "common_8php.html", "common_8php" ],
+ [ "community.php", "community_8php.html", "community_8php" ],
+ [ "connect.php", "connect_8php.html", "connect_8php" ],
+ [ "connections.php", "connections_8php.html", "connections_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" ],
+ [ "dirfind.php", "dirfind_8php.html", "dirfind_8php" ],
+ [ "dirsearch.php", "dirsearch_8php.html", "dirsearch_8php" ],
+ [ "display.php", "display_8php.html", "display_8php" ],
+ [ "editblock.php", "editblock_8php.html", "editblock_8php" ],
+ [ "editlayout.php", "editlayout_8php.html", "editlayout_8php" ],
+ [ "editpost.php", "editpost_8php.html", "editpost_8php" ],
+ [ "editwebpage.php", "editwebpage_8php.html", "editwebpage_8php" ],
+ [ "events.php", "events_8php.html", "events_8php" ],
+ [ "fbrowser.php", "fbrowser_8php.html", "fbrowser_8php" ],
+ [ "feed.php", "feed_8php.html", "feed_8php" ],
+ [ "filer.php", "filer_8php.html", "filer_8php" ],
+ [ "filerm.php", "filerm_8php.html", "filerm_8php" ],
+ [ "filestorage.php", "filestorage_8php.html", "filestorage_8php" ],
+ [ "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 ],
+ [ "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" ],
+ [ "manage.php", "manage_8php.html", "manage_8php" ],
+ [ "match.php", "match_8php.html", "match_8php" ],
+ [ "menu.php", "mod_2menu_8php.html", "mod_2menu_8php" ],
+ [ "message.php", "mod_2message_8php.html", "mod_2message_8php" ],
+ [ "mitem.php", "mitem_8php.html", "mitem_8php" ],
+ [ "mood.php", "mood_8php.html", "mood_8php" ],
+ [ "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" ],
+ [ "nogroup.php", "nogroup_8php.html", "nogroup_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" ],
+ [ "oexchange.php", "oexchange_8php.html", "oexchange_8php" ],
+ [ "opensearch.php", "opensearch_8php.html", "opensearch_8php" ],
+ [ "page.php", "page_8php.html", "page_8php" ],
+ [ "parse_url.php", "parse__url_8php.html", "parse__url_8php" ],
+ [ "photo.php", "photo_8php.html", "photo_8php" ],
+ [ "photos.php", "mod_2photos_8php.html", "mod_2photos_8php" ],
+ [ "php.php", "php_8php.html", "php_8php" ],
+ [ "ping.php", "ping_8php.html", "ping_8php" ],
+ [ "poco.php", "poco_8php.html", "poco_8php" ],
+ [ "poke.php", "poke_8php.html", "poke_8php" ],
+ [ "post.php", "post_8php.html", "post_8php" ],
+ [ "pretheme.php", "pretheme_8php.html", "pretheme_8php" ],
+ [ "probe.php", "probe_8php.html", "probe_8php" ],
+ [ "profile.php", "profile_8php.html", "profile_8php" ],
+ [ "profile_photo.php", "profile__photo_8php.html", "profile__photo_8php" ],
+ [ "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" ],
+ [ "rmagic.php", "rmagic_8php.html", "rmagic_8php" ],
+ [ "rsd_xml.php", "rsd__xml_8php.html", "rsd__xml_8php" ],
+ [ "search.php", "search_8php.html", "search_8php" ],
+ [ "search_ac.php", "search__ac_8php.html", "search__ac_8php" ],
+ [ "settings.php", "settings_8php.html", "settings_8php" ],
+ [ "setup.php", "setup_8php.html", "setup_8php" ],
+ [ "share.php", "share_8php.html", "share_8php" ],
+ [ "siteinfo.php", "siteinfo_8php.html", "siteinfo_8php" ],
+ [ "sitelist.php", "sitelist_8php.html", "sitelist_8php" ],
+ [ "smilies.php", "smilies_8php.html", "smilies_8php" ],
+ [ "starred.php", "starred_8php.html", "starred_8php" ],
+ [ "subthread.php", "subthread_8php.html", "subthread_8php" ],
+ [ "suggest.php", "suggest_8php.html", "suggest_8php" ],
+ [ "tagger.php", "tagger_8php.html", "tagger_8php" ],
+ [ "tagrm.php", "tagrm_8php.html", "tagrm_8php" ],
+ [ "thing.php", "thing_8php.html", "thing_8php" ],
+ [ "toggle_mobile.php", "toggle__mobile_8php.html", "toggle__mobile_8php" ],
+ [ "uexport.php", "uexport_8php.html", "uexport_8php" ],
+ [ "update_channel.php", "update__channel_8php.html", "update__channel_8php" ],
+ [ "update_community.php", "update__community_8php.html", "update__community_8php" ],
+ [ "update_display.php", "update__display_8php.html", "update__display_8php" ],
+ [ "update_network.php", "update__network_8php.html", "update__network_8php" ],
+ [ "update_search.php", "update__search_8php.html", "update__search_8php" ],
+ [ "view.php", "view_8php.html", "view_8php" ],
+ [ "viewconnections.php", "viewconnections_8php.html", "viewconnections_8php" ],
+ [ "viewsrc.php", "viewsrc_8php.html", "viewsrc_8php" ],
+ [ "vote.php", "vote_8php.html", "vote_8php" ],
+ [ "wall_attach.php", "wall__attach_8php.html", "wall__attach_8php" ],
+ [ "wall_upload.php", "wall__upload_8php.html", "wall__upload_8php" ],
+ [ "webfinger.php", "webfinger_8php.html", "webfinger_8php" ],
+ [ "webpages.php", "webpages_8php.html", "webpages_8php" ],
+ [ "wfinger.php", "wfinger_8php.html", "wfinger_8php" ],
+ [ "xchan.php", "xchan_8php.html", "xchan_8php" ],
+ [ "xrd.php", "xrd_8php.html", "xrd_8php" ],
+ [ "zfinger.php", "zfinger_8php.html", "zfinger_8php" ],
+ [ "zotfeed.php", "zotfeed_8php.html", "zotfeed_8php" ],
+ [ "zping.php", "zping_8php.html", "zping_8php" ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html
new file mode 100644
index 000000000..90fe2f89a
--- /dev/null
+++ b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -0,0 +1,251 @@
+<!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: include Directory 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="rhash-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><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><!-- 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('dir_d44c64559bbebec7f509842c48db8b23.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">include Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_21bc5169ff11430004758be31dcfc6c4"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_21bc5169ff11430004758be31dcfc6c4.html">dba</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_aae29906d7bfc07d076125f669c8352e"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_aae29906d7bfc07d076125f669c8352e.html">photo</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="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:account_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="account_8php.html">account.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acl__selectors_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acl__selectors_8php.html">acl_selectors.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:activities_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="activities_8php.html">activities.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2api_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html">api.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2attach_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html">attach.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:auth_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="auth_8php.html">auth.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:BaseObject_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="BaseObject_8php.html">BaseObject.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:bb2diaspora_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bb2diaspora_8php.html">bb2diaspora.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:bbcode_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html">bbcode.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:cache_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cache_8php.html">cache.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:cli__startup_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cli__startup_8php.html">cli_startup.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:cli__suggest_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cli__suggest_8php.html">cli_suggest.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:comanche_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="comanche_8php.html">comanche.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2config_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html">config.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:Contact_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html">Contact.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:contact__selectors_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contact__selectors_8php.html">contact_selectors.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:contact__widgets_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contact__widgets_8php.html">contact_widgets.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:conversation_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html">conversation.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ConversationObject_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ConversationObject_8php.html">ConversationObject.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:cronhooks_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cronhooks_8php.html">cronhooks.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:crypto_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8php.html">crypto.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:datetime_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html">datetime.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:deliver_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="deliver_8php.html">deliver.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir__fns_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir__fns_8php.html">dir_fns.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2directory_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2directory_8php.html">directory.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:enotify_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="enotify_8php.html">enotify.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:event_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html">event.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:expire_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="expire_8php.html">expire.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:features_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="features_8php.html">features.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2follow_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2follow_8php.html">follow.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:friendica__smarty_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="friendica__smarty_8php.html">friendica_smarty.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gprobe_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gprobe_8php.html">gprobe.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2group_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html">group.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:html2bbcode_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="html2bbcode_8php.html">html2bbcode.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:html2plain_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="html2plain_8php.html">html2plain.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:identity_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html">identity.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ItemObject_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ItemObject_8php.html">ItemObject.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ITemplateEngine_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ITemplateEngine_8php.html">ITemplateEngine.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:items_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html">items.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:language_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="language_8php.html">language.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2menu_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html">menu.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2message_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2message_8php.html">message.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:nav_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nav_8php.html">nav.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2network_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html">network.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:notifier_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="notifier_8php.html">notifier.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2notify_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2notify_8php.html">notify.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:oauth_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="oauth_8php.html">oauth.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2oembed_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2oembed_8php.html">oembed.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:onepoll_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="onepoll_8php.html">onepoll.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:page__widgets_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="page__widgets_8php.html">page_widgets.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:permissions_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html">permissions.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:include_2photos_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2photos_8php.html">photos.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:plugin_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html">plugin.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:poller_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="poller_8php.html">poller.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:profile__advanced_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile__advanced_8php.html">profile_advanced.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:profile__selectors_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile__selectors_8php.html">profile_selectors.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ProtoDriver_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ProtoDriver_8php.html">ProtoDriver.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:queue_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="queue_8php.html">queue.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:queue__fn_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="queue__fn_8php.html">queue_fn.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:security_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html">security.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:session_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8php.html">session.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:socgraph_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="socgraph_8php.html">socgraph.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:system__unavailable_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="system__unavailable_8php.html">system_unavailable.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:taxonomy_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html">taxonomy.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:template__processor_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="template__processor_8php.html">template_processor.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:text_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html">text.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:zot_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html">zot.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js
new file mode 100644
index 000000000..ae8918d5b
--- /dev/null
+++ b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js
@@ -0,0 +1,88 @@
+var dir_d44c64559bbebec7f509842c48db8b23 =
+[
+ [ "dba", "dir_21bc5169ff11430004758be31dcfc6c4.html", "dir_21bc5169ff11430004758be31dcfc6c4" ],
+ [ "photo", "dir_aae29906d7bfc07d076125f669c8352e.html", "dir_aae29906d7bfc07d076125f669c8352e" ],
+ [ "account.php", "account_8php.html", "account_8php" ],
+ [ "acl_selectors.php", "acl__selectors_8php.html", "acl__selectors_8php" ],
+ [ "activities.php", "activities_8php.html", "activities_8php" ],
+ [ "api.php", "include_2api_8php.html", "include_2api_8php" ],
+ [ "attach.php", "include_2attach_8php.html", "include_2attach_8php" ],
+ [ "auth.php", "auth_8php.html", "auth_8php" ],
+ [ "BaseObject.php", "BaseObject_8php.html", [
+ [ "BaseObject", "classBaseObject.html", "classBaseObject" ]
+ ] ],
+ [ "bb2diaspora.php", "bb2diaspora_8php.html", "bb2diaspora_8php" ],
+ [ "bbcode.php", "bbcode_8php.html", "bbcode_8php" ],
+ [ "cache.php", "cache_8php.html", [
+ [ "Cache", "classCache.html", null ]
+ ] ],
+ [ "cli_startup.php", "cli__startup_8php.html", "cli__startup_8php" ],
+ [ "cli_suggest.php", "cli__suggest_8php.html", "cli__suggest_8php" ],
+ [ "comanche.php", "comanche_8php.html", "comanche_8php" ],
+ [ "config.php", "include_2config_8php.html", "include_2config_8php" ],
+ [ "Contact.php", "Contact_8php.html", "Contact_8php" ],
+ [ "contact_selectors.php", "contact__selectors_8php.html", "contact__selectors_8php" ],
+ [ "contact_widgets.php", "contact__widgets_8php.html", "contact__widgets_8php" ],
+ [ "conversation.php", "conversation_8php.html", "conversation_8php" ],
+ [ "ConversationObject.php", "ConversationObject_8php.html", [
+ [ "Conversation", "classConversation.html", "classConversation" ]
+ ] ],
+ [ "cronhooks.php", "cronhooks_8php.html", "cronhooks_8php" ],
+ [ "crypto.php", "crypto_8php.html", "crypto_8php" ],
+ [ "datetime.php", "datetime_8php.html", "datetime_8php" ],
+ [ "deliver.php", "deliver_8php.html", "deliver_8php" ],
+ [ "dir_fns.php", "dir__fns_8php.html", "dir__fns_8php" ],
+ [ "directory.php", "include_2directory_8php.html", "include_2directory_8php" ],
+ [ "enotify.php", "enotify_8php.html", "enotify_8php" ],
+ [ "event.php", "event_8php.html", "event_8php" ],
+ [ "expire.php", "expire_8php.html", "expire_8php" ],
+ [ "features.php", "features_8php.html", "features_8php" ],
+ [ "follow.php", "include_2follow_8php.html", "include_2follow_8php" ],
+ [ "friendica_smarty.php", "friendica__smarty_8php.html", [
+ [ "FriendicaSmarty", "classFriendicaSmarty.html", "classFriendicaSmarty" ],
+ [ "FriendicaSmartyEngine", "classFriendicaSmartyEngine.html", "classFriendicaSmartyEngine" ]
+ ] ],
+ [ "gprobe.php", "gprobe_8php.html", "gprobe_8php" ],
+ [ "group.php", "include_2group_8php.html", "include_2group_8php" ],
+ [ "html2bbcode.php", "html2bbcode_8php.html", "html2bbcode_8php" ],
+ [ "html2plain.php", "html2plain_8php.html", "html2plain_8php" ],
+ [ "identity.php", "identity_8php.html", "identity_8php" ],
+ [ "ItemObject.php", "ItemObject_8php.html", [
+ [ "Item", "classItem.html", "classItem" ]
+ ] ],
+ [ "ITemplateEngine.php", "ITemplateEngine_8php.html", [
+ [ "ITemplateEngine", "interfaceITemplateEngine.html", "interfaceITemplateEngine" ]
+ ] ],
+ [ "items.php", "items_8php.html", "items_8php" ],
+ [ "language.php", "language_8php.html", "language_8php" ],
+ [ "menu.php", "include_2menu_8php.html", "include_2menu_8php" ],
+ [ "message.php", "include_2message_8php.html", "include_2message_8php" ],
+ [ "nav.php", "nav_8php.html", "nav_8php" ],
+ [ "network.php", "include_2network_8php.html", "include_2network_8php" ],
+ [ "notifier.php", "notifier_8php.html", "notifier_8php" ],
+ [ "notify.php", "include_2notify_8php.html", "include_2notify_8php" ],
+ [ "oauth.php", "oauth_8php.html", "oauth_8php" ],
+ [ "oembed.php", "include_2oembed_8php.html", "include_2oembed_8php" ],
+ [ "onepoll.php", "onepoll_8php.html", "onepoll_8php" ],
+ [ "page_widgets.php", "page__widgets_8php.html", "page__widgets_8php" ],
+ [ "permissions.php", "permissions_8php.html", "permissions_8php" ],
+ [ "photos.php", "include_2photos_8php.html", "include_2photos_8php" ],
+ [ "plugin.php", "plugin_8php.html", "plugin_8php" ],
+ [ "poller.php", "poller_8php.html", "poller_8php" ],
+ [ "profile_advanced.php", "profile__advanced_8php.html", "profile__advanced_8php" ],
+ [ "profile_selectors.php", "profile__selectors_8php.html", "profile__selectors_8php" ],
+ [ "ProtoDriver.php", "ProtoDriver_8php.html", [
+ [ "ProtoDriver", "classProtoDriver.html", "classProtoDriver" ],
+ [ "ZotDriver", "classZotDriver.html", "classZotDriver" ]
+ ] ],
+ [ "queue.php", "queue_8php.html", "queue_8php" ],
+ [ "queue_fn.php", "queue__fn_8php.html", "queue__fn_8php" ],
+ [ "security.php", "security_8php.html", "security_8php" ],
+ [ "session.php", "session_8php.html", "session_8php" ],
+ [ "socgraph.php", "socgraph_8php.html", "socgraph_8php" ],
+ [ "system_unavailable.php", "system__unavailable_8php.html", "system__unavailable_8php" ],
+ [ "taxonomy.php", "taxonomy_8php.html", "taxonomy_8php" ],
+ [ "template_processor.php", "template__processor_8php.html", "template__processor_8php" ],
+ [ "text.php", "text_8php.html", "text_8php" ],
+ [ "zot.php", "zot_8php.html", "zot_8php" ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_d795dfe8933002397556cc7aa16eca15.html b/doc/html/dir_d795dfe8933002397556cc7aa16eca15.html
new file mode 100644
index 000000000..119fb7927
--- /dev/null
+++ b/doc/html/dir_d795dfe8933002397556cc7aa16eca15.html
@@ -0,0 +1,112 @@
+<!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: view/theme/redstrap Directory 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="rhash-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><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><!-- 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('dir_d795dfe8933002397556cc7aa16eca15.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">redstrap Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_6b44a0e797e2f12381093380e3e54763"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_6b44a0e797e2f12381093380e3e54763.html">php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_d795dfe8933002397556cc7aa16eca15.js b/doc/html/dir_d795dfe8933002397556cc7aa16eca15.js
new file mode 100644
index 000000000..2b02828b8
--- /dev/null
+++ b/doc/html/dir_d795dfe8933002397556cc7aa16eca15.js
@@ -0,0 +1,4 @@
+var dir_d795dfe8933002397556cc7aa16eca15 =
+[
+ [ "php", "dir_6b44a0e797e2f12381093380e3e54763.html", "dir_6b44a0e797e2f12381093380e3e54763" ]
+]; \ No newline at end of file
diff --git a/doc/html/dirfind_8php.html b/doc/html/dirfind_8php.html
new file mode 100644
index 000000000..93241d1a4
--- /dev/null
+++ b/doc/html/dirfind_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/dirfind.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="rhash-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('dirfind_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">dirfind.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:ac689a812c84f161b3a0d42349f83981c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirfind_8php.html#ac689a812c84f161b3a0d42349f83981c">dirfind_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ac689a812c84f161b3a0d42349f83981c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af22b0283f928c4c32e62248a5ae67cee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_content</a> (&amp;$a)</td></tr>
+<tr class="separator:af22b0283f928c4c32e62248a5ae67cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af22b0283f928c4c32e62248a5ae67cee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dirfind_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="ac689a812c84f161b3a0d42349f83981c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dirfind_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/dirfind_8php.js b/doc/html/dirfind_8php.js
new file mode 100644
index 000000000..133a7bcb3
--- /dev/null
+++ b/doc/html/dirfind_8php.js
@@ -0,0 +1,5 @@
+var dirfind_8php =
+[
+ [ "dirfind_content", "dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee", null ],
+ [ "dirfind_init", "dirfind_8php.html#ac689a812c84f161b3a0d42349f83981c", null ]
+]; \ No newline at end of file
diff --git a/doc/html/dirsearch_8php.html b/doc/html/dirsearch_8php.html
new file mode 100644
index 000000000..37bdcb100
--- /dev/null
+++ b/doc/html/dirsearch_8php.html
@@ -0,0 +1,174 @@
+<!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/dirsearch.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="rhash-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('dirsearch_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">dirsearch.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:a3e51964ae3f5ff147403407b65324752"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752">dirsearch_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a3e51964ae3f5ff147403407b65324752"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1fb04e1de4f25b63349ac78f94ceb4c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aa1fb04e1de4f25b63349ac78f94ceb4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a985d410a170549429857af6ff2673149"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites</a> ()</td></tr>
+<tr class="separator:a985d410a170549429857af6ff2673149"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa1fb04e1de4f25b63349ac78f94ceb4c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dirsearch_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="a3e51964ae3f5ff147403407b65324752"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dirsearch_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="a985d410a170549429857af6ff2673149"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">list_public_sites </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dirsearch_8php.js b/doc/html/dirsearch_8php.js
new file mode 100644
index 000000000..45753b123
--- /dev/null
+++ b/doc/html/dirsearch_8php.js
@@ -0,0 +1,6 @@
+var dirsearch_8php =
+[
+ [ "dirsearch_content", "dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c", null ],
+ [ "dirsearch_init", "dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752", null ],
+ [ "list_public_sites", "dirsearch_8php.html#a985d410a170549429857af6ff2673149", null ]
+]; \ No newline at end of file
diff --git a/doc/html/display_8php.html b/doc/html/display_8php.html
new file mode 100644
index 000000000..e31582288
--- /dev/null
+++ b/doc/html/display_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/display.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="rhash-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('display_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">display.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:a37137c98d47bf3306f4c2bb9f5b60de0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content</a> (&amp;$a, $update=0, $load=false)</td></tr>
+<tr class="separator:a37137c98d47bf3306f4c2bb9f5b60de0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a37137c98d47bf3306f4c2bb9f5b60de0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">display_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$load</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="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/display_8php.js b/doc/html/display_8php.js
new file mode 100644
index 000000000..3fb3beffb
--- /dev/null
+++ b/doc/html/display_8php.js
@@ -0,0 +1,4 @@
+var display_8php =
+[
+ [ "display_content", "display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0", null ]
+]; \ No newline at end of file
diff --git a/doc/html/docblox__errorchecker_8php.html b/doc/html/docblox__errorchecker_8php.html
new file mode 100644
index 000000000..f39c5a5e9
--- /dev/null
+++ b/doc/html/docblox__errorchecker_8php.html
@@ -0,0 +1,314 @@
+<!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: util/docblox_errorchecker.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="rhash-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('docblox__errorchecker_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="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">docblox_errorchecker.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespaceutil"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutil.html">util</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:a2b767cfc461fdd5061fffc9e4a806d5b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html#a2b767cfc461fdd5061fffc9e4a806d5b">namesList</a> ($fileset)</td></tr>
+<tr class="separator:a2b767cfc461fdd5061fffc9e4a806d5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21b4bbe5aae2d85db33affc7126a67ec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec">runs</a> ($fileset)</td></tr>
+<tr class="separator:a21b4bbe5aae2d85db33affc7126a67ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9562cf60aa693114603d27b55d2185f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f">reduce</a> ($fileset, $ps)</td></tr>
+<tr class="separator:ae9562cf60aa693114603d27b55d2185f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a1659f0a629d408e0f849dbe4ee061e62"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62">$dir</a> ='..'</td></tr>
+<tr class="separator:a1659f0a629d408e0f849dbe4ee061e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab66bc0493d25f39bf8b4dcbb429f04e6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6">$dirstack</a> =array()</td></tr>
+<tr class="separator:ab66bc0493d25f39bf8b4dcbb429f04e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a648a570b0f9f6e0e51b7267647c4b09b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html#a648a570b0f9f6e0e51b7267647c4b09b">$filelist</a> =array()</td></tr>
+<tr class="separator:a648a570b0f9f6e0e51b7267647c4b09b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49a8a4009b02e49717caa88b128affc5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d">while</a>($dh=opendir($dir)) <a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(<a class="el" href="docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec">runs</a>($filelist))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5">$res</a> =$filelist</td></tr>
+<tr class="separator:a49a8a4009b02e49717caa88b128affc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83018d9153d17d91fbcf3bc10158d34f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f">$i</a> =0</td></tr>
+<tr class="separator:a83018d9153d17d91fbcf3bc10158d34f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a721c6ff80a6d3e4ad4ffa52a04c60085"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html#a721c6ff80a6d3e4ad4ffa52a04c60085">do</a></td></tr>
+<tr class="separator:a721c6ff80a6d3e4ad4ffa52a04c60085"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a852004caba0a34390297a079f4aaac73"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html#a852004caba0a34390297a079f4aaac73">$needed</a> =array()</td></tr>
+<tr class="separator:a852004caba0a34390297a079f4aaac73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4ca738a05beffe9c8c23e1f7aea3c2d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d">while</a> (count($res)!=0)</td></tr>
+<tr class="separator:af4ca738a05beffe9c8c23e1f7aea3c2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a2b767cfc461fdd5061fffc9e4a806d5b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">namesList </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$fileset</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec">runs()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae9562cf60aa693114603d27b55d2185f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">reduce </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$fileset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$ps</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="a21b4bbe5aae2d85db33affc7126a67ec"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">runs </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$fileset</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a1659f0a629d408e0f849dbe4ee061e62"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$dir ='..'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab66bc0493d25f39bf8b4dcbb429f04e6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$dirstack =array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a648a570b0f9f6e0e51b7267647c4b09b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$filelist =array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a83018d9153d17d91fbcf3bc10158d34f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$i =0</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="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">aes_unencapsulate()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2">get_bb_tag_pos()</a>, <a class="el" href="text_8php.html#a1557112a774ec00fa06ed6b6f6495506">is_a_date_arg()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">item_redir_and_replace_images()</a>, <a class="el" href="text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8">jindent()</a>, <a class="el" href="setup_8php.html#a2b375ddc555140236fc500135de99371">load_database_rem()</a>, <a class="el" href="html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7">node2bbcodesub()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a852004caba0a34390297a079f4aaac73"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$needed =array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a49a8a4009b02e49717caa88b128affc5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$res =$filelist</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys()</a>, <a class="el" href="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</a>, <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2">get_bb_tag_pos()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_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="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</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="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, and <a class="el" href="webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3">webfinger_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a721c6ff80a6d3e4ad4ffa52a04c60085"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">do</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">{</div>
+<div class="line"> <a class="code" href="docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f">$i</a>=count(<a class="code" href="docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5">$res</a>)</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="af4ca738a05beffe9c8c23e1f7aea3c2d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">while(count($res)!=0)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/docblox__errorchecker_8php.js b/doc/html/docblox__errorchecker_8php.js
new file mode 100644
index 000000000..17707e7c6
--- /dev/null
+++ b/doc/html/docblox__errorchecker_8php.js
@@ -0,0 +1,14 @@
+var docblox__errorchecker_8php =
+[
+ [ "namesList", "docblox__errorchecker_8php.html#a2b767cfc461fdd5061fffc9e4a806d5b", null ],
+ [ "reduce", "docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f", null ],
+ [ "runs", "docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec", null ],
+ [ "$dir", "docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62", null ],
+ [ "$dirstack", "docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6", null ],
+ [ "$filelist", "docblox__errorchecker_8php.html#a648a570b0f9f6e0e51b7267647c4b09b", null ],
+ [ "$i", "docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f", null ],
+ [ "$needed", "docblox__errorchecker_8php.html#a852004caba0a34390297a079f4aaac73", null ],
+ [ "$res", "docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5", null ],
+ [ "do", "docblox__errorchecker_8php.html#a721c6ff80a6d3e4ad4ffa52a04c60085", null ],
+ [ "while", "docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css
new file mode 100644
index 000000000..dabaff2fd
--- /dev/null
+++ b/doc/html/doxygen.css
@@ -0,0 +1,1184 @@
+/* The standard CSS for doxygen 1.8.3.1 */
+
+body, table, div, p, dl {
+ font: 400 14px/19px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+ font-size: 150%;
+}
+
+.title {
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2.groupheader {
+ border-bottom: 1px solid #879ECB;
+ color: #354C7B;
+ font-size: 150%;
+ font-weight: normal;
+ margin-top: 1.75em;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ width: 100%;
+}
+
+h3.groupheader {
+ font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ -webkit-transition: text-shadow 0.5s linear;
+ -moz-transition: text-shadow 0.5s linear;
+ -ms-transition: text-shadow 0.5s linear;
+ -o-transition: text-shadow 0.5s linear;
+ transition: text-shadow 0.5s linear;
+ margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+ text-shadow: 0 0 15px cyan;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+ margin-top: 2px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #3D578C;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4665A2;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9CAFD4;
+ color: #ffffff;
+ border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited {
+ color: #4665A2;
+}
+
+a.codeRef, a.codeRef:visited {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+div.fragment {
+ padding: 4px;
+ margin: 4px;
+ background-color: #FBFCFD;
+ border: 1px solid #C4CFE5;
+}
+
+div.line {
+ font-family: monospace, fixed;
+ font-size: 13px;
+ min-height: 13px;
+ line-height: 1.0;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap; /* Moz */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ white-space: pre-wrap; /* CSS3 */
+ word-wrap: break-word; /* IE 5.5+ */
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0px;
+ margin: 0px;
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+div.line.glow {
+ background-color: cyan;
+ box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+ padding-right: 4px;
+ text-align: right;
+ border-right: 2px solid #0F0;
+ background-color: #E8E8E8;
+ white-space: pre;
+}
+span.lineno a {
+ background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+ background-color: #C8C8C8;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background-color: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+ white-space: nowrap;
+ vertical-align: top;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+blockquote {
+ background-color: #F7F8FB;
+ border-left: 2px solid #9CAFD4;
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+ background-color: cyan;
+ box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memSeparator {
+ border-bottom: 1px solid #DEE4F0;
+ line-height: 1px;
+ margin: 0px;
+ padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4665A2;
+ white-space: nowrap;
+ font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #4665A2;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow 0.5s linear;
+ -moz-transition: box-shadow 0.5s linear;
+ -ms-transition: box-shadow 0.5s linear;
+ -o-transition: box-shadow 0.5s linear;
+ transition: box-shadow 0.5s linear;
+ display: table !important;
+ width: 100%;
+}
+
+.memitem.glow {
+ box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+ font-weight: bold;
+ margin-left: 6px;
+}
+
+.memname td {
+ vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 4px;
+ -moz-border-radius-topleft: 4px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+
+}
+
+.memdoc, dl.reflist dd {
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 10px 2px 10px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ background-image:url('nav_g.png');
+ background-repeat:repeat-x;
+ background-color: #FFFFFF;
+ /* opera specific markup */
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+ padding: 5px;
+}
+
+dl.reflist dd {
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+.paramname code {
+ line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+table.mlabels {
+ border-spacing: 0px;
+}
+
+td.mlabels-left {
+ width: 100%;
+ padding: 0px;
+}
+
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+span.mlabels {
+ margin-left: 8px;
+}
+
+span.mlabel {
+ background-color: #728DC1;
+ border-top:1px solid #5373B4;
+ border-left:1px solid #5373B4;
+ border-right:1px solid #C4CFE5;
+ border-bottom:1px solid #C4CFE5;
+ text-shadow: none;
+ color: white;
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view when not used as main index */
+
+div.directory {
+ margin: 10px 0px;
+ border-top: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ width: 100%;
+}
+
+.directory table {
+ border-collapse:collapse;
+}
+
+.directory td {
+ margin: 0px;
+ padding: 0px;
+ vertical-align: top;
+}
+
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+}
+
+.directory td.entry a {
+ outline:none;
+}
+
+.directory td.entry a img {
+ border: none;
+}
+
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+ padding-left: 6px;
+ background-color: #F7F8FB;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
+}
+
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: #3D578C;
+}
+
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+address {
+ font-style: normal;
+ color: #2A3D61;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+table.fieldtable {
+ /*width: 100%;*/
+ margin-bottom: 10px;
+ border: 1px solid #A8B8D9;
+ border-spacing: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+ padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+ white-space: nowrap;
+ border-right: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+ padding-top: 5px;
+}
+
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid #A8B8D9;
+ /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+ margin-top: 2px;
+}
+
+.fieldtable td.fielddoc p:last-child {
+ margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+ border-bottom: none;
+}
+
+.fieldtable th {
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ font-size: 90%;
+ color: #253555;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ background-position: 0 -5px;
+ height:30px;
+ line-height:30px;
+ color:#8AA0CC;
+ border:solid 1px #C2CDE4;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+ color: #283A5D;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6884BD;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+dl.note
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #505050;
+}
+
+dl.todo
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #C08050;
+}
+
+dl.section dd {
+ margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectname
+{
+ font: 300% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 120% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+div.zoom
+{
+ border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+ margin-bottom:50px;
+}
+
+dl.citelist dt {
+ color:#334975;
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+}
+
+dl.citelist dd {
+ margin:2px 0;
+ padding:5px 0;
+}
+
+div.toc {
+ padding: 14px 25px;
+ background-color: #F4F6FA;
+ border: 1px solid #D8DFEE;
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 20px 10px 10px;
+ width: 200px;
+}
+
+div.toc li {
+ background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
+}
+
+div.toc h3 {
+ font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+ color: #4665A2;
+ border-bottom: 0 none;
+ margin: 0;
+}
+
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
+}
+
+div.toc li.level1 {
+ margin-left: 0px;
+}
+
+div.toc li.level2 {
+ margin-left: 15px;
+}
+
+div.toc li.level3 {
+ margin-left: 30px;
+}
+
+div.toc li.level4 {
+ margin-left: 45px;
+}
+
+.inherit_header {
+ font-weight: bold;
+ color: gray;
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.inherit_header td {
+ padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+ display: none;
+}
+
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px;
+}
+
+@media print
+{
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
+}
+
diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png
new file mode 100644
index 000000000..3ff17d807
--- /dev/null
+++ b/doc/html/doxygen.png
Binary files differ
diff --git a/doc/html/dynsections.js b/doc/html/dynsections.js
new file mode 100644
index 000000000..ed092c7f6
--- /dev/null
+++ b/doc/html/dynsections.js
@@ -0,0 +1,97 @@
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+ content.hide();
+ summary.show();
+ $(linkObj).addClass('closed').removeClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ content.show();
+ summary.hide();
+ $(linkObj).removeClass('closed').addClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+ $('table.directory tr').
+ removeClass('even').filter(':visible:even').addClass('even');
+}
+function toggleLevel(level)
+{
+ $('table.directory tr').each(function(){
+ var l = this.id.split('_').length-1;
+ var i = $('#img'+this.id.substring(3));
+ var a = $('#arr'+this.id.substring(3));
+ if (l<level+1) {
+ i.attr('src','ftv2folderopen.png');
+ a.attr('src','ftv2mnode.png');
+ $(this).show();
+ } else if (l==level+1) {
+ i.attr('src','ftv2folderclosed.png');
+ a.attr('src','ftv2pnode.png');
+ $(this).show();
+ } else {
+ $(this).hide();
+ }
+ });
+ updateStripes();
+}
+
+function toggleFolder(id)
+{
+ //The clicked row
+ var currentRow = $('#row_'+id);
+ var currentRowImages = currentRow.find("img");
+
+ //All rows after the clicked row
+ var rows = currentRow.nextAll("tr");
+
+ //Only match elements AFTER this one (can't hide elements before)
+ var childRows = rows.filter(function() {
+ var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+ return this.id.match(re);
+ });
+
+ //First row is visible we are HIDING
+ if (childRows.filter(':first').is(':visible')===true) {
+ currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
+ currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
+ rows.filter("[id^=row_"+id+"]").hide();
+ } else { //We are SHOWING
+ //All sub images
+ var childImages = childRows.find("img");
+ var childImg = childImages.filter("[id^=img]");
+ var childArr = childImages.filter("[id^=arr]");
+
+ currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
+ currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
+ childImg.attr('src','ftv2folderclosed.png'); //children closed
+ childArr.attr('src','ftv2pnode.png'); //children closed
+ childRows.show(); //show all children
+ }
+ updateStripes();
+}
+
+
+function toggleInherit(id)
+{
+ var rows = $('tr.inherit.'+id);
+ var img = $('tr.inherit_header.'+id+' img');
+ var src = $(img).attr('src');
+ if (rows.filter(':first').is(':visible')===true) {
+ rows.css('display','none');
+ $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ rows.css('display','table-row'); // using show() causes jump in firefox
+ $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+}
+
diff --git a/doc/html/editblock_8php.html b/doc/html/editblock_8php.html
new file mode 100644
index 000000000..12660853a
--- /dev/null
+++ b/doc/html/editblock_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/editblock.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="rhash-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('editblock_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">editblock.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:abbe8f55de06967bc8d79d620509a49e6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content</a> (&amp;$a)</td></tr>
+<tr class="separator:abbe8f55de06967bc8d79d620509a49e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="abbe8f55de06967bc8d79d620509a49e6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">editblock_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/editblock_8php.js b/doc/html/editblock_8php.js
new file mode 100644
index 000000000..dae23cf05
--- /dev/null
+++ b/doc/html/editblock_8php.js
@@ -0,0 +1,4 @@
+var editblock_8php =
+[
+ [ "editblock_content", "editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6", null ]
+]; \ No newline at end of file
diff --git a/doc/html/editlayout_8php.html b/doc/html/editlayout_8php.html
new file mode 100644
index 000000000..c32a6bd5b
--- /dev/null
+++ b/doc/html/editlayout_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/editlayout.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="rhash-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('editlayout_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">editlayout.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:aa877e4157a26b099de904164181dd386"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aa877e4157a26b099de904164181dd386"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa877e4157a26b099de904164181dd386"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">editlayout_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/editlayout_8php.js b/doc/html/editlayout_8php.js
new file mode 100644
index 000000000..a41acddd1
--- /dev/null
+++ b/doc/html/editlayout_8php.js
@@ -0,0 +1,4 @@
+var editlayout_8php =
+[
+ [ "editlayout_content", "editlayout_8php.html#aa877e4157a26b099de904164181dd386", null ]
+]; \ No newline at end of file
diff --git a/doc/html/editpost_8php.html b/doc/html/editpost_8php.html
new file mode 100644
index 000000000..6daa6563e
--- /dev/null
+++ b/doc/html/editpost_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/editpost.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="rhash-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('editpost_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">editpost.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:a34011690864d122680c802e9e748ccfb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a34011690864d122680c802e9e748ccfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a34011690864d122680c802e9e748ccfb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">editpost_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/editpost_8php.js b/doc/html/editpost_8php.js
new file mode 100644
index 000000000..5012045da
--- /dev/null
+++ b/doc/html/editpost_8php.js
@@ -0,0 +1,4 @@
+var editpost_8php =
+[
+ [ "editpost_content", "editpost_8php.html#a34011690864d122680c802e9e748ccfb", null ]
+]; \ No newline at end of file
diff --git a/doc/html/editwebpage_8php.html b/doc/html/editwebpage_8php.html
new file mode 100644
index 000000000..a27badd7f
--- /dev/null
+++ b/doc/html/editwebpage_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/editwebpage.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="rhash-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('editwebpage_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">editwebpage.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:a375e945255fad79a71036528f7480650"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a375e945255fad79a71036528f7480650"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a375e945255fad79a71036528f7480650"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">editwebpage_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/editwebpage_8php.js b/doc/html/editwebpage_8php.js
new file mode 100644
index 000000000..c9e825bb8
--- /dev/null
+++ b/doc/html/editwebpage_8php.js
@@ -0,0 +1,4 @@
+var editwebpage_8php =
+[
+ [ "editwebpage_content", "editwebpage_8php.html#a375e945255fad79a71036528f7480650", null ]
+]; \ No newline at end of file
diff --git a/doc/html/enotify_8php.html b/doc/html/enotify_8php.html
new file mode 100644
index 000000000..9566f447d
--- /dev/null
+++ b/doc/html/enotify_8php.html
@@ -0,0 +1,145 @@
+<!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: include/enotify.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="rhash-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('enotify_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="#nested-classes">Classes</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">enotify.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="classenotify.html">enotify</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:a3e9a9355b243777c488d2a9883908dfc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification</a> ($params)</td></tr>
+<tr class="separator:a3e9a9355b243777c488d2a9883908dfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a3e9a9355b243777c488d2a9883908dfc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">notification </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$params</em></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>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, and <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/enotify_8php.js b/doc/html/enotify_8php.js
new file mode 100644
index 000000000..2dd8c6299
--- /dev/null
+++ b/doc/html/enotify_8php.js
@@ -0,0 +1,5 @@
+var enotify_8php =
+[
+ [ "enotify", "classenotify.html", null ],
+ [ "notification", "enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc", null ]
+]; \ No newline at end of file
diff --git a/doc/html/event_8php.html b/doc/html/event_8php.html
new file mode 100644
index 000000000..9cf9ee8ad
--- /dev/null
+++ b/doc/html/event_8php.html
@@ -0,0 +1,265 @@
+<!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: include/event.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="rhash-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('event_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">event.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:a2ac9f1b08de03250ecd794f705781d17"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html</a> ($ev)</td></tr>
+<tr class="separator:a2ac9f1b08de03250ecd794f705781d17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb74206cf42d694307c3d7abb7af9869"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#abb74206cf42d694307c3d7abb7af9869">format_event_bbcode</a> ($ev)</td></tr>
+<tr class="separator:abb74206cf42d694307c3d7abb7af9869"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a184d6b9690e5b6dee35a0aa9edd47279"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279">bbtovcal</a> ($s)</td></tr>
+<tr class="separator:a184d6b9690e5b6dee35a0aa9edd47279"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180cccd63c2a2f00ff432b03113531f3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#a180cccd63c2a2f00ff432b03113531f3">bbtoevent</a> ($s)</td></tr>
+<tr class="separator:a180cccd63c2a2f00ff432b03113531f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a018ea4484910a873a7c1eaa126de9b1a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#a018ea4484910a873a7c1eaa126de9b1a">sort_by_date</a> ($arr)</td></tr>
+<tr class="separator:a018ea4484910a873a7c1eaa126de9b1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32ba1b9ddf7a744a9a1512b052e5f850"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850">ev_compare</a> ($a, $b)</td></tr>
+<tr class="separator:a32ba1b9ddf7a744a9a1512b052e5f850"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89ef533faf345db8d64a58d4856bde3a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store</a> ($arr)</td></tr>
+<tr class="separator:a89ef533faf345db8d64a58d4856bde3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a180cccd63c2a2f00ff432b03113531f3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bbtoevent </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>Referenced by <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279">bbtovcal()</a>, <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, and <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a184d6b9690e5b6dee35a0aa9edd47279"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bbtovcal </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">
+
+</div>
+</div>
+<a class="anchor" id="a32ba1b9ddf7a744a9a1512b052e5f850"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ev_compare </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$b</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="a89ef533faf345db8d64a58d4856bde3a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">event_store </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="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, and <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abb74206cf42d694307c3d7abb7af9869"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">format_event_bbcode </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$ev</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2ac9f1b08de03250ecd794f705781d17"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">format_event_html </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$ev</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279">bbtovcal()</a>, and <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a018ea4484910a873a7c1eaa126de9b1a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">sort_by_date </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="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/event_8php.js b/doc/html/event_8php.js
new file mode 100644
index 000000000..3d6ce5806
--- /dev/null
+++ b/doc/html/event_8php.js
@@ -0,0 +1,10 @@
+var event_8php =
+[
+ [ "bbtoevent", "event_8php.html#a180cccd63c2a2f00ff432b03113531f3", null ],
+ [ "bbtovcal", "event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279", null ],
+ [ "ev_compare", "event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850", null ],
+ [ "event_store", "event_8php.html#a89ef533faf345db8d64a58d4856bde3a", null ],
+ [ "format_event_bbcode", "event_8php.html#abb74206cf42d694307c3d7abb7af9869", null ],
+ [ "format_event_html", "event_8php.html#a2ac9f1b08de03250ecd794f705781d17", null ],
+ [ "sort_by_date", "event_8php.html#a018ea4484910a873a7c1eaa126de9b1a", null ]
+]; \ No newline at end of file
diff --git a/doc/html/events_8php.html b/doc/html/events_8php.html
new file mode 100644
index 000000000..97f2c709d
--- /dev/null
+++ b/doc/html/events_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/events.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="rhash-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('events_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">events.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:ab3e8a8f901175f8e40a8089eea45c075"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post</a> (&amp;$a)</td></tr>
+<tr class="separator:ab3e8a8f901175f8e40a8089eea45c075"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d293fb217ae6bc9e3858c4b32e363ec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a1d293fb217ae6bc9e3858c4b32e363ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a1d293fb217ae6bc9e3858c4b32e363ec"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">events_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="ab3e8a8f901175f8e40a8089eea45c075"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">events_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/events_8php.js b/doc/html/events_8php.js
new file mode 100644
index 000000000..d53a51cbd
--- /dev/null
+++ b/doc/html/events_8php.js
@@ -0,0 +1,5 @@
+var events_8php =
+[
+ [ "events_content", "events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec", null ],
+ [ "events_post", "events_8php.html#ab3e8a8f901175f8e40a8089eea45c075", null ]
+]; \ No newline at end of file
diff --git a/doc/html/expire_8php.html b/doc/html/expire_8php.html
new file mode 100644
index 000000000..43e034032
--- /dev/null
+++ b/doc/html/expire_8php.html
@@ -0,0 +1,147 @@
+<!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: include/expire.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="rhash-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('expire_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">expire.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:a444e45c9b67727b27db4c779fd51a298"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
+<tr class="separator:a444e45c9b67727b27db4c779fd51a298"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a444e45c9b67727b27db4c779fd51a298"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">expire_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/expire_8php.js b/doc/html/expire_8php.js
new file mode 100644
index 000000000..6ecd16ffe
--- /dev/null
+++ b/doc/html/expire_8php.js
@@ -0,0 +1,4 @@
+var expire_8php =
+[
+ [ "expire_run", "expire_8php.html#a444e45c9b67727b27db4c779fd51a298", null ]
+]; \ No newline at end of file
diff --git a/doc/html/extract_8php.html b/doc/html/extract_8php.html
new file mode 100644
index 000000000..c4a4c3565
--- /dev/null
+++ b/doc/html/extract_8php.html
@@ -0,0 +1,181 @@
+<!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: util/extract.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="rhash-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('extract_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">extract.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a63bb4c41bc532baacf6a4976cfaa0feb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb">$arr</a> = array()</td></tr>
+<tr class="separator:a63bb4c41bc532baacf6a4976cfaa0feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9590b15215a21e9b42eb546aeef79704"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="extract_8php.html#a9590b15215a21e9b42eb546aeef79704">$files</a> = array('index.php','boot.php')</td></tr>
+<tr class="separator:a9590b15215a21e9b42eb546aeef79704"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50b05cf2e02ef0b67fcad97106dd7634"><td class="memItemLeft" align="right" valign="top"><a class="el" href="typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5">foreach</a>($files as $file)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634">$s</a> = '&lt;?php' . &quot;\n&quot;</td></tr>
+<tr class="separator:a50b05cf2e02ef0b67fcad97106dd7634"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0cbe524ffc9a496114fd7ba9f423ef44"><td class="memItemLeft" align="right" valign="top"><a class="el" href="typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5">foreach</a>($arr as $a)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="extract_8php.html#a0cbe524ffc9a496114fd7ba9f423ef44">$zones</a> = timezone_identifiers_list()</td></tr>
+<tr class="separator:a0cbe524ffc9a496114fd7ba9f423ef44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a63bb4c41bc532baacf6a4976cfaa0feb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$arr = array()</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_2network_8php.html#a0bdc4b0bfc54797c249dc4eca25aeda4">add_fcontact()</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#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="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#a1e97305a441dc143edbe09e17d1ceda1">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="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</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="identity_8php.html#a77ee7d66eb0758f7e7882f70ad0f9485">identity_basic_import()</a>, <a class="el" href="text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a">ids_to_querystr()</a>, <a class="el" href="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">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#ab0227978011d8601494a7651fa26acf0">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="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</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="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#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="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</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="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="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="boot_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>, <a class="el" href="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e">zot_get_hubloc()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">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>
+<a class="anchor" id="a9590b15215a21e9b42eb546aeef79704"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$files = array('index.php','boot.php')</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="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, and <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a50b05cf2e02ef0b67fcad97106dd7634"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$s = '&lt;?php' . &quot;\n&quot;</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="include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a">fetch_url()</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="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="include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e">post_url()</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#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="boot_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0cbe524ffc9a496114fd7ba9f423ef44"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5">foreach</a> ($arr as $a) $zones = timezone_identifiers_list()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/extract_8php.js b/doc/html/extract_8php.js
new file mode 100644
index 000000000..af6949603
--- /dev/null
+++ b/doc/html/extract_8php.js
@@ -0,0 +1,7 @@
+var extract_8php =
+[
+ [ "$arr", "extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb", null ],
+ [ "$files", "extract_8php.html#a9590b15215a21e9b42eb546aeef79704", null ],
+ [ "$s", "extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634", null ],
+ [ "$zones", "extract_8php.html#a0cbe524ffc9a496114fd7ba9f423ef44", null ]
+]; \ No newline at end of file
diff --git a/doc/html/fbrowser_8php.html b/doc/html/fbrowser_8php.html
new file mode 100644
index 000000000..e62617305
--- /dev/null
+++ b/doc/html/fbrowser_8php.html
@@ -0,0 +1,149 @@
+<!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/fbrowser.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="rhash-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('fbrowser_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="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">fbrowser.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespaceFriendica"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceFriendica.html">Friendica</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:aee476addcf7a3e0fe9454f7dfd5a56c4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content</a> ($a)</td></tr>
+<tr class="separator:aee476addcf7a3e0fe9454f7dfd5a56c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aee476addcf7a3e0fe9454f7dfd5a56c4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fbrowser_content </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/fbrowser_8php.js b/doc/html/fbrowser_8php.js
new file mode 100644
index 000000000..5dbc20d7b
--- /dev/null
+++ b/doc/html/fbrowser_8php.js
@@ -0,0 +1,4 @@
+var fbrowser_8php =
+[
+ [ "fbrowser_content", "fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4", null ]
+]; \ No newline at end of file
diff --git a/doc/html/fcontact_8php.html b/doc/html/fcontact_8php.html
new file mode 100644
index 000000000..a41905176
--- /dev/null
+++ b/doc/html/fcontact_8php.html
@@ -0,0 +1,187 @@
+<!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 Project: include/fcontact.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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('fcontact_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">fcontact.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:a4ce1d8d444c938790e0d50e003d04a15"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fcontact_8php.html#a4ce1d8d444c938790e0d50e003d04a15">fcontact_store</a> ($url, $name, $photo)</td></tr>
+<tr class="separator:a4ce1d8d444c938790e0d50e003d04a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4512592814dc7883b57bf01ac33353f6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fcontact_8php.html#a4512592814dc7883b57bf01ac33353f6">ffinder_store</a> ($uid, $cid, $fid)</td></tr>
+<tr class="separator:a4512592814dc7883b57bf01ac33353f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a4ce1d8d444c938790e0d50e003d04a15"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fcontact_store </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</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>$photo</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="a4512592814dc7883b57bf01ac33353f6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ffinder_store </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>$cid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$fid</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/fcontact_8php.js b/doc/html/fcontact_8php.js
new file mode 100644
index 000000000..de48747b1
--- /dev/null
+++ b/doc/html/fcontact_8php.js
@@ -0,0 +1,5 @@
+var fcontact_8php =
+[
+ [ "fcontact_store", "fcontact_8php.html#a4ce1d8d444c938790e0d50e003d04a15", null ],
+ [ "ffinder_store", "fcontact_8php.html#a4512592814dc7883b57bf01ac33353f6", null ]
+]; \ No newline at end of file
diff --git a/doc/html/features_8php.html b/doc/html/features_8php.html
new file mode 100644
index 000000000..86105f41b
--- /dev/null
+++ b/doc/html/features_8php.html
@@ -0,0 +1,166 @@
+<!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: include/features.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="rhash-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('features_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">features.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:a52b5bdfb61b256713efecf7a7b20b0c0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled</a> ($uid, $feature)</td></tr>
+<tr class="separator:a52b5bdfb61b256713efecf7a7b20b0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae73c5b03b01c7284ed7e7e0e774e975c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features</a> ()</td></tr>
+<tr class="separator:ae73c5b03b01c7284ed7e7e0e774e975c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a52b5bdfb61b256713efecf7a7b20b0c0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">feature_enabled </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>$feature</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="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#a1e97305a441dc143edbe09e17d1ceda1">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="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">redbasic_form()</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="view_2theme_2redstrap_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, and <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae73c5b03b01c7284ed7e7e0e774e975c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_features </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/features_8php.js b/doc/html/features_8php.js
new file mode 100644
index 000000000..d5f51e5f7
--- /dev/null
+++ b/doc/html/features_8php.js
@@ -0,0 +1,5 @@
+var features_8php =
+[
+ [ "feature_enabled", "features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0", null ],
+ [ "get_features", "features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c", null ]
+]; \ No newline at end of file
diff --git a/doc/html/feed_8php.html b/doc/html/feed_8php.html
new file mode 100644
index 000000000..eee97f745
--- /dev/null
+++ b/doc/html/feed_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/feed.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="rhash-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('feed_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">feed.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:af86137700b56f33d1d5f25c8dec22c04"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init</a> (&amp;$a)</td></tr>
+<tr class="separator:af86137700b56f33d1d5f25c8dec22c04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af86137700b56f33d1d5f25c8dec22c04"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">feed_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/feed_8php.js b/doc/html/feed_8php.js
new file mode 100644
index 000000000..b218d275b
--- /dev/null
+++ b/doc/html/feed_8php.js
@@ -0,0 +1,4 @@
+var feed_8php =
+[
+ [ "feed_init", "feed_8php.html#af86137700b56f33d1d5f25c8dec22c04", null ]
+]; \ No newline at end of file
diff --git a/doc/html/filer_8php.html b/doc/html/filer_8php.html
new file mode 100644
index 000000000..f43782620
--- /dev/null
+++ b/doc/html/filer_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/filer.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="rhash-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('filer_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">filer.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:a5fd5d7e61b2f9c43cb5f110c89dc4274"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a5fd5d7e61b2f9c43cb5f110c89dc4274"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a5fd5d7e61b2f9c43cb5f110c89dc4274"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">filer_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/filer_8php.js b/doc/html/filer_8php.js
new file mode 100644
index 000000000..be0098bdc
--- /dev/null
+++ b/doc/html/filer_8php.js
@@ -0,0 +1,4 @@
+var filer_8php =
+[
+ [ "filer_content", "filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274", null ]
+]; \ No newline at end of file
diff --git a/doc/html/filerm_8php.html b/doc/html/filerm_8php.html
new file mode 100644
index 000000000..95b780624
--- /dev/null
+++ b/doc/html/filerm_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/filerm.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="rhash-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('filerm_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">filerm.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:ae2eb28d2054fa2c37e38689882172208"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content</a> (&amp;$a)</td></tr>
+<tr class="separator:ae2eb28d2054fa2c37e38689882172208"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ae2eb28d2054fa2c37e38689882172208"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">filerm_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/filerm_8php.js b/doc/html/filerm_8php.js
new file mode 100644
index 000000000..bc36f3054
--- /dev/null
+++ b/doc/html/filerm_8php.js
@@ -0,0 +1,4 @@
+var filerm_8php =
+[
+ [ "filerm_content", "filerm_8php.html#ae2eb28d2054fa2c37e38689882172208", null ]
+]; \ No newline at end of file
diff --git a/doc/html/files.html b/doc/html/files.html
new file mode 100644
index 000000000..deb426527
--- /dev/null
+++ b/doc/html/files.html
@@ -0,0 +1,353 @@
+<!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: File 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="rhash-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 class="current"><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('files.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">File List</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_')"/><img id="img_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('0_')"/><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_')"/><img id="img_0_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('0_0_')"/><a class="el" href="dir_21bc5169ff11430004758be31dcfc6c4.html" target="_self">dba</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_" 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="dba__driver_8php.html" target="_self">dba_driver.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_1_" 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="dba__mysql_8php.html" target="_self">dba_mysql.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_2_" 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="dba__mysqli_8php.html" target="_self">dba_mysqli.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_1_')"/><img id="img_0_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('0_1_')"/><a class="el" href="dir_aae29906d7bfc07d076125f669c8352e.html" target="_self">photo</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_" 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="photo__driver_8php.html" target="_self">photo_driver.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_1_" 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="photo__gd_8php.html" target="_self">photo_gd.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_2_" 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="photo__imagick_8php.html" target="_self">photo_imagick.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_" 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="account_8php.html" target="_self">account.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_" 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__selectors_8php.html" target="_self">acl_selectors.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_" 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="activities_8php.html" target="_self">activities.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_" 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="include_2api_8php.html" target="_self">api.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_6_" 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="include_2attach_8php.html" target="_self">attach.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_7_" 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="auth_8php.html" target="_self">auth.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_8_" 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="BaseObject_8php.html" target="_self">BaseObject.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_9_" 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="bb2diaspora_8php.html" target="_self">bb2diaspora.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_10_" 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="bbcode_8php.html" target="_self">bbcode.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_11_" 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="cache_8php.html" target="_self">cache.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_12_" 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="cli__startup_8php.html" target="_self">cli_startup.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_13_" 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="cli__suggest_8php.html" target="_self">cli_suggest.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_14_" 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="comanche_8php.html" target="_self">comanche.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_15_" 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="include_2config_8php.html" target="_self">config.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_16_" 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="Contact_8php.html" target="_self">Contact.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_17_" 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="contact__selectors_8php.html" target="_self">contact_selectors.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_18_" 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="contact__widgets_8php.html" target="_self">contact_widgets.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_19_" 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="conversation_8php.html" target="_self">conversation.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_20_" 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="ConversationObject_8php.html" target="_self">ConversationObject.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_21_" 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="cronhooks_8php.html" target="_self">cronhooks.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_22_" 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="crypto_8php.html" target="_self">crypto.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_23_" 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="datetime_8php.html" target="_self">datetime.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_24_" 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="deliver_8php.html" target="_self">deliver.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_25_" 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="dir__fns_8php.html" target="_self">dir_fns.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_26_" 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="include_2directory_8php.html" target="_self">directory.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_27_" 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="enotify_8php.html" target="_self">enotify.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_28_" 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="event_8php.html" target="_self">event.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_29_" 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="expire_8php.html" target="_self">expire.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_30_" 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="features_8php.html" target="_self">features.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_31_" 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="include_2follow_8php.html" target="_self">follow.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_32_" 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="friendica__smarty_8php.html" target="_self">friendica_smarty.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_33_" 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="gprobe_8php.html" target="_self">gprobe.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_34_" 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="include_2group_8php.html" target="_self">group.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_35_" 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="html2bbcode_8php.html" target="_self">html2bbcode.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_36_" 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="html2plain_8php.html" target="_self">html2plain.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_37_" 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="identity_8php.html" target="_self">identity.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_38_" 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="ItemObject_8php.html" target="_self">ItemObject.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_39_" 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="ITemplateEngine_8php.html" target="_self">ITemplateEngine.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_40_" 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="items_8php.html" target="_self">items.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_41_" 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="language_8php.html" target="_self">language.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_42_" 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="include_2menu_8php.html" target="_self">menu.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_43_" 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="include_2message_8php.html" target="_self">message.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_44_" 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="nav_8php.html" target="_self">nav.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_45_" 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="include_2network_8php.html" target="_self">network.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_46_" 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="notifier_8php.html" target="_self">notifier.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_47_" 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="include_2notify_8php.html" target="_self">notify.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_48_" 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="oauth_8php.html" target="_self">oauth.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_49_" 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="include_2oembed_8php.html" target="_self">oembed.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_50_" 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="onepoll_8php.html" target="_self">onepoll.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_51_" 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="page__widgets_8php.html" target="_self">page_widgets.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_52_" 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="permissions_8php.html" target="_self">permissions.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_53_" 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="include_2photos_8php.html" target="_self">photos.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_54_" 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="plugin_8php.html" target="_self">plugin.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_55_" 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="poller_8php.html" target="_self">poller.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_56_" 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="profile__advanced_8php.html" target="_self">profile_advanced.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_57_" 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="profile__selectors_8php.html" target="_self">profile_selectors.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_58_" 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="ProtoDriver_8php.html" target="_self">ProtoDriver.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_59_" 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="queue_8php.html" target="_self">queue.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_60_" 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="queue__fn_8php.html" target="_self">queue_fn.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_61_" 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="security_8php.html" target="_self">security.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_62_" 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="session_8php.html" target="_self">session.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_63_" 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="socgraph_8php.html" target="_self">socgraph.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_64_" 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="system__unavailable_8php.html" target="_self">system_unavailable.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_65_" 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="taxonomy_8php.html" target="_self">taxonomy.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_66_" 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="template__processor_8php.html" target="_self">template_processor.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_67_" 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="text_8php.html" target="_self">text.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_68_" 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_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>
+<tr id="row_1_7_" 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="blocks_8php.html" target="_self">blocks.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_8_" 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="chanman_8php.html" target="_self">chanman.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_9_" 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="channel_8php.html" target="_self">channel.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_10_" 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="chanview_8php.html" target="_self">chanview.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_11_" 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="common_8php.html" target="_self">common.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_12_" 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_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="connect_8php.html" target="_self">connect.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="connections_8php.html" target="_self">connections.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="contactgroup_8php.html" target="_self">contactgroup.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="crepair_8php.html" target="_self">crepair.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="delegate_8php.html" target="_self">delegate.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="mod_2directory_8php.html" target="_self">directory.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="dirfind_8php.html" target="_self">dirfind.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_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_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="nogroup_8php.html" target="_self">nogroup.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="notifications_8php.html" target="_self">notifications.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_2notify_8php.html" target="_self">notify.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_62_" 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>
+<tr id="row_1_63_" 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="oexchange_8php.html" target="_self">oexchange.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_64_" 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="opensearch_8php.html" target="_self">opensearch.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_65_" 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="page_8php.html" target="_self">page.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_66_" 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="parse__url_8php.html" target="_self">parse_url.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_67_" 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="photo_8php.html" target="_self">photo.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_68_" 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_2photos_8php.html" target="_self">photos.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_69_" 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="php_8php.html" target="_self">php.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_70_" 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="ping_8php.html" target="_self">ping.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_71_" 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="poco_8php.html" target="_self">poco.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_72_" 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="poke_8php.html" target="_self">poke.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_73_" 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="post_8php.html" target="_self">post.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_74_" 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="pretheme_8php.html" target="_self">pretheme.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_75_" 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="probe_8php.html" target="_self">probe.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_76_" 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="profile_8php.html" target="_self">profile.php</a></td><td class="desc"></td></tr>
+<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="profile__photo_8php.html" target="_self">profile_photo.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="profiles_8php.html" target="_self">profiles.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="profperm_8php.html" target="_self">profperm.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="pubsites_8php.html" target="_self">pubsites.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="qsearch_8php.html" target="_self">qsearch.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="randprof_8php.html" target="_self">randprof.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="redir_8php.html" target="_self">redir.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="register_8php.html" target="_self">register.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="regmod_8php.html" target="_self">regmod.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="removeme_8php.html" target="_self">removeme.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="rmagic_8php.html" target="_self">rmagic.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="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="uexport_8php.html" target="_self">uexport.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="update__channel_8php.html" target="_self">update_channel.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__community_8php.html" target="_self">update_community.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__display_8php.html" target="_self">update_display.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__network_8php.html" target="_self">update_network.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__search_8php.html" target="_self">update_search.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="view_8php.html" target="_self">view.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="viewconnections_8php.html" target="_self">viewconnections.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="viewsrc_8php.html" target="_self">viewsrc.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="vote_8php.html" target="_self">vote.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="wall__attach_8php.html" target="_self">wall_attach.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__upload_8php.html" target="_self">wall_upload.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="webfinger_8php.html" target="_self">webfinger.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="webpages_8php.html" target="_self">webpages.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="wfinger_8php.html" target="_self">wfinger.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="xchan_8php.html" target="_self">xchan.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="xrd_8php.html" target="_self">xrd.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="zfinger_8php.html" target="_self">zfinger.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="zotfeed_8php.html" target="_self">zotfeed.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="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>
+<tr id="row_2_" class="even"><td class="entry"><img id="arr_2_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('2_')"/><img id="img_2_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('2_')"/><a class="el" href="dir_23ec12649285f9fabf3a6b7380226c28.html" target="_self">util</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_2_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('2_0_')"/><img id="img_2_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('2_0_')"/><a class="el" href="dir_0eaa4a0adae8ba4811e133c6e594aeee.html" target="_self">fpostit</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_0_" 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="fpostit_8php.html" target="_self">fpostit.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_1_" 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="db__update_8php.html" target="_self">db_update.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_2_" 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="docblox__errorchecker_8php.html" target="_self">docblox_errorchecker.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_3_" 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="extract_8php.html" target="_self">extract.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_4_" 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="friendica-to-smarty-tpl_8py.html" target="_self">friendica-to-smarty-tpl.py</a></td><td class="desc"></td></tr>
+<tr id="row_2_5_" 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="php2po_8php.html" target="_self">php2po.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_6_" 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="po2php_8php.html" target="_self">po2php.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_7_" 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="tpldebug_8php.html" target="_self">tpldebug.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_8_" 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="typo_8php.html" target="_self">typo.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_9_" 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="typohelper_8php.html" target="_self">typohelper.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_10_" 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="updatetpl_8py.html" target="_self">updatetpl.py</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><img id="arr_3_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_')"/><img id="img_3_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_')"/><a class="el" href="dir_b2f003339c516cc00c8cadcafbe82f13.html" target="_self">view</a></td><td class="desc"></td></tr>
+<tr id="row_3_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_0_')"/><img id="img_3_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_0_')"/><a class="el" href="dir_817f6d302394b98e59575acdb59998bc.html" target="_self">php</a></td><td class="desc"></td></tr>
+<tr id="row_3_0_0_" 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="php_2default_8php.html" target="_self">default.php</a></td><td class="desc"></td></tr>
+<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="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_55dbaf9b7b53c4fc605c9011743a7353.html" target="_self">redbasic</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="ftv2plastnode.png" alt="\" 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_032dd9e2cfe278a2cfa5eb9547448eb9.html" target="_self">php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_0_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 src="ftv2blank.png" alt="&#160;" 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_2theme_2redbasic_2php_2config_8php.html" target="_self">config.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_0_0_1_" 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 src="ftv2blank.png" alt="&#160;" 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="redbasic_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_0_0_2_" 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 src="ftv2blank.png" alt="&#160;" 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="redbasic_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_1_" 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_1_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_1_')"/><img id="img_3_1_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_1_')"/><a class="el" href="dir_d795dfe8933002397556cc7aa16eca15.html" target="_self">redstrap</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_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 src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_1_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_1_0_')"/><img id="img_3_1_1_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_1_0_')"/><a class="el" href="dir_6b44a0e797e2f12381093380e3e54763.html" target="_self">php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_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="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" 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_2theme_2redstrap_2php_2config_8php.html" target="_self">config.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_1_0_1_" 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="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" 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="theme_2redstrap_2php_2default_8php.html" target="_self">default.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_1_0_2_" 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="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" 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="redstrap_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_1_0_3_" 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="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" 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="redstrap_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_1_0_4_" 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="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" 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="theme_2redstrap_2php_2theme__init_8php.html" target="_self">theme_init.php</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="boot_8php.html" target="_self">boot.php</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/files.js b/doc/html/files.js
new file mode 100644
index 000000000..705395136
--- /dev/null
+++ b/doc/html/files.js
@@ -0,0 +1,8 @@
+var files =
+[
+ [ "include", "dir_d44c64559bbebec7f509842c48db8b23.html", "dir_d44c64559bbebec7f509842c48db8b23" ],
+ [ "mod", "dir_d41ce877eb409a4791b288730010abe2.html", "dir_d41ce877eb409a4791b288730010abe2" ],
+ [ "util", "dir_23ec12649285f9fabf3a6b7380226c28.html", "dir_23ec12649285f9fabf3a6b7380226c28" ],
+ [ "view", "dir_b2f003339c516cc00c8cadcafbe82f13.html", "dir_b2f003339c516cc00c8cadcafbe82f13" ],
+ [ "boot.php", "boot_8php.html", "boot_8php" ]
+]; \ No newline at end of file
diff --git a/doc/html/filestorage_8php.html b/doc/html/filestorage_8php.html
new file mode 100644
index 000000000..9b886f8bc
--- /dev/null
+++ b/doc/html/filestorage_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/filestorage.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="rhash-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('filestorage_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">filestorage.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: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>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a61bb1be78472555df4ce619f51014040"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">filestorage_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/filestorage_8php.js b/doc/html/filestorage_8php.js
new file mode 100644
index 000000000..347b67626
--- /dev/null
+++ b/doc/html/filestorage_8php.js
@@ -0,0 +1,4 @@
+var filestorage_8php =
+[
+ [ "filestorage_content", "filestorage_8php.html#a61bb1be78472555df4ce619f51014040", null ]
+]; \ No newline at end of file
diff --git a/doc/html/fpostit_8php.html b/doc/html/fpostit_8php.html
new file mode 100644
index 000000000..2271bcd54
--- /dev/null
+++ b/doc/html/fpostit_8php.html
@@ -0,0 +1,172 @@
+<!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: util/fpostit/fpostit.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="rhash-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('fpostit_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> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">fpostit.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:a3f3ae3ae61578b5671673914fd894443"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpostit_8php.html#a3f3ae3ae61578b5671673914fd894443">showForm</a> ($error, $content)</td></tr>
+<tr class="separator:a3f3ae3ae61578b5671673914fd894443"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a501b5ca82f287509fc691c88524064c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(($_POST[&quot;friendika_acct_name&quot;]!= <br class="typebreak"/>
+'')&amp;&amp;($_POST[&quot;friendika_password&quot;]!= <br class="typebreak"/>
+'')) if(isset($_GET['title'])) <br class="typebreak"/>
+<a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(isset($_GET['text'])) <a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(isset($_GET['url'])) <br class="typebreak"/>
+<a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>((isset($title))&amp;&amp;(isset($text))&amp;&amp;(isset($url)))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fpostit_8php.html#a501b5ca82f287509fc691c88524064c1">else</a></td></tr>
+<tr class="separator:a501b5ca82f287509fc691c88524064c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a3f3ae3ae61578b5671673914fd894443"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">showForm </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$error</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$content</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a501b5ca82f287509fc691c88524064c1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (isset($_POST['submit'])) else</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">{</div>
+<div class="line"> $content = $_POST[<span class="stringliteral">&#39;content&#39;</span>]</div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/fpostit_8php.js b/doc/html/fpostit_8php.js
new file mode 100644
index 000000000..f1da198d9
--- /dev/null
+++ b/doc/html/fpostit_8php.js
@@ -0,0 +1,5 @@
+var fpostit_8php =
+[
+ [ "showForm", "fpostit_8php.html#a3f3ae3ae61578b5671673914fd894443", null ],
+ [ "else", "fpostit_8php.html#a501b5ca82f287509fc691c88524064c1", null ]
+]; \ No newline at end of file
diff --git a/doc/html/fred-48.png b/doc/html/fred-48.png
new file mode 100644
index 000000000..7cee38ef6
--- /dev/null
+++ b/doc/html/fred-48.png
Binary files differ
diff --git a/doc/html/fresh_8md.html b/doc/html/fresh_8md.html
new file mode 100644
index 000000000..1624daf40
--- /dev/null
+++ b/doc/html/fresh_8md.html
@@ -0,0 +1,112 @@
+<!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: util/fresh.md 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="rhash-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('fresh_8md.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">util/fresh.md File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/friendica-to-smarty-tpl_8py.html b/doc/html/friendica-to-smarty-tpl_8py.html
new file mode 100644
index 000000000..cbf96d98a
--- /dev/null
+++ b/doc/html/friendica-to-smarty-tpl_8py.html
@@ -0,0 +1,158 @@
+<!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: util/friendica-to-smarty-tpl.py 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="rhash-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('friendica-to-smarty-tpl_8py.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="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">friendica-to-smarty-tpl.py File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacefriendica-to-smarty-tpl"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html">friendica-to-smarty-tpl</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:a89388ea9b2826e8218ed480e917d8105"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a89388ea9b2826e8218ed480e917d8105">friendica-to-smarty-tpl.fToSmarty</a></td></tr>
+<tr class="separator:a89388ea9b2826e8218ed480e917d8105"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3719dd46e286a57d315e6adae1845854"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a3719dd46e286a57d315e6adae1845854">friendica-to-smarty-tpl.fix_element</a></td></tr>
+<tr class="separator:a3719dd46e286a57d315e6adae1845854"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38503e37fe68ac27c88cce91a9ac9efa"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a38503e37fe68ac27c88cce91a9ac9efa">friendica-to-smarty-tpl.convert</a></td></tr>
+<tr class="separator:a38503e37fe68ac27c88cce91a9ac9efa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6b2c793958aae2aadc294577431f749"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#af6b2c793958aae2aadc294577431f749">friendica-to-smarty-tpl.help</a></td></tr>
+<tr class="separator:af6b2c793958aae2aadc294577431f749"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a0b4cf73d1a8d201a28d269eeb62a5d5c"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a0b4cf73d1a8d201a28d269eeb62a5d5c">friendica-to-smarty-tpl.ldelim</a> = '{{'</td></tr>
+<tr class="separator:a0b4cf73d1a8d201a28d269eeb62a5d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8540514fb7c4aa18ad2dffa2a975036b"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a8540514fb7c4aa18ad2dffa2a975036b">friendica-to-smarty-tpl.rdelim</a> = '}}'</td></tr>
+<tr class="separator:a8540514fb7c4aa18ad2dffa2a975036b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68d15934660cd1f4301ce251b1646f09"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09">friendica-to-smarty-tpl.path</a> = ''</td></tr>
+<tr class="separator:a68d15934660cd1f4301ce251b1646f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a005c1b7a69cac31fad72a941974ba7bb"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a005c1b7a69cac31fad72a941974ba7bb">friendica-to-smarty-tpl.outpath</a> = path+'smarty3/'</td></tr>
+<tr class="separator:a005c1b7a69cac31fad72a941974ba7bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae74419b16516956c66f7db714a93a6ac"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#ae74419b16516956c66f7db714a93a6ac">friendica-to-smarty-tpl.files</a> = os.listdir(path)</td></tr>
+<tr class="separator:ae74419b16516956c66f7db714a93a6ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5dfc21ab8282dda8e3a7dff43cd0e283"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a5dfc21ab8282dda8e3a7dff43cd0e283">friendica-to-smarty-tpl.php_tpl</a> = True</td></tr>
+<tr class="separator:a5dfc21ab8282dda8e3a7dff43cd0e283"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f9bf7a67d955c0d6be70a82097611c5"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a5f9bf7a67d955c0d6be70a82097611c5">friendica-to-smarty-tpl.filename</a> = os.path.join(path,a_file)</td></tr>
+<tr class="separator:a5f9bf7a67d955c0d6be70a82097611c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aecf730e0884bb4ddc6c0deb1ef85f8eb"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#aecf730e0884bb4ddc6c0deb1ef85f8eb">friendica-to-smarty-tpl.ext</a> = a_file.split('.')</td></tr>
+<tr class="separator:aecf730e0884bb4ddc6c0deb1ef85f8eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a965e1d6d6293654a56e029a7e454dec7"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a965e1d6d6293654a56e029a7e454dec7">friendica-to-smarty-tpl.f</a> = open(filename, 'r')</td></tr>
+<tr class="separator:a965e1d6d6293654a56e029a7e454dec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9ef87ccb2c9960501f5e02424a22d80"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#ad9ef87ccb2c9960501f5e02424a22d80">friendica-to-smarty-tpl.newfilename</a> = os.path.join(outpath,a_file)</td></tr>
+<tr class="separator:ad9ef87ccb2c9960501f5e02424a22d80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87182a9bab47640428bd0b2b9946bef9"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a87182a9bab47640428bd0b2b9946bef9">friendica-to-smarty-tpl.outf</a> = open(newfilename, 'w')</td></tr>
+<tr class="separator:a87182a9bab47640428bd0b2b9946bef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/friendica-to-smarty-tpl_8py.js b/doc/html/friendica-to-smarty-tpl_8py.js
new file mode 100644
index 000000000..41fc17aef
--- /dev/null
+++ b/doc/html/friendica-to-smarty-tpl_8py.js
@@ -0,0 +1,18 @@
+var friendica_to_smarty_tpl_8py =
+[
+ [ "convert", "friendica-to-smarty-tpl_8py.html#a38503e37fe68ac27c88cce91a9ac9efa", null ],
+ [ "fix_element", "friendica-to-smarty-tpl_8py.html#a3719dd46e286a57d315e6adae1845854", null ],
+ [ "fToSmarty", "friendica-to-smarty-tpl_8py.html#a89388ea9b2826e8218ed480e917d8105", null ],
+ [ "help", "friendica-to-smarty-tpl_8py.html#af6b2c793958aae2aadc294577431f749", null ],
+ [ "ext", "friendica-to-smarty-tpl_8py.html#aecf730e0884bb4ddc6c0deb1ef85f8eb", null ],
+ [ "f", "friendica-to-smarty-tpl_8py.html#a965e1d6d6293654a56e029a7e454dec7", null ],
+ [ "filename", "friendica-to-smarty-tpl_8py.html#a5f9bf7a67d955c0d6be70a82097611c5", null ],
+ [ "files", "friendica-to-smarty-tpl_8py.html#ae74419b16516956c66f7db714a93a6ac", null ],
+ [ "ldelim", "friendica-to-smarty-tpl_8py.html#a0b4cf73d1a8d201a28d269eeb62a5d5c", null ],
+ [ "newfilename", "friendica-to-smarty-tpl_8py.html#ad9ef87ccb2c9960501f5e02424a22d80", null ],
+ [ "outf", "friendica-to-smarty-tpl_8py.html#a87182a9bab47640428bd0b2b9946bef9", null ],
+ [ "outpath", "friendica-to-smarty-tpl_8py.html#a005c1b7a69cac31fad72a941974ba7bb", null ],
+ [ "path", "friendica-to-smarty-tpl_8py.html#a68d15934660cd1f4301ce251b1646f09", null ],
+ [ "php_tpl", "friendica-to-smarty-tpl_8py.html#a5dfc21ab8282dda8e3a7dff43cd0e283", null ],
+ [ "rdelim", "friendica-to-smarty-tpl_8py.html#a8540514fb7c4aa18ad2dffa2a975036b", null ]
+]; \ No newline at end of file
diff --git a/doc/html/friendica__smarty_8php.html b/doc/html/friendica__smarty_8php.html
new file mode 100644
index 000000000..c242f3933
--- /dev/null
+++ b/doc/html/friendica__smarty_8php.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: include/friendica_smarty.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="rhash-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('friendica__smarty_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="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">friendica_smarty.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="classFriendicaSmarty.html">FriendicaSmarty</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="classFriendicaSmartyEngine.html">FriendicaSmartyEngine</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/fsuggest_8php.html b/doc/html/fsuggest_8php.html
new file mode 100644
index 000000000..1bb670262
--- /dev/null
+++ b/doc/html/fsuggest_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/fsuggest.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="rhash-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('fsuggest_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">fsuggest.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:a61ecfe10ce937ed526614f8fd3de3c7d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a61ecfe10ce937ed526614f8fd3de3c7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6c49ed4b50a387f1845f36844dd7998"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aa6c49ed4b50a387f1845f36844dd7998"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa6c49ed4b50a387f1845f36844dd7998"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fsuggest_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="a61ecfe10ce937ed526614f8fd3de3c7d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fsuggest_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/fsuggest_8php.js b/doc/html/fsuggest_8php.js
new file mode 100644
index 000000000..e2c0f9a50
--- /dev/null
+++ b/doc/html/fsuggest_8php.js
@@ -0,0 +1,5 @@
+var fsuggest_8php =
+[
+ [ "fsuggest_content", "fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998", null ],
+ [ "fsuggest_post", "fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/ftv2blank.png b/doc/html/ftv2blank.png
new file mode 100644
index 000000000..63c605bb4
--- /dev/null
+++ b/doc/html/ftv2blank.png
Binary files differ
diff --git a/doc/html/ftv2cl.png b/doc/html/ftv2cl.png
new file mode 100644
index 000000000..132f6577b
--- /dev/null
+++ b/doc/html/ftv2cl.png
Binary files differ
diff --git a/doc/html/ftv2doc.png b/doc/html/ftv2doc.png
new file mode 100644
index 000000000..17edabff9
--- /dev/null
+++ b/doc/html/ftv2doc.png
Binary files differ
diff --git a/doc/html/ftv2folderclosed.png b/doc/html/ftv2folderclosed.png
new file mode 100644
index 000000000..bb8ab35ed
--- /dev/null
+++ b/doc/html/ftv2folderclosed.png
Binary files differ
diff --git a/doc/html/ftv2folderopen.png b/doc/html/ftv2folderopen.png
new file mode 100644
index 000000000..d6c7f676a
--- /dev/null
+++ b/doc/html/ftv2folderopen.png
Binary files differ
diff --git a/doc/html/ftv2lastnode.png b/doc/html/ftv2lastnode.png
new file mode 100644
index 000000000..63c605bb4
--- /dev/null
+++ b/doc/html/ftv2lastnode.png
Binary files differ
diff --git a/doc/html/ftv2link.png b/doc/html/ftv2link.png
new file mode 100644
index 000000000..17edabff9
--- /dev/null
+++ b/doc/html/ftv2link.png
Binary files differ
diff --git a/doc/html/ftv2mlastnode.png b/doc/html/ftv2mlastnode.png
new file mode 100644
index 000000000..0b63f6d38
--- /dev/null
+++ b/doc/html/ftv2mlastnode.png
Binary files differ
diff --git a/doc/html/ftv2mnode.png b/doc/html/ftv2mnode.png
new file mode 100644
index 000000000..0b63f6d38
--- /dev/null
+++ b/doc/html/ftv2mnode.png
Binary files differ
diff --git a/doc/html/ftv2mo.png b/doc/html/ftv2mo.png
new file mode 100644
index 000000000..4bfb80f76
--- /dev/null
+++ b/doc/html/ftv2mo.png
Binary files differ
diff --git a/doc/html/ftv2node.png b/doc/html/ftv2node.png
new file mode 100644
index 000000000..63c605bb4
--- /dev/null
+++ b/doc/html/ftv2node.png
Binary files differ
diff --git a/doc/html/ftv2ns.png b/doc/html/ftv2ns.png
new file mode 100644
index 000000000..72e3d71c2
--- /dev/null
+++ b/doc/html/ftv2ns.png
Binary files differ
diff --git a/doc/html/ftv2plastnode.png b/doc/html/ftv2plastnode.png
new file mode 100644
index 000000000..c6ee22f93
--- /dev/null
+++ b/doc/html/ftv2plastnode.png
Binary files differ
diff --git a/doc/html/ftv2pnode.png b/doc/html/ftv2pnode.png
new file mode 100644
index 000000000..c6ee22f93
--- /dev/null
+++ b/doc/html/ftv2pnode.png
Binary files differ
diff --git a/doc/html/ftv2splitbar.png b/doc/html/ftv2splitbar.png
new file mode 100644
index 000000000..fe895f2c5
--- /dev/null
+++ b/doc/html/ftv2splitbar.png
Binary files differ
diff --git a/doc/html/ftv2vertline.png b/doc/html/ftv2vertline.png
new file mode 100644
index 000000000..63c605bb4
--- /dev/null
+++ b/doc/html/ftv2vertline.png
Binary files differ
diff --git a/doc/html/full_8php.html b/doc/html/full_8php.html
new file mode 100644
index 000000000..483a31152
--- /dev/null
+++ b/doc/html/full_8php.html
@@ -0,0 +1,133 @@
+<!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: view/php/full.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="rhash-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('full_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">full.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<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="separator:a6fac1b4b8cdfde06ea1b7713479e92db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a6fac1b4b8cdfde06ea1b7713479e92db"></a>
+<div class="memitem">
+<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>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/full_8php.js b/doc/html/full_8php.js
new file mode 100644
index 000000000..c63a31b79
--- /dev/null
+++ b/doc/html/full_8php.js
@@ -0,0 +1,4 @@
+var full_8php =
+[
+ [ "if", "full_8php.html#a6fac1b4b8cdfde06ea1b7713479e92db", null ]
+]; \ No newline at end of file
diff --git a/doc/html/functions.html b/doc/html/functions.html
new file mode 100644
index 000000000..a1218aa43
--- /dev/null
+++ b/doc/html/functions.html
@@ -0,0 +1,440 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_0x24"></a>- $ -</h3><ul>
+<li>$account
+: <a class="el" href="classApp.html#a14bd4b1c29f3aff371fe5d4cb11aeea3">App</a>
+</li>
+<li>$app
+: <a class="el" href="classBaseObject.html#a02cc4cd8fa26b6fc76d92fde54b4e4b1">BaseObject</a>
+</li>
+<li>$apps
+: <a class="el" href="classApp.html#a230e975296cf164da2fee35ef720964f">App</a>
+</li>
+<li>$argc
+: <a class="el" href="classApp.html#af58db526040829b1c8bd95561b329262">App</a>
+</li>
+<li>$argv
+: <a class="el" href="classApp.html#ab3da757abe5cb45bf88f07cc51a73b58">App</a>
+</li>
+<li>$baseurl
+: <a class="el" href="classApp.html#ad5175536561021548ae8188e24c7b80c">App</a>
+</li>
+<li>$cached_profile_image
+: <a class="el" href="classApp.html#abe0e4fa91097f7a6588e1213a834121c">App</a>
+</li>
+<li>$cached_profile_picdate
+: <a class="el" href="classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e">App</a>
+</li>
+<li>$category
+: <a class="el" href="classApp.html#a5cfc098c061b7d765add58fd2ca97445">App</a>
+</li>
+<li>$channel
+: <a class="el" href="classApp.html#a050b0696118da47e8b30859ad1a2c149">App</a>
+, <a class="el" href="classItem.html#acc32426c0f465391be8a99ad810c7b8e">Item</a>
+</li>
+<li>$children
+: <a class="el" href="classItem.html#a80dcd0fb7673776c0967839d429c2a0f">Item</a>
+</li>
+<li>$cid
+: <a class="el" href="classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0">App</a>
+</li>
+<li>$cmd
+: <a class="el" href="classApp.html#a495ec082c2719314e536070ca1ce073d">App</a>
+</li>
+<li>$comment_box_template
+: <a class="el" href="classItem.html#a90743c8348b13213275c223bb9333aa0">Item</a>
+</li>
+<li>$commentable
+: <a class="el" href="classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6">Conversation</a>
+</li>
+<li>$config
+: <a class="el" href="classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88">App</a>
+</li>
+<li>$connected
+: <a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">dba_driver</a>
+</li>
+<li>$contact
+: <a class="el" href="classApp.html#a98ef4cfd36693a3457c879b76bc6d694">App</a>
+</li>
+<li>$contacts
+: <a class="el" href="classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2">App</a>
+</li>
+<li>$content
+: <a class="el" href="classApp.html#ac1d80a14492acc932715d54567d8a589">App</a>
+</li>
+<li>$conversation
+: <a class="el" href="classItem.html#a007424e3e3171dcfb4312a02161da6cd">Item</a>
+</li>
+<li>$css_sources
+: <a class="el" href="classApp.html#a6f55d087e1ff4710132c1b0863faa2ee">App</a>
+</li>
+<li>$curl_code
+: <a class="el" href="classApp.html#a256360c9184fed6d7556e0bc0a835d7f">App</a>
+</li>
+<li>$curl_headers
+: <a class="el" href="classApp.html#af5007c42a693afd9c4899c243b2e1363">App</a>
+</li>
+<li>$d
+: <a class="el" href="classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38">Template</a>
+</li>
+<li>$data
+: <a class="el" href="classApp.html#a0ce85be198e46570366cb3344f3c55b8">App</a>
+, <a class="el" href="classItem.html#aec24e233f9098f902b1e57e60dcb2019">Item</a>
+</li>
+<li>$db
+: <a class="el" href="classApp.html#a330410a288f3393d53772f5e98f857ea">App</a>
+, <a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">dba_driver</a>
+</li>
+<li>$debug
+: <a class="el" href="classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a">Template</a>
+, <a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">dba_driver</a>
+</li>
+<li>$done
+: <a class="el" href="classTemplate.html#abda4c8d049f70553338eae7c905e9d5c">Template</a>
+</li>
+<li>$error
+: <a class="el" href="classApp.html#ac1a8b2cd40609b231a560201a08852ba">App</a>
+, <a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">dba_driver</a>
+</li>
+<li>$filename
+: <a class="el" href="classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690">FriendicaSmarty</a>
+</li>
+<li>$force_max_items
+: <a class="el" href="classApp.html#ae3f47830543d0d902f66913def8db66b">App</a>
+</li>
+<li>$groups
+: <a class="el" href="classApp.html#ac6e6b1c7d6df408580ff79977fcfa656">App</a>
+</li>
+<li>$height
+: <a class="el" href="classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80">photo_driver</a>
+</li>
+<li>$hooks
+: <a class="el" href="classApp.html#a3694aa1907aa103a2adbc71f926f0fa0">App</a>
+</li>
+<li>$hostname
+: <a class="el" href="classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3">App</a>
+</li>
+<li>$identities
+: <a class="el" href="classApp.html#a7954862f44f606b0ff83d4c74d15e792">App</a>
+</li>
+<li>$image
+: <a class="el" href="classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55">photo_driver</a>
+</li>
+<li>$interactive
+: <a class="el" href="classApp.html#a4c7cfc62d39508086cf300dc2e39c4df">App</a>
+</li>
+<li>$js_sources
+: <a class="el" href="classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d">App</a>
+</li>
+<li>$lang
+: <a class="el" href="classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8">Template</a>
+</li>
+<li>$language
+: <a class="el" href="classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f">App</a>
+</li>
+<li>$layout
+: <a class="el" href="classApp.html#a58ac598544892ff7c32890291b72635e">App</a>
+</li>
+<li>$ldelim
+: <a class="el" href="classApp.html#a59dd4b665c70e7dbd80682c014ff7145">App</a>
+</li>
+<li>$mode
+: <a class="el" href="classConversation.html#afb03d1648dbfafe62caa1e30f32f2b1a">Conversation</a>
+</li>
+<li>$module
+: <a class="el" href="classApp.html#a9bf62f8e39585c0aa48fcffc3bf3484d">App</a>
+</li>
+<li>$module_loaded
+: <a class="el" href="classApp.html#a6e4f0fbfa3cf6c11baebe22a03db6165">App</a>
+</li>
+<li>$name
+: <a class="el" href="classFriendicaSmartyEngine.html#aaba6a42101bc9ae32e36b7fa2e243f02">FriendicaSmartyEngine</a>
+, <a class="el" href="classTemplate.html#a6eb301a51cc94d8b94f4548fbad85eae">Template</a>
+</li>
+<li>$nav_sel
+: <a class="el" href="classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c">App</a>
+</li>
+<li>$nodes
+: <a class="el" href="classTemplate.html#a8f4d17e49f42b876a97364c13fb572d1">Template</a>
+</li>
+<li>$observer
+: <a class="el" href="classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f">App</a>
+, <a class="el" href="classConversation.html#a8748445aa26047ebed5141f3c3cbc244">Conversation</a>
+</li>
+<li>$owner_name
+: <a class="el" href="classItem.html#a9594df6014b0b6f45364ea7a34510130">Item</a>
+</li>
+<li>$owner_photo
+: <a class="el" href="classItem.html#a078f95b4134ce3a1df344cf8d386f986">Item</a>
+</li>
+<li>$owner_url
+: <a class="el" href="classItem.html#afa54851df82962c7c42dea3cc9f5c92c">Item</a>
+</li>
+<li>$page
+: <a class="el" href="classApp.html#a4b67935096f66d1f14b657399a8461ac">App</a>
+</li>
+<li>$pager
+: <a class="el" href="classApp.html#a6bcb19cdc4907077da72864686d5a780">App</a>
+</li>
+<li>$parent
+: <a class="el" href="classItem.html#a1a1e42877e6ac7af50286142ceb483d2">Item</a>
+</li>
+<li>$path
+: <a class="el" href="classApp.html#acad5896b7a79ae31433ad8f89606c728">App</a>
+</li>
+<li>$perms
+: <a class="el" href="classApp.html#ab47de68fa39806d1fb0976407e188b77">App</a>
+</li>
+<li>$plugins
+: <a class="el" href="classApp.html#ae9f96338f32187d308b67b980eea0008">App</a>
+</li>
+<li>$preview
+: <a class="el" href="classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae">Conversation</a>
+</li>
+<li>$profile
+: <a class="el" href="classApp.html#a57d041fcc003d08c127dfa99a02bc192">App</a>
+</li>
+<li>$profile_owner
+: <a class="el" href="classConversation.html#a2f12724ef0244e9049fe1bb9641b516d">Conversation</a>
+</li>
+<li>$profile_uid
+: <a class="el" href="classApp.html#a08c24d6a6fc52fcc784b0f765f13b820">App</a>
+</li>
+<li>$query_string
+: <a class="el" href="classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f">App</a>
+</li>
+<li>$r
+: <a class="el" href="classTemplate.html#aac9a4638f11271e1b1dcc9f247242718">Template</a>
+</li>
+<li>$rdelim
+: <a class="el" href="classApp.html#a244b2d53b21be269aad2269d23192f95">App</a>
+</li>
+<li>$redirect_url
+: <a class="el" href="classItem.html#a5b561415861f5b89b0733aacfe0428d1">Item</a>
+</li>
+<li>$replace
+: <a class="el" href="classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10">Template</a>
+</li>
+<li>$scheme
+: <a class="el" href="classApp.html#ad082d63acc078e5bf23825a03bdd6a76">App</a>
+</li>
+<li>$search
+: <a class="el" href="classTemplate.html#a317d535946dc065c35dd5cd38380e6c6">Template</a>
+</li>
+<li>$sourcename
+: <a class="el" href="classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11">App</a>
+</li>
+<li>$stack
+: <a class="el" href="classTemplate.html#a6f0efc256688c36110180b501067ff11">Template</a>
+</li>
+<li>$strings
+: <a class="el" href="classApp.html#a5f64620473a9727a48ebe9cf6f335a98">App</a>
+</li>
+<li>$template
+: <a class="el" href="classItem.html#a7f7bc059de377319282cb4ef4a828480">Item</a>
+</li>
+<li>$template_engine_instance
+: <a class="el" href="classApp.html#a6844aedad10e201b8c3d80cfc9e876d3">App</a>
+</li>
+<li>$template_engines
+: <a class="el" href="classApp.html#a6859a4848a5c0049b4134cc4b34228b6">App</a>
+</li>
+<li>$theme
+: <a class="el" href="classApp.html#a764cc6cd7578132c21d2b4545de9301c">App</a>
+</li>
+<li>$theme_info
+: <a class="el" href="classApp.html#aeca29fd4f7192ca07369b3c598c36e67">App</a>
+</li>
+<li>$theme_thread_allow
+: <a class="el" href="classApp.html#a487332f8de40414ca1a54a4265570b70">App</a>
+</li>
+<li>$threaded
+: <a class="el" href="classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2">Item</a>
+</li>
+<li>$threads
+: <a class="el" href="classConversation.html#a41f4a549e6a99f98935c4742addd22c8">Conversation</a>
+</li>
+<li>$timezone
+: <a class="el" href="classApp.html#ab35b01a366a2ea95725e97af278f87ab">App</a>
+</li>
+<li>$toplevel
+: <a class="el" href="classItem.html#a5cfa6cf964f433a917a81cab079ff9d8">Item</a>
+</li>
+<li>$type
+: <a class="el" href="classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03">photo_driver</a>
+</li>
+<li>$types
+: <a class="el" href="classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03">photo_driver</a>
+</li>
+<li>$user
+: <a class="el" href="classApp.html#a91fd3c8b89016113b05f3be24805ccff">App</a>
+</li>
+<li>$valid
+: <a class="el" href="classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9">photo_driver</a>
+</li>
+<li>$videoheight
+: <a class="el" href="classApp.html#a56b1a432c96aef8b1971f779c9d93c8c">App</a>
+</li>
+<li>$videowidth
+: <a class="el" href="classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8">App</a>
+</li>
+<li>$visiting
+: <a class="el" href="classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8">Item</a>
+</li>
+<li>$wall_to_wall
+: <a class="el" href="classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189">Item</a>
+</li>
+<li>$widgetlist
+: <a class="el" href="classApp.html#a4833bee2eae4ad1691a04fa19e11a766">App</a>
+</li>
+<li>$widgets
+: <a class="el" href="classApp.html#aa5a87c46ab3fee21362c466bf78042ef">App</a>
+</li>
+<li>$width
+: <a class="el" href="classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1">photo_driver</a>
+</li>
+<li>$writable
+: <a class="el" href="classConversation.html#ae81221251307e315f566a11f921ce0a9">Conversation</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x5f.html b/doc/html/functions_0x5f.html
new file mode 100644
index 000000000..f6b498986
--- /dev/null
+++ b/doc/html/functions_0x5f.html
@@ -0,0 +1,192 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li class="current"><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x5f.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>__construct()
+: <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App</a>
+, <a class="el" href="classConversation.html#a6b064d00c56a6b7dec359d4348711c84">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="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine</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>
+</li>
+<li>__destruct()
+: <a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">dba_driver</a>
+, <a class="el" href="classphoto__driver.html#ae4501abdc9651359f81d036b63625686">photo_driver</a>
+</li>
+<li>_build_nodes()
+: <a class="el" href="classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4">Template</a>
+</li>
+<li>_get_var()
+: <a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">Template</a>
+</li>
+<li>_pop_stack()
+: <a class="el" href="classTemplate.html#a35d599c9b53a02e2fe2232e5b7ed5da7">Template</a>
+</li>
+<li>_preg_error()
+: <a class="el" href="classTemplate.html#a37c15f6d1ade500943629f27a62808b7">Template</a>
+</li>
+<li>_push_stack()
+: <a class="el" href="classTemplate.html#aa6a087e0b7b887dd1c98c9e0ecbd3b29">Template</a>
+</li>
+<li>_replcb()
+: <a class="el" href="classTemplate.html#ae791766c3d055f7f1ba5a5e60d647934">Template</a>
+</li>
+<li>_replcb_debug()
+: <a class="el" href="classTemplate.html#a4b933954086d9e01a1804b0b1c6ee93e">Template</a>
+</li>
+<li>_replcb_for()
+: <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">Template</a>
+</li>
+<li>_replcb_if()
+: <a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">Template</a>
+</li>
+<li>_replcb_inc()
+: <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">Template</a>
+</li>
+<li>_replcb_node()
+: <a class="el" href="classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee">Template</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x61.html b/doc/html/functions_0x61.html
new file mode 100644
index 000000000..78d8582fe
--- /dev/null
+++ b/doc/html/functions_0x61.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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li class="current"><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x61.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>acknowledge_permissions()
+: <a class="el" href="classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#a3cfdf443da4e5326e205855d7c0054f2">ZotDriver</a>
+</li>
+<li>add_child()
+: <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item</a>
+</li>
+<li>add_thread()
+: <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x62.html b/doc/html/functions_0x62.html
new file mode 100644
index 000000000..2109a048c
--- /dev/null
+++ b/doc/html/functions_0x62.html
@@ -0,0 +1,148 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li class="current"><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x62.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>build_pagehead()
+: <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x63.html b/doc/html/functions_0x63.html
new file mode 100644
index 000000000..8d6d31f90
--- /dev/null
+++ b/doc/html/functions_0x63.html
@@ -0,0 +1,181 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li class="current"><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x63.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>change_permissions()
+: <a class="el" href="classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#a6776935156accb0f170e2e24577133db">ZotDriver</a>
+</li>
+<li>check_wall_to_wall()
+: <a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">Item</a>
+</li>
+<li>clear()
+: <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache</a>
+</li>
+<li>close()
+: <a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">dba_driver</a>
+, <a class="el" href="classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e">dba_mysql</a>
+, <a class="el" href="classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55">dba_mysqli</a>
+</li>
+<li>collect()
+: <a class="el" href="classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#af65febb26031eb7f39871b9e2a539797">ZotDriver</a>
+</li>
+<li>collect_private()
+: <a class="el" href="classZotDriver.html#a2e15ff09772f0608203dad1c98299394">ZotDriver</a>
+, <a class="el" href="classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b">ProtoDriver</a>
+</li>
+<li>connect()
+: <a class="el" href="classdba__mysql.html#a1887338627ce0e28786839363014bd0b">dba_mysql</a>
+, <a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">dba_mysqli</a>
+, <a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">dba_driver</a>
+</li>
+<li>count_descendants()
+: <a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">Item</a>
+</li>
+<li>cropImage()
+: <a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">photo_imagick</a>
+, <a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">photo_driver</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x64.html b/doc/html/functions_0x64.html
new file mode 100644
index 000000000..1c6308182
--- /dev/null
+++ b/doc/html/functions_0x64.html
@@ -0,0 +1,170 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li class="current"><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x64.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>dbg()
+: <a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dba_driver</a>
+</li>
+<li>deliver()
+: <a class="el" href="classProtoDriver.html#a85e9063f6d0c304410cd246f7900ea1b">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f">ZotDriver</a>
+</li>
+<li>deliver_private()
+: <a class="el" href="classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#afaaf9941169fc966e43e25b25e6daea6">ZotDriver</a>
+</li>
+<li>destroy()
+: <a class="el" href="classphoto__imagick.html#afd49d64751ee3a298eac0c0ce0ba0207">photo_imagick</a>
+, <a class="el" href="classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a724703ecf71b1f1d04a80e86c76db6b1">photo_gd</a>
+</li>
+<li>discover()
+: <a class="el" href="classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#a40d328ff9f6b0a238afe286dddee1514">ZotDriver</a>
+</li>
+<li>doScaleImage()
+: <a class="el" href="classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f">photo_driver</a>
+, <a class="el" href="classphoto__imagick.html#a3047c68bb4de7f66c2893fe451db2b66">photo_imagick</a>
+, <a class="el" href="classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754">photo_gd</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x65.html b/doc/html/functions_0x65.html
new file mode 100644
index 000000000..d9ce44b5c
--- /dev/null
+++ b/doc/html/functions_0x65.html
@@ -0,0 +1,150 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li class="current"><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x65.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>escape()
+: <a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">dba_driver</a>
+, <a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">dba_mysqli</a>
+, <a class="el" href="classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e">dba_mysql</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x66.html b/doc/html/functions_0x66.html
new file mode 100644
index 000000000..7172c99a9
--- /dev/null
+++ b/doc/html/functions_0x66.html
@@ -0,0 +1,150 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li class="current"><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x66.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>flip()
+: <a class="el" href="classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832">photo_driver</a>
+, <a class="el" href="classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393">photo_imagick</a>
+, <a class="el" href="classphoto__gd.html#a44cedef376044018702d9355ddc813ce">photo_gd</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x67.html b/doc/html/functions_0x67.html
new file mode 100644
index 000000000..3d4de9504
--- /dev/null
+++ b/doc/html/functions_0x67.html
@@ -0,0 +1,283 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li class="current"><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x67.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>gen_token()
+: <a class="el" href="classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819">FKOAuthDataStore</a>
+</li>
+<li>get()
+: <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache</a>
+</li>
+<li>get_account()
+: <a class="el" href="classApp.html#a08bc87aff64f39fbc084e9d6545cee4d">App</a>
+</li>
+<li>get_app()
+: <a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">BaseObject</a>
+</li>
+<li>get_apps()
+: <a class="el" href="classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad">App</a>
+</li>
+<li>get_baseurl()
+: <a class="el" href="classApp.html#a604d659d6977a99de42a160343e5289a">App</a>
+</li>
+<li>get_channel()
+: <a class="el" href="classApp.html#a084e03c77686d8c13390fef3f7428a2b">App</a>
+</li>
+<li>get_child()
+: <a class="el" href="classItem.html#a632185dd25c5caf277067c76230a4320">Item</a>
+</li>
+<li>get_children()
+: <a class="el" href="classItem.html#aa0ee775ec94abccec6c798428835d001">Item</a>
+</li>
+<li>get_comment_box()
+: <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item</a>
+</li>
+<li>get_comment_box_template()
+: <a class="el" href="classItem.html#a904421c7a427411bb2ab473bca872f63">Item</a>
+</li>
+<li>get_conversation()
+: <a class="el" href="classItem.html#a0c301aaed2b7d682728d18db3a22afa3">Item</a>
+</li>
+<li>get_curl_code()
+: <a class="el" href="classApp.html#ab410451f132910773d0a02e35d0dced9">App</a>
+</li>
+<li>get_curl_headers()
+: <a class="el" href="classApp.html#abaf2173711e861ae4aebf43a7f70157e">App</a>
+</li>
+<li>get_data()
+: <a class="el" href="classItem.html#ad3638f93065693c1f69eb349feb1b7aa">Item</a>
+</li>
+<li>get_data_value()
+: <a class="el" href="classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c">Item</a>
+</li>
+<li>get_FormatsMap()
+: <a class="el" href="classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4">photo_imagick</a>
+</li>
+<li>get_groups()
+: <a class="el" href="classApp.html#a4659785d13e4bac0bed50dbb1b0d4299">App</a>
+</li>
+<li>get_hostname()
+: <a class="el" href="classApp.html#a622eace13f8fc9f4b5672a68e2bc4396">App</a>
+</li>
+<li>get_id()
+: <a class="el" href="classItem.html#ac0f27e58532612f6e7a54c8a621b9b92">Item</a>
+</li>
+<li>get_intltext_template()
+: <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine</a>
+</li>
+<li>get_markup_template()
+: <a class="el" href="classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88">FriendicaSmartyEngine</a>
+, <a class="el" href="interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442">ITemplateEngine</a>
+, <a class="el" href="classTemplate.html#afd97b4b1e7754a550e67c0ea79159059">Template</a>
+</li>
+<li>get_mode()
+: <a class="el" href="classConversation.html#a87a0d704d5f2b1a008cc2e9ce06a1bcd">Conversation</a>
+</li>
+<li>get_observer()
+: <a class="el" href="classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2">App</a>
+, <a class="el" href="classConversation.html#ae3d4190142e12b57051f11f2911f77a0">Conversation</a>
+</li>
+<li>get_owner_name()
+: <a class="el" href="classItem.html#a67892aa23d19f4431bb2e5f43c74000e">Item</a>
+</li>
+<li>get_owner_photo()
+: <a class="el" href="classItem.html#aa541bc4290e51bfd688d6921bebabc73">Item</a>
+</li>
+<li>get_owner_url()
+: <a class="el" href="classItem.html#a9f2d219da712390f59012fc32a342074">Item</a>
+</li>
+<li>get_parent()
+: <a class="el" href="classItem.html#a4b92e3a9d6212c553aa2661489bd95d8">Item</a>
+</li>
+<li>get_path()
+: <a class="el" href="classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be">App</a>
+</li>
+<li>get_perms()
+: <a class="el" href="classApp.html#adb5a4bb657881e553978ff390babd01f">App</a>
+</li>
+<li>get_profile_owner()
+: <a class="el" href="classConversation.html#a5effe8ad3007e01333df44b81432b813">Conversation</a>
+</li>
+<li>get_redirect_url()
+: <a class="el" href="classItem.html#a428f448f89a8629055ea3294eb942aea">Item</a>
+</li>
+<li>get_template()
+: <a class="el" href="classItem.html#aba23a0a9d89e316d2b343cc46d695d91">Item</a>
+</li>
+<li>get_template_data()
+: <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item</a>
+, <a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">Conversation</a>
+</li>
+<li>get_template_engine()
+: <a class="el" href="classApp.html#acb27e607fe4c82603444676e25c36b70">App</a>
+</li>
+<li>get_template_ldelim()
+: <a class="el" href="classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a">App</a>
+</li>
+<li>get_template_rdelim()
+: <a class="el" href="classApp.html#aab23c59172310fd30f2d60dc039d3eea">App</a>
+</li>
+<li>get_thread()
+: <a class="el" href="classConversation.html#a4cff75d8c46b517e7133e4d0da6fc1c8">Conversation</a>
+</li>
+<li>get_widgets()
+: <a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">App</a>
+</li>
+<li>getExt()
+: <a class="el" href="classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba">photo_driver</a>
+</li>
+<li>getHeight()
+: <a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">photo_driver</a>
+</li>
+<li>getImage()
+: <a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">photo_gd</a>
+, <a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">photo_driver</a>
+, <a class="el" href="classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc">photo_imagick</a>
+</li>
+<li>getType()
+: <a class="el" href="classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3">photo_driver</a>
+</li>
+<li>getWidth()
+: <a class="el" href="classphoto__driver.html#acc30486acee9e89e32701f44a1738117">photo_driver</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x68.html b/doc/html/functions_0x68.html
new file mode 100644
index 000000000..9cd17ba4a
--- /dev/null
+++ b/doc/html/functions_0x68.html
@@ -0,0 +1,151 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li class="current"><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x68.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>head_get_icon()
+: <a class="el" href="classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166">App</a>
+</li>
+<li>head_set_icon()
+: <a class="el" href="classApp.html#a8863703a0305eaa45eb970dbd2046291">App</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x69.html b/doc/html/functions_0x69.html
new file mode 100644
index 000000000..7a702c8c5
--- /dev/null
+++ b/doc/html/functions_0x69.html
@@ -0,0 +1,177 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li class="current"><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x69.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>imageString()
+: <a class="el" href="classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019">photo_imagick</a>
+</li>
+<li>install()
+: <a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">dba_driver</a>
+</li>
+<li>is_commentable()
+: <a class="el" href="classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3">Conversation</a>
+</li>
+<li>is_preview()
+: <a class="el" href="classConversation.html#adf25ce023b69a166c63c6e84e02c136a">Conversation</a>
+</li>
+<li>is_threaded()
+: <a class="el" href="classItem.html#a5b2fafdca55aefeaa08993a5a60529f0">Item</a>
+</li>
+<li>is_toplevel()
+: <a class="el" href="classItem.html#aa49e40f961dff66da32c5ae110e32993">Item</a>
+</li>
+<li>is_valid()
+: <a class="el" href="classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab">photo_driver</a>
+</li>
+<li>is_visiting()
+: <a class="el" href="classItem.html#a97c7feeea7f26a73176cb19faa455e12">Item</a>
+</li>
+<li>is_wall_to_wall()
+: <a class="el" href="classItem.html#aabf87ded59c25b5fe2b2296678e70509">Item</a>
+</li>
+<li>is_writable()
+: <a class="el" href="classConversation.html#a5879199008b96bee7550b576d614e1c1">Conversation</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x6c.html b/doc/html/functions_0x6c.html
new file mode 100644
index 000000000..ec2ce797d
--- /dev/null
+++ b/doc/html/functions_0x6c.html
@@ -0,0 +1,162 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li class="current"><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x6c.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>load()
+: <a class="el" href="classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">photo_imagick</a>
+</li>
+<li>loginUser()
+: <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1</a>
+</li>
+<li>lookup_consumer()
+: <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore</a>
+</li>
+<li>lookup_nonce()
+: <a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">FKOAuthDataStore</a>
+</li>
+<li>lookup_token()
+: <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x6e.html b/doc/html/functions_0x6e.html
new file mode 100644
index 000000000..1a93d117a
--- /dev/null
+++ b/doc/html/functions_0x6e.html
@@ -0,0 +1,151 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li class="current"><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x6e.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>new_access_token()
+: <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore</a>
+</li>
+<li>new_request_token()
+: <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x6f.html b/doc/html/functions_0x6f.html
new file mode 100644
index 000000000..2d5a3fc61
--- /dev/null
+++ b/doc/html/functions_0x6f.html
@@ -0,0 +1,148 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li class="current"><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x6f.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>orient()
+: <a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">photo_driver</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x70.html b/doc/html/functions_0x70.html
new file mode 100644
index 000000000..bb37ba1c0
--- /dev/null
+++ b/doc/html/functions_0x70.html
@@ -0,0 +1,148 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li class="current"><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x70.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>parsed()
+: <a class="el" href="classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9">FriendicaSmarty</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x71.html b/doc/html/functions_0x71.html
new file mode 100644
index 000000000..3445bb050
--- /dev/null
+++ b/doc/html/functions_0x71.html
@@ -0,0 +1,150 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li class="current"><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x71.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
+<li>q()
+: <a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">dba_driver</a>
+, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli</a>
+, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x72.html b/doc/html/functions_0x72.html
new file mode 100644
index 000000000..11ec483d4
--- /dev/null
+++ b/doc/html/functions_0x72.html
@@ -0,0 +1,167 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li class="current"><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x72.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>register_template_engine()
+: <a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">App</a>
+</li>
+<li>remove_child()
+: <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">Item</a>
+</li>
+<li>remove_parent()
+: <a class="el" href="classItem.html#aa452b5bcd8dea12119b09212c615cb41">Item</a>
+</li>
+<li>replace()
+: <a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">Template</a>
+</li>
+<li>replace_macros()
+: <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template</a>
+, <a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">FriendicaSmartyEngine</a>
+, <a class="el" href="interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243">ITemplateEngine</a>
+</li>
+<li>rotate()
+: <a class="el" href="classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f">photo_imagick</a>
+, <a class="el" href="classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a77f87730b11093b76980c541159df37d">photo_gd</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x73.html b/doc/html/functions_0x73.html
new file mode 100644
index 000000000..5e5535dfa
--- /dev/null
+++ b/doc/html/functions_0x73.html
@@ -0,0 +1,239 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li class="current"><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x73.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>save()
+: <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver</a>
+</li>
+<li>saveImage()
+: <a class="el" href="classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3">photo_driver</a>
+</li>
+<li>scaleImage()
+: <a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">photo_driver</a>
+</li>
+<li>scaleImageSquare()
+: <a class="el" href="classphoto__driver.html#a56634842b071b96502716e9843ea5361">photo_driver</a>
+</li>
+<li>scaleImageUp()
+: <a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">photo_driver</a>
+</li>
+<li>send()
+: <a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">enotify</a>
+</li>
+<li>set()
+: <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache</a>
+</li>
+<li>set_account()
+: <a class="el" href="classApp.html#aeb1fe1c8ad9aa639909bd183ce578536">App</a>
+</li>
+<li>set_app()
+: <a class="el" href="classBaseObject.html#a0a9acda12d751692834cf6999f889223">BaseObject</a>
+</li>
+<li>set_apps()
+: <a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">App</a>
+</li>
+<li>set_baseurl()
+: <a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">App</a>
+</li>
+<li>set_channel()
+: <a class="el" href="classApp.html#a89e9feb2bfb5253883a9720beaffe876">App</a>
+</li>
+<li>set_conversation()
+: <a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">Item</a>
+</li>
+<li>set_curl_code()
+: <a class="el" href="classApp.html#a5e6a6bd641e4d9909df56f0283c03821">App</a>
+</li>
+<li>set_curl_headers()
+: <a class="el" href="classApp.html#a9632092d9e8fdaa82a9fc4586433fd31">App</a>
+</li>
+<li>set_groups()
+: <a class="el" href="classApp.html#a3d84af5e42082098672531cd1a618853">App</a>
+</li>
+<li>set_hostname()
+: <a class="el" href="classApp.html#a344d2b7dc2f276648d521aee4da1731c">App</a>
+</li>
+<li>set_mode()
+: <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation</a>
+</li>
+<li>set_observer()
+: <a class="el" href="classApp.html#a4776d9322edea17fae56afa5d01a323e">App</a>
+</li>
+<li>set_pager_itemspage()
+: <a class="el" href="classApp.html#a4bdd7bfed62f50515fce652127bf481b">App</a>
+</li>
+<li>set_pager_total()
+: <a class="el" href="classApp.html#a560189f048d3db2f526841963cc43e97">App</a>
+</li>
+<li>set_parent()
+: <a class="el" href="classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7">Item</a>
+</li>
+<li>set_path()
+: <a class="el" href="classApp.html#adb060d5c7f35a521ec7ec0effbe08097">App</a>
+</li>
+<li>set_perms()
+: <a class="el" href="classApp.html#a557d7b779d8259027f4724ebf7b248dc">App</a>
+</li>
+<li>set_profile_owner()
+: <a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">Conversation</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>setDimensions()
+: <a class="el" href="classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb">photo_imagick</a>
+, <a class="el" href="classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e">photo_gd</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__driver.html#a6eee8e36eaf9339f4faf80ddd43162da">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">photo_gd</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x74.html b/doc/html/functions_0x74.html
new file mode 100644
index 000000000..1eb41e3fb
--- /dev/null
+++ b/doc/html/functions_0x74.html
@@ -0,0 +1,148 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li class="current"><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</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('functions_0x74.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>template_engine()
+: <a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">App</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_0x76.html b/doc/html/functions_0x76.html
new file mode 100644
index 000000000..26c145fba
--- /dev/null
+++ b/doc/html/functions_0x76.html
@@ -0,0 +1,148 @@
+<!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: Class Members</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="functions.html#index_0x24"><span>$</span></a></li>
+ <li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li class="current"><a href="functions_0x76.html#index_v"><span>v</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('functions_0x76.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="contents">
+<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
+<li>var_replace()
+: <a class="el" href="classTemplate.html#abbc484016ddf5d818f55b823cae6feb0">Template</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_dup.js b/doc/html/functions_dup.js
new file mode 100644
index 000000000..97db7c0bf
--- /dev/null
+++ b/doc/html/functions_dup.js
@@ -0,0 +1,23 @@
+var functions_dup =
+[
+ [ "$", "functions.html", null ],
+ [ "_", "functions_0x5f.html", null ],
+ [ "a", "functions_0x61.html", null ],
+ [ "b", "functions_0x62.html", null ],
+ [ "c", "functions_0x63.html", null ],
+ [ "d", "functions_0x64.html", null ],
+ [ "e", "functions_0x65.html", null ],
+ [ "f", "functions_0x66.html", null ],
+ [ "g", "functions_0x67.html", null ],
+ [ "h", "functions_0x68.html", null ],
+ [ "i", "functions_0x69.html", null ],
+ [ "l", "functions_0x6c.html", null ],
+ [ "n", "functions_0x6e.html", null ],
+ [ "o", "functions_0x6f.html", null ],
+ [ "p", "functions_0x70.html", null ],
+ [ "q", "functions_0x71.html", null ],
+ [ "r", "functions_0x72.html", null ],
+ [ "s", "functions_0x73.html", null ],
+ [ "t", "functions_0x74.html", null ],
+ [ "v", "functions_0x76.html", null ]
+]; \ No newline at end of file
diff --git a/doc/html/functions_func.html b/doc/html/functions_func.html
new file mode 100644
index 000000000..d30dad0e1
--- /dev/null
+++ b/doc/html/functions_func.html
@@ -0,0 +1,679 @@
+<!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: Class Members - Functions</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="#index__"><span>_</span></a></li>
+ <li><a href="#index_a"><span>a</span></a></li>
+ <li><a href="#index_b"><span>b</span></a></li>
+ <li><a href="#index_c"><span>c</span></a></li>
+ <li><a href="#index_d"><span>d</span></a></li>
+ <li><a href="#index_e"><span>e</span></a></li>
+ <li><a href="#index_f"><span>f</span></a></li>
+ <li><a href="#index_g"><span>g</span></a></li>
+ <li><a href="#index_h"><span>h</span></a></li>
+ <li><a href="#index_i"><span>i</span></a></li>
+ <li><a href="#index_l"><span>l</span></a></li>
+ <li><a href="#index_n"><span>n</span></a></li>
+ <li><a href="#index_o"><span>o</span></a></li>
+ <li><a href="#index_p"><span>p</span></a></li>
+ <li><a href="#index_q"><span>q</span></a></li>
+ <li><a href="#index_r"><span>r</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ <li><a href="#index_t"><span>t</span></a></li>
+ <li><a href="#index_v"><span>v</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('functions_func.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>__construct()
+: <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App</a>
+, <a class="el" href="classConversation.html#a6b064d00c56a6b7dec359d4348711c84">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="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine</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>
+</li>
+<li>__destruct()
+: <a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">dba_driver</a>
+, <a class="el" href="classphoto__driver.html#ae4501abdc9651359f81d036b63625686">photo_driver</a>
+</li>
+<li>_build_nodes()
+: <a class="el" href="classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4">Template</a>
+</li>
+<li>_get_var()
+: <a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">Template</a>
+</li>
+<li>_pop_stack()
+: <a class="el" href="classTemplate.html#a35d599c9b53a02e2fe2232e5b7ed5da7">Template</a>
+</li>
+<li>_preg_error()
+: <a class="el" href="classTemplate.html#a37c15f6d1ade500943629f27a62808b7">Template</a>
+</li>
+<li>_push_stack()
+: <a class="el" href="classTemplate.html#aa6a087e0b7b887dd1c98c9e0ecbd3b29">Template</a>
+</li>
+<li>_replcb()
+: <a class="el" href="classTemplate.html#ae791766c3d055f7f1ba5a5e60d647934">Template</a>
+</li>
+<li>_replcb_debug()
+: <a class="el" href="classTemplate.html#a4b933954086d9e01a1804b0b1c6ee93e">Template</a>
+</li>
+<li>_replcb_for()
+: <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">Template</a>
+</li>
+<li>_replcb_if()
+: <a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">Template</a>
+</li>
+<li>_replcb_inc()
+: <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">Template</a>
+</li>
+<li>_replcb_node()
+: <a class="el" href="classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee">Template</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>acknowledge_permissions()
+: <a class="el" href="classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#a3cfdf443da4e5326e205855d7c0054f2">ZotDriver</a>
+</li>
+<li>add_child()
+: <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item</a>
+</li>
+<li>add_thread()
+: <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>build_pagehead()
+: <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>change_permissions()
+: <a class="el" href="classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#a6776935156accb0f170e2e24577133db">ZotDriver</a>
+</li>
+<li>check_wall_to_wall()
+: <a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">Item</a>
+</li>
+<li>clear()
+: <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache</a>
+</li>
+<li>close()
+: <a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">dba_driver</a>
+, <a class="el" href="classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e">dba_mysql</a>
+, <a class="el" href="classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55">dba_mysqli</a>
+</li>
+<li>collect()
+: <a class="el" href="classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#af65febb26031eb7f39871b9e2a539797">ZotDriver</a>
+</li>
+<li>collect_private()
+: <a class="el" href="classZotDriver.html#a2e15ff09772f0608203dad1c98299394">ZotDriver</a>
+, <a class="el" href="classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b">ProtoDriver</a>
+</li>
+<li>connect()
+: <a class="el" href="classdba__mysql.html#a1887338627ce0e28786839363014bd0b">dba_mysql</a>
+, <a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">dba_mysqli</a>
+, <a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">dba_driver</a>
+</li>
+<li>count_descendants()
+: <a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">Item</a>
+</li>
+<li>cropImage()
+: <a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">photo_imagick</a>
+, <a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">photo_driver</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>dbg()
+: <a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dba_driver</a>
+</li>
+<li>deliver()
+: <a class="el" href="classProtoDriver.html#a85e9063f6d0c304410cd246f7900ea1b">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f">ZotDriver</a>
+</li>
+<li>deliver_private()
+: <a class="el" href="classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#afaaf9941169fc966e43e25b25e6daea6">ZotDriver</a>
+</li>
+<li>destroy()
+: <a class="el" href="classphoto__imagick.html#afd49d64751ee3a298eac0c0ce0ba0207">photo_imagick</a>
+, <a class="el" href="classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a724703ecf71b1f1d04a80e86c76db6b1">photo_gd</a>
+</li>
+<li>discover()
+: <a class="el" href="classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337">ProtoDriver</a>
+, <a class="el" href="classZotDriver.html#a40d328ff9f6b0a238afe286dddee1514">ZotDriver</a>
+</li>
+<li>doScaleImage()
+: <a class="el" href="classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f">photo_driver</a>
+, <a class="el" href="classphoto__imagick.html#a3047c68bb4de7f66c2893fe451db2b66">photo_imagick</a>
+, <a class="el" href="classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754">photo_gd</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>escape()
+: <a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">dba_driver</a>
+, <a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">dba_mysqli</a>
+, <a class="el" href="classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e">dba_mysql</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>flip()
+: <a class="el" href="classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832">photo_driver</a>
+, <a class="el" href="classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393">photo_imagick</a>
+, <a class="el" href="classphoto__gd.html#a44cedef376044018702d9355ddc813ce">photo_gd</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>gen_token()
+: <a class="el" href="classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819">FKOAuthDataStore</a>
+</li>
+<li>get()
+: <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache</a>
+</li>
+<li>get_account()
+: <a class="el" href="classApp.html#a08bc87aff64f39fbc084e9d6545cee4d">App</a>
+</li>
+<li>get_app()
+: <a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">BaseObject</a>
+</li>
+<li>get_apps()
+: <a class="el" href="classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad">App</a>
+</li>
+<li>get_baseurl()
+: <a class="el" href="classApp.html#a604d659d6977a99de42a160343e5289a">App</a>
+</li>
+<li>get_channel()
+: <a class="el" href="classApp.html#a084e03c77686d8c13390fef3f7428a2b">App</a>
+</li>
+<li>get_child()
+: <a class="el" href="classItem.html#a632185dd25c5caf277067c76230a4320">Item</a>
+</li>
+<li>get_children()
+: <a class="el" href="classItem.html#aa0ee775ec94abccec6c798428835d001">Item</a>
+</li>
+<li>get_comment_box()
+: <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item</a>
+</li>
+<li>get_comment_box_template()
+: <a class="el" href="classItem.html#a904421c7a427411bb2ab473bca872f63">Item</a>
+</li>
+<li>get_conversation()
+: <a class="el" href="classItem.html#a0c301aaed2b7d682728d18db3a22afa3">Item</a>
+</li>
+<li>get_curl_code()
+: <a class="el" href="classApp.html#ab410451f132910773d0a02e35d0dced9">App</a>
+</li>
+<li>get_curl_headers()
+: <a class="el" href="classApp.html#abaf2173711e861ae4aebf43a7f70157e">App</a>
+</li>
+<li>get_data()
+: <a class="el" href="classItem.html#ad3638f93065693c1f69eb349feb1b7aa">Item</a>
+</li>
+<li>get_data_value()
+: <a class="el" href="classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c">Item</a>
+</li>
+<li>get_FormatsMap()
+: <a class="el" href="classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4">photo_imagick</a>
+</li>
+<li>get_groups()
+: <a class="el" href="classApp.html#a4659785d13e4bac0bed50dbb1b0d4299">App</a>
+</li>
+<li>get_hostname()
+: <a class="el" href="classApp.html#a622eace13f8fc9f4b5672a68e2bc4396">App</a>
+</li>
+<li>get_id()
+: <a class="el" href="classItem.html#ac0f27e58532612f6e7a54c8a621b9b92">Item</a>
+</li>
+<li>get_intltext_template()
+: <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine</a>
+</li>
+<li>get_markup_template()
+: <a class="el" href="classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88">FriendicaSmartyEngine</a>
+, <a class="el" href="interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442">ITemplateEngine</a>
+, <a class="el" href="classTemplate.html#afd97b4b1e7754a550e67c0ea79159059">Template</a>
+</li>
+<li>get_mode()
+: <a class="el" href="classConversation.html#a87a0d704d5f2b1a008cc2e9ce06a1bcd">Conversation</a>
+</li>
+<li>get_observer()
+: <a class="el" href="classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2">App</a>
+, <a class="el" href="classConversation.html#ae3d4190142e12b57051f11f2911f77a0">Conversation</a>
+</li>
+<li>get_owner_name()
+: <a class="el" href="classItem.html#a67892aa23d19f4431bb2e5f43c74000e">Item</a>
+</li>
+<li>get_owner_photo()
+: <a class="el" href="classItem.html#aa541bc4290e51bfd688d6921bebabc73">Item</a>
+</li>
+<li>get_owner_url()
+: <a class="el" href="classItem.html#a9f2d219da712390f59012fc32a342074">Item</a>
+</li>
+<li>get_parent()
+: <a class="el" href="classItem.html#a4b92e3a9d6212c553aa2661489bd95d8">Item</a>
+</li>
+<li>get_path()
+: <a class="el" href="classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be">App</a>
+</li>
+<li>get_perms()
+: <a class="el" href="classApp.html#adb5a4bb657881e553978ff390babd01f">App</a>
+</li>
+<li>get_profile_owner()
+: <a class="el" href="classConversation.html#a5effe8ad3007e01333df44b81432b813">Conversation</a>
+</li>
+<li>get_redirect_url()
+: <a class="el" href="classItem.html#a428f448f89a8629055ea3294eb942aea">Item</a>
+</li>
+<li>get_template()
+: <a class="el" href="classItem.html#aba23a0a9d89e316d2b343cc46d695d91">Item</a>
+</li>
+<li>get_template_data()
+: <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item</a>
+, <a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">Conversation</a>
+</li>
+<li>get_template_engine()
+: <a class="el" href="classApp.html#acb27e607fe4c82603444676e25c36b70">App</a>
+</li>
+<li>get_template_ldelim()
+: <a class="el" href="classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a">App</a>
+</li>
+<li>get_template_rdelim()
+: <a class="el" href="classApp.html#aab23c59172310fd30f2d60dc039d3eea">App</a>
+</li>
+<li>get_thread()
+: <a class="el" href="classConversation.html#a4cff75d8c46b517e7133e4d0da6fc1c8">Conversation</a>
+</li>
+<li>get_widgets()
+: <a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">App</a>
+</li>
+<li>getExt()
+: <a class="el" href="classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba">photo_driver</a>
+</li>
+<li>getHeight()
+: <a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">photo_driver</a>
+</li>
+<li>getImage()
+: <a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">photo_gd</a>
+, <a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">photo_driver</a>
+, <a class="el" href="classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc">photo_imagick</a>
+</li>
+<li>getType()
+: <a class="el" href="classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3">photo_driver</a>
+</li>
+<li>getWidth()
+: <a class="el" href="classphoto__driver.html#acc30486acee9e89e32701f44a1738117">photo_driver</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>head_get_icon()
+: <a class="el" href="classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166">App</a>
+</li>
+<li>head_set_icon()
+: <a class="el" href="classApp.html#a8863703a0305eaa45eb970dbd2046291">App</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>imageString()
+: <a class="el" href="classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019">photo_imagick</a>
+</li>
+<li>install()
+: <a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">dba_driver</a>
+</li>
+<li>is_commentable()
+: <a class="el" href="classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3">Conversation</a>
+</li>
+<li>is_preview()
+: <a class="el" href="classConversation.html#adf25ce023b69a166c63c6e84e02c136a">Conversation</a>
+</li>
+<li>is_threaded()
+: <a class="el" href="classItem.html#a5b2fafdca55aefeaa08993a5a60529f0">Item</a>
+</li>
+<li>is_toplevel()
+: <a class="el" href="classItem.html#aa49e40f961dff66da32c5ae110e32993">Item</a>
+</li>
+<li>is_valid()
+: <a class="el" href="classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab">photo_driver</a>
+</li>
+<li>is_visiting()
+: <a class="el" href="classItem.html#a97c7feeea7f26a73176cb19faa455e12">Item</a>
+</li>
+<li>is_wall_to_wall()
+: <a class="el" href="classItem.html#aabf87ded59c25b5fe2b2296678e70509">Item</a>
+</li>
+<li>is_writable()
+: <a class="el" href="classConversation.html#a5879199008b96bee7550b576d614e1c1">Conversation</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>load()
+: <a class="el" href="classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">photo_imagick</a>
+</li>
+<li>loginUser()
+: <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1</a>
+</li>
+<li>lookup_consumer()
+: <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore</a>
+</li>
+<li>lookup_nonce()
+: <a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">FKOAuthDataStore</a>
+</li>
+<li>lookup_token()
+: <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>new_access_token()
+: <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore</a>
+</li>
+<li>new_request_token()
+: <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>orient()
+: <a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">photo_driver</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>parsed()
+: <a class="el" href="classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9">FriendicaSmarty</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
+<li>q()
+: <a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">dba_driver</a>
+, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli</a>
+, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>register_template_engine()
+: <a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">App</a>
+</li>
+<li>remove_child()
+: <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">Item</a>
+</li>
+<li>remove_parent()
+: <a class="el" href="classItem.html#aa452b5bcd8dea12119b09212c615cb41">Item</a>
+</li>
+<li>replace()
+: <a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">Template</a>
+</li>
+<li>replace_macros()
+: <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template</a>
+, <a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">FriendicaSmartyEngine</a>
+, <a class="el" href="interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243">ITemplateEngine</a>
+</li>
+<li>rotate()
+: <a class="el" href="classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f">photo_imagick</a>
+, <a class="el" href="classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a77f87730b11093b76980c541159df37d">photo_gd</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>save()
+: <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver</a>
+</li>
+<li>saveImage()
+: <a class="el" href="classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3">photo_driver</a>
+</li>
+<li>scaleImage()
+: <a class="el" href="classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0">photo_driver</a>
+</li>
+<li>scaleImageSquare()
+: <a class="el" href="classphoto__driver.html#a56634842b071b96502716e9843ea5361">photo_driver</a>
+</li>
+<li>scaleImageUp()
+: <a class="el" href="classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce">photo_driver</a>
+</li>
+<li>send()
+: <a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">enotify</a>
+</li>
+<li>set()
+: <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache</a>
+</li>
+<li>set_account()
+: <a class="el" href="classApp.html#aeb1fe1c8ad9aa639909bd183ce578536">App</a>
+</li>
+<li>set_app()
+: <a class="el" href="classBaseObject.html#a0a9acda12d751692834cf6999f889223">BaseObject</a>
+</li>
+<li>set_apps()
+: <a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">App</a>
+</li>
+<li>set_baseurl()
+: <a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">App</a>
+</li>
+<li>set_channel()
+: <a class="el" href="classApp.html#a89e9feb2bfb5253883a9720beaffe876">App</a>
+</li>
+<li>set_conversation()
+: <a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">Item</a>
+</li>
+<li>set_curl_code()
+: <a class="el" href="classApp.html#a5e6a6bd641e4d9909df56f0283c03821">App</a>
+</li>
+<li>set_curl_headers()
+: <a class="el" href="classApp.html#a9632092d9e8fdaa82a9fc4586433fd31">App</a>
+</li>
+<li>set_groups()
+: <a class="el" href="classApp.html#a3d84af5e42082098672531cd1a618853">App</a>
+</li>
+<li>set_hostname()
+: <a class="el" href="classApp.html#a344d2b7dc2f276648d521aee4da1731c">App</a>
+</li>
+<li>set_mode()
+: <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation</a>
+</li>
+<li>set_observer()
+: <a class="el" href="classApp.html#a4776d9322edea17fae56afa5d01a323e">App</a>
+</li>
+<li>set_pager_itemspage()
+: <a class="el" href="classApp.html#a4bdd7bfed62f50515fce652127bf481b">App</a>
+</li>
+<li>set_pager_total()
+: <a class="el" href="classApp.html#a560189f048d3db2f526841963cc43e97">App</a>
+</li>
+<li>set_parent()
+: <a class="el" href="classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7">Item</a>
+</li>
+<li>set_path()
+: <a class="el" href="classApp.html#adb060d5c7f35a521ec7ec0effbe08097">App</a>
+</li>
+<li>set_perms()
+: <a class="el" href="classApp.html#a557d7b779d8259027f4724ebf7b248dc">App</a>
+</li>
+<li>set_profile_owner()
+: <a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">Conversation</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>setDimensions()
+: <a class="el" href="classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb">photo_imagick</a>
+, <a class="el" href="classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e">photo_gd</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__driver.html#a6eee8e36eaf9339f4faf80ddd43162da">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">photo_gd</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>template_engine()
+: <a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">App</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
+<li>var_replace()
+: <a class="el" href="classTemplate.html#abbc484016ddf5d818f55b823cae6feb0">Template</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html
new file mode 100644
index 000000000..1fbd9bfd4
--- /dev/null
+++ b/doc/html/functions_vars.html
@@ -0,0 +1,421 @@
+<!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: Class Members - Variables</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="rhash-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 class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="#index_0x24"><span>$</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('functions_vars.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_0x24"></a>- $ -</h3><ul>
+<li>$account
+: <a class="el" href="classApp.html#a14bd4b1c29f3aff371fe5d4cb11aeea3">App</a>
+</li>
+<li>$app
+: <a class="el" href="classBaseObject.html#a02cc4cd8fa26b6fc76d92fde54b4e4b1">BaseObject</a>
+</li>
+<li>$apps
+: <a class="el" href="classApp.html#a230e975296cf164da2fee35ef720964f">App</a>
+</li>
+<li>$argc
+: <a class="el" href="classApp.html#af58db526040829b1c8bd95561b329262">App</a>
+</li>
+<li>$argv
+: <a class="el" href="classApp.html#ab3da757abe5cb45bf88f07cc51a73b58">App</a>
+</li>
+<li>$baseurl
+: <a class="el" href="classApp.html#ad5175536561021548ae8188e24c7b80c">App</a>
+</li>
+<li>$cached_profile_image
+: <a class="el" href="classApp.html#abe0e4fa91097f7a6588e1213a834121c">App</a>
+</li>
+<li>$cached_profile_picdate
+: <a class="el" href="classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e">App</a>
+</li>
+<li>$category
+: <a class="el" href="classApp.html#a5cfc098c061b7d765add58fd2ca97445">App</a>
+</li>
+<li>$channel
+: <a class="el" href="classApp.html#a050b0696118da47e8b30859ad1a2c149">App</a>
+, <a class="el" href="classItem.html#acc32426c0f465391be8a99ad810c7b8e">Item</a>
+</li>
+<li>$children
+: <a class="el" href="classItem.html#a80dcd0fb7673776c0967839d429c2a0f">Item</a>
+</li>
+<li>$cid
+: <a class="el" href="classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0">App</a>
+</li>
+<li>$cmd
+: <a class="el" href="classApp.html#a495ec082c2719314e536070ca1ce073d">App</a>
+</li>
+<li>$comment_box_template
+: <a class="el" href="classItem.html#a90743c8348b13213275c223bb9333aa0">Item</a>
+</li>
+<li>$commentable
+: <a class="el" href="classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6">Conversation</a>
+</li>
+<li>$config
+: <a class="el" href="classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88">App</a>
+</li>
+<li>$connected
+: <a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">dba_driver</a>
+</li>
+<li>$contact
+: <a class="el" href="classApp.html#a98ef4cfd36693a3457c879b76bc6d694">App</a>
+</li>
+<li>$contacts
+: <a class="el" href="classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2">App</a>
+</li>
+<li>$content
+: <a class="el" href="classApp.html#ac1d80a14492acc932715d54567d8a589">App</a>
+</li>
+<li>$conversation
+: <a class="el" href="classItem.html#a007424e3e3171dcfb4312a02161da6cd">Item</a>
+</li>
+<li>$css_sources
+: <a class="el" href="classApp.html#a6f55d087e1ff4710132c1b0863faa2ee">App</a>
+</li>
+<li>$curl_code
+: <a class="el" href="classApp.html#a256360c9184fed6d7556e0bc0a835d7f">App</a>
+</li>
+<li>$curl_headers
+: <a class="el" href="classApp.html#af5007c42a693afd9c4899c243b2e1363">App</a>
+</li>
+<li>$d
+: <a class="el" href="classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38">Template</a>
+</li>
+<li>$data
+: <a class="el" href="classApp.html#a0ce85be198e46570366cb3344f3c55b8">App</a>
+, <a class="el" href="classItem.html#aec24e233f9098f902b1e57e60dcb2019">Item</a>
+</li>
+<li>$db
+: <a class="el" href="classApp.html#a330410a288f3393d53772f5e98f857ea">App</a>
+, <a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">dba_driver</a>
+</li>
+<li>$debug
+: <a class="el" href="classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a">Template</a>
+, <a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">dba_driver</a>
+</li>
+<li>$done
+: <a class="el" href="classTemplate.html#abda4c8d049f70553338eae7c905e9d5c">Template</a>
+</li>
+<li>$error
+: <a class="el" href="classApp.html#ac1a8b2cd40609b231a560201a08852ba">App</a>
+, <a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">dba_driver</a>
+</li>
+<li>$filename
+: <a class="el" href="classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690">FriendicaSmarty</a>
+</li>
+<li>$force_max_items
+: <a class="el" href="classApp.html#ae3f47830543d0d902f66913def8db66b">App</a>
+</li>
+<li>$groups
+: <a class="el" href="classApp.html#ac6e6b1c7d6df408580ff79977fcfa656">App</a>
+</li>
+<li>$height
+: <a class="el" href="classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80">photo_driver</a>
+</li>
+<li>$hooks
+: <a class="el" href="classApp.html#a3694aa1907aa103a2adbc71f926f0fa0">App</a>
+</li>
+<li>$hostname
+: <a class="el" href="classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3">App</a>
+</li>
+<li>$identities
+: <a class="el" href="classApp.html#a7954862f44f606b0ff83d4c74d15e792">App</a>
+</li>
+<li>$image
+: <a class="el" href="classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55">photo_driver</a>
+</li>
+<li>$interactive
+: <a class="el" href="classApp.html#a4c7cfc62d39508086cf300dc2e39c4df">App</a>
+</li>
+<li>$js_sources
+: <a class="el" href="classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d">App</a>
+</li>
+<li>$lang
+: <a class="el" href="classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8">Template</a>
+</li>
+<li>$language
+: <a class="el" href="classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f">App</a>
+</li>
+<li>$layout
+: <a class="el" href="classApp.html#a58ac598544892ff7c32890291b72635e">App</a>
+</li>
+<li>$ldelim
+: <a class="el" href="classApp.html#a59dd4b665c70e7dbd80682c014ff7145">App</a>
+</li>
+<li>$mode
+: <a class="el" href="classConversation.html#afb03d1648dbfafe62caa1e30f32f2b1a">Conversation</a>
+</li>
+<li>$module
+: <a class="el" href="classApp.html#a9bf62f8e39585c0aa48fcffc3bf3484d">App</a>
+</li>
+<li>$module_loaded
+: <a class="el" href="classApp.html#a6e4f0fbfa3cf6c11baebe22a03db6165">App</a>
+</li>
+<li>$name
+: <a class="el" href="classFriendicaSmartyEngine.html#aaba6a42101bc9ae32e36b7fa2e243f02">FriendicaSmartyEngine</a>
+, <a class="el" href="classTemplate.html#a6eb301a51cc94d8b94f4548fbad85eae">Template</a>
+</li>
+<li>$nav_sel
+: <a class="el" href="classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c">App</a>
+</li>
+<li>$nodes
+: <a class="el" href="classTemplate.html#a8f4d17e49f42b876a97364c13fb572d1">Template</a>
+</li>
+<li>$observer
+: <a class="el" href="classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f">App</a>
+, <a class="el" href="classConversation.html#a8748445aa26047ebed5141f3c3cbc244">Conversation</a>
+</li>
+<li>$owner_name
+: <a class="el" href="classItem.html#a9594df6014b0b6f45364ea7a34510130">Item</a>
+</li>
+<li>$owner_photo
+: <a class="el" href="classItem.html#a078f95b4134ce3a1df344cf8d386f986">Item</a>
+</li>
+<li>$owner_url
+: <a class="el" href="classItem.html#afa54851df82962c7c42dea3cc9f5c92c">Item</a>
+</li>
+<li>$page
+: <a class="el" href="classApp.html#a4b67935096f66d1f14b657399a8461ac">App</a>
+</li>
+<li>$pager
+: <a class="el" href="classApp.html#a6bcb19cdc4907077da72864686d5a780">App</a>
+</li>
+<li>$parent
+: <a class="el" href="classItem.html#a1a1e42877e6ac7af50286142ceb483d2">Item</a>
+</li>
+<li>$path
+: <a class="el" href="classApp.html#acad5896b7a79ae31433ad8f89606c728">App</a>
+</li>
+<li>$perms
+: <a class="el" href="classApp.html#ab47de68fa39806d1fb0976407e188b77">App</a>
+</li>
+<li>$plugins
+: <a class="el" href="classApp.html#ae9f96338f32187d308b67b980eea0008">App</a>
+</li>
+<li>$preview
+: <a class="el" href="classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae">Conversation</a>
+</li>
+<li>$profile
+: <a class="el" href="classApp.html#a57d041fcc003d08c127dfa99a02bc192">App</a>
+</li>
+<li>$profile_owner
+: <a class="el" href="classConversation.html#a2f12724ef0244e9049fe1bb9641b516d">Conversation</a>
+</li>
+<li>$profile_uid
+: <a class="el" href="classApp.html#a08c24d6a6fc52fcc784b0f765f13b820">App</a>
+</li>
+<li>$query_string
+: <a class="el" href="classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f">App</a>
+</li>
+<li>$r
+: <a class="el" href="classTemplate.html#aac9a4638f11271e1b1dcc9f247242718">Template</a>
+</li>
+<li>$rdelim
+: <a class="el" href="classApp.html#a244b2d53b21be269aad2269d23192f95">App</a>
+</li>
+<li>$redirect_url
+: <a class="el" href="classItem.html#a5b561415861f5b89b0733aacfe0428d1">Item</a>
+</li>
+<li>$replace
+: <a class="el" href="classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10">Template</a>
+</li>
+<li>$scheme
+: <a class="el" href="classApp.html#ad082d63acc078e5bf23825a03bdd6a76">App</a>
+</li>
+<li>$search
+: <a class="el" href="classTemplate.html#a317d535946dc065c35dd5cd38380e6c6">Template</a>
+</li>
+<li>$sourcename
+: <a class="el" href="classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11">App</a>
+</li>
+<li>$stack
+: <a class="el" href="classTemplate.html#a6f0efc256688c36110180b501067ff11">Template</a>
+</li>
+<li>$strings
+: <a class="el" href="classApp.html#a5f64620473a9727a48ebe9cf6f335a98">App</a>
+</li>
+<li>$template
+: <a class="el" href="classItem.html#a7f7bc059de377319282cb4ef4a828480">Item</a>
+</li>
+<li>$template_engine_instance
+: <a class="el" href="classApp.html#a6844aedad10e201b8c3d80cfc9e876d3">App</a>
+</li>
+<li>$template_engines
+: <a class="el" href="classApp.html#a6859a4848a5c0049b4134cc4b34228b6">App</a>
+</li>
+<li>$theme
+: <a class="el" href="classApp.html#a764cc6cd7578132c21d2b4545de9301c">App</a>
+</li>
+<li>$theme_info
+: <a class="el" href="classApp.html#aeca29fd4f7192ca07369b3c598c36e67">App</a>
+</li>
+<li>$theme_thread_allow
+: <a class="el" href="classApp.html#a487332f8de40414ca1a54a4265570b70">App</a>
+</li>
+<li>$threaded
+: <a class="el" href="classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2">Item</a>
+</li>
+<li>$threads
+: <a class="el" href="classConversation.html#a41f4a549e6a99f98935c4742addd22c8">Conversation</a>
+</li>
+<li>$timezone
+: <a class="el" href="classApp.html#ab35b01a366a2ea95725e97af278f87ab">App</a>
+</li>
+<li>$toplevel
+: <a class="el" href="classItem.html#a5cfa6cf964f433a917a81cab079ff9d8">Item</a>
+</li>
+<li>$type
+: <a class="el" href="classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03">photo_driver</a>
+</li>
+<li>$types
+: <a class="el" href="classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03">photo_driver</a>
+</li>
+<li>$user
+: <a class="el" href="classApp.html#a91fd3c8b89016113b05f3be24805ccff">App</a>
+</li>
+<li>$valid
+: <a class="el" href="classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9">photo_driver</a>
+</li>
+<li>$videoheight
+: <a class="el" href="classApp.html#a56b1a432c96aef8b1971f779c9d93c8c">App</a>
+</li>
+<li>$videowidth
+: <a class="el" href="classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8">App</a>
+</li>
+<li>$visiting
+: <a class="el" href="classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8">Item</a>
+</li>
+<li>$wall_to_wall
+: <a class="el" href="classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189">Item</a>
+</li>
+<li>$widgetlist
+: <a class="el" href="classApp.html#a4833bee2eae4ad1691a04fa19e11a766">App</a>
+</li>
+<li>$widgets
+: <a class="el" href="classApp.html#aa5a87c46ab3fee21362c466bf78042ef">App</a>
+</li>
+<li>$width
+: <a class="el" href="classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1">photo_driver</a>
+</li>
+<li>$writable
+: <a class="el" href="classConversation.html#ae81221251307e315f566a11f921ce0a9">Conversation</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals.html b/doc/html/globals.html
new file mode 100644
index 000000000..b0396deda
--- /dev/null
+++ b/doc/html/globals.html
@@ -0,0 +1,287 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_0x24"></a>- $ -</h3><ul>
+<li>$a
+: <a class="el" href="typo_8php.html#acebf83966ef6d7e5645a6b62ba368f9f">typo.php</a>
+</li>
+<li>$API
+: <a class="el" href="include_2api_8php.html#aeb2e7ad00ea666b4b6dfcf82008194f8">api.php</a>
+</li>
+<li>$arr
+: <a class="el" href="extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb">extract.php</a>
+</li>
+<li>$called_api
+: <a class="el" href="include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d">api.php</a>
+</li>
+<li>$colour
+: <a class="el" href="redbasic_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab">style.php</a>
+</li>
+<li>$dir
+: <a class="el" href="docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62">docblox_errorchecker.php</a>
+</li>
+<li>$dirs
+: <a class="el" href="typo_8php.html#a1b709c1d79631ebc8320b41bda028b54">typo.php</a>
+</li>
+<li>$dirstack
+: <a class="el" href="docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6">docblox_errorchecker.php</a>
+</li>
+<li>$displaystyle
+: <a class="el" href="redbasic_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad">style.php</a>
+</li>
+<li>$filelist
+: <a class="el" href="docblox__errorchecker_8php.html#a648a570b0f9f6e0e51b7267647c4b09b">docblox_errorchecker.php</a>
+</li>
+<li>$files
+: <a class="el" href="extract_8php.html#a9590b15215a21e9b42eb546aeef79704">extract.php</a>
+, <a class="el" href="tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149">tpldebug.php</a>
+, <a class="el" href="typo_8php.html#a9590b15215a21e9b42eb546aeef79704">typo.php</a>
+</li>
+<li>$gc_probability
+: <a class="el" href="session_8php.html#a96b09cc763572f45280786a7b33feb7e">session.php</a>
+</li>
+<li>$i
+: <a class="el" href="docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f">docblox_errorchecker.php</a>
+</li>
+<li>$infile
+: <a class="el" href="php2po_8php.html#a61f8ddeb5557d46ebc546cc355bda214">php2po.php</a>
+</li>
+<li>$ink
+: <a class="el" href="php2po_8php.html#a6b0b8ebd9ce811d1325ef2c129443bc0">php2po.php</a>
+</li>
+<li>$install_wizard_pass
+: <a class="el" href="setup_8php.html#addb24714bc2542aa4f4215e98fe48432">setup.php</a>
+</li>
+<li>$k
+: <a class="el" href="php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178">php2po.php</a>
+</li>
+<li>$line_height
+: <a class="el" href="redbasic_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0">style.php</a>
+</li>
+<li>$linkcolour
+: <a class="el" href="redbasic_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42">style.php</a>
+</li>
+<li>$nav_bg_1
+: <a class="el" href="redbasic_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b">style.php</a>
+</li>
+<li>$nav_bg_2
+: <a class="el" href="redbasic_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba">style.php</a>
+</li>
+<li>$nav_bg_3
+: <a class="el" href="redbasic_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c">style.php</a>
+</li>
+<li>$nav_bg_4
+: <a class="el" href="redbasic_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33">style.php</a>
+</li>
+<li>$navcolour
+: <a class="el" href="redbasic_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a">style.php</a>
+</li>
+<li>$needed
+: <a class="el" href="docblox__errorchecker_8php.html#a852004caba0a34390297a079f4aaac73">docblox_errorchecker.php</a>
+</li>
+<li>$out
+: <a class="el" href="php2po_8php.html#a48cb304902320d173a4eaa41543327b9">php2po.php</a>
+</li>
+<li>$phpath
+: <a class="el" href="typo_8php.html#a3ecd17ac846be1b35f3662f5c12ab6bd">typo.php</a>
+</li>
+<li>$phpfile
+: <a class="el" href="php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4">php2po.php</a>
+</li>
+<li>$pofile
+: <a class="el" href="php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1">php2po.php</a>
+</li>
+<li>$radius
+: <a class="el" href="redbasic_2php_2style_8php.html#a6502bedd57105ad1fb2dee2be9cf6351">style.php</a>
+</li>
+<li>$redbasic_font_size
+: <a class="el" href="redstrap_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda">style.php</a>
+</li>
+<li>$res
+: <a class="el" href="docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5">docblox_errorchecker.php</a>
+</li>
+<li>$resolution
+: <a class="el" href="redbasic_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc">style.php</a>
+</li>
+<li>$s
+: <a class="el" href="extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634">extract.php</a>
+</li>
+<li>$session_exists
+: <a class="el" href="session_8php.html#a62e4a6cb26b4bb1b8ddd8277b26090eb">session.php</a>
+</li>
+<li>$session_expire
+: <a class="el" href="session_8php.html#af0100a2642a5268594bbd5742a03d885">session.php</a>
+</li>
+<li>$shadows
+: <a class="el" href="redbasic_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548">style.php</a>
+</li>
+<li>$shiny
+: <a class="el" href="redbasic_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70">style.php</a>
+</li>
+<li>$site_colour
+: <a class="el" href="redbasic_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd">style.php</a>
+</li>
+<li>$site_line_height
+: <a class="el" href="redbasic_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e">style.php</a>
+</li>
+<li>$site_redbasic_font_size
+: <a class="el" href="redstrap_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f">style.php</a>
+</li>
+<li>$str
+: <a class="el" href="typohelper_8php.html#a7542d95618011800c61773127fa625cf">typohelper.php</a>
+</li>
+<li>$uid
+: <a class="el" href="redbasic_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a">style.php</a>
+</li>
+<li>$x
+: <a class="el" href="redbasic_2php_2style_8php.html#af3a16c5f0dd7a74cf9acf6a49fff73a7">style.php</a>
+</li>
+<li>$zones
+: <a class="el" href="extract_8php.html#a0cbe524ffc9a496114fd7ba9f423ef44">extract.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x5f.html b/doc/html/globals_0x5f.html
new file mode 100644
index 000000000..425dac2bc
--- /dev/null
+++ b/doc/html/globals_0x5f.html
@@ -0,0 +1,153 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li class="current"><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x5f.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>_well_known_init()
+: <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x61.html b/doc/html/globals_0x61.html
new file mode 100644
index 000000000..75e2d36ba
--- /dev/null
+++ b/doc/html/globals_0x61.html
@@ -0,0 +1,609 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li class="current"><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x61.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>abook_connections()
+: <a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">Contact.php</a>
+</li>
+<li>ABOOK_FLAG_ARCHIVED
+: <a class="el" href="boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5">boot.php</a>
+</li>
+<li>ABOOK_FLAG_BLOCKED
+: <a class="el" href="boot_8php.html#a52b599cd13e152ebc80d7e4413683195">boot.php</a>
+</li>
+<li>ABOOK_FLAG_HIDDEN
+: <a class="el" href="boot_8php.html#a34c756469ebed32e2fc987bcde62d382">boot.php</a>
+</li>
+<li>ABOOK_FLAG_IGNORED
+: <a class="el" href="boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6">boot.php</a>
+</li>
+<li>ABOOK_FLAG_PENDING
+: <a class="el" href="boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155">boot.php</a>
+</li>
+<li>ABOOK_FLAG_SELF
+: <a class="el" href="boot_8php.html#a0450389f24c632906fbc24347700a543">boot.php</a>
+</li>
+<li>abook_self()
+: <a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">Contact.php</a>
+</li>
+<li>abook_toggle_flag()
+: <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">Contact.php</a>
+</li>
+<li>absurl()
+: <a class="el" href="boot_8php.html#a081307d681d7d04f17b9ced2076e7c85">boot.php</a>
+</li>
+<li>ACCESS_FREE
+: <a class="el" href="boot_8php.html#afbb1fe1b2c8c730ec8e08da93b6512c4">boot.php</a>
+</li>
+<li>ACCESS_PAID
+: <a class="el" href="boot_8php.html#a9c80420e5a063a4a87ce4831f086134d">boot.php</a>
+</li>
+<li>ACCESS_PRIVATE
+: <a class="el" href="boot_8php.html#a7f3474fec541e261fc8dff47313c4017">boot.php</a>
+</li>
+<li>ACCESS_TOKEN_DURATION
+: <a class="el" href="oauth_8php.html#ad343cab37aa860d2d14dc86b7f5ca0c6">oauth.php</a>
+</li>
+<li>ACCOUNT_BLOCKED
+: <a class="el" href="boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9">boot.php</a>
+</li>
+<li>ACCOUNT_EXPIRED
+: <a class="el" href="boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a">boot.php</a>
+</li>
+<li>ACCOUNT_OK
+: <a class="el" href="boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8">boot.php</a>
+</li>
+<li>ACCOUNT_PENDING
+: <a class="el" href="boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8">boot.php</a>
+</li>
+<li>account_remove()
+: <a class="el" href="Contact_8php.html#a3eef54a5523e568a28257c1f9b1644d8">Contact.php</a>
+</li>
+<li>ACCOUNT_REMOVED
+: <a class="el" href="boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78">boot.php</a>
+</li>
+<li>ACCOUNT_ROLE_ADMIN
+: <a class="el" href="boot_8php.html#ac8400313df2c831653f9036f71ebd86d">boot.php</a>
+</li>
+<li>ACCOUNT_ROLE_ALLOWCODE
+: <a class="el" href="boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688">boot.php</a>
+</li>
+<li>account_total()
+: <a class="el" href="account_8php.html#a43e3042b2723d76915a030bac3c668b6">account.php</a>
+</li>
+<li>ACCOUNT_UNVERIFIED
+: <a class="el" href="boot_8php.html#af3a4271630aabd8be592213f925d6a36">boot.php</a>
+</li>
+<li>account_verify_password()
+: <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">auth.php</a>
+</li>
+<li>acl_init()
+: <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl.php</a>
+</li>
+<li>ACTIVITY_DISLIKE
+: <a class="el" href="boot_8php.html#a0e57f846e6d47a308feced0f7274f178">boot.php</a>
+</li>
+<li>ACTIVITY_FAVORITE
+: <a class="el" href="boot_8php.html#a3e2ea123d29a72012db1241f96280b0e">boot.php</a>
+</li>
+<li>ACTIVITY_FOLLOW
+: <a class="el" href="boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434">boot.php</a>
+</li>
+<li>ACTIVITY_FRIEND
+: <a class="el" href="boot_8php.html#a176664e78dcb9132e16be69418223eb2">boot.php</a>
+</li>
+<li>ACTIVITY_JOIN
+: <a class="el" href="boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3">boot.php</a>
+</li>
+<li>ACTIVITY_LIKE
+: <a class="el" href="boot_8php.html#abdcdfc873ace4e0902177bad934de0c0">boot.php</a>
+</li>
+<li>activity_match()
+: <a class="el" href="text_8php.html#af8a3e3a66a7b862d4510f145d2e13186">text.php</a>
+</li>
+<li>ACTIVITY_MOOD
+: <a class="el" href="boot_8php.html#a7aa57438db03834aaa0b468bdce773a6">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_ALBUM
+: <a class="el" href="boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_COMMENT
+: <a class="el" href="boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_EVENT
+: <a class="el" href="boot_8php.html#a2e90096fede6acce16abf0da8cb2febe">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_GROUP
+: <a class="el" href="boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_HEART
+: <a class="el" href="boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_NOTE
+: <a class="el" href="boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_P_PHOTO
+: <a class="el" href="boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_PERSON
+: <a class="el" href="boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_PHOTO
+: <a class="el" href="boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_PROFILE
+: <a class="el" href="boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_TAGTERM
+: <a class="el" href="boot_8php.html#a1da180f961f49a11573cac4ff6c62c05">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_THING
+: <a class="el" href="boot_8php.html#a0fb63e51c2a9814941842ae8f2f4dff8">boot.php</a>
+</li>
+<li>ACTIVITY_POKE
+: <a class="el" href="boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd">boot.php</a>
+</li>
+<li>ACTIVITY_POST
+: <a class="el" href="boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4">boot.php</a>
+</li>
+<li>ACTIVITY_REQ_FRIEND
+: <a class="el" href="boot_8php.html#afe084c30a1810c10442edb4fbcbc0086">boot.php</a>
+</li>
+<li>activity_sanitise()
+: <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">items.php</a>
+</li>
+<li>ACTIVITY_TAG
+: <a class="el" href="boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5">boot.php</a>
+</li>
+<li>ACTIVITY_UNFOLLOW
+: <a class="el" href="boot_8php.html#a53e4bdb6f225da55115acb9277f75e53">boot.php</a>
+</li>
+<li>ACTIVITY_UNFRIEND
+: <a class="el" href="boot_8php.html#a29528a2544373cc19a378f350040c6a1">boot.php</a>
+</li>
+<li>ACTIVITY_UPDATE
+: <a class="el" href="boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866">boot.php</a>
+</li>
+<li>add_children_to_list()
+: <a class="el" href="conversation_8php.html#ad3e1d4b15e7d6d026ee182edd58f692b">conversation.php</a>
+</li>
+<li>add_fcontact()
+: <a class="el" href="include_2network_8php.html#a0bdc4b0bfc54797c249dc4eca25aeda4">network.php</a>
+</li>
+<li>admin_content()
+: <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin.php</a>
+</li>
+<li>admin_page_dbsync()
+: <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin.php</a>
+</li>
+<li>admin_page_logs()
+: <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin.php</a>
+</li>
+<li>admin_page_logs_post()
+: <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin.php</a>
+</li>
+<li>admin_page_plugins()
+: <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin.php</a>
+</li>
+<li>admin_page_site()
+: <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin.php</a>
+</li>
+<li>admin_page_site_post()
+: <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin.php</a>
+</li>
+<li>admin_page_summary()
+: <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin.php</a>
+</li>
+<li>admin_page_themes()
+: <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin.php</a>
+</li>
+<li>admin_page_users()
+: <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin.php</a>
+</li>
+<li>admin_page_users_post()
+: <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin.php</a>
+</li>
+<li>admin_post()
+: <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin.php</a>
+</li>
+<li>advanced_profile()
+: <a class="el" href="profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">profile_advanced.php</a>
+</li>
+<li>AES256CBC_decrypt()
+: <a class="el" href="crypto_8php.html#ac852ee41392d1358c3a54d54935e0bf9">crypto.php</a>
+</li>
+<li>AES256CBC_encrypt()
+: <a class="el" href="crypto_8php.html#a5c61821d205f95f127114159cbffa764">crypto.php</a>
+</li>
+<li>aes_encapsulate()
+: <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">crypto.php</a>
+</li>
+<li>aes_unencapsulate()
+: <a class="el" href="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">crypto.php</a>
+</li>
+<li>age()
+: <a class="el" href="datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df">datetime.php</a>
+</li>
+<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>
+<li>allowed_public_recips()
+: <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">zot.php</a>
+</li>
+<li>allowed_url()
+: <a class="el" href="include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7">network.php</a>
+</li>
+<li>alt_pager()
+: <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">text.php</a>
+</li>
+<li>api_account_logout()
+: <a class="el" href="include_2api_8php.html#a2e94eab9d6c164bfef7a1b2ab87b339b">api.php</a>
+</li>
+<li>api_account_rate_limit_status()
+: <a class="el" href="include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5">api.php</a>
+</li>
+<li>api_account_verify_credentials()
+: <a class="el" href="include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad">api.php</a>
+</li>
+<li>api_albums()
+: <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api.php</a>
+</li>
+<li>api_apply_template()
+: <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api.php</a>
+</li>
+<li>api_call()
+: <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api.php</a>
+</li>
+<li>api_channel_stream()
+: <a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api.php</a>
+</li>
+<li>api_content()
+: <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api.php</a>
+</li>
+<li>api_date()
+: <a class="el" href="include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25">api.php</a>
+</li>
+<li>api_direct_messages_all()
+: <a class="el" href="include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705">api.php</a>
+</li>
+<li>api_direct_messages_box()
+: <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api.php</a>
+</li>
+<li>api_direct_messages_conversation()
+: <a class="el" href="include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3">api.php</a>
+</li>
+<li>api_direct_messages_inbox()
+: <a class="el" href="include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2">api.php</a>
+</li>
+<li>api_direct_messages_new()
+: <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api.php</a>
+</li>
+<li>api_direct_messages_sentbox()
+: <a class="el" href="include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d">api.php</a>
+</li>
+<li>api_export_basic()
+: <a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api.php</a>
+</li>
+<li>api_favorites()
+: <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api.php</a>
+</li>
+<li>api_ff_ids()
+: <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api.php</a>
+</li>
+<li>api_followers_ids()
+: <a class="el" href="include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b">api.php</a>
+</li>
+<li>api_format_as()
+: <a class="el" href="include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879">api.php</a>
+</li>
+<li>api_format_items()
+: <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api.php</a>
+</li>
+<li>api_format_messages()
+: <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api.php</a>
+</li>
+<li>api_friendica_version()
+: <a class="el" href="include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74">api.php</a>
+</li>
+<li>api_friends_ids()
+: <a class="el" href="include_2api_8php.html#acafd2899309a005fcb725289173dc7fe">api.php</a>
+</li>
+<li>api_get_user()
+: <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api.php</a>
+</li>
+<li>api_help_test()
+: <a class="el" href="include_2api_8php.html#ac5a64cc81d70ff3cf866093ea9721d23">api.php</a>
+</li>
+<li>api_item_get_user()
+: <a class="el" href="include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1">api.php</a>
+</li>
+<li>api_login()
+: <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api.php</a>
+</li>
+<li>api_oauth_access_token()
+: <a class="el" href="include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0">api.php</a>
+</li>
+<li>api_oauth_request_token()
+: <a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api.php</a>
+</li>
+<li>api_photos()
+: <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api.php</a>
+</li>
+<li>api_post()
+: <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api.php</a>
+</li>
+<li>api_register_func()
+: <a class="el" href="include_2api_8php.html#ac2c2b18c426d697d11a830bca146be8a">api.php</a>
+</li>
+<li>api_rss_extra()
+: <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api.php</a>
+</li>
+<li>api_status_show()
+: <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api.php</a>
+</li>
+<li>api_statuses_destroy()
+: <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api.php</a>
+</li>
+<li>api_statuses_f()
+: <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api.php</a>
+</li>
+<li>api_statuses_followers()
+: <a class="el" href="include_2api_8php.html#a6951c690d87775eb37e569c66011988e">api.php</a>
+</li>
+<li>api_statuses_friends()
+: <a class="el" href="include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e">api.php</a>
+</li>
+<li>api_statuses_home_timeline()
+: <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api.php</a>
+</li>
+<li>api_statuses_mediap()
+: <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api.php</a>
+</li>
+<li>api_statuses_mentions()
+: <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api.php</a>
+</li>
+<li>api_statuses_public_timeline()
+: <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api.php</a>
+</li>
+<li>api_statuses_repeat()
+: <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api.php</a>
+</li>
+<li>api_statuses_show()
+: <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api.php</a>
+</li>
+<li>api_statuses_update()
+: <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api.php</a>
+</li>
+<li>api_statuses_user_timeline()
+: <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api.php</a>
+</li>
+<li>api_statusnet_config()
+: <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api.php</a>
+</li>
+<li>api_statusnet_version()
+: <a class="el" href="include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d">api.php</a>
+</li>
+<li>api_user()
+: <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api.php</a>
+</li>
+<li>api_users_show()
+: <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api.php</a>
+</li>
+<li>appdirpath()
+: <a class="el" href="boot_8php.html#a75a90b0eadd0df510f7e63210733634d">boot.php</a>
+</li>
+<li>apps_content()
+: <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps.php</a>
+</li>
+<li>argc()
+: <a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">boot.php</a>
+</li>
+<li>argv()
+: <a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">boot.php</a>
+</li>
+<li>arr_add_hashes()
+: <a class="el" href="parse__url_8php.html#aa7dd8f961bea042d62726ed909e4a868">parse_url.php</a>
+</li>
+<li>array_sanitise()
+: <a class="el" href="items_8php.html#abf7a1b73eb352d79acd36309b0dababd">items.php</a>
+</li>
+<li>array_xmlify()
+: <a class="el" href="text_8php.html#acedb584f65114a33f389efb796172a91">text.php</a>
+</li>
+<li>atom_author()
+: <a class="el" href="items_8php.html#a016dd86c827d08db89061ea81d15c6cb">items.php</a>
+</li>
+<li>atom_entry()
+: <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">items.php</a>
+</li>
+<li>ATOM_TIME
+: <a class="el" href="boot_8php.html#ad34c1547020a305915bcc39707744690">boot.php</a>
+</li>
+<li>attach_by_hash()
+: <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach.php</a>
+</li>
+<li>attach_by_hash_nodata()
+: <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach.php</a>
+</li>
+<li>attach_count_files()
+: <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach.php</a>
+</li>
+<li>ATTACH_FLAG_DIR
+: <a class="el" href="boot_8php.html#aa74438cf71e48e37bf7b440b94243985">boot.php</a>
+</li>
+<li>ATTACH_FLAG_OS
+: <a class="el" href="boot_8php.html#a781916f83fcc8ff1035649afa45f0292">boot.php</a>
+</li>
+<li>attach_init()
+: <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach.php</a>
+</li>
+<li>attach_list_files()
+: <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach.php</a>
+</li>
+<li>attach_store()
+: <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach.php</a>
+</li>
+<li>attribute_contains()
+: <a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">text.php</a>
+</li>
+<li>authenticate_success()
+: <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">security.php</a>
+</li>
+<li>autoname()
+: <a class="el" href="text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca">text.php</a>
+</li>
+<li>avatar_img()
+: <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">network.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x62.html b/doc/html/globals_0x62.html
new file mode 100644
index 000000000..a28bb4987
--- /dev/null
+++ b/doc/html/globals_0x62.html
@@ -0,0 +1,201 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li class="current"><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x62.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>base64url_decode()
+: <a class="el" href="text_8php.html#a13286f8a95d2de6b102966ecc270c8d6">text.php</a>
+</li>
+<li>base64url_encode()
+: <a class="el" href="text_8php.html#a070384ec000fd65043fce11d5392d241">text.php</a>
+</li>
+<li>bb2diaspora()
+: <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora.php</a>
+</li>
+<li>bb_ShareAttributes()
+: <a class="el" href="bbcode_8php.html#a52c45273fbb7ce5ec27094f7936856e1">bbcode.php</a>
+</li>
+<li>bb_ShareAttributesSimple()
+: <a class="el" href="bbcode_8php.html#a2be26414a367118143cc89e2d58e7377">bbcode.php</a>
+</li>
+<li>bb_spacefy()
+: <a class="el" href="bbcode_8php.html#a8911e027907820df3db03b4f76724b50">bbcode.php</a>
+</li>
+<li>bb_tag_preg_replace()
+: <a class="el" href="bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba">bb2diaspora.php</a>
+</li>
+<li>bb_translate_video()
+: <a class="el" href="text_8php.html#a3d2793d66db3345fd290b71e2eadf98e">text.php</a>
+</li>
+<li>bb_unspacefy_and_trim()
+: <a class="el" href="bbcode_8php.html#a064dcfd9767df6f53be1a0e11ceeb15d">bbcode.php</a>
+</li>
+<li>bbcode()
+: <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode.php</a>
+</li>
+<li>bbtoevent()
+: <a class="el" href="event_8php.html#a180cccd63c2a2f00ff432b03113531f3">event.php</a>
+</li>
+<li>bbtovcal()
+: <a class="el" href="event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279">event.php</a>
+</li>
+<li>best_link_url()
+: <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">conversation.php</a>
+</li>
+<li>blocks_content()
+: <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks.php</a>
+</li>
+<li>breaklines()
+: <a class="el" href="html2plain_8php.html#a3214912e3d00cf0a948072daccf16740">html2plain.php</a>
+</li>
+<li>build_querystring()
+: <a class="el" href="boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e">boot.php</a>
+</li>
+<li>build_sync_packet()
+: <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">zot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x63.html b/doc/html/globals_0x63.html
new file mode 100644
index 000000000..3527881d2
--- /dev/null
+++ b/doc/html/globals_0x63.html
@@ -0,0 +1,456 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li class="current"><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x63.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>cal()
+: <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">datetime.php</a>
+</li>
+<li>call_hooks()
+: <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">plugin.php</a>
+</li>
+<li>can_comment_on_post()
+: <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">items.php</a>
+</li>
+<li>categories_widget()
+: <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">contact_widgets.php</a>
+</li>
+<li>change_channel()
+: <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">security.php</a>
+</li>
+<li>chanlink_cid()
+: <a class="el" href="text_8php.html#a85e3a4851c16674834010d8419a5d7ca">text.php</a>
+</li>
+<li>chanlink_hash()
+: <a class="el" href="text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0">text.php</a>
+</li>
+<li>chanlink_url()
+: <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">text.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>
+<li>channel_init()
+: <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel.php</a>
+</li>
+<li>channel_remove()
+: <a class="el" href="Contact_8php.html#ad46ff6764f12b6d3ab45c49b797f98aa">Contact.php</a>
+</li>
+<li>channel_total()
+: <a class="el" href="identity_8php.html#a77d2237f1846964634b1c99089c27c7d">identity.php</a>
+</li>
+<li>channelx_by_hash()
+: <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">Contact.php</a>
+</li>
+<li>channelx_by_n()
+: <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">Contact.php</a>
+</li>
+<li>channelx_by_nick()
+: <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">Contact.php</a>
+</li>
+<li>chanview_content()
+: <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview.php</a>
+</li>
+<li>check_account_admin()
+: <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">account.php</a>
+</li>
+<li>check_account_email()
+: <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">account.php</a>
+</li>
+<li>check_account_invite()
+: <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">account.php</a>
+</li>
+<li>check_account_password()
+: <a class="el" href="account_8php.html#a144b4891022567668375b58ea61cfff0">account.php</a>
+</li>
+<li>check_add()
+: <a class="el" href="setup_8php.html#ae8e4d9279a61de74d5f39962cb7b6ca1">setup.php</a>
+</li>
+<li>check_config()
+: <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">boot.php</a>
+</li>
+<li>check_form_security_std_err_msg()
+: <a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">security.php</a>
+</li>
+<li>check_form_security_token()
+: <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">security.php</a>
+</li>
+<li>check_form_security_token_ForbiddenOnErr()
+: <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">security.php</a>
+</li>
+<li>check_form_security_token_redirectOnErr()
+: <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">security.php</a>
+</li>
+<li>check_funcs()
+: <a class="el" href="setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e">setup.php</a>
+</li>
+<li>check_htaccess()
+: <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">setup.php</a>
+</li>
+<li>check_htconfig()
+: <a class="el" href="setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f">setup.php</a>
+</li>
+<li>check_keys()
+: <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">setup.php</a>
+</li>
+<li>check_list_permissions()
+: <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">permissions.php</a>
+</li>
+<li>check_php()
+: <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">setup.php</a>
+</li>
+<li>check_smarty3()
+: <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">setup.php</a>
+</li>
+<li>check_webbie()
+: <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">text.php</a>
+</li>
+<li>clean_urls()
+: <a class="el" href="boot_8php.html#ab79b8b4555cae20d03f8200666d89d63">boot.php</a>
+</li>
+<li>cleardiv()
+: <a class="el" href="text_8php.html#afe18627c4983ee5f7c940a0992818cd5">text.php</a>
+</li>
+<li>cli_startup()
+: <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup.php</a>
+</li>
+<li>cli_suggest_run()
+: <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest.php</a>
+</li>
+<li>CLIENT_MODE_LOAD
+: <a class="el" href="boot_8php.html#af6f6f6f40139f12fc09ec47373b30919">boot.php</a>
+</li>
+<li>CLIENT_MODE_NORMAL
+: <a class="el" href="boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731">boot.php</a>
+</li>
+<li>CLIENT_MODE_UPDATE
+: <a class="el" href="boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77">boot.php</a>
+</li>
+<li>collect_recipients()
+: <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">items.php</a>
+</li>
+<li>collecturls()
+: <a class="el" href="html2plain_8php.html#ae1c203d0f089d5678d73a6c64a395201">html2plain.php</a>
+</li>
+<li>comanche_block()
+: <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche.php</a>
+</li>
+<li>comanche_menu()
+: <a class="el" href="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche.php</a>
+</li>
+<li>comanche_parser()
+: <a class="el" href="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche.php</a>
+</li>
+<li>comanche_region()
+: <a class="el" href="comanche_8php.html#a5718daeda40bf835345fe061e8808cdf">comanche.php</a>
+</li>
+<li>comanche_replace_region()
+: <a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche.php</a>
+</li>
+<li>comanche_webpage()
+: <a class="el" href="comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a">comanche.php</a>
+</li>
+<li>comanche_widget()
+: <a class="el" href="comanche_8php.html#a45900dd1d6101b53e3d063db40eafa5e">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>
+<li>common_friends()
+: <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">socgraph.php</a>
+</li>
+<li>common_friends_visitor_widget()
+: <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">contact_widgets.php</a>
+</li>
+<li>common_friends_zcid()
+: <a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">socgraph.php</a>
+</li>
+<li>common_init()
+: <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common.php</a>
+</li>
+<li>community_content()
+: <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community.php</a>
+</li>
+<li>community_init()
+: <a class="el" href="community_8php.html#a56c94ec978a38633c5628fa6f8e386d9">community.php</a>
+</li>
+<li>compare_permissions()
+: <a class="el" href="items_8php.html#a0790a4550b829e85504af548623002ca">items.php</a>
+</li>
+<li>completeurl()
+: <a class="el" href="parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a">parse_url.php</a>
+</li>
+<li>connect_content()
+: <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect.php</a>
+</li>
+<li>connect_init()
+: <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect.php</a>
+</li>
+<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>
+<li>connections_content()
+: <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections.php</a>
+</li>
+<li>connections_init()
+: <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections.php</a>
+</li>
+<li>connections_post()
+: <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections.php</a>
+</li>
+<li>construct_activity_object()
+: <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">items.php</a>
+</li>
+<li>construct_activity_target()
+: <a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">items.php</a>
+</li>
+<li>construct_page()
+: <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">boot.php</a>
+</li>
+<li>construct_verb()
+: <a class="el" href="items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8">items.php</a>
+</li>
+<li>consume_feed()
+: <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">items.php</a>
+</li>
+<li>contact_block()
+: <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">text.php</a>
+</li>
+<li>CONTACT_IS_FOLLOWER
+: <a class="el" href="boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29">boot.php</a>
+</li>
+<li>CONTACT_IS_FRIEND
+: <a class="el" href="boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f">boot.php</a>
+</li>
+<li>CONTACT_IS_SHARING
+: <a class="el" href="boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9">boot.php</a>
+</li>
+<li>contact_poll_interval()
+: <a class="el" href="contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f">contact_selectors.php</a>
+</li>
+<li>contact_profile_assign()
+: <a class="el" href="contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75">contact_selectors.php</a>
+</li>
+<li>contact_remove()
+: <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">Contact.php</a>
+</li>
+<li>contact_reputation()
+: <a class="el" href="contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53">contact_selectors.php</a>
+</li>
+<li>contact_select()
+: <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">acl_selectors.php</a>
+</li>
+<li>contactgroup_content()
+: <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup.php</a>
+</li>
+<li>contacts_not_grouped()
+: <a class="el" href="Contact_8php.html#a228fc01f90ae9bfdde4c2ad0772bd7dc">Contact.php</a>
+</li>
+<li>conv_sort()
+: <a class="el" href="conversation_8php.html#abed85a41f1160598de880b84021c9cf7">conversation.php</a>
+</li>
+<li>conversation()
+: <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation.php</a>
+</li>
+<li>convert_xml_element_to_array()
+: <a class="el" href="include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246">network.php</a>
+</li>
+<li>count_all_friends()
+: <a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">socgraph.php</a>
+</li>
+<li>count_common_friends()
+: <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">socgraph.php</a>
+</li>
+<li>count_common_friends_zcid()
+: <a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">socgraph.php</a>
+</li>
+<li>count_descendants()
+: <a class="el" href="conversation_8php.html#ab2383dff4f823e580399ff469d90ab19">conversation.php</a>
+</li>
+<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>
+<li>cronhooks_run()
+: <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks.php</a>
+</li>
+<li>curPageURL()
+: <a class="el" href="boot_8php.html#aa4221641e5c21db69fa52c426b9017f5">boot.php</a>
+</li>
+<li>current_theme()
+: <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">boot.php</a>
+</li>
+<li>current_theme_url()
+: <a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x64.html b/doc/html/globals_0x64.html
new file mode 100644
index 000000000..c9573a753
--- /dev/null
+++ b/doc/html/globals_0x64.html
@@ -0,0 +1,294 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li class="current"><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x64.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>datesel()
+: <a class="el" href="datetime_8php.html#ac265b86f384ee094ed5479aae02aa5c8">datetime.php</a>
+</li>
+<li>datesel_format()
+: <a class="el" href="datetime_8php.html#a5f29553799005b1fd4e9ce9d98ce05aa">datetime.php</a>
+</li>
+<li>datetime_convert()
+: <a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime.php</a>
+</li>
+<li>day_translate()
+: <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">text.php</a>
+</li>
+<li>DB_UPDATE_VERSION
+: <a class="el" href="boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03">boot.php</a>
+</li>
+<li>dba_factory()
+: <a class="el" href="dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947">dba_driver.php</a>
+</li>
+<li>dba_timer()
+: <a class="el" href="boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4">boot.php</a>
+</li>
+<li>dbesc()
+: <a class="el" href="dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e">dba_driver.php</a>
+</li>
+<li>dbesc_array()
+: <a class="el" href="dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4">dba_driver.php</a>
+</li>
+<li>dbesc_array_cb()
+: <a class="el" href="dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930">dba_driver.php</a>
+</li>
+<li>dbg()
+: <a class="el" href="dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb">dba_driver.php</a>
+</li>
+<li>dbq()
+: <a class="el" href="dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee">dba_driver.php</a>
+</li>
+<li>decode_tags()
+: <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">items.php</a>
+</li>
+<li>DEFAULT_DB_ENGINE
+: <a class="el" href="boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d">boot.php</a>
+</li>
+<li>del_config()
+: <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">config.php</a>
+</li>
+<li>del_pconfig()
+: <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">config.php</a>
+</li>
+<li>del_xconfig()
+: <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">config.php</a>
+</li>
+<li>delegate_content()
+: <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate.php</a>
+</li>
+<li>delete_imported_item()
+: <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">zot.php</a>
+</li>
+<li>delete_item_lowlevel()
+: <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">items.php</a>
+</li>
+<li>deletenode()
+: <a class="el" href="html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2">html2bbcode.php</a>
+</li>
+<li>deliver_run()
+: <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver.php</a>
+</li>
+<li>design_tools()
+: <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">text.php</a>
+</li>
+<li>detect_language()
+: <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">language.php</a>
+</li>
+<li>dfrn_deliver()
+: <a class="el" href="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">items.php</a>
+</li>
+<li>diaspora2bb()
+: <a class="el" href="bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6">bb2diaspora.php</a>
+</li>
+<li>diaspora_ol()
+: <a class="el" href="bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4">bb2diaspora.php</a>
+</li>
+<li>diaspora_ul()
+: <a class="el" href="bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc">bb2diaspora.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>
+<li>DIRECTORY_FALLBACK_MASTER
+: <a class="el" href="boot_8php.html#abedd940e664017c61b48c6efa31d0cb8">boot.php</a>
+</li>
+<li>directory_init()
+: <a class="el" href="mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf">directory.php</a>
+</li>
+<li>DIRECTORY_MODE_NORMAL
+: <a class="el" href="boot_8php.html#ab7d65a7e7417825a4db62906bb600729">boot.php</a>
+</li>
+<li>DIRECTORY_MODE_PRIMARY
+: <a class="el" href="boot_8php.html#a8a60cc38bb567765fd926fef70205f16">boot.php</a>
+</li>
+<li>DIRECTORY_MODE_SECONDARY
+: <a class="el" href="boot_8php.html#aedfb9501ed408278667995524e0d15cf">boot.php</a>
+</li>
+<li>DIRECTORY_MODE_STANDALONE
+: <a class="el" href="boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8">boot.php</a>
+</li>
+<li>DIRECTORY_REALM
+: <a class="el" href="boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd">boot.php</a>
+</li>
+<li>directory_run()
+: <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory.php</a>
+</li>
+<li>dirfind_content()
+: <a class="el" href="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind.php</a>
+</li>
+<li>dirfind_init()
+: <a class="el" href="dirfind_8php.html#ac689a812c84f161b3a0d42349f83981c">dirfind.php</a>
+</li>
+<li>dirsearch_content()
+: <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch.php</a>
+</li>
+<li>dirsearch_init()
+: <a class="el" href="dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752">dirsearch.php</a>
+</li>
+<li>display_content()
+: <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display.php</a>
+</li>
+<li>dlogger()
+: <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">text.php</a>
+</li>
+<li>do
+: <a class="el" href="docblox__errorchecker_8php.html#a721c6ff80a6d3e4ad4ffa52a04c60085">docblox_errorchecker.php</a>
+</li>
+<li>dob()
+: <a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">datetime.php</a>
+</li>
+<li>drop_item()
+: <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">items.php</a>
+</li>
+<li>drop_items()
+: <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">items.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x65.html b/doc/html/globals_0x65.html
new file mode 100644
index 000000000..45d38cb53
--- /dev/null
+++ b/doc/html/globals_0x65.html
@@ -0,0 +1,224 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li class="current"><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x65.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>editblock_content()
+: <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock.php</a>
+</li>
+<li>editlayout_content()
+: <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout.php</a>
+</li>
+<li>editpost_content()
+: <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost.php</a>
+</li>
+<li>editwebpage_content()
+: <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage.php</a>
+</li>
+<li>else
+: <a class="el" href="auth_8php.html#a0950af7c2888ca1d4743fe5d0bff9ae5">auth.php</a>
+, <a class="el" href="fpostit_8php.html#a501b5ca82f287509fc691c88524064c1">fpostit.php</a>
+, <a class="el" href="tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c">tpldebug.php</a>
+</li>
+<li>email_header_encode()
+: <a class="el" href="include_2network_8php.html#a540420ff3675a72cb781ef9a7e8c2cd9">network.php</a>
+</li>
+<li>email_send()
+: <a class="el" href="include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0">network.php</a>
+</li>
+<li>encode_item()
+: <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">items.php</a>
+</li>
+<li>encode_item_flags()
+: <a class="el" href="items_8php.html#a5f690fc2484abec07840b4f9dd525bd9">items.php</a>
+</li>
+<li>encode_item_terms()
+: <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">items.php</a>
+</li>
+<li>encode_item_xchan()
+: <a class="el" href="items_8php.html#a566c601726697e044e75284af7fb6f17">items.php</a>
+</li>
+<li>encode_mail()
+: <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">items.php</a>
+</li>
+<li>encode_rel_links()
+: <a class="el" href="items_8php.html#aa723c0571e314a1853a24c5854b4f54f">items.php</a>
+</li>
+<li>enumerate_permissions()
+: <a class="el" href="items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67">items.php</a>
+</li>
+<li>EOL
+: <a class="el" href="boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b">boot.php</a>
+</li>
+<li>EOT
+: <a class="el" href="typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805">typohelper.php</a>
+</li>
+<li>escape_tags()
+: <a class="el" href="text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64">text.php</a>
+</li>
+<li>ev_compare()
+: <a class="el" href="event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850">event.php</a>
+</li>
+<li>event_store()
+: <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event.php</a>
+</li>
+<li>events_content()
+: <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events.php</a>
+</li>
+<li>events_post()
+: <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events.php</a>
+</li>
+<li>expand_acl()
+: <a class="el" href="text_8php.html#ae4282a39492caa23ccbc2ce98e54f110">text.php</a>
+</li>
+<li>expand_groups()
+: <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">group.php</a>
+</li>
+<li>expire_run()
+: <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x66.html b/doc/html/globals_0x66.html
new file mode 100644
index 000000000..87118be5c
--- /dev/null
+++ b/doc/html/globals_0x66.html
@@ -0,0 +1,282 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li class="current"><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x66.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>fbrowser_content()
+: <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser.php</a>
+</li>
+<li>feature_enabled()
+: <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">features.php</a>
+</li>
+<li>feed_hublinks()
+: <a class="el" href="text_8php.html#a8d8c4a11e53461caca21181ebd72daca">text.php</a>
+</li>
+<li>feed_init()
+: <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed.php</a>
+</li>
+<li>feed_salmonlinks()
+: <a class="el" href="text_8php.html#a89929fa6f70a8ba54d5273fcf622b665">text.php</a>
+</li>
+<li>fetch_lrdd_template()
+: <a class="el" href="include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0">network.php</a>
+</li>
+<li>fetch_post_tags()
+: <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">items.php</a>
+</li>
+<li>fetch_url()
+: <a class="el" href="include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a">network.php</a>
+</li>
+<li>fetch_xrd_links()
+: <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">network.php</a>
+</li>
+<li>field_timezone()
+: <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">datetime.php</a>
+</li>
+<li>file_tag_decode()
+: <a class="el" href="taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6">taxonomy.php</a>
+</li>
+<li>file_tag_encode()
+: <a class="el" href="taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37">taxonomy.php</a>
+</li>
+<li>file_tag_file_query()
+: <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">taxonomy.php</a>
+</li>
+<li>fileas_widget()
+: <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">contact_widgets.php</a>
+</li>
+<li>filer_content()
+: <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer.php</a>
+</li>
+<li>filerm_content()
+: <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm.php</a>
+</li>
+<li>filestorage_content()
+: <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage.php</a>
+</li>
+<li>find_thread_parent_index()
+: <a class="el" href="conversation_8php.html#ae59703b07ce2ddf627b4172ff26058b6">conversation.php</a>
+</li>
+<li>find_upstream_directory()
+: <a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">dir_fns.php</a>
+</li>
+<li>find_xchan_in_array()
+: <a class="el" href="text_8php.html#ace3c98538c63e09b70a363210b414112">text.php</a>
+</li>
+<li>findpeople_widget()
+: <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">contact_widgets.php</a>
+</li>
+<li>first_post_date()
+: <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">items.php</a>
+</li>
+<li>fix_attached_file_permissions()
+: <a class="el" href="item_8php.html#a3daae7944f737bd30412a0d042207c0f">item.php</a>
+</li>
+<li>fix_attached_photo_permissions()
+: <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">item.php</a>
+</li>
+<li>fix_contact_ssl_policy()
+: <a class="el" href="include_2network_8php.html#a2729d012410e470c527a62a3f777ded8">network.php</a>
+</li>
+<li>fix_mce_lf()
+: <a class="el" href="text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28">text.php</a>
+</li>
+<li>fix_private_photos()
+: <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">items.php</a>
+</li>
+<li>fix_system_urls()
+: <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">boot.php</a>
+</li>
+<li>fixacl()
+: <a class="el" href="acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e">acl_selectors.php</a>
+</li>
+<li>follow_content()
+: <a class="el" href="mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592">follow.php</a>
+</li>
+<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>
+<li>format_css_if_exists()
+: <a class="el" href="plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6">plugin.php</a>
+</li>
+<li>format_event_bbcode()
+: <a class="el" href="event_8php.html#abb74206cf42d694307c3d7abb7af9869">event.php</a>
+</li>
+<li>format_event_diaspora()
+: <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">bb2diaspora.php</a>
+</li>
+<li>format_event_html()
+: <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">event.php</a>
+</li>
+<li>format_js_if_exists()
+: <a class="el" href="plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f">plugin.php</a>
+</li>
+<li>format_like()
+: <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">conversation.php</a>
+</li>
+<li>format_location()
+: <a class="el" href="conversation_8php.html#a0891aaa4492cba2b51eda12fe01957f3">conversation.php</a>
+</li>
+<li>format_notification()
+: <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">notify.php</a>
+</li>
+<li>format_term_for_display()
+: <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">taxonomy.php</a>
+</li>
+<li>fsuggest_content()
+: <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest.php</a>
+</li>
+<li>fsuggest_post()
+: <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x67.html b/doc/html/globals_0x67.html
new file mode 100644
index 000000000..92372f3cb
--- /dev/null
+++ b/doc/html/globals_0x67.html
@@ -0,0 +1,351 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li class="current"><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x67.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>gender_selector()
+: <a class="el" href="profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355">profile_selectors.php</a>
+</li>
+<li>generate_user_guid()
+: <a class="el" href="text_8php.html#ae4f6881d7e13623f8eded6277595112a">text.php</a>
+</li>
+<li>get_account_id()
+: <a class="el" href="boot_8php.html#afe88b920aa285982edb817a0dd44eb37">boot.php</a>
+</li>
+<li>get_all_perms()
+: <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">permissions.php</a>
+</li>
+<li>get_app()
+: <a class="el" href="boot_8php.html#a0e6db7e365f2b041a828b93786f694bc">boot.php</a>
+</li>
+<li>get_atom_elements()
+: <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">items.php</a>
+</li>
+<li>get_bb_tag_pos()
+: <a class="el" href="bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2">bb2diaspora.php</a>
+</li>
+<li>get_best_language()
+: <a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">language.php</a>
+</li>
+<li>get_birthdays()
+: <a class="el" href="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">boot.php</a>
+</li>
+<li>get_browser_language()
+: <a class="el" href="language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e">language.php</a>
+</li>
+<li>get_capath()
+: <a class="el" href="include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7">network.php</a>
+</li>
+<li>get_config()
+: <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">config.php</a>
+</li>
+<li>get_config_from_storage()
+: <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">config.php</a>
+</li>
+<li>get_custom_nav()
+: <a class="el" href="boot_8php.html#a899d24fd074594ceebbf72e1feff335f">boot.php</a>
+</li>
+<li>get_db_errno()
+: <a class="el" href="setup_8php.html#a8652788e8589778c5f81634a9d5b9429">setup.php</a>
+</li>
+<li>get_dim()
+: <a class="el" href="datetime_8php.html#a7df24d72ea05922d3127363e2295174c">datetime.php</a>
+</li>
+<li>get_events()
+: <a class="el" href="boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">boot.php</a>
+</li>
+<li>get_features()
+: <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">features.php</a>
+</li>
+<li>get_feed_for()
+: <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">items.php</a>
+</li>
+<li>get_first_dim()
+: <a class="el" href="datetime_8php.html#aba971b67f17fecf050813f1eba72367f">datetime.php</a>
+</li>
+<li>get_form_security_token()
+: <a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">security.php</a>
+</li>
+<li>get_intltext_template()
+: <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">plugin.php</a>
+</li>
+<li>get_item_children()
+: <a class="el" href="conversation_8php.html#a7f6ef0dfa554bacf620e84c18d386e67">conversation.php</a>
+</li>
+<li>get_item_contact()
+: <a class="el" href="items_8php.html#aab9c6bae4c40799867596bdaae9829fd">items.php</a>
+</li>
+<li>get_item_elements()
+: <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">items.php</a>
+</li>
+<li>get_mail_elements()
+: <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">items.php</a>
+</li>
+<li>get_markup_template()
+: <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">plugin.php</a>
+</li>
+<li>get_max_import_size()
+: <a class="el" href="boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90">boot.php</a>
+</li>
+<li>get_mentions()
+: <a class="el" href="text_8php.html#a76d1b3435c067978d7b484c45f56472b">text.php</a>
+</li>
+<li>get_mood_verbs()
+: <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">text.php</a>
+</li>
+<li>get_my_address()
+: <a class="el" href="boot_8php.html#a490972c02fdb638c52ec0e012a30bfd2">boot.php</a>
+</li>
+<li>get_my_url()
+: <a class="el" href="boot_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec">boot.php</a>
+</li>
+<li>get_observer_hash()
+: <a class="el" href="boot_8php.html#a623e49c79943f3e7bdb770d021683cf7">boot.php</a>
+</li>
+<li>get_pconfig()
+: <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">config.php</a>
+</li>
+<li>get_perms()
+: <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">permissions.php</a>
+</li>
+<li>get_plink()
+: <a class="el" href="text_8php.html#a05b7f26dc2df78681f57eeade53040c6">text.php</a>
+</li>
+<li>get_plugin_info()
+: <a class="el" href="plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35">plugin.php</a>
+</li>
+<li>get_poke_verbs()
+: <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">text.php</a>
+</li>
+<li>get_profile_elements()
+: <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">items.php</a>
+</li>
+<li>get_public_feed()
+: <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">items.php</a>
+</li>
+<li>get_rel_link()
+: <a class="el" href="text_8php.html#a3972701c5c83624ec4e2d06242f614e7">text.php</a>
+</li>
+<li>get_tags()
+: <a class="el" href="text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623">text.php</a>
+</li>
+<li>get_terms_oftype()
+: <a class="el" href="taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1">taxonomy.php</a>
+</li>
+<li>get_theme_config_file()
+: <a class="el" href="settings_8php.html#a39abc76ff5459c57e3b957664f273f18">settings.php</a>
+</li>
+<li>get_theme_info()
+: <a class="el" href="plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405">plugin.php</a>
+</li>
+<li>get_theme_screenshot()
+: <a class="el" href="plugin_8php.html#a48047edfbef770125a5508dcc2f9282f">plugin.php</a>
+</li>
+<li>get_theme_uid()
+: <a class="el" href="boot_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">boot.php</a>
+</li>
+<li>get_xconfig()
+: <a class="el" href="include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e">config.php</a>
+</li>
+<li>goaway()
+: <a class="el" href="boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1">boot.php</a>
+</li>
+<li>gprobe_run()
+: <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe.php</a>
+</li>
+<li>GRAVITY_COMMENT
+: <a class="el" href="boot_8php.html#a4a12ce5de39789b0361e308d89925a20">boot.php</a>
+</li>
+<li>GRAVITY_LIKE
+: <a class="el" href="boot_8php.html#a1f5906598e90b5ea2b4245f682be4348">boot.php</a>
+</li>
+<li>GRAVITY_PARENT
+: <a class="el" href="boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3">boot.php</a>
+</li>
+<li>group_add()
+: <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group.php</a>
+</li>
+<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>
+<li>group_content()
+: <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group.php</a>
+</li>
+<li>group_get_members()
+: <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group.php</a>
+</li>
+<li>group_post()
+: <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group.php</a>
+</li>
+<li>group_rec_byhash()
+: <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group.php</a>
+</li>
+<li>group_rmv()
+: <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group.php</a>
+</li>
+<li>group_rmv_member()
+: <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group.php</a>
+</li>
+<li>group_select()
+: <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>
+</li>
+<li>groups_containing()
+: <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">group.php</a>
+</li>
+<li>guess_image_type()
+: <a class="el" href="photo__driver_8php.html#a7273b82b017fd96d29b2c57bab03aea6">photo_driver.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x68.html b/doc/html/globals_0x68.html
new file mode 100644
index 000000000..987b252fc
--- /dev/null
+++ b/doc/html/globals_0x68.html
@@ -0,0 +1,219 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li class="current"><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x68.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<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>
+</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>
+<li>head_add_js()
+: <a class="el" href="plugin_8php.html#a516591850f4fd49fd1425cfa54089db8">plugin.php</a>
+</li>
+<li>head_get_css()
+: <a class="el" href="plugin_8php.html#af92789f559b89a380e49d303218aeeca">plugin.php</a>
+</li>
+<li>head_get_icon()
+: <a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">boot.php</a>
+</li>
+<li>head_get_js()
+: <a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">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>hostxrd_init()
+: <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd.php</a>
+</li>
+<li>html2bb_video()
+: <a class="el" href="text_8php.html#a138a3a611fa7f4f3630674145fc826bf">text.php</a>
+</li>
+<li>html2bbcode()
+: <a class="el" href="html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837">html2bbcode.php</a>
+</li>
+<li>html2plain()
+: <a class="el" href="html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04">html2plain.php</a>
+</li>
+<li>http_status_exit()
+: <a class="el" href="include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2">network.php</a>
+</li>
+<li>HUBLOC_FLAGS_PRIMARY
+: <a class="el" href="boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955">boot.php</a>
+</li>
+<li>HUBLOC_FLAGS_UNVERIFIED
+: <a class="el" href="boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764">boot.php</a>
+</li>
+<li>HUBLOC_NOTUSED
+: <a class="el" href="boot_8php.html#aa589421267f0c2f0d643f727792cce35">boot.php</a>
+</li>
+<li>HUBLOC_OFFLINE
+: <a class="el" href="boot_8php.html#a845891f82bf6edd7fa2d578b66703112">boot.php</a>
+</li>
+<li>HUBLOC_RECEIVE_ERROR
+: <a class="el" href="boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1">boot.php</a>
+</li>
+<li>HUBLOC_SEND_ERROR
+: <a class="el" href="boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456">boot.php</a>
+</li>
+<li>HUBLOC_WORKS
+: <a class="el" href="boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x69.html b/doc/html/globals_0x69.html
new file mode 100644
index 000000000..85714b02b
--- /dev/null
+++ b/doc/html/globals_0x69.html
@@ -0,0 +1,344 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li class="current"><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x69.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>identity_basic_export()
+: <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity.php</a>
+</li>
+<li>identity_basic_import()
+: <a class="el" href="identity_8php.html#a77ee7d66eb0758f7e7882f70ad0f9485">identity.php</a>
+</li>
+<li>identity_check_service_class()
+: <a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity.php</a>
+</li>
+<li>ids_to_querystr()
+: <a class="el" href="text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a">text.php</a>
+</li>
+<li>if
+: <a class="el" href="redbasic_2php_2style_8php.html#ac4c6bc3cd9cc92204f04cf6cb34b47dd">style.php</a>
+, <a class="el" href="theme_2redstrap_2php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762">default.php</a>
+, <a class="el" href="php2po_8php.html#a45b05625748f412ec97afcd61cf7980b">php2po.php</a>
+, <a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">style.php</a>
+, <a class="el" href="php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762">default.php</a>
+, <a class="el" href="full_8php.html#a6fac1b4b8cdfde06ea1b7713479e92db">full.php</a>
+</li>
+<li>import_author_xchan()
+: <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">items.php</a>
+</li>
+<li>import_channel_photo()
+: <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">photo_driver.php</a>
+</li>
+<li>import_content()
+: <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import.php</a>
+</li>
+<li>import_directory_keywords()
+: <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">zot.php</a>
+</li>
+<li>import_directory_profile()
+: <a class="el" href="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">zot.php</a>
+</li>
+<li>import_post()
+: <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>
+</li>
+<li>import_site()
+: <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">zot.php</a>
+</li>
+<li>import_xchan()
+: <a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">zot.php</a>
+</li>
+<li>info()
+: <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">boot.php</a>
+</li>
+<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>
+<li>invite_post()
+: <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite.php</a>
+</li>
+<li>is_a_date_arg()
+: <a class="el" href="text_8php.html#a1557112a774ec00fa06ed6b6f6495506">text.php</a>
+</li>
+<li>is_ajax()
+: <a class="el" href="boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c">boot.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_BUILDBLOCK
+: <a class="el" href="boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf">boot.php</a>
+</li>
+<li>item_check_service_class()
+: <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item.php</a>
+</li>
+<li>item_content()
+: <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item.php</a>
+</li>
+<li>ITEM_DELAYED_PUBLISH
+: <a class="el" href="boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20">boot.php</a>
+</li>
+<li>ITEM_DELETED
+: <a class="el" href="boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49">boot.php</a>
+</li>
+<li>item_expire()
+: <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">items.php</a>
+</li>
+<li>item_extract_images()
+: <a class="el" href="conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654">conversation.php</a>
+</li>
+<li>item_getfeedattach()
+: <a class="el" href="items_8php.html#a09d425596b9f8663472cf7474ad36d96">items.php</a>
+</li>
+<li>item_getfeedtags()
+: <a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">items.php</a>
+</li>
+<li>ITEM_HIDDEN
+: <a class="el" href="boot_8php.html#ac99fc4d040764eac1736bec6973556fe">boot.php</a>
+</li>
+<li>ITEM_MENTIONSME
+: <a class="el" href="boot_8php.html#a8da836617174eed9fc2ac8054125354b">boot.php</a>
+</li>
+<li>item_message_id()
+: <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">text.php</a>
+</li>
+<li>ITEM_MODERATED
+: <a class="el" href="boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450">boot.php</a>
+</li>
+<li>ITEM_NOCOMMENT
+: <a class="el" href="boot_8php.html#a949116d9a295b214293006c060ca4848">boot.php</a>
+</li>
+<li>ITEM_NOTSHOWN
+: <a class="el" href="boot_8php.html#a8663f32171568489dbb2a01dd00371f8">boot.php</a>
+</li>
+<li>ITEM_NSFW
+: <a class="el" href="boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08">boot.php</a>
+</li>
+<li>ITEM_OBSCURED
+: <a class="el" href="boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d">boot.php</a>
+</li>
+<li>ITEM_ORIGIN
+: <a class="el" href="boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7">boot.php</a>
+</li>
+<li>ITEM_PDL
+: <a class="el" href="boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d">boot.php</a>
+</li>
+<li>item_permissions_sql()
+: <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">security.php</a>
+</li>
+<li>item_photo_menu()
+: <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">conversation.php</a>
+</li>
+<li>item_post()
+: <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item.php</a>
+</li>
+<li>item_post_type()
+: <a class="el" href="text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e">text.php</a>
+</li>
+<li>item_redir_and_replace_images()
+: <a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">conversation.php</a>
+</li>
+<li>ITEM_RELAY
+: <a class="el" href="boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221">boot.php</a>
+</li>
+<li>ITEM_SPAM
+: <a class="el" href="boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb">boot.php</a>
+</li>
+<li>ITEM_STARRED
+: <a class="el" href="boot_8php.html#a7af107fab8d62b9a73801713b774ed30">boot.php</a>
+</li>
+<li>item_store()
+: <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">items.php</a>
+</li>
+<li>item_store_update()
+: <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">items.php</a>
+</li>
+<li>ITEM_THREAD_TOP
+: <a class="el" href="boot_8php.html#a749144d8dd9c1366596a0213c277d050">boot.php</a>
+</li>
+<li>ITEM_UNPUBLISHED
+: <a class="el" href="boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272">boot.php</a>
+</li>
+<li>ITEM_UNSEEN
+: <a class="el" href="boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0">boot.php</a>
+</li>
+<li>ITEM_UPLINK
+: <a class="el" href="boot_8php.html#aefba06f1c0842036329033e7567ecf6d">boot.php</a>
+</li>
+<li>ITEM_UPLINK_PRV
+: <a class="el" href="boot_8php.html#aad33b494084f729b6ee3b0bc457718a1">boot.php</a>
+</li>
+<li>ITEM_VISIBLE
+: <a class="el" href="boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf">boot.php</a>
+</li>
+<li>ITEM_WALL
+: <a class="el" href="boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322">boot.php</a>
+</li>
+<li>ITEM_WEBPAGE
+: <a class="el" href="boot_8php.html#af489d0c3166551b93e63a79ff2c9be35">boot.php</a>
+</li>
+<li>items_fetch()
+: <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x6a.html b/doc/html/globals_0x6a.html
new file mode 100644
index 000000000..bd919192e
--- /dev/null
+++ b/doc/html/globals_0x6a.html
@@ -0,0 +1,162 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li class="current"><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x6a.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
+<li>jindent()
+: <a class="el" href="text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8">text.php</a>
+</li>
+<li>JPEG_QUALITY
+: <a class="el" href="boot_8php.html#a3475ff6c2e575f946ea0ee377e944173">boot.php</a>
+</li>
+<li>json_decode_plus()
+: <a class="el" href="text_8php.html#a0271381208acfa2d4cff36da281e3e23">text.php</a>
+</li>
+<li>json_return_and_die()
+: <a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">network.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x6b.html b/doc/html/globals_0x6b.html
new file mode 100644
index 000000000..e45270b14
--- /dev/null
+++ b/doc/html/globals_0x6b.html
@@ -0,0 +1,156 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li class="current"><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x6b.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>KEY_NOT_EXISTS
+: <a class="el" href="template__processor_8php.html#a797745996c7839a93b2ab1af456631ab">template_processor.php</a>
+</li>
+<li>killme()
+: <a class="el" href="boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x6c.html b/doc/html/globals_0x6c.html
new file mode 100644
index 000000000..e10884157
--- /dev/null
+++ b/doc/html/globals_0x6c.html
@@ -0,0 +1,264 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li class="current"><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x6c.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>lang_selector()
+: <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">text.php</a>
+</li>
+<li>LANGUAGE_DETECT_MIN_CONFIDENCE
+: <a class="el" href="boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11">boot.php</a>
+</li>
+<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>
+<li>layouts_content()
+: <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts.php</a>
+</li>
+<li>legal_webbie()
+: <a class="el" href="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">text.php</a>
+</li>
+<li>like_content()
+: <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like.php</a>
+</li>
+<li>like_puller()
+: <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">conversation.php</a>
+</li>
+<li>limit_body_size()
+: <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">items.php</a>
+</li>
+<li>link_compare()
+: <a class="el" href="text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285">text.php</a>
+</li>
+<li>linkify()
+: <a class="el" href="text_8php.html#a11255c8c4e5245b6c24f97684826aa54">text.php</a>
+</li>
+<li>list_public_sites()
+: <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">dirsearch.php</a>
+</li>
+<li>load_config()
+: <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">config.php</a>
+</li>
+<li>load_contact_links()
+: <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">boot.php</a>
+</li>
+<li>load_database()
+: <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">setup.php</a>
+</li>
+<li>load_database_rem()
+: <a class="el" href="setup_8php.html#a2b375ddc555140236fc500135de99371">setup.php</a>
+</li>
+<li>load_hooks()
+: <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">plugin.php</a>
+</li>
+<li>load_pconfig()
+: <a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">config.php</a>
+</li>
+<li>load_plugin()
+: <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">plugin.php</a>
+</li>
+<li>load_translation_table()
+: <a class="el" href="language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05">language.php</a>
+</li>
+<li>load_xconfig()
+: <a class="el" href="include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33">config.php</a>
+</li>
+<li>local_user()
+: <a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">boot.php</a>
+</li>
+<li>localize_item()
+: <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">conversation.php</a>
+</li>
+<li>lockview_content()
+: <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview.php</a>
+</li>
+<li>logger()
+: <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">text.php</a>
+</li>
+<li>LOGGER_ALL
+: <a class="el" href="boot_8php.html#afe63ae69ba55299f813766e54df06ede">boot.php</a>
+</li>
+<li>LOGGER_DATA
+: <a class="el" href="boot_8php.html#a6969947145a139ec374ce098224d8e81">boot.php</a>
+</li>
+<li>LOGGER_DEBUG
+: <a class="el" href="boot_8php.html#a93823d15ae07548a4c49de88d325cd26">boot.php</a>
+</li>
+<li>LOGGER_NORMAL
+: <a class="el" href="boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805">boot.php</a>
+</li>
+<li>LOGGER_TRACE
+: <a class="el" href="boot_8php.html#a022cea669f9f13ef7c6268b63884c57f">boot.php</a>
+</li>
+<li>login()
+: <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">boot.php</a>
+</li>
+<li>login_content()
+: <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login.php</a>
+</li>
+<li>lostpass_content()
+: <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass.php</a>
+</li>
+<li>lostpass_post()
+: <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass.php</a>
+</li>
+<li>lrdd()
+: <a class="el" href="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">network.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x6d.html b/doc/html/globals_0x6d.html
new file mode 100644
index 000000000..83a755fa0
--- /dev/null
+++ b/doc/html/globals_0x6d.html
@@ -0,0 +1,285 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li class="current"><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x6d.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>magic_init()
+: <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic.php</a>
+</li>
+<li>magic_link()
+: <a class="el" href="text_8php.html#a1e510c53624933ce9b7d6715784894db">text.php</a>
+</li>
+<li>magiclink_url()
+: <a class="el" href="text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6">text.php</a>
+</li>
+<li>MAIL_DELETED
+: <a class="el" href="boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8">boot.php</a>
+</li>
+<li>MAIL_ISREPLY
+: <a class="el" href="boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2">boot.php</a>
+</li>
+<li>MAIL_OBSCURED
+: <a class="el" href="boot_8php.html#a44ae1542a805ffd7f826fb511db07374">boot.php</a>
+</li>
+<li>MAIL_RECALLED
+: <a class="el" href="boot_8php.html#ae4861de36017fe399c1839f778bad9f5">boot.php</a>
+</li>
+<li>MAIL_REPLIED
+: <a class="el" href="boot_8php.html#aa3679df31c8dad1b71816b0322d5baff">boot.php</a>
+</li>
+<li>MAIL_SEEN
+: <a class="el" href="boot_8php.html#a1fbb93cf030f07391f22cc2948744869">boot.php</a>
+</li>
+<li>mail_store()
+: <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">items.php</a>
+</li>
+<li>manage_content()
+: <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage.php</a>
+</li>
+<li>manual_config()
+: <a class="el" href="setup_8php.html#abe405d227ba7232971964a706d4f3bce">setup.php</a>
+</li>
+<li>map_scope()
+: <a class="el" href="items_8php.html#ac1fcf621dce7370515b420a7753f4726">items.php</a>
+</li>
+<li>marital_selector()
+: <a class="el" href="profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798">profile_selectors.php</a>
+</li>
+<li>match_content()
+: <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match.php</a>
+</li>
+<li>MAX_IMAGE_LENGTH
+: <a class="el" href="boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa">boot.php</a>
+</li>
+<li>MAX_LIKERS
+: <a class="el" href="boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd">boot.php</a>
+</li>
+<li>member_of()
+: <a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">group.php</a>
+</li>
+<li>menu_add_item()
+: <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu.php</a>
+</li>
+<li>menu_content()
+: <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu.php</a>
+</li>
+<li>menu_create()
+: <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu.php</a>
+</li>
+<li>menu_del_item()
+: <a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu.php</a>
+</li>
+<li>menu_delete()
+: <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu.php</a>
+</li>
+<li>menu_delete_id()
+: <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu.php</a>
+</li>
+<li>menu_edit()
+: <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu.php</a>
+</li>
+<li>menu_edit_item()
+: <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu.php</a>
+</li>
+<li>menu_fetch()
+: <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu.php</a>
+</li>
+<li>menu_fetch_id()
+: <a class="el" href="include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7">menu.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_list()
+: <a class="el" href="include_2menu_8php.html#acef15a498d52666b1c7e5c12765c689b">menu.php</a>
+</li>
+<li>menu_post()
+: <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu.php</a>
+</li>
+<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>
+</li>
+<li>micropro()
+: <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">text.php</a>
+</li>
+<li>mimetype_select()
+: <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">text.php</a>
+</li>
+<li>mini_group_select()
+: <a class="el" href="include_2group_8php.html#ab4d9e5b59f48787cb01baae5dc6c381f">group.php</a>
+</li>
+<li>mitem_content()
+: <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem.php</a>
+</li>
+<li>mitem_init()
+: <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem.php</a>
+</li>
+<li>mitem_post()
+: <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem.php</a>
+</li>
+<li>mood_content()
+: <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood.php</a>
+</li>
+<li>mood_init()
+: <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood.php</a>
+</li>
+<li>msearch_post()
+: <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x6e.html b/doc/html/globals_0x6e.html
new file mode 100644
index 000000000..e4ff51d56
--- /dev/null
+++ b/doc/html/globals_0x6e.html
@@ -0,0 +1,357 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li class="current"><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x6e.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>n
+: <a class="el" href="php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b">php2po.php</a>
+</li>
+<li>namesList()
+: <a class="el" href="docblox__errorchecker_8php.html#a2b767cfc461fdd5061fffc9e4a806d5b">docblox_errorchecker.php</a>
+</li>
+<li>NAMESPACE_ACTIVITY
+: <a class="el" href="boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2">boot.php</a>
+</li>
+<li>NAMESPACE_ACTIVITY_SCHEMA
+: <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">boot.php</a>
+</li>
+<li>NAMESPACE_ATOM1
+: <a class="el" href="boot_8php.html#a444ce608ce34efb82ee11852f36e825f">boot.php</a>
+</li>
+<li>NAMESPACE_DFRN
+: <a class="el" href="boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028">boot.php</a>
+</li>
+<li>NAMESPACE_FEED
+: <a class="el" href="boot_8php.html#ac195fc9003298923ea81f144388e24b1">boot.php</a>
+</li>
+<li>NAMESPACE_GEORSS
+: <a class="el" href="boot_8php.html#a03d19251c245587de7ed959300b87bdf">boot.php</a>
+</li>
+<li>NAMESPACE_MEDIA
+: <a class="el" href="boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16">boot.php</a>
+</li>
+<li>NAMESPACE_OSTATUS
+: <a class="el" href="boot_8php.html#acca19aae62e1a6951a856b945de20d67">boot.php</a>
+</li>
+<li>NAMESPACE_OSTATUSSUB
+: <a class="el" href="boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd">boot.php</a>
+</li>
+<li>NAMESPACE_POCO
+: <a class="el" href="boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a">boot.php</a>
+</li>
+<li>NAMESPACE_SALMON_ME
+: <a class="el" href="boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67">boot.php</a>
+</li>
+<li>NAMESPACE_STATUSNET
+: <a class="el" href="boot_8php.html#afaf93b7026f784b113b4f8921745891e">boot.php</a>
+</li>
+<li>NAMESPACE_THREAD
+: <a class="el" href="boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86">boot.php</a>
+</li>
+<li>NAMESPACE_TOMB
+: <a class="el" href="boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e">boot.php</a>
+</li>
+<li>NAMESPACE_ZOT
+: <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">boot.php</a>
+</li>
+<li>nav()
+: <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav.php</a>
+</li>
+<li>nav_set_selected()
+: <a class="el" href="nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a">nav.php</a>
+</li>
+<li>navbar_complete()
+: <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">acl.php</a>
+</li>
+<li>network_content()
+: <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network.php</a>
+</li>
+<li>NETWORK_DFRN
+: <a class="el" href="boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e">boot.php</a>
+</li>
+<li>NETWORK_DIASPORA
+: <a class="el" href="boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa">boot.php</a>
+</li>
+<li>NETWORK_FACEBOOK
+: <a class="el" href="boot_8php.html#af3905ea8f8568d0236db13fca40514e3">boot.php</a>
+</li>
+<li>NETWORK_FEED
+: <a class="el" href="boot_8php.html#ab4bddb41a0cf407178ec5278b950c393">boot.php</a>
+</li>
+<li>NETWORK_GPLUS
+: <a class="el" href="boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701">boot.php</a>
+</li>
+<li>network_init()
+: <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network.php</a>
+</li>
+<li>NETWORK_LINKEDIN
+: <a class="el" href="boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa">boot.php</a>
+</li>
+<li>NETWORK_MAIL
+: <a class="el" href="boot_8php.html#a7236b2cdcf59f02a42302e893a99013b">boot.php</a>
+</li>
+<li>NETWORK_MAIL2
+: <a class="el" href="boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42">boot.php</a>
+</li>
+<li>NETWORK_MYSPACE
+: <a class="el" href="boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95">boot.php</a>
+</li>
+<li>NETWORK_OSTATUS
+: <a class="el" href="boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d">boot.php</a>
+</li>
+<li>NETWORK_PHANTOM
+: <a class="el" href="boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f">boot.php</a>
+</li>
+<li>network_query_get_sel_tab()
+: <a class="el" href="mod_2network_8php.html#aeaa518c1a317516a3da337b88d358666">network.php</a>
+</li>
+<li>network_to_name()
+: <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">contact_selectors.php</a>
+</li>
+<li>NETWORK_XMPP
+: <a class="el" href="boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e">boot.php</a>
+</li>
+<li>NETWORK_ZOT
+: <a class="el" href="boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0">boot.php</a>
+</li>
+<li>new_channel_content()
+: <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel.php</a>
+</li>
+<li>new_channel_init()
+: <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel.php</a>
+</li>
+<li>new_channel_post()
+: <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel.php</a>
+</li>
+<li>new_contact()
+: <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">follow.php</a>
+</li>
+<li>new_cookie()
+: <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">session.php</a>
+</li>
+<li>new_keypair()
+: <a class="el" href="crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a">crypto.php</a>
+</li>
+<li>node2bbcode()
+: <a class="el" href="html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8">html2bbcode.php</a>
+</li>
+<li>node2bbcodesub()
+: <a class="el" href="html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7">html2bbcode.php</a>
+</li>
+<li>nogroup_content()
+: <a class="el" href="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup.php</a>
+</li>
+<li>nogroup_init()
+: <a class="el" href="nogroup_8php.html#a099cb353bf62e8453069ce107b763212">nogroup.php</a>
+</li>
+<li>normalise_link()
+: <a class="el" href="text_8php.html#a4bbb7d00c05cd20b4e043424f322388f">text.php</a>
+</li>
+<li>normalise_openid()
+: <a class="el" href="text_8php.html#adba17ec946f4285285dc100f7860bf51">text.php</a>
+</li>
+<li>notags()
+: <a class="el" href="text_8php.html#a1af49756c8c71902a66c7e329c462beb">text.php</a>
+</li>
+<li>notice()
+: <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">boot.php</a>
+</li>
+<li>notification()
+: <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">enotify.php</a>
+</li>
+<li>notifications_content()
+: <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications.php</a>
+</li>
+<li>notifications_post()
+: <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications.php</a>
+</li>
+<li>notifier_run()
+: <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier.php</a>
+</li>
+<li>NOTIFY_COMMENT
+: <a class="el" href="boot_8php.html#a20f0eed431d25870b624b8937a07a59f">boot.php</a>
+</li>
+<li>NOTIFY_CONFIRM
+: <a class="el" href="boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d">boot.php</a>
+</li>
+<li>notify_content()
+: <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify.php</a>
+</li>
+<li>notify_init()
+: <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify.php</a>
+</li>
+<li>NOTIFY_INTRO
+: <a class="el" href="boot_8php.html#a56fd673eaa7014150297ce1162502db5">boot.php</a>
+</li>
+<li>NOTIFY_MAIL
+: <a class="el" href="boot_8php.html#a285732e7889fa7f333cbe431111e1029">boot.php</a>
+</li>
+<li>NOTIFY_POKE
+: <a class="el" href="boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8">boot.php</a>
+</li>
+<li>NOTIFY_PROFILE
+: <a class="el" href="boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b">boot.php</a>
+</li>
+<li>NOTIFY_SUGGEST
+: <a class="el" href="boot_8php.html#a9d01ef178b72b145016cca1393415bc4">boot.php</a>
+</li>
+<li>NOTIFY_SYSTEM
+: <a class="el" href="boot_8php.html#a14d44d4a00223dc3db4ea962325db192">boot.php</a>
+</li>
+<li>NOTIFY_TAGSELF
+: <a class="el" href="boot_8php.html#ab724491497ab2618b23a01d5da60aec0">boot.php</a>
+</li>
+<li>NOTIFY_TAGSHARE
+: <a class="el" href="boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461">boot.php</a>
+</li>
+<li>NOTIFY_WALL
+: <a class="el" href="boot_8php.html#a505410c7edc5f5bb5fa227b98359793e">boot.php</a>
+</li>
+<li>nuke_session()
+: <a class="el" href="auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a">auth.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x6f.html b/doc/html/globals_0x6f.html
new file mode 100644
index 000000000..8e17bfdd7
--- /dev/null
+++ b/doc/html/globals_0x6f.html
@@ -0,0 +1,198 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li class="current"><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x6f.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>oauth_get_client()
+: <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>
+</li>
+<li>obj_verbs()
+: <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">taxonomy.php</a>
+</li>
+<li>oe_build_xpath()
+: <a class="el" href="include_2oembed_8php.html#ab953a6e7c11bc6498ce01ed73e2ba319">oembed.php</a>
+</li>
+<li>oe_get_inner_html()
+: <a class="el" href="include_2oembed_8php.html#a03fa3b7832c98a3d0b4630afeb73d487">oembed.php</a>
+</li>
+<li>oembed_bbcode2html()
+: <a class="el" href="include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2">oembed.php</a>
+</li>
+<li>oembed_fetch_url()
+: <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed.php</a>
+</li>
+<li>oembed_format_object()
+: <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed.php</a>
+</li>
+<li>oembed_html2bbcode()
+: <a class="el" href="include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172">oembed.php</a>
+</li>
+<li>oembed_iframe()
+: <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed.php</a>
+</li>
+<li>oembed_init()
+: <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed.php</a>
+</li>
+<li>oembed_replacecb()
+: <a class="el" href="include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0">oembed.php</a>
+</li>
+<li>oexchange_content()
+: <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange.php</a>
+</li>
+<li>oexchange_init()
+: <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange.php</a>
+</li>
+<li>onepoll_run()
+: <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll.php</a>
+</li>
+<li>opensearch_init()
+: <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x70.html b/doc/html/globals_0x70.html
new file mode 100644
index 000000000..c96cd5508
--- /dev/null
+++ b/doc/html/globals_0x70.html
@@ -0,0 +1,521 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li class="current"><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x70.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<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_APPLICATION
+: <a class="el" href="boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed">boot.php</a>
+</li>
+<li>PAGE_AUTOCONNECT
+: <a class="el" href="boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9">boot.php</a>
+</li>
+<li>page_content()
+: <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page.php</a>
+</li>
+<li>PAGE_DIRECTORY_CHANNEL
+: <a class="el" href="boot_8php.html#a5b8484922918946d041e5e0515dbe718">boot.php</a>
+</li>
+<li>PAGE_HIDDEN
+: <a class="el" href="boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640">boot.php</a>
+</li>
+<li>page_init()
+: <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page.php</a>
+</li>
+<li>PAGE_NORMAL
+: <a class="el" href="boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3">boot.php</a>
+</li>
+<li>PAGE_PREMIUM
+: <a class="el" href="boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8">boot.php</a>
+</li>
+<li>PAGE_REMOVED
+: <a class="el" href="boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6">boot.php</a>
+</li>
+<li>pagelist_widget()
+: <a class="el" href="page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0">page_widgets.php</a>
+</li>
+<li>paginate()
+: <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">text.php</a>
+</li>
+<li>parse_url_content()
+: <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url.php</a>
+</li>
+<li>parse_xml_string()
+: <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">network.php</a>
+</li>
+<li>parseurl_getsiteinfo()
+: <a class="el" href="parse__url_8php.html#a25635549f2c22955d72465f4d2e58993">parse_url.php</a>
+</li>
+<li>pdl_selector()
+: <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">comanche.php</a>
+</li>
+<li>perm_is_allowed()
+: <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">permissions.php</a>
+</li>
+<li>permissions_sql()
+: <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">security.php</a>
+</li>
+<li>perms2str()
+: <a class="el" href="text_8php.html#a98fd99dee3da8cf4c148dc04efe782ee">text.php</a>
+</li>
+<li>PERMS_A_DELEGATE
+: <a class="el" href="boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b">boot.php</a>
+</li>
+<li>PERMS_CONTACTS
+: <a class="el" href="boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6">boot.php</a>
+</li>
+<li>PERMS_NETWORK
+: <a class="el" href="boot_8php.html#a6df1102664f64b274810db85197c2755">boot.php</a>
+</li>
+<li>PERMS_PUBLIC
+: <a class="el" href="boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7">boot.php</a>
+</li>
+<li>PERMS_R_ABOOK
+: <a class="el" href="boot_8php.html#a3d6d4fc5fafcc9156811669158541caf">boot.php</a>
+</li>
+<li>PERMS_R_PAGES
+: <a class="el" href="boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e">boot.php</a>
+</li>
+<li>PERMS_R_PHOTOS
+: <a class="el" href="boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62">boot.php</a>
+</li>
+<li>PERMS_R_PROFILE
+: <a class="el" href="boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137">boot.php</a>
+</li>
+<li>PERMS_R_STORAGE
+: <a class="el" href="boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc">boot.php</a>
+</li>
+<li>PERMS_R_STREAM
+: <a class="el" href="boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4">boot.php</a>
+</li>
+<li>PERMS_SITE
+: <a class="el" href="boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f">boot.php</a>
+</li>
+<li>PERMS_SPECIFIC
+: <a class="el" href="boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964">boot.php</a>
+</li>
+<li>PERMS_W_CHAT
+: <a class="el" href="boot_8php.html#acd877c405b06b348b37b6f7e62a211e9">boot.php</a>
+</li>
+<li>PERMS_W_COMMENT
+: <a class="el" href="boot_8php.html#a32df13fec0e43281da5979e1f5579aa8">boot.php</a>
+</li>
+<li>PERMS_W_MAIL
+: <a class="el" href="boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf">boot.php</a>
+</li>
+<li>PERMS_W_PAGES
+: <a class="el" href="boot_8php.html#aa9244fc9cc221980c07a20cc534111be">boot.php</a>
+</li>
+<li>PERMS_W_PHOTOS
+: <a class="el" href="boot_8php.html#a57eee7352714c004d36c26dda74af73e">boot.php</a>
+</li>
+<li>PERMS_W_STORAGE
+: <a class="el" href="boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115">boot.php</a>
+</li>
+<li>PERMS_W_STREAM
+: <a class="el" href="boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55">boot.php</a>
+</li>
+<li>PERMS_W_TAGWALL
+: <a class="el" href="boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777">boot.php</a>
+</li>
+<li>PERMS_W_WALL
+: <a class="el" href="boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2">boot.php</a>
+</li>
+<li>photo_factory()
+: <a class="el" href="photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035">photo_driver.php</a>
+</li>
+<li>photo_init()
+: <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo.php</a>
+</li>
+<li>photo_new_resource()
+: <a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">text.php</a>
+</li>
+<li>PHOTO_NORMAL
+: <a class="el" href="boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4">boot.php</a>
+</li>
+<li>PHOTO_PROFILE
+: <a class="el" href="boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0">boot.php</a>
+</li>
+<li>PHOTO_THING
+: <a class="el" href="boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383">boot.php</a>
+</li>
+<li>photo_upload()
+: <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photos.php</a>
+</li>
+<li>PHOTO_XCHAN
+: <a class="el" href="boot_8php.html#ac43182e0d8bae7576a30b603774974f8">boot.php</a>
+</li>
+<li>photos_album_exists()
+: <a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos.php</a>
+</li>
+<li>photos_album_get_db_idstr()
+: <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos.php</a>
+</li>
+<li>photos_album_rename()
+: <a class="el" href="include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab">photos.php</a>
+</li>
+<li>photos_album_widget()
+: <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos.php</a>
+</li>
+<li>photos_albums_list()
+: <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos.php</a>
+</li>
+<li>photos_content()
+: <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos.php</a>
+</li>
+<li>photos_create_item()
+: <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos.php</a>
+</li>
+<li>photos_init()
+: <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos.php</a>
+</li>
+<li>photos_list_photos()
+: <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos.php</a>
+</li>
+<li>photos_post()
+: <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos.php</a>
+</li>
+<li>php_init()
+: <a class="el" href="php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6">php.php</a>
+</li>
+<li>ping_init()
+: <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping.php</a>
+</li>
+<li>pkcs5_pad()
+: <a class="el" href="crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec">crypto.php</a>
+</li>
+<li>pkcs5_unpad()
+: <a class="el" href="crypto_8php.html#ac95ac3b1b23b65b04a86613d4206ae85">crypto.php</a>
+</li>
+<li>PNG_QUALITY
+: <a class="el" href="boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce">boot.php</a>
+</li>
+<li>po2php_run()
+: <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php.php</a>
+</li>
+<li>poco_init()
+: <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco.php</a>
+</li>
+<li>poco_load()
+: <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">socgraph.php</a>
+</li>
+<li>poke_content()
+: <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke.php</a>
+</li>
+<li>poke_init()
+: <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke.php</a>
+</li>
+<li>POLL_MULTIPLE_CHOICE
+: <a class="el" href="boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86">boot.php</a>
+</li>
+<li>POLL_OVERWRITE
+: <a class="el" href="boot_8php.html#a2b525996e4426bdddbcec277778bde08">boot.php</a>
+</li>
+<li>POLL_SIMPLE_RATING
+: <a class="el" href="boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5">boot.php</a>
+</li>
+<li>POLL_TENSCALE
+: <a class="el" href="boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc">boot.php</a>
+</li>
+<li>poller_run()
+: <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller.php</a>
+</li>
+<li>pop_lang()
+: <a class="el" href="language_8php.html#a78bd204955ec4cc3a9ac651285a1689d">language.php</a>
+</li>
+<li>populate_acl()
+: <a class="el" href="acl__selectors_8php.html#a51f2ec7a143d5a5b38e35efd5f3d6e2c">acl_selectors.php</a>
+</li>
+<li>post_activity_item()
+: <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">items.php</a>
+</li>
+<li>post_init()
+: <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post.php</a>
+</li>
+<li>post_post()
+: <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post.php</a>
+</li>
+<li>post_url()
+: <a class="el" href="include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e">network.php</a>
+</li>
+<li>posted_date_widget()
+: <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">items.php</a>
+</li>
+<li>posted_dates()
+: <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">items.php</a>
+</li>
+<li>preg_heart()
+: <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">text.php</a>
+</li>
+<li>prepare_body()
+: <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">text.php</a>
+</li>
+<li>prepare_page()
+: <a class="el" href="conversation_8php.html#a4b0888b0f26e1c284a4341fe5fd04f0c">conversation.php</a>
+</li>
+<li>prepare_text()
+: <a class="el" href="text_8php.html#afe54312607d92f7ce9593f5760831f80">text.php</a>
+</li>
+<li>pretheme_init()
+: <a class="el" href="pretheme_8php.html#af5660943ee99db5fd75182316522eafe">pretheme.php</a>
+</li>
+<li>print_template()
+: <a class="el" href="tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3">tpldebug.php</a>
+</li>
+<li>printable()
+: <a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">dba_driver.php</a>
+</li>
+<li>private_messages_drop()
+: <a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">message.php</a>
+</li>
+<li>private_messages_fetch_conversation()
+: <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">message.php</a>
+</li>
+<li>private_messages_fetch_message()
+: <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">message.php</a>
+</li>
+<li>private_messages_list()
+: <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">message.php</a>
+</li>
+<li>probe_content()
+: <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe.php</a>
+</li>
+<li>proc_run()
+: <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">boot.php</a>
+</li>
+<li>process_channel_sync_delivery()
+: <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">zot.php</a>
+</li>
+<li>process_delivery()
+: <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">zot.php</a>
+</li>
+<li>process_mail_delivery()
+: <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">zot.php</a>
+</li>
+<li>process_profile_delivery()
+: <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">zot.php</a>
+</li>
+<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>
+<li>profile_create_sidebar()
+: <a class="el" href="boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">boot.php</a>
+</li>
+<li>profile_init()
+: <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile.php</a>
+</li>
+<li>profile_load()
+: <a class="el" href="boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">boot.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>
+<li>profile_photo_post()
+: <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo.php</a>
+</li>
+<li>profile_sidebar()
+: <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">boot.php</a>
+</li>
+<li>profile_tabs()
+: <a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">boot.php</a>
+</li>
+<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>
+<li>profiles_init()
+: <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles.php</a>
+</li>
+<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>
+<li>profperm_init()
+: <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm.php</a>
+</li>
+<li>protect_sprintf()
+: <a class="el" href="text_8php.html#a4e7698aca48982512594b274543c3b9b">text.php</a>
+</li>
+<li>public_permissions_sql()
+: <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">security.php</a>
+</li>
+<li>public_recips()
+: <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">zot.php</a>
+</li>
+<li>pubsites_content()
+: <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites.php</a>
+</li>
+<li>purify_html()
+: <a class="el" href="text_8php.html#a4841df5beabdd1bdd1ed56781a915d61">text.php</a>
+</li>
+<li>push_lang()
+: <a class="el" href="language_8php.html#ac9142ef1d01a235c760deb0f16643f5a">language.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x71.html b/doc/html/globals_0x71.html
new file mode 100644
index 000000000..5ce2ce29b
--- /dev/null
+++ b/doc/html/globals_0x71.html
@@ -0,0 +1,165 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li class="current"><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x71.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
+<li>q()
+: <a class="el" href="dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f">dba_driver.php</a>
+</li>
+<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>
+<li>quotelevel()
+: <a class="el" href="html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0">html2plain.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x72.html b/doc/html/globals_0x72.html
new file mode 100644
index 000000000..3441baee6
--- /dev/null
+++ b/doc/html/globals_0x72.html
@@ -0,0 +1,300 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li class="current"><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x72.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>random_profile()
+: <a class="el" href="Contact_8php.html#a91281b5d4bbbb2ed468e27ec82ca083c">Contact.php</a>
+</li>
+<li>random_string()
+: <a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">text.php</a>
+</li>
+<li>RANDOM_STRING_HEX
+: <a class="el" href="text_8php.html#aad557c054cf2ed915633701018fc7e3f">text.php</a>
+</li>
+<li>RANDOM_STRING_TEXT
+: <a class="el" href="text_8php.html#a2ffd79c60cc87cec24ef76447b905187">text.php</a>
+</li>
+<li>randprof_init()
+: <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof.php</a>
+</li>
+<li>rconnect_url()
+: <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">Contact.php</a>
+</li>
+<li>rebuild_theme_table()
+: <a class="el" href="admin_8php.html#ae46311a3fefc21abc838a26e91789de6">admin.php</a>
+</li>
+<li>RED_PLATFORM
+: <a class="el" href="boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4">boot.php</a>
+</li>
+<li>RED_VERSION
+: <a class="el" href="boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3">boot.php</a>
+</li>
+<li>red_zrl_callback()
+: <a class="el" href="items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b">items.php</a>
+</li>
+<li>redbasic_form()
+: <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">config.php</a>
+</li>
+<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>
+<li>redstrap_init()
+: <a class="el" href="redstrap_2php_2theme_8php.html#a4dac61d466b4261deca2846f548e484a">theme.php</a>
+</li>
+<li>reduce()
+: <a class="el" href="docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f">docblox_errorchecker.php</a>
+</li>
+<li>ref_session_close()
+: <a class="el" href="session_8php.html#a5e1c616e02b863d5450317d101366bb7">session.php</a>
+</li>
+<li>ref_session_destroy()
+: <a class="el" href="session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052">session.php</a>
+</li>
+<li>ref_session_gc()
+: <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">session.php</a>
+</li>
+<li>ref_session_open()
+: <a class="el" href="session_8php.html#a26fa1042356d555023cbf15ddd4f8507">session.php</a>
+</li>
+<li>ref_session_read()
+: <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">session.php</a>
+</li>
+<li>ref_session_write()
+: <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">session.php</a>
+</li>
+<li>REGISTER_APPROVE
+: <a class="el" href="boot_8php.html#a7176c0f9f1c98421b97735d892cf6252">boot.php</a>
+</li>
+<li>REGISTER_CLOSED
+: <a class="el" href="boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1">boot.php</a>
+</li>
+<li>register_content()
+: <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register.php</a>
+</li>
+<li>register_hook()
+: <a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">plugin.php</a>
+</li>
+<li>register_init()
+: <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register.php</a>
+</li>
+<li>REGISTER_OPEN
+: <a class="el" href="boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63">boot.php</a>
+</li>
+<li>register_post()
+: <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register.php</a>
+</li>
+<li>regmod_content()
+: <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod.php</a>
+</li>
+<li>relative_date()
+: <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">datetime.php</a>
+</li>
+<li>reload_plugins()
+: <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">plugin.php</a>
+</li>
+<li>reltoabs()
+: <a class="el" href="text_8php.html#ad855a32bee22c3f3b9734e3a334b96f2">text.php</a>
+</li>
+<li>remote_user()
+: <a class="el" href="boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209">boot.php</a>
+</li>
+<li>remove_all_xchan_resources()
+: <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">Contact.php</a>
+</li>
+<li>remove_community_tag()
+: <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">zot.php</a>
+</li>
+<li>remove_queue_item()
+: <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">queue_fn.php</a>
+</li>
+<li>removeme_content()
+: <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme.php</a>
+</li>
+<li>removeme_post()
+: <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme.php</a>
+</li>
+<li>render_location_default()
+: <a class="el" href="conversation_8php.html#a40b9b5e7825bc73932a32e667f05e6f2">conversation.php</a>
+</li>
+<li>replace_macros()
+: <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">text.php</a>
+</li>
+<li>REQUEST_TOKEN_DURATION
+: <a class="el" href="oauth_8php.html#a7a32a5990f113ac9465b03b29175cf16">oauth.php</a>
+</li>
+<li>requestdata()
+: <a class="el" href="include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e">api.php</a>
+</li>
+<li>return_bytes()
+: <a class="el" href="text_8php.html#ae2126da85966da0e79c6bcbac63b0bda">text.php</a>
+</li>
+<li>rmagic_content()
+: <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic.php</a>
+</li>
+<li>rmagic_init()
+: <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic.php</a>
+</li>
+<li>rmagic_post()
+: <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic.php</a>
+</li>
+<li>rsa_sign()
+: <a class="el" href="crypto_8php.html#a920e5f222d0020f47556033d8b2b6552">crypto.php</a>
+</li>
+<li>rsa_verify()
+: <a class="el" href="crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96">crypto.php</a>
+</li>
+<li>rsd_xml_content()
+: <a class="el" href="rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82">rsd_xml.php</a>
+</li>
+<li>runs()
+: <a class="el" href="docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec">docblox_errorchecker.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x73.html b/doc/html/globals_0x73.html
new file mode 100644
index 000000000..3b97b548f
--- /dev/null
+++ b/doc/html/globals_0x73.html
@@ -0,0 +1,336 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li class="current"><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x73.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<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>search()
+: <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">text.php</a>
+</li>
+<li>search_ac_init()
+: <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac.php</a>
+</li>
+<li>search_content()
+: <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search.php</a>
+</li>
+<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>
+<li>select_timezone()
+: <a class="el" href="datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f">datetime.php</a>
+</li>
+<li>send_message()
+: <a class="el" href="include_2message_8php.html#ac382fdcdf990dcfa8f6528ab8fd280bd">message.php</a>
+</li>
+<li>send_reg_approval_email()
+: <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">account.php</a>
+</li>
+<li>send_status_notifications()
+: <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">items.php</a>
+</li>
+<li>send_verification_email()
+: <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">account.php</a>
+</li>
+<li>service_class_allows()
+: <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">plugin.php</a>
+</li>
+<li>service_class_fetch()
+: <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">plugin.php</a>
+</li>
+<li>set_config()
+: <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">config.php</a>
+</li>
+<li>set_default_login_identity()
+: <a class="el" href="identity_8php.html#a78151baf4407a8482d2681a91a9c486b">identity.php</a>
+</li>
+<li>set_pconfig()
+: <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">config.php</a>
+</li>
+<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>
+<li>settings_post()
+: <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings.php</a>
+</li>
+<li>setup_content()
+: <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup.php</a>
+</li>
+<li>setup_init()
+: <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup.php</a>
+</li>
+<li>setup_post()
+: <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup.php</a>
+</li>
+<li>sexpref_selector()
+: <a class="el" href="profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7">profile_selectors.php</a>
+</li>
+<li>share_init()
+: <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share.php</a>
+</li>
+<li>showForm()
+: <a class="el" href="fpostit_8php.html#a3f3ae3ae61578b5671673914fd894443">fpostit.php</a>
+</li>
+<li>site_default_perms()
+: <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">permissions.php</a>
+</li>
+<li>siteinfo_content()
+: <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo.php</a>
+</li>
+<li>siteinfo_init()
+: <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo.php</a>
+</li>
+<li>sitelist_init()
+: <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist.php</a>
+</li>
+<li>smile_decode()
+: <a class="el" href="text_8php.html#aca0f589be74fab1a460c57e88dad9779">text.php</a>
+</li>
+<li>smile_encode()
+: <a class="el" href="text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6">text.php</a>
+</li>
+<li>smilies()
+: <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">text.php</a>
+</li>
+<li>smilies_content()
+: <a class="el" href="smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f">smilies.php</a>
+</li>
+<li>sort_by_date()
+: <a class="el" href="event_8php.html#a018ea4484910a873a7c1eaa126de9b1a">event.php</a>
+</li>
+<li>sort_item_children()
+: <a class="el" href="conversation_8php.html#ae996eb116d397a2c6396c312d7b98664">conversation.php</a>
+</li>
+<li>sort_thr_commented()
+: <a class="el" href="conversation_8php.html#a9f909b8885259b79c6ac8da93afd8f11">conversation.php</a>
+</li>
+<li>sort_thr_created()
+: <a class="el" href="conversation_8php.html#ac55e070f65f46fcc8e269f7896be4c7d">conversation.php</a>
+</li>
+<li>sort_thr_created_rev()
+: <a class="el" href="conversation_8php.html#a9cc2a679606da9e535a06433f9f553a0">conversation.php</a>
+</li>
+<li>SSL_POLICY_FULL
+: <a class="el" href="boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc">boot.php</a>
+</li>
+<li>SSL_POLICY_NONE
+: <a class="el" href="boot_8php.html#af86c651547aa8f9e549ee40a09455549">boot.php</a>
+</li>
+<li>SSL_POLICY_SELFSIGN
+: <a class="el" href="boot_8php.html#adca48aee78465ae3064ca4432c0d87b5">boot.php</a>
+</li>
+<li>starred_init()
+: <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred.php</a>
+</li>
+<li>startup()
+: <a class="el" href="boot_8php.html#aca47505b8732177f52bb2d647eb2741c">boot.php</a>
+</li>
+<li>status_editor()
+: <a class="el" href="conversation_8php.html#a2a7d541854bba755eb8ada59af7dcb1a">conversation.php</a>
+</li>
+<li>store_item_tag()
+: <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">taxonomy.php</a>
+</li>
+<li>stream_perms_api_uids()
+: <a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">security.php</a>
+</li>
+<li>string_plural_select_default()
+: <a class="el" href="language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0">language.php</a>
+</li>
+<li>stringify_array_elms()
+: <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">text.php</a>
+</li>
+<li>stripdcode_br_cb()
+: <a class="el" href="bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93">bb2diaspora.php</a>
+</li>
+<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>
+<li>suggest_init()
+: <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest.php</a>
+</li>
+<li>suggestion_query()
+: <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">socgraph.php</a>
+</li>
+<li>sync_directories()
+: <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">dir_fns.php</a>
+</li>
+<li>syncdirs()
+: <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">dir_fns.php</a>
+</li>
+<li>system_down()
+: <a class="el" href="system__unavailable_8php.html#a73751a6bcc17ad3ca503496e2fb020fa">system_unavailable.php</a>
+</li>
+<li>system_unavailable()
+: <a class="el" href="boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x74.html b/doc/html/globals_0x74.html
new file mode 100644
index 000000000..088aeedb9
--- /dev/null
+++ b/doc/html/globals_0x74.html
@@ -0,0 +1,273 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li class="current"><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x74.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>t()
+: <a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">language.php</a>
+</li>
+<li>tag_deliver()
+: <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">items.php</a>
+</li>
+<li>tagadelic()
+: <a class="el" href="taxonomy_8php.html#a061b3db9426d4b074395f5824062cad4">taxonomy.php</a>
+</li>
+<li>tagblock()
+: <a class="el" href="taxonomy_8php.html#abdb698bc6921429df6d697f6c5dec96f">taxonomy.php</a>
+</li>
+<li>tagger_content()
+: <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger.php</a>
+</li>
+<li>tagrm_content()
+: <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm.php</a>
+</li>
+<li>tagrm_post()
+: <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm.php</a>
+</li>
+<li>tags_sort()
+: <a class="el" href="taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43">taxonomy.php</a>
+</li>
+<li>template_escape()
+: <a class="el" href="template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5">template_processor.php</a>
+</li>
+<li>template_unescape()
+: <a class="el" href="template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e">template_processor.php</a>
+</li>
+<li>TERM_CATEGORY
+: <a class="el" href="boot_8php.html#af33d1b2e98a1e21af672005525d46dfe">boot.php</a>
+</li>
+<li>TERM_FILE
+: <a class="el" href="boot_8php.html#afb97615e985a013799839b68b99018d7">boot.php</a>
+</li>
+<li>TERM_HASHTAG
+: <a class="el" href="boot_8php.html#a2750985ec445617d7e82ae3098c91e3f">boot.php</a>
+</li>
+<li>TERM_MENTION
+: <a class="el" href="boot_8php.html#ae37444eaa42705185080ccf3e670cbc2">boot.php</a>
+</li>
+<li>TERM_OBJ_CHANNEL
+: <a class="el" href="boot_8php.html#a8892374789fd261eb32a7969d934a14a">boot.php</a>
+</li>
+<li>TERM_OBJ_OBJECT
+: <a class="el" href="boot_8php.html#a882b666adfe21f035a0f8c02806066d6">boot.php</a>
+</li>
+<li>TERM_OBJ_PHOTO
+: <a class="el" href="boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd">boot.php</a>
+</li>
+<li>TERM_OBJ_POST
+: <a class="el" href="boot_8php.html#a9eeb8989272d5ff804a616898bb13659">boot.php</a>
+</li>
+<li>TERM_OBJ_PROFILE
+: <a class="el" href="boot_8php.html#aead84fa27d7516b855220fe004964a45">boot.php</a>
+</li>
+<li>TERM_OBJ_THING
+: <a class="el" href="boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe">boot.php</a>
+</li>
+<li>TERM_PCATEGORY
+: <a class="el" href="boot_8php.html#a45b12aefab9675baffc7a07a09486db8">boot.php</a>
+</li>
+<li>term_query()
+: <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">taxonomy.php</a>
+</li>
+<li>TERM_SAVEDSEARCH
+: <a class="el" href="boot_8php.html#abd7bb40da9cc073297e49736b338ca07">boot.php</a>
+</li>
+<li>TERM_THING
+: <a class="el" href="boot_8php.html#a0d877df1e20bae765e1708be50f6b503">boot.php</a>
+</li>
+<li>TERM_UNKNOWN
+: <a class="el" href="boot_8php.html#a0c59dde058efebbc66520d136cbd1631">boot.php</a>
+</li>
+<li>terminate_friendship()
+: <a class="el" href="Contact_8php.html#a38daa1c210b78385307123450ca9a1fc">Contact.php</a>
+</li>
+<li>termtype()
+: <a class="el" href="items_8php.html#ad34827ed330898456783fb14c7b46154">items.php</a>
+</li>
+<li>tgroup_check()
+: <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">items.php</a>
+</li>
+<li>theme_content()
+: <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">config.php</a>
+</li>
+<li>theme_include()
+: <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">plugin.php</a>
+</li>
+<li>theme_post()
+: <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">config.php</a>
+</li>
+<li>theme_status()
+: <a class="el" href="admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4">admin.php</a>
+</li>
+<li>thing_content()
+: <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing.php</a>
+</li>
+<li>thing_init()
+: <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing.php</a>
+</li>
+<li>timesel()
+: <a class="el" href="datetime_8php.html#a36d3d6dff8d76b5f295bb3d9c535a5b1">datetime.php</a>
+</li>
+<li>timezone_cmp()
+: <a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">datetime.php</a>
+</li>
+<li>title_is_body()
+: <a class="el" href="items_8php.html#aa371905f0a211b307cb3f7188c6cba04">items.php</a>
+</li>
+<li>toggle_mobile_init()
+: <a class="el" href="toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254">toggle_mobile.php</a>
+</li>
+<li>toggle_theme()
+: <a class="el" href="admin_8php.html#af81f081851791cd15e49e8ff6722dc27">admin.php</a>
+</li>
+<li>tryoembed()
+: <a class="el" href="bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7">bbcode.php</a>
+</li>
+<li>tt()
+: <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">language.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x75.html b/doc/html/globals_0x75.html
new file mode 100644
index 000000000..ff65b2afd
--- /dev/null
+++ b/doc/html/globals_0x75.html
@@ -0,0 +1,225 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li class="current"><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x75.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>uexport_init()
+: <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport.php</a>
+</li>
+<li>unamp()
+: <a class="el" href="text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7">text.php</a>
+</li>
+<li>undo_post_tagging()
+: <a class="el" href="text_8php.html#a740ad03e00459039a2c0992246c4e727">text.php</a>
+</li>
+<li>unescape_underscores_in_links()
+: <a class="el" href="bb2diaspora_8php.html#a599428bceb6f6d82a6a78cb66811f747">bb2diaspora.php</a>
+</li>
+<li>uninstall_plugin()
+: <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">plugin.php</a>
+</li>
+<li>unload_plugin()
+: <a class="el" href="plugin_8php.html#a90538627db68605aeb6db17a8ead6523">plugin.php</a>
+</li>
+<li>unregister_hook()
+: <a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">plugin.php</a>
+</li>
+<li>unxmlify()
+: <a class="el" href="text_8php.html#a1360fed7f918d859daaca1c9f384f9af">text.php</a>
+</li>
+<li>update_channel_content()
+: <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel.php</a>
+</li>
+<li>update_community_content()
+: <a class="el" href="update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1">update_community.php</a>
+</li>
+<li>update_display_content()
+: <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display.php</a>
+</li>
+<li>UPDATE_FAILED
+: <a class="el" href="boot_8php.html#a75fc600186b13c3b25e661afefb5eac8">boot.php</a>
+</li>
+<li>update_imported_item()
+: <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">zot.php</a>
+</li>
+<li>update_modtime()
+: <a class="el" href="zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63">zot.php</a>
+</li>
+<li>update_network_content()
+: <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network.php</a>
+</li>
+<li>update_queue_time()
+: <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">queue_fn.php</a>
+</li>
+<li>update_search_content()
+: <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search.php</a>
+</li>
+<li>UPDATE_SUCCESS
+: <a class="el" href="boot_8php.html#ac86615ddc0763a00f5311c90e991730c">boot.php</a>
+</li>
+<li>update_suggestions()
+: <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">socgraph.php</a>
+</li>
+<li>upgrade_bool_message()
+: <a class="el" href="plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d">plugin.php</a>
+</li>
+<li>upgrade_link()
+: <a class="el" href="plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040">plugin.php</a>
+</li>
+<li>upgrade_message()
+: <a class="el" href="plugin_8php.html#a901657dd078e070516cf97285e0bada7">plugin.php</a>
+</li>
+<li>user_allow()
+: <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">account.php</a>
+</li>
+<li>user_deny()
+: <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">account.php</a>
+</li>
+<li>user_remove()
+: <a class="el" href="Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15">Contact.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x76.html b/doc/html/globals_0x76.html
new file mode 100644
index 000000000..324ca6f9c
--- /dev/null
+++ b/doc/html/globals_0x76.html
@@ -0,0 +1,192 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li class="current"><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x76.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
+<li>valid_email()
+: <a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">text.php</a>
+</li>
+<li>validate_channelname()
+: <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">identity.php</a>
+</li>
+<li>validate_email()
+: <a class="el" href="include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02">network.php</a>
+</li>
+<li>validate_url()
+: <a class="el" href="include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2">network.php</a>
+</li>
+<li>vcard_from_xchan()
+: <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">Contact.php</a>
+</li>
+<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>
+<li>viewconnections_init()
+: <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections.php</a>
+</li>
+<li>viewsrc_content()
+: <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc.php</a>
+</li>
+<li>visible_activity()
+: <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">conversation.php</a>
+</li>
+<li>vote_content()
+: <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote.php</a>
+</li>
+<li>vote_init()
+: <a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote.php</a>
+</li>
+<li>vote_post()
+: <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x77.html b/doc/html/globals_0x77.html
new file mode 100644
index 000000000..bcbb2d949
--- /dev/null
+++ b/doc/html/globals_0x77.html
@@ -0,0 +1,183 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li class="current"><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x77.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>wall_attach_post()
+: <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach.php</a>
+</li>
+<li>wall_upload_post()
+: <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload.php</a>
+</li>
+<li>webfinger()
+: <a class="el" href="include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5">network.php</a>
+</li>
+<li>webfinger_content()
+: <a class="el" href="webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3">webfinger.php</a>
+</li>
+<li>webfinger_dfrn()
+: <a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">network.php</a>
+</li>
+<li>webpages_content()
+: <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages.php</a>
+</li>
+<li>wfinger_init()
+: <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger.php</a>
+</li>
+<li>what_next()
+: <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">setup.php</a>
+</li>
+<li>while
+: <a class="el" href="docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d">docblox_errorchecker.php</a>
+</li>
+<li>widget_profile()
+: <a class="el" href="comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923">comanche.php</a>
+</li>
+<li>writepages_widget()
+: <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">page_widgets.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x78.html b/doc/html/globals_0x78.html
new file mode 100644
index 000000000..f5e15ee01
--- /dev/null
+++ b/doc/html/globals_0x78.html
@@ -0,0 +1,180 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li class="current"><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x78.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
+<li>x()
+: <a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">boot.php</a>
+</li>
+<li>xchan_content()
+: <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan.php</a>
+</li>
+<li>XCHAN_FLAGS_HIDDEN
+: <a class="el" href="boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2">boot.php</a>
+</li>
+<li>XCHAN_FLAGS_ORPHAN
+: <a class="el" href="boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f">boot.php</a>
+</li>
+<li>xchan_mail_query()
+: <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">text.php</a>
+</li>
+<li>xchan_query()
+: <a class="el" href="text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f">text.php</a>
+</li>
+<li>xml2array()
+: <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">network.php</a>
+</li>
+<li>xml_status()
+: <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">network.php</a>
+</li>
+<li>xmlify()
+: <a class="el" href="text_8php.html#aaed4413ed8918838b517e3b2fafaea0d">text.php</a>
+</li>
+<li>xrd_init()
+: <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_0x7a.html b/doc/html/globals_0x7a.html
new file mode 100644
index 000000000..fc4a9bb32
--- /dev/null
+++ b/doc/html/globals_0x7a.html
@@ -0,0 +1,240 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_0x5f.html#index__"><span>_</span></a></li>
+ <li><a href="globals_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_0x78.html#index_x"><span>x</span></a></li>
+ <li class="current"><a href="globals_0x7a.html#index_z"><span>z</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('globals_0x7a.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="contents">
+<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_z"></a>- z -</h3><ul>
+<li>z_birthday()
+: <a class="el" href="boot_8php.html#ab55e545b72ec8c097e052ea7d373491f">boot.php</a>
+</li>
+<li>z_fetch_url()
+: <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">network.php</a>
+</li>
+<li>z_input_filter()
+: <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">text.php</a>
+</li>
+<li>z_mime_content_type()
+: <a class="el" href="include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a">attach.php</a>
+</li>
+<li>z_path()
+: <a class="el" href="boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda">boot.php</a>
+</li>
+<li>z_post_url()
+: <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">network.php</a>
+</li>
+<li>z_readdir()
+: <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">attach.php</a>
+</li>
+<li>z_root()
+: <a class="el" href="boot_8php.html#add517a0958ac684792c62142a3877f81">boot.php</a>
+</li>
+<li>ZCURL_TIMEOUT
+: <a class="el" href="boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af">boot.php</a>
+</li>
+<li>zfinger_init()
+: <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger.php</a>
+</li>
+<li>zid()
+: <a class="el" href="boot_8php.html#a5b815330f3d177ab383af37a6c12e532">boot.php</a>
+</li>
+<li>zid_init()
+: <a class="el" href="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">boot.php</a>
+</li>
+<li>zidify_callback()
+: <a class="el" href="text_8php.html#a405afe814a23f3bd94d826101aa168ab">text.php</a>
+</li>
+<li>zidify_img_callback()
+: <a class="el" href="text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4">text.php</a>
+</li>
+<li>zidify_links()
+: <a class="el" href="text_8php.html#a29988052f3944111def3b6aaf2c7a8f6">text.php</a>
+</li>
+<li>zot_build_packet()
+: <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot.php</a>
+</li>
+<li>zot_feed()
+: <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">items.php</a>
+</li>
+<li>zot_fetch()
+: <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot.php</a>
+</li>
+<li>zot_finger()
+: <a class="el" href="zot_8php.html#a77720d6b59894e9b609af89c310c8a4d">zot.php</a>
+</li>
+<li>zot_get_hubloc()
+: <a class="el" href="zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e">zot.php</a>
+</li>
+<li>zot_gethub()
+: <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot.php</a>
+</li>
+<li>zot_import()
+: <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot.php</a>
+</li>
+<li>zot_new_uid()
+: <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot.php</a>
+</li>
+<li>zot_process_response()
+: <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot.php</a>
+</li>
+<li>zot_refresh()
+: <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot.php</a>
+</li>
+<li>zot_register_hub()
+: <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot.php</a>
+</li>
+<li>ZOT_REVISION
+: <a class="el" href="boot_8php.html#a36b31575f992a10b5927b76efba9362e">boot.php</a>
+</li>
+<li>zot_zot()
+: <a class="el" href="zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142">zot.php</a>
+</li>
+<li>zotfeed_init()
+: <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed.php</a>
+</li>
+<li>zping_content()
+: <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_dup.js b/doc/html/globals_dup.js
new file mode 100644
index 000000000..6f7377056
--- /dev/null
+++ b/doc/html/globals_dup.js
@@ -0,0 +1,30 @@
+var globals_dup =
+[
+ [ "$", "globals.html", null ],
+ [ "_", "globals_0x5f.html", null ],
+ [ "a", "globals_0x61.html", null ],
+ [ "b", "globals_0x62.html", null ],
+ [ "c", "globals_0x63.html", null ],
+ [ "d", "globals_0x64.html", null ],
+ [ "e", "globals_0x65.html", null ],
+ [ "f", "globals_0x66.html", null ],
+ [ "g", "globals_0x67.html", null ],
+ [ "h", "globals_0x68.html", null ],
+ [ "i", "globals_0x69.html", null ],
+ [ "j", "globals_0x6a.html", null ],
+ [ "k", "globals_0x6b.html", null ],
+ [ "l", "globals_0x6c.html", null ],
+ [ "m", "globals_0x6d.html", null ],
+ [ "n", "globals_0x6e.html", null ],
+ [ "o", "globals_0x6f.html", null ],
+ [ "p", "globals_0x70.html", null ],
+ [ "q", "globals_0x71.html", null ],
+ [ "r", "globals_0x72.html", null ],
+ [ "s", "globals_0x73.html", null ],
+ [ "t", "globals_0x74.html", null ],
+ [ "u", "globals_0x75.html", null ],
+ [ "v", "globals_0x76.html", null ],
+ [ "w", "globals_0x77.html", null ],
+ [ "x", "globals_0x78.html", null ],
+ [ "z", "globals_0x7a.html", null ]
+]; \ No newline at end of file
diff --git a/doc/html/globals_func.html b/doc/html/globals_func.html
new file mode 100644
index 000000000..3abdac47c
--- /dev/null
+++ b/doc/html/globals_func.html
@@ -0,0 +1,152 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li class="current"><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
+<li>_well_known_init()
+: <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func.js b/doc/html/globals_func.js
new file mode 100644
index 000000000..1a7a97c5f
--- /dev/null
+++ b/doc/html/globals_func.js
@@ -0,0 +1,29 @@
+var globals_func =
+[
+ [ "_", "globals_func.html", null ],
+ [ "a", "globals_func_0x61.html", null ],
+ [ "b", "globals_func_0x62.html", null ],
+ [ "c", "globals_func_0x63.html", null ],
+ [ "d", "globals_func_0x64.html", null ],
+ [ "e", "globals_func_0x65.html", null ],
+ [ "f", "globals_func_0x66.html", null ],
+ [ "g", "globals_func_0x67.html", null ],
+ [ "h", "globals_func_0x68.html", null ],
+ [ "i", "globals_func_0x69.html", null ],
+ [ "j", "globals_func_0x6a.html", null ],
+ [ "k", "globals_func_0x6b.html", null ],
+ [ "l", "globals_func_0x6c.html", null ],
+ [ "m", "globals_func_0x6d.html", null ],
+ [ "n", "globals_func_0x6e.html", null ],
+ [ "o", "globals_func_0x6f.html", null ],
+ [ "p", "globals_func_0x70.html", null ],
+ [ "q", "globals_func_0x71.html", null ],
+ [ "r", "globals_func_0x72.html", null ],
+ [ "s", "globals_func_0x73.html", null ],
+ [ "t", "globals_func_0x74.html", null ],
+ [ "u", "globals_func_0x75.html", null ],
+ [ "v", "globals_func_0x76.html", null ],
+ [ "w", "globals_func_0x77.html", null ],
+ [ "x", "globals_func_0x78.html", null ],
+ [ "z", "globals_func_0x7a.html", null ]
+]; \ No newline at end of file
diff --git a/doc/html/globals_func_0x61.html b/doc/html/globals_func_0x61.html
new file mode 100644
index 000000000..1e00c557a
--- /dev/null
+++ b/doc/html/globals_func_0x61.html
@@ -0,0 +1,467 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li class="current"><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x61.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>abook_connections()
+: <a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">Contact.php</a>
+</li>
+<li>abook_self()
+: <a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">Contact.php</a>
+</li>
+<li>abook_toggle_flag()
+: <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">Contact.php</a>
+</li>
+<li>absurl()
+: <a class="el" href="boot_8php.html#a081307d681d7d04f17b9ced2076e7c85">boot.php</a>
+</li>
+<li>account_remove()
+: <a class="el" href="Contact_8php.html#a3eef54a5523e568a28257c1f9b1644d8">Contact.php</a>
+</li>
+<li>account_total()
+: <a class="el" href="account_8php.html#a43e3042b2723d76915a030bac3c668b6">account.php</a>
+</li>
+<li>account_verify_password()
+: <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">auth.php</a>
+</li>
+<li>acl_init()
+: <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl.php</a>
+</li>
+<li>activity_match()
+: <a class="el" href="text_8php.html#af8a3e3a66a7b862d4510f145d2e13186">text.php</a>
+</li>
+<li>activity_sanitise()
+: <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">items.php</a>
+</li>
+<li>add_children_to_list()
+: <a class="el" href="conversation_8php.html#ad3e1d4b15e7d6d026ee182edd58f692b">conversation.php</a>
+</li>
+<li>add_fcontact()
+: <a class="el" href="include_2network_8php.html#a0bdc4b0bfc54797c249dc4eca25aeda4">network.php</a>
+</li>
+<li>admin_content()
+: <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin.php</a>
+</li>
+<li>admin_page_dbsync()
+: <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin.php</a>
+</li>
+<li>admin_page_logs()
+: <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin.php</a>
+</li>
+<li>admin_page_logs_post()
+: <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin.php</a>
+</li>
+<li>admin_page_plugins()
+: <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin.php</a>
+</li>
+<li>admin_page_site()
+: <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin.php</a>
+</li>
+<li>admin_page_site_post()
+: <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin.php</a>
+</li>
+<li>admin_page_summary()
+: <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin.php</a>
+</li>
+<li>admin_page_themes()
+: <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin.php</a>
+</li>
+<li>admin_page_users()
+: <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin.php</a>
+</li>
+<li>admin_page_users_post()
+: <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin.php</a>
+</li>
+<li>admin_post()
+: <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin.php</a>
+</li>
+<li>advanced_profile()
+: <a class="el" href="profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">profile_advanced.php</a>
+</li>
+<li>AES256CBC_decrypt()
+: <a class="el" href="crypto_8php.html#ac852ee41392d1358c3a54d54935e0bf9">crypto.php</a>
+</li>
+<li>AES256CBC_encrypt()
+: <a class="el" href="crypto_8php.html#a5c61821d205f95f127114159cbffa764">crypto.php</a>
+</li>
+<li>aes_encapsulate()
+: <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">crypto.php</a>
+</li>
+<li>aes_unencapsulate()
+: <a class="el" href="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">crypto.php</a>
+</li>
+<li>age()
+: <a class="el" href="datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df">datetime.php</a>
+</li>
+<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>
+<li>allowed_public_recips()
+: <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">zot.php</a>
+</li>
+<li>allowed_url()
+: <a class="el" href="include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7">network.php</a>
+</li>
+<li>alt_pager()
+: <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">text.php</a>
+</li>
+<li>api_account_logout()
+: <a class="el" href="include_2api_8php.html#a2e94eab9d6c164bfef7a1b2ab87b339b">api.php</a>
+</li>
+<li>api_account_rate_limit_status()
+: <a class="el" href="include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5">api.php</a>
+</li>
+<li>api_account_verify_credentials()
+: <a class="el" href="include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad">api.php</a>
+</li>
+<li>api_albums()
+: <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api.php</a>
+</li>
+<li>api_apply_template()
+: <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api.php</a>
+</li>
+<li>api_call()
+: <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api.php</a>
+</li>
+<li>api_channel_stream()
+: <a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api.php</a>
+</li>
+<li>api_content()
+: <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api.php</a>
+</li>
+<li>api_date()
+: <a class="el" href="include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25">api.php</a>
+</li>
+<li>api_direct_messages_all()
+: <a class="el" href="include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705">api.php</a>
+</li>
+<li>api_direct_messages_box()
+: <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api.php</a>
+</li>
+<li>api_direct_messages_conversation()
+: <a class="el" href="include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3">api.php</a>
+</li>
+<li>api_direct_messages_inbox()
+: <a class="el" href="include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2">api.php</a>
+</li>
+<li>api_direct_messages_new()
+: <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api.php</a>
+</li>
+<li>api_direct_messages_sentbox()
+: <a class="el" href="include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d">api.php</a>
+</li>
+<li>api_export_basic()
+: <a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api.php</a>
+</li>
+<li>api_favorites()
+: <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api.php</a>
+</li>
+<li>api_ff_ids()
+: <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api.php</a>
+</li>
+<li>api_followers_ids()
+: <a class="el" href="include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b">api.php</a>
+</li>
+<li>api_format_as()
+: <a class="el" href="include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879">api.php</a>
+</li>
+<li>api_format_items()
+: <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api.php</a>
+</li>
+<li>api_format_messages()
+: <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api.php</a>
+</li>
+<li>api_friendica_version()
+: <a class="el" href="include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74">api.php</a>
+</li>
+<li>api_friends_ids()
+: <a class="el" href="include_2api_8php.html#acafd2899309a005fcb725289173dc7fe">api.php</a>
+</li>
+<li>api_get_user()
+: <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api.php</a>
+</li>
+<li>api_help_test()
+: <a class="el" href="include_2api_8php.html#ac5a64cc81d70ff3cf866093ea9721d23">api.php</a>
+</li>
+<li>api_item_get_user()
+: <a class="el" href="include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1">api.php</a>
+</li>
+<li>api_login()
+: <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api.php</a>
+</li>
+<li>api_oauth_access_token()
+: <a class="el" href="include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0">api.php</a>
+</li>
+<li>api_oauth_request_token()
+: <a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api.php</a>
+</li>
+<li>api_photos()
+: <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api.php</a>
+</li>
+<li>api_post()
+: <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api.php</a>
+</li>
+<li>api_register_func()
+: <a class="el" href="include_2api_8php.html#ac2c2b18c426d697d11a830bca146be8a">api.php</a>
+</li>
+<li>api_rss_extra()
+: <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api.php</a>
+</li>
+<li>api_status_show()
+: <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api.php</a>
+</li>
+<li>api_statuses_destroy()
+: <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api.php</a>
+</li>
+<li>api_statuses_f()
+: <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api.php</a>
+</li>
+<li>api_statuses_followers()
+: <a class="el" href="include_2api_8php.html#a6951c690d87775eb37e569c66011988e">api.php</a>
+</li>
+<li>api_statuses_friends()
+: <a class="el" href="include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e">api.php</a>
+</li>
+<li>api_statuses_home_timeline()
+: <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api.php</a>
+</li>
+<li>api_statuses_mediap()
+: <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api.php</a>
+</li>
+<li>api_statuses_mentions()
+: <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api.php</a>
+</li>
+<li>api_statuses_public_timeline()
+: <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api.php</a>
+</li>
+<li>api_statuses_repeat()
+: <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api.php</a>
+</li>
+<li>api_statuses_show()
+: <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api.php</a>
+</li>
+<li>api_statuses_update()
+: <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api.php</a>
+</li>
+<li>api_statuses_user_timeline()
+: <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api.php</a>
+</li>
+<li>api_statusnet_config()
+: <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api.php</a>
+</li>
+<li>api_statusnet_version()
+: <a class="el" href="include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d">api.php</a>
+</li>
+<li>api_user()
+: <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api.php</a>
+</li>
+<li>api_users_show()
+: <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api.php</a>
+</li>
+<li>appdirpath()
+: <a class="el" href="boot_8php.html#a75a90b0eadd0df510f7e63210733634d">boot.php</a>
+</li>
+<li>apps_content()
+: <a class="el" href="apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps.php</a>
+</li>
+<li>argc()
+: <a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">boot.php</a>
+</li>
+<li>argv()
+: <a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">boot.php</a>
+</li>
+<li>arr_add_hashes()
+: <a class="el" href="parse__url_8php.html#aa7dd8f961bea042d62726ed909e4a868">parse_url.php</a>
+</li>
+<li>array_sanitise()
+: <a class="el" href="items_8php.html#abf7a1b73eb352d79acd36309b0dababd">items.php</a>
+</li>
+<li>array_xmlify()
+: <a class="el" href="text_8php.html#acedb584f65114a33f389efb796172a91">text.php</a>
+</li>
+<li>atom_author()
+: <a class="el" href="items_8php.html#a016dd86c827d08db89061ea81d15c6cb">items.php</a>
+</li>
+<li>atom_entry()
+: <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">items.php</a>
+</li>
+<li>attach_by_hash()
+: <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach.php</a>
+</li>
+<li>attach_by_hash_nodata()
+: <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach.php</a>
+</li>
+<li>attach_count_files()
+: <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach.php</a>
+</li>
+<li>attach_init()
+: <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach.php</a>
+</li>
+<li>attach_list_files()
+: <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach.php</a>
+</li>
+<li>attach_store()
+: <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach.php</a>
+</li>
+<li>attribute_contains()
+: <a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">text.php</a>
+</li>
+<li>authenticate_success()
+: <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">security.php</a>
+</li>
+<li>autoname()
+: <a class="el" href="text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca">text.php</a>
+</li>
+<li>avatar_img()
+: <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">network.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x62.html b/doc/html/globals_func_0x62.html
new file mode 100644
index 000000000..84a41e9bc
--- /dev/null
+++ b/doc/html/globals_func_0x62.html
@@ -0,0 +1,200 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li class="current"><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x62.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>base64url_decode()
+: <a class="el" href="text_8php.html#a13286f8a95d2de6b102966ecc270c8d6">text.php</a>
+</li>
+<li>base64url_encode()
+: <a class="el" href="text_8php.html#a070384ec000fd65043fce11d5392d241">text.php</a>
+</li>
+<li>bb2diaspora()
+: <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora.php</a>
+</li>
+<li>bb_ShareAttributes()
+: <a class="el" href="bbcode_8php.html#a52c45273fbb7ce5ec27094f7936856e1">bbcode.php</a>
+</li>
+<li>bb_ShareAttributesSimple()
+: <a class="el" href="bbcode_8php.html#a2be26414a367118143cc89e2d58e7377">bbcode.php</a>
+</li>
+<li>bb_spacefy()
+: <a class="el" href="bbcode_8php.html#a8911e027907820df3db03b4f76724b50">bbcode.php</a>
+</li>
+<li>bb_tag_preg_replace()
+: <a class="el" href="bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba">bb2diaspora.php</a>
+</li>
+<li>bb_translate_video()
+: <a class="el" href="text_8php.html#a3d2793d66db3345fd290b71e2eadf98e">text.php</a>
+</li>
+<li>bb_unspacefy_and_trim()
+: <a class="el" href="bbcode_8php.html#a064dcfd9767df6f53be1a0e11ceeb15d">bbcode.php</a>
+</li>
+<li>bbcode()
+: <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode.php</a>
+</li>
+<li>bbtoevent()
+: <a class="el" href="event_8php.html#a180cccd63c2a2f00ff432b03113531f3">event.php</a>
+</li>
+<li>bbtovcal()
+: <a class="el" href="event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279">event.php</a>
+</li>
+<li>best_link_url()
+: <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">conversation.php</a>
+</li>
+<li>blocks_content()
+: <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks.php</a>
+</li>
+<li>breaklines()
+: <a class="el" href="html2plain_8php.html#a3214912e3d00cf0a948072daccf16740">html2plain.php</a>
+</li>
+<li>build_querystring()
+: <a class="el" href="boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e">boot.php</a>
+</li>
+<li>build_sync_packet()
+: <a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">zot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x63.html b/doc/html/globals_func_0x63.html
new file mode 100644
index 000000000..0c8414fb6
--- /dev/null
+++ b/doc/html/globals_func_0x63.html
@@ -0,0 +1,437 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li class="current"><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x63.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>cal()
+: <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">datetime.php</a>
+</li>
+<li>call_hooks()
+: <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">plugin.php</a>
+</li>
+<li>can_comment_on_post()
+: <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">items.php</a>
+</li>
+<li>categories_widget()
+: <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">contact_widgets.php</a>
+</li>
+<li>change_channel()
+: <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">security.php</a>
+</li>
+<li>chanlink_cid()
+: <a class="el" href="text_8php.html#a85e3a4851c16674834010d8419a5d7ca">text.php</a>
+</li>
+<li>chanlink_hash()
+: <a class="el" href="text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0">text.php</a>
+</li>
+<li>chanlink_url()
+: <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">text.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>
+<li>channel_init()
+: <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel.php</a>
+</li>
+<li>channel_remove()
+: <a class="el" href="Contact_8php.html#ad46ff6764f12b6d3ab45c49b797f98aa">Contact.php</a>
+</li>
+<li>channel_total()
+: <a class="el" href="identity_8php.html#a77d2237f1846964634b1c99089c27c7d">identity.php</a>
+</li>
+<li>channelx_by_hash()
+: <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">Contact.php</a>
+</li>
+<li>channelx_by_n()
+: <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">Contact.php</a>
+</li>
+<li>channelx_by_nick()
+: <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">Contact.php</a>
+</li>
+<li>chanview_content()
+: <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview.php</a>
+</li>
+<li>check_account_admin()
+: <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">account.php</a>
+</li>
+<li>check_account_email()
+: <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">account.php</a>
+</li>
+<li>check_account_invite()
+: <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">account.php</a>
+</li>
+<li>check_account_password()
+: <a class="el" href="account_8php.html#a144b4891022567668375b58ea61cfff0">account.php</a>
+</li>
+<li>check_add()
+: <a class="el" href="setup_8php.html#ae8e4d9279a61de74d5f39962cb7b6ca1">setup.php</a>
+</li>
+<li>check_config()
+: <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">boot.php</a>
+</li>
+<li>check_form_security_std_err_msg()
+: <a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">security.php</a>
+</li>
+<li>check_form_security_token()
+: <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">security.php</a>
+</li>
+<li>check_form_security_token_ForbiddenOnErr()
+: <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">security.php</a>
+</li>
+<li>check_form_security_token_redirectOnErr()
+: <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">security.php</a>
+</li>
+<li>check_funcs()
+: <a class="el" href="setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e">setup.php</a>
+</li>
+<li>check_htaccess()
+: <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">setup.php</a>
+</li>
+<li>check_htconfig()
+: <a class="el" href="setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f">setup.php</a>
+</li>
+<li>check_keys()
+: <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">setup.php</a>
+</li>
+<li>check_list_permissions()
+: <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">permissions.php</a>
+</li>
+<li>check_php()
+: <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">setup.php</a>
+</li>
+<li>check_smarty3()
+: <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">setup.php</a>
+</li>
+<li>check_webbie()
+: <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">text.php</a>
+</li>
+<li>clean_urls()
+: <a class="el" href="boot_8php.html#ab79b8b4555cae20d03f8200666d89d63">boot.php</a>
+</li>
+<li>cleardiv()
+: <a class="el" href="text_8php.html#afe18627c4983ee5f7c940a0992818cd5">text.php</a>
+</li>
+<li>cli_startup()
+: <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup.php</a>
+</li>
+<li>cli_suggest_run()
+: <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest.php</a>
+</li>
+<li>collect_recipients()
+: <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">items.php</a>
+</li>
+<li>collecturls()
+: <a class="el" href="html2plain_8php.html#ae1c203d0f089d5678d73a6c64a395201">html2plain.php</a>
+</li>
+<li>comanche_block()
+: <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche.php</a>
+</li>
+<li>comanche_menu()
+: <a class="el" href="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche.php</a>
+</li>
+<li>comanche_parser()
+: <a class="el" href="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche.php</a>
+</li>
+<li>comanche_region()
+: <a class="el" href="comanche_8php.html#a5718daeda40bf835345fe061e8808cdf">comanche.php</a>
+</li>
+<li>comanche_replace_region()
+: <a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche.php</a>
+</li>
+<li>comanche_webpage()
+: <a class="el" href="comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a">comanche.php</a>
+</li>
+<li>comanche_widget()
+: <a class="el" href="comanche_8php.html#a45900dd1d6101b53e3d063db40eafa5e">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>
+<li>common_friends()
+: <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">socgraph.php</a>
+</li>
+<li>common_friends_visitor_widget()
+: <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">contact_widgets.php</a>
+</li>
+<li>common_friends_zcid()
+: <a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">socgraph.php</a>
+</li>
+<li>common_init()
+: <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common.php</a>
+</li>
+<li>community_content()
+: <a class="el" href="community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a">community.php</a>
+</li>
+<li>community_init()
+: <a class="el" href="community_8php.html#a56c94ec978a38633c5628fa6f8e386d9">community.php</a>
+</li>
+<li>compare_permissions()
+: <a class="el" href="items_8php.html#a0790a4550b829e85504af548623002ca">items.php</a>
+</li>
+<li>completeurl()
+: <a class="el" href="parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a">parse_url.php</a>
+</li>
+<li>connect_content()
+: <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect.php</a>
+</li>
+<li>connect_init()
+: <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect.php</a>
+</li>
+<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>
+<li>connections_content()
+: <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections.php</a>
+</li>
+<li>connections_init()
+: <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections.php</a>
+</li>
+<li>connections_post()
+: <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections.php</a>
+</li>
+<li>construct_activity_object()
+: <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">items.php</a>
+</li>
+<li>construct_activity_target()
+: <a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">items.php</a>
+</li>
+<li>construct_page()
+: <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">boot.php</a>
+</li>
+<li>construct_verb()
+: <a class="el" href="items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8">items.php</a>
+</li>
+<li>consume_feed()
+: <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">items.php</a>
+</li>
+<li>contact_block()
+: <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">text.php</a>
+</li>
+<li>contact_poll_interval()
+: <a class="el" href="contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f">contact_selectors.php</a>
+</li>
+<li>contact_profile_assign()
+: <a class="el" href="contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75">contact_selectors.php</a>
+</li>
+<li>contact_remove()
+: <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">Contact.php</a>
+</li>
+<li>contact_reputation()
+: <a class="el" href="contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53">contact_selectors.php</a>
+</li>
+<li>contact_select()
+: <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">acl_selectors.php</a>
+</li>
+<li>contactgroup_content()
+: <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup.php</a>
+</li>
+<li>contacts_not_grouped()
+: <a class="el" href="Contact_8php.html#a228fc01f90ae9bfdde4c2ad0772bd7dc">Contact.php</a>
+</li>
+<li>conv_sort()
+: <a class="el" href="conversation_8php.html#abed85a41f1160598de880b84021c9cf7">conversation.php</a>
+</li>
+<li>conversation()
+: <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation.php</a>
+</li>
+<li>convert_xml_element_to_array()
+: <a class="el" href="include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246">network.php</a>
+</li>
+<li>count_all_friends()
+: <a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">socgraph.php</a>
+</li>
+<li>count_common_friends()
+: <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">socgraph.php</a>
+</li>
+<li>count_common_friends_zcid()
+: <a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">socgraph.php</a>
+</li>
+<li>count_descendants()
+: <a class="el" href="conversation_8php.html#ab2383dff4f823e580399ff469d90ab19">conversation.php</a>
+</li>
+<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>
+<li>cronhooks_run()
+: <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks.php</a>
+</li>
+<li>curPageURL()
+: <a class="el" href="boot_8php.html#aa4221641e5c21db69fa52c426b9017f5">boot.php</a>
+</li>
+<li>current_theme()
+: <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">boot.php</a>
+</li>
+<li>current_theme_url()
+: <a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x64.html b/doc/html/globals_func_0x64.html
new file mode 100644
index 000000000..96de8abd4
--- /dev/null
+++ b/doc/html/globals_func_0x64.html
@@ -0,0 +1,266 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li class="current"><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x64.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>datesel()
+: <a class="el" href="datetime_8php.html#ac265b86f384ee094ed5479aae02aa5c8">datetime.php</a>
+</li>
+<li>datesel_format()
+: <a class="el" href="datetime_8php.html#a5f29553799005b1fd4e9ce9d98ce05aa">datetime.php</a>
+</li>
+<li>datetime_convert()
+: <a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime.php</a>
+</li>
+<li>day_translate()
+: <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">text.php</a>
+</li>
+<li>dba_factory()
+: <a class="el" href="dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947">dba_driver.php</a>
+</li>
+<li>dba_timer()
+: <a class="el" href="boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4">boot.php</a>
+</li>
+<li>dbesc()
+: <a class="el" href="dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e">dba_driver.php</a>
+</li>
+<li>dbesc_array()
+: <a class="el" href="dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4">dba_driver.php</a>
+</li>
+<li>dbesc_array_cb()
+: <a class="el" href="dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930">dba_driver.php</a>
+</li>
+<li>dbg()
+: <a class="el" href="dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb">dba_driver.php</a>
+</li>
+<li>dbq()
+: <a class="el" href="dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee">dba_driver.php</a>
+</li>
+<li>decode_tags()
+: <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">items.php</a>
+</li>
+<li>del_config()
+: <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">config.php</a>
+</li>
+<li>del_pconfig()
+: <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">config.php</a>
+</li>
+<li>del_xconfig()
+: <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">config.php</a>
+</li>
+<li>delegate_content()
+: <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate.php</a>
+</li>
+<li>delete_imported_item()
+: <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">zot.php</a>
+</li>
+<li>delete_item_lowlevel()
+: <a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">items.php</a>
+</li>
+<li>deletenode()
+: <a class="el" href="html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2">html2bbcode.php</a>
+</li>
+<li>deliver_run()
+: <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver.php</a>
+</li>
+<li>design_tools()
+: <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">text.php</a>
+</li>
+<li>detect_language()
+: <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">language.php</a>
+</li>
+<li>dfrn_deliver()
+: <a class="el" href="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">items.php</a>
+</li>
+<li>diaspora2bb()
+: <a class="el" href="bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6">bb2diaspora.php</a>
+</li>
+<li>diaspora_ol()
+: <a class="el" href="bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4">bb2diaspora.php</a>
+</li>
+<li>diaspora_ul()
+: <a class="el" href="bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc">bb2diaspora.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>
+<li>directory_init()
+: <a class="el" href="mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf">directory.php</a>
+</li>
+<li>directory_run()
+: <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory.php</a>
+</li>
+<li>dirfind_content()
+: <a class="el" href="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind.php</a>
+</li>
+<li>dirfind_init()
+: <a class="el" href="dirfind_8php.html#ac689a812c84f161b3a0d42349f83981c">dirfind.php</a>
+</li>
+<li>dirsearch_content()
+: <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch.php</a>
+</li>
+<li>dirsearch_init()
+: <a class="el" href="dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752">dirsearch.php</a>
+</li>
+<li>display_content()
+: <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display.php</a>
+</li>
+<li>dlogger()
+: <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">text.php</a>
+</li>
+<li>dob()
+: <a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">datetime.php</a>
+</li>
+<li>drop_item()
+: <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">items.php</a>
+</li>
+<li>drop_items()
+: <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">items.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x65.html b/doc/html/globals_func_0x65.html
new file mode 100644
index 000000000..3069c0d0f
--- /dev/null
+++ b/doc/html/globals_func_0x65.html
@@ -0,0 +1,212 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li class="current"><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x65.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>editblock_content()
+: <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock.php</a>
+</li>
+<li>editlayout_content()
+: <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout.php</a>
+</li>
+<li>editpost_content()
+: <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost.php</a>
+</li>
+<li>editwebpage_content()
+: <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage.php</a>
+</li>
+<li>email_header_encode()
+: <a class="el" href="include_2network_8php.html#a540420ff3675a72cb781ef9a7e8c2cd9">network.php</a>
+</li>
+<li>email_send()
+: <a class="el" href="include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0">network.php</a>
+</li>
+<li>encode_item()
+: <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">items.php</a>
+</li>
+<li>encode_item_flags()
+: <a class="el" href="items_8php.html#a5f690fc2484abec07840b4f9dd525bd9">items.php</a>
+</li>
+<li>encode_item_terms()
+: <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">items.php</a>
+</li>
+<li>encode_item_xchan()
+: <a class="el" href="items_8php.html#a566c601726697e044e75284af7fb6f17">items.php</a>
+</li>
+<li>encode_mail()
+: <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">items.php</a>
+</li>
+<li>encode_rel_links()
+: <a class="el" href="items_8php.html#aa723c0571e314a1853a24c5854b4f54f">items.php</a>
+</li>
+<li>enumerate_permissions()
+: <a class="el" href="items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67">items.php</a>
+</li>
+<li>escape_tags()
+: <a class="el" href="text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64">text.php</a>
+</li>
+<li>ev_compare()
+: <a class="el" href="event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850">event.php</a>
+</li>
+<li>event_store()
+: <a class="el" href="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event.php</a>
+</li>
+<li>events_content()
+: <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events.php</a>
+</li>
+<li>events_post()
+: <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events.php</a>
+</li>
+<li>expand_acl()
+: <a class="el" href="text_8php.html#ae4282a39492caa23ccbc2ce98e54f110">text.php</a>
+</li>
+<li>expand_groups()
+: <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">group.php</a>
+</li>
+<li>expire_run()
+: <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x66.html b/doc/html/globals_func_0x66.html
new file mode 100644
index 000000000..9d3d0d3a0
--- /dev/null
+++ b/doc/html/globals_func_0x66.html
@@ -0,0 +1,278 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li class="current"><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x66.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>fbrowser_content()
+: <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser.php</a>
+</li>
+<li>feature_enabled()
+: <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">features.php</a>
+</li>
+<li>feed_hublinks()
+: <a class="el" href="text_8php.html#a8d8c4a11e53461caca21181ebd72daca">text.php</a>
+</li>
+<li>feed_init()
+: <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed.php</a>
+</li>
+<li>feed_salmonlinks()
+: <a class="el" href="text_8php.html#a89929fa6f70a8ba54d5273fcf622b665">text.php</a>
+</li>
+<li>fetch_lrdd_template()
+: <a class="el" href="include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0">network.php</a>
+</li>
+<li>fetch_post_tags()
+: <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">items.php</a>
+</li>
+<li>fetch_url()
+: <a class="el" href="include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a">network.php</a>
+</li>
+<li>fetch_xrd_links()
+: <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">network.php</a>
+</li>
+<li>field_timezone()
+: <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">datetime.php</a>
+</li>
+<li>file_tag_decode()
+: <a class="el" href="taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6">taxonomy.php</a>
+</li>
+<li>file_tag_encode()
+: <a class="el" href="taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37">taxonomy.php</a>
+</li>
+<li>file_tag_file_query()
+: <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">taxonomy.php</a>
+</li>
+<li>fileas_widget()
+: <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">contact_widgets.php</a>
+</li>
+<li>filer_content()
+: <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer.php</a>
+</li>
+<li>filerm_content()
+: <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm.php</a>
+</li>
+<li>filestorage_content()
+: <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage.php</a>
+</li>
+<li>find_thread_parent_index()
+: <a class="el" href="conversation_8php.html#ae59703b07ce2ddf627b4172ff26058b6">conversation.php</a>
+</li>
+<li>find_upstream_directory()
+: <a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">dir_fns.php</a>
+</li>
+<li>find_xchan_in_array()
+: <a class="el" href="text_8php.html#ace3c98538c63e09b70a363210b414112">text.php</a>
+</li>
+<li>findpeople_widget()
+: <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">contact_widgets.php</a>
+</li>
+<li>first_post_date()
+: <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">items.php</a>
+</li>
+<li>fix_attached_file_permissions()
+: <a class="el" href="item_8php.html#a3daae7944f737bd30412a0d042207c0f">item.php</a>
+</li>
+<li>fix_attached_photo_permissions()
+: <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">item.php</a>
+</li>
+<li>fix_contact_ssl_policy()
+: <a class="el" href="include_2network_8php.html#a2729d012410e470c527a62a3f777ded8">network.php</a>
+</li>
+<li>fix_mce_lf()
+: <a class="el" href="text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28">text.php</a>
+</li>
+<li>fix_private_photos()
+: <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">items.php</a>
+</li>
+<li>fix_system_urls()
+: <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">boot.php</a>
+</li>
+<li>fixacl()
+: <a class="el" href="acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e">acl_selectors.php</a>
+</li>
+<li>follow_content()
+: <a class="el" href="mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592">follow.php</a>
+</li>
+<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_css_if_exists()
+: <a class="el" href="plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6">plugin.php</a>
+</li>
+<li>format_event_bbcode()
+: <a class="el" href="event_8php.html#abb74206cf42d694307c3d7abb7af9869">event.php</a>
+</li>
+<li>format_event_diaspora()
+: <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">bb2diaspora.php</a>
+</li>
+<li>format_event_html()
+: <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">event.php</a>
+</li>
+<li>format_js_if_exists()
+: <a class="el" href="plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f">plugin.php</a>
+</li>
+<li>format_like()
+: <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">conversation.php</a>
+</li>
+<li>format_location()
+: <a class="el" href="conversation_8php.html#a0891aaa4492cba2b51eda12fe01957f3">conversation.php</a>
+</li>
+<li>format_notification()
+: <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">notify.php</a>
+</li>
+<li>format_term_for_display()
+: <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">taxonomy.php</a>
+</li>
+<li>fsuggest_content()
+: <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest.php</a>
+</li>
+<li>fsuggest_post()
+: <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x67.html b/doc/html/globals_func_0x67.html
new file mode 100644
index 000000000..23a3e869a
--- /dev/null
+++ b/doc/html/globals_func_0x67.html
@@ -0,0 +1,341 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li class="current"><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x67.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>gender_selector()
+: <a class="el" href="profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355">profile_selectors.php</a>
+</li>
+<li>generate_user_guid()
+: <a class="el" href="text_8php.html#ae4f6881d7e13623f8eded6277595112a">text.php</a>
+</li>
+<li>get_account_id()
+: <a class="el" href="boot_8php.html#afe88b920aa285982edb817a0dd44eb37">boot.php</a>
+</li>
+<li>get_all_perms()
+: <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">permissions.php</a>
+</li>
+<li>get_app()
+: <a class="el" href="boot_8php.html#a0e6db7e365f2b041a828b93786f694bc">boot.php</a>
+</li>
+<li>get_atom_elements()
+: <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">items.php</a>
+</li>
+<li>get_bb_tag_pos()
+: <a class="el" href="bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2">bb2diaspora.php</a>
+</li>
+<li>get_best_language()
+: <a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">language.php</a>
+</li>
+<li>get_birthdays()
+: <a class="el" href="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">boot.php</a>
+</li>
+<li>get_browser_language()
+: <a class="el" href="language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e">language.php</a>
+</li>
+<li>get_capath()
+: <a class="el" href="include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7">network.php</a>
+</li>
+<li>get_config()
+: <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">config.php</a>
+</li>
+<li>get_config_from_storage()
+: <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">config.php</a>
+</li>
+<li>get_custom_nav()
+: <a class="el" href="boot_8php.html#a899d24fd074594ceebbf72e1feff335f">boot.php</a>
+</li>
+<li>get_db_errno()
+: <a class="el" href="setup_8php.html#a8652788e8589778c5f81634a9d5b9429">setup.php</a>
+</li>
+<li>get_dim()
+: <a class="el" href="datetime_8php.html#a7df24d72ea05922d3127363e2295174c">datetime.php</a>
+</li>
+<li>get_events()
+: <a class="el" href="boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">boot.php</a>
+</li>
+<li>get_features()
+: <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">features.php</a>
+</li>
+<li>get_feed_for()
+: <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">items.php</a>
+</li>
+<li>get_first_dim()
+: <a class="el" href="datetime_8php.html#aba971b67f17fecf050813f1eba72367f">datetime.php</a>
+</li>
+<li>get_form_security_token()
+: <a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">security.php</a>
+</li>
+<li>get_intltext_template()
+: <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">plugin.php</a>
+</li>
+<li>get_item_children()
+: <a class="el" href="conversation_8php.html#a7f6ef0dfa554bacf620e84c18d386e67">conversation.php</a>
+</li>
+<li>get_item_contact()
+: <a class="el" href="items_8php.html#aab9c6bae4c40799867596bdaae9829fd">items.php</a>
+</li>
+<li>get_item_elements()
+: <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">items.php</a>
+</li>
+<li>get_mail_elements()
+: <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">items.php</a>
+</li>
+<li>get_markup_template()
+: <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">plugin.php</a>
+</li>
+<li>get_max_import_size()
+: <a class="el" href="boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90">boot.php</a>
+</li>
+<li>get_mentions()
+: <a class="el" href="text_8php.html#a76d1b3435c067978d7b484c45f56472b">text.php</a>
+</li>
+<li>get_mood_verbs()
+: <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">text.php</a>
+</li>
+<li>get_my_address()
+: <a class="el" href="boot_8php.html#a490972c02fdb638c52ec0e012a30bfd2">boot.php</a>
+</li>
+<li>get_my_url()
+: <a class="el" href="boot_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec">boot.php</a>
+</li>
+<li>get_observer_hash()
+: <a class="el" href="boot_8php.html#a623e49c79943f3e7bdb770d021683cf7">boot.php</a>
+</li>
+<li>get_pconfig()
+: <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">config.php</a>
+</li>
+<li>get_perms()
+: <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">permissions.php</a>
+</li>
+<li>get_plink()
+: <a class="el" href="text_8php.html#a05b7f26dc2df78681f57eeade53040c6">text.php</a>
+</li>
+<li>get_plugin_info()
+: <a class="el" href="plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35">plugin.php</a>
+</li>
+<li>get_poke_verbs()
+: <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">text.php</a>
+</li>
+<li>get_profile_elements()
+: <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">items.php</a>
+</li>
+<li>get_public_feed()
+: <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">items.php</a>
+</li>
+<li>get_rel_link()
+: <a class="el" href="text_8php.html#a3972701c5c83624ec4e2d06242f614e7">text.php</a>
+</li>
+<li>get_tags()
+: <a class="el" href="text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623">text.php</a>
+</li>
+<li>get_terms_oftype()
+: <a class="el" href="taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1">taxonomy.php</a>
+</li>
+<li>get_theme_config_file()
+: <a class="el" href="settings_8php.html#a39abc76ff5459c57e3b957664f273f18">settings.php</a>
+</li>
+<li>get_theme_info()
+: <a class="el" href="plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405">plugin.php</a>
+</li>
+<li>get_theme_screenshot()
+: <a class="el" href="plugin_8php.html#a48047edfbef770125a5508dcc2f9282f">plugin.php</a>
+</li>
+<li>get_theme_uid()
+: <a class="el" href="boot_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">boot.php</a>
+</li>
+<li>get_xconfig()
+: <a class="el" href="include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e">config.php</a>
+</li>
+<li>goaway()
+: <a class="el" href="boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1">boot.php</a>
+</li>
+<li>gprobe_run()
+: <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe.php</a>
+</li>
+<li>group_add()
+: <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group.php</a>
+</li>
+<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>
+<li>group_content()
+: <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group.php</a>
+</li>
+<li>group_get_members()
+: <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group.php</a>
+</li>
+<li>group_post()
+: <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group.php</a>
+</li>
+<li>group_rec_byhash()
+: <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group.php</a>
+</li>
+<li>group_rmv()
+: <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group.php</a>
+</li>
+<li>group_rmv_member()
+: <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group.php</a>
+</li>
+<li>group_select()
+: <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>
+</li>
+<li>groups_containing()
+: <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">group.php</a>
+</li>
+<li>guess_image_type()
+: <a class="el" href="photo__driver_8php.html#a7273b82b017fd96d29b2c57bab03aea6">photo_driver.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x68.html b/doc/html/globals_func_0x68.html
new file mode 100644
index 000000000..9bb63890e
--- /dev/null
+++ b/doc/html/globals_func_0x68.html
@@ -0,0 +1,197 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li class="current"><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x68.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="contents">
+&#160;
+
+<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>
+</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>
+<li>head_add_js()
+: <a class="el" href="plugin_8php.html#a516591850f4fd49fd1425cfa54089db8">plugin.php</a>
+</li>
+<li>head_get_css()
+: <a class="el" href="plugin_8php.html#af92789f559b89a380e49d303218aeeca">plugin.php</a>
+</li>
+<li>head_get_icon()
+: <a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">boot.php</a>
+</li>
+<li>head_get_js()
+: <a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">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>hostxrd_init()
+: <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd.php</a>
+</li>
+<li>html2bb_video()
+: <a class="el" href="text_8php.html#a138a3a611fa7f4f3630674145fc826bf">text.php</a>
+</li>
+<li>html2bbcode()
+: <a class="el" href="html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837">html2bbcode.php</a>
+</li>
+<li>html2plain()
+: <a class="el" href="html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04">html2plain.php</a>
+</li>
+<li>http_status_exit()
+: <a class="el" href="include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2">network.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x69.html b/doc/html/globals_func_0x69.html
new file mode 100644
index 000000000..1733078c3
--- /dev/null
+++ b/doc/html/globals_func_0x69.html
@@ -0,0 +1,263 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li class="current"><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x69.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>identity_basic_export()
+: <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity.php</a>
+</li>
+<li>identity_basic_import()
+: <a class="el" href="identity_8php.html#a77ee7d66eb0758f7e7882f70ad0f9485">identity.php</a>
+</li>
+<li>identity_check_service_class()
+: <a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity.php</a>
+</li>
+<li>ids_to_querystr()
+: <a class="el" href="text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a">text.php</a>
+</li>
+<li>import_author_xchan()
+: <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">items.php</a>
+</li>
+<li>import_channel_photo()
+: <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">photo_driver.php</a>
+</li>
+<li>import_content()
+: <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import.php</a>
+</li>
+<li>import_directory_keywords()
+: <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">zot.php</a>
+</li>
+<li>import_directory_profile()
+: <a class="el" href="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">zot.php</a>
+</li>
+<li>import_post()
+: <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>
+</li>
+<li>import_site()
+: <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">zot.php</a>
+</li>
+<li>import_xchan()
+: <a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">zot.php</a>
+</li>
+<li>info()
+: <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">boot.php</a>
+</li>
+<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>
+<li>invite_post()
+: <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite.php</a>
+</li>
+<li>is_a_date_arg()
+: <a class="el" href="text_8php.html#a1557112a774ec00fa06ed6b6f6495506">text.php</a>
+</li>
+<li>is_ajax()
+: <a class="el" href="boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c">boot.php</a>
+</li>
+<li>is_site_admin()
+: <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">boot.php</a>
+</li>
+<li>item_check_service_class()
+: <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item.php</a>
+</li>
+<li>item_content()
+: <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item.php</a>
+</li>
+<li>item_expire()
+: <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">items.php</a>
+</li>
+<li>item_extract_images()
+: <a class="el" href="conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654">conversation.php</a>
+</li>
+<li>item_getfeedattach()
+: <a class="el" href="items_8php.html#a09d425596b9f8663472cf7474ad36d96">items.php</a>
+</li>
+<li>item_getfeedtags()
+: <a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">items.php</a>
+</li>
+<li>item_message_id()
+: <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">text.php</a>
+</li>
+<li>item_permissions_sql()
+: <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">security.php</a>
+</li>
+<li>item_photo_menu()
+: <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">conversation.php</a>
+</li>
+<li>item_post()
+: <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item.php</a>
+</li>
+<li>item_post_type()
+: <a class="el" href="text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e">text.php</a>
+</li>
+<li>item_redir_and_replace_images()
+: <a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">conversation.php</a>
+</li>
+<li>item_store()
+: <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">items.php</a>
+</li>
+<li>item_store_update()
+: <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">items.php</a>
+</li>
+<li>items_fetch()
+: <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x6a.html b/doc/html/globals_func_0x6a.html
new file mode 100644
index 000000000..1dc0cd6cb
--- /dev/null
+++ b/doc/html/globals_func_0x6a.html
@@ -0,0 +1,158 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li class="current"><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x6a.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
+<li>jindent()
+: <a class="el" href="text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8">text.php</a>
+</li>
+<li>json_decode_plus()
+: <a class="el" href="text_8php.html#a0271381208acfa2d4cff36da281e3e23">text.php</a>
+</li>
+<li>json_return_and_die()
+: <a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">network.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x6b.html b/doc/html/globals_func_0x6b.html
new file mode 100644
index 000000000..b00fe5da8
--- /dev/null
+++ b/doc/html/globals_func_0x6b.html
@@ -0,0 +1,152 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li class="current"><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x6b.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>killme()
+: <a class="el" href="boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x6c.html b/doc/html/globals_func_0x6c.html
new file mode 100644
index 000000000..37e7a3b17
--- /dev/null
+++ b/doc/html/globals_func_0x6c.html
@@ -0,0 +1,242 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li class="current"><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x6c.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<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>
+<li>layouts_content()
+: <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts.php</a>
+</li>
+<li>legal_webbie()
+: <a class="el" href="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">text.php</a>
+</li>
+<li>like_content()
+: <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like.php</a>
+</li>
+<li>like_puller()
+: <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">conversation.php</a>
+</li>
+<li>limit_body_size()
+: <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">items.php</a>
+</li>
+<li>link_compare()
+: <a class="el" href="text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285">text.php</a>
+</li>
+<li>linkify()
+: <a class="el" href="text_8php.html#a11255c8c4e5245b6c24f97684826aa54">text.php</a>
+</li>
+<li>list_public_sites()
+: <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">dirsearch.php</a>
+</li>
+<li>load_config()
+: <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">config.php</a>
+</li>
+<li>load_contact_links()
+: <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">boot.php</a>
+</li>
+<li>load_database()
+: <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">setup.php</a>
+</li>
+<li>load_database_rem()
+: <a class="el" href="setup_8php.html#a2b375ddc555140236fc500135de99371">setup.php</a>
+</li>
+<li>load_hooks()
+: <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">plugin.php</a>
+</li>
+<li>load_pconfig()
+: <a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">config.php</a>
+</li>
+<li>load_plugin()
+: <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">plugin.php</a>
+</li>
+<li>load_translation_table()
+: <a class="el" href="language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05">language.php</a>
+</li>
+<li>load_xconfig()
+: <a class="el" href="include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33">config.php</a>
+</li>
+<li>local_user()
+: <a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">boot.php</a>
+</li>
+<li>localize_item()
+: <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">conversation.php</a>
+</li>
+<li>lockview_content()
+: <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview.php</a>
+</li>
+<li>logger()
+: <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">text.php</a>
+</li>
+<li>login()
+: <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">boot.php</a>
+</li>
+<li>login_content()
+: <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login.php</a>
+</li>
+<li>lostpass_content()
+: <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass.php</a>
+</li>
+<li>lostpass_post()
+: <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass.php</a>
+</li>
+<li>lrdd()
+: <a class="el" href="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">network.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x6d.html b/doc/html/globals_func_0x6d.html
new file mode 100644
index 000000000..25e39fcab
--- /dev/null
+++ b/doc/html/globals_func_0x6d.html
@@ -0,0 +1,254 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li class="current"><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x6d.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>magic_init()
+: <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic.php</a>
+</li>
+<li>magic_link()
+: <a class="el" href="text_8php.html#a1e510c53624933ce9b7d6715784894db">text.php</a>
+</li>
+<li>magiclink_url()
+: <a class="el" href="text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6">text.php</a>
+</li>
+<li>mail_store()
+: <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">items.php</a>
+</li>
+<li>manage_content()
+: <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage.php</a>
+</li>
+<li>manual_config()
+: <a class="el" href="setup_8php.html#abe405d227ba7232971964a706d4f3bce">setup.php</a>
+</li>
+<li>map_scope()
+: <a class="el" href="items_8php.html#ac1fcf621dce7370515b420a7753f4726">items.php</a>
+</li>
+<li>marital_selector()
+: <a class="el" href="profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798">profile_selectors.php</a>
+</li>
+<li>match_content()
+: <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match.php</a>
+</li>
+<li>member_of()
+: <a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">group.php</a>
+</li>
+<li>menu_add_item()
+: <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu.php</a>
+</li>
+<li>menu_content()
+: <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu.php</a>
+</li>
+<li>menu_create()
+: <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu.php</a>
+</li>
+<li>menu_del_item()
+: <a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu.php</a>
+</li>
+<li>menu_delete()
+: <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu.php</a>
+</li>
+<li>menu_delete_id()
+: <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu.php</a>
+</li>
+<li>menu_edit()
+: <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu.php</a>
+</li>
+<li>menu_edit_item()
+: <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu.php</a>
+</li>
+<li>menu_fetch()
+: <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu.php</a>
+</li>
+<li>menu_fetch_id()
+: <a class="el" href="include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7">menu.php</a>
+</li>
+<li>menu_list()
+: <a class="el" href="include_2menu_8php.html#acef15a498d52666b1c7e5c12765c689b">menu.php</a>
+</li>
+<li>menu_post()
+: <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu.php</a>
+</li>
+<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>
+</li>
+<li>micropro()
+: <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">text.php</a>
+</li>
+<li>mimetype_select()
+: <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">text.php</a>
+</li>
+<li>mini_group_select()
+: <a class="el" href="include_2group_8php.html#ab4d9e5b59f48787cb01baae5dc6c381f">group.php</a>
+</li>
+<li>mitem_content()
+: <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem.php</a>
+</li>
+<li>mitem_init()
+: <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem.php</a>
+</li>
+<li>mitem_post()
+: <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem.php</a>
+</li>
+<li>mood_content()
+: <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood.php</a>
+</li>
+<li>mood_init()
+: <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood.php</a>
+</li>
+<li>msearch_post()
+: <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x6e.html b/doc/html/globals_func_0x6e.html
new file mode 100644
index 000000000..10a7c856b
--- /dev/null
+++ b/doc/html/globals_func_0x6e.html
@@ -0,0 +1,236 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li class="current"><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x6e.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>namesList()
+: <a class="el" href="docblox__errorchecker_8php.html#a2b767cfc461fdd5061fffc9e4a806d5b">docblox_errorchecker.php</a>
+</li>
+<li>nav()
+: <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav.php</a>
+</li>
+<li>nav_set_selected()
+: <a class="el" href="nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a">nav.php</a>
+</li>
+<li>navbar_complete()
+: <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">acl.php</a>
+</li>
+<li>network_content()
+: <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network.php</a>
+</li>
+<li>network_init()
+: <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network.php</a>
+</li>
+<li>network_query_get_sel_tab()
+: <a class="el" href="mod_2network_8php.html#aeaa518c1a317516a3da337b88d358666">network.php</a>
+</li>
+<li>network_to_name()
+: <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">contact_selectors.php</a>
+</li>
+<li>new_channel_content()
+: <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel.php</a>
+</li>
+<li>new_channel_init()
+: <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel.php</a>
+</li>
+<li>new_channel_post()
+: <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel.php</a>
+</li>
+<li>new_contact()
+: <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">follow.php</a>
+</li>
+<li>new_cookie()
+: <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">session.php</a>
+</li>
+<li>new_keypair()
+: <a class="el" href="crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a">crypto.php</a>
+</li>
+<li>node2bbcode()
+: <a class="el" href="html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8">html2bbcode.php</a>
+</li>
+<li>node2bbcodesub()
+: <a class="el" href="html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7">html2bbcode.php</a>
+</li>
+<li>nogroup_content()
+: <a class="el" href="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup.php</a>
+</li>
+<li>nogroup_init()
+: <a class="el" href="nogroup_8php.html#a099cb353bf62e8453069ce107b763212">nogroup.php</a>
+</li>
+<li>normalise_link()
+: <a class="el" href="text_8php.html#a4bbb7d00c05cd20b4e043424f322388f">text.php</a>
+</li>
+<li>normalise_openid()
+: <a class="el" href="text_8php.html#adba17ec946f4285285dc100f7860bf51">text.php</a>
+</li>
+<li>notags()
+: <a class="el" href="text_8php.html#a1af49756c8c71902a66c7e329c462beb">text.php</a>
+</li>
+<li>notice()
+: <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">boot.php</a>
+</li>
+<li>notification()
+: <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">enotify.php</a>
+</li>
+<li>notifications_content()
+: <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications.php</a>
+</li>
+<li>notifications_post()
+: <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications.php</a>
+</li>
+<li>notifier_run()
+: <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier.php</a>
+</li>
+<li>notify_content()
+: <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify.php</a>
+</li>
+<li>notify_init()
+: <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify.php</a>
+</li>
+<li>nuke_session()
+: <a class="el" href="auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a">auth.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x6f.html b/doc/html/globals_func_0x6f.html
new file mode 100644
index 000000000..3bf397f45
--- /dev/null
+++ b/doc/html/globals_func_0x6f.html
@@ -0,0 +1,197 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li class="current"><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x6f.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>oauth_get_client()
+: <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>
+</li>
+<li>obj_verbs()
+: <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">taxonomy.php</a>
+</li>
+<li>oe_build_xpath()
+: <a class="el" href="include_2oembed_8php.html#ab953a6e7c11bc6498ce01ed73e2ba319">oembed.php</a>
+</li>
+<li>oe_get_inner_html()
+: <a class="el" href="include_2oembed_8php.html#a03fa3b7832c98a3d0b4630afeb73d487">oembed.php</a>
+</li>
+<li>oembed_bbcode2html()
+: <a class="el" href="include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2">oembed.php</a>
+</li>
+<li>oembed_fetch_url()
+: <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed.php</a>
+</li>
+<li>oembed_format_object()
+: <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed.php</a>
+</li>
+<li>oembed_html2bbcode()
+: <a class="el" href="include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172">oembed.php</a>
+</li>
+<li>oembed_iframe()
+: <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed.php</a>
+</li>
+<li>oembed_init()
+: <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed.php</a>
+</li>
+<li>oembed_replacecb()
+: <a class="el" href="include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0">oembed.php</a>
+</li>
+<li>oexchange_content()
+: <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange.php</a>
+</li>
+<li>oexchange_init()
+: <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange.php</a>
+</li>
+<li>onepoll_run()
+: <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll.php</a>
+</li>
+<li>opensearch_init()
+: <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x70.html b/doc/html/globals_func_0x70.html
new file mode 100644
index 000000000..4b81db067
--- /dev/null
+++ b/doc/html/globals_func_0x70.html
@@ -0,0 +1,404 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li class="current"><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x70.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>page_content()
+: <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page.php</a>
+</li>
+<li>page_init()
+: <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page.php</a>
+</li>
+<li>pagelist_widget()
+: <a class="el" href="page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0">page_widgets.php</a>
+</li>
+<li>paginate()
+: <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">text.php</a>
+</li>
+<li>parse_url_content()
+: <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url.php</a>
+</li>
+<li>parse_xml_string()
+: <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">network.php</a>
+</li>
+<li>parseurl_getsiteinfo()
+: <a class="el" href="parse__url_8php.html#a25635549f2c22955d72465f4d2e58993">parse_url.php</a>
+</li>
+<li>pdl_selector()
+: <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">comanche.php</a>
+</li>
+<li>perm_is_allowed()
+: <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">permissions.php</a>
+</li>
+<li>permissions_sql()
+: <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">security.php</a>
+</li>
+<li>perms2str()
+: <a class="el" href="text_8php.html#a98fd99dee3da8cf4c148dc04efe782ee">text.php</a>
+</li>
+<li>photo_factory()
+: <a class="el" href="photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035">photo_driver.php</a>
+</li>
+<li>photo_init()
+: <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo.php</a>
+</li>
+<li>photo_new_resource()
+: <a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">text.php</a>
+</li>
+<li>photo_upload()
+: <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photos.php</a>
+</li>
+<li>photos_album_exists()
+: <a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos.php</a>
+</li>
+<li>photos_album_get_db_idstr()
+: <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos.php</a>
+</li>
+<li>photos_album_rename()
+: <a class="el" href="include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab">photos.php</a>
+</li>
+<li>photos_album_widget()
+: <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos.php</a>
+</li>
+<li>photos_albums_list()
+: <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos.php</a>
+</li>
+<li>photos_content()
+: <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos.php</a>
+</li>
+<li>photos_create_item()
+: <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos.php</a>
+</li>
+<li>photos_init()
+: <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos.php</a>
+</li>
+<li>photos_list_photos()
+: <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos.php</a>
+</li>
+<li>photos_post()
+: <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos.php</a>
+</li>
+<li>php_init()
+: <a class="el" href="php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6">php.php</a>
+</li>
+<li>ping_init()
+: <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping.php</a>
+</li>
+<li>pkcs5_pad()
+: <a class="el" href="crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec">crypto.php</a>
+</li>
+<li>pkcs5_unpad()
+: <a class="el" href="crypto_8php.html#ac95ac3b1b23b65b04a86613d4206ae85">crypto.php</a>
+</li>
+<li>po2php_run()
+: <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php.php</a>
+</li>
+<li>poco_init()
+: <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco.php</a>
+</li>
+<li>poco_load()
+: <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">socgraph.php</a>
+</li>
+<li>poke_content()
+: <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke.php</a>
+</li>
+<li>poke_init()
+: <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke.php</a>
+</li>
+<li>poller_run()
+: <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller.php</a>
+</li>
+<li>pop_lang()
+: <a class="el" href="language_8php.html#a78bd204955ec4cc3a9ac651285a1689d">language.php</a>
+</li>
+<li>populate_acl()
+: <a class="el" href="acl__selectors_8php.html#a51f2ec7a143d5a5b38e35efd5f3d6e2c">acl_selectors.php</a>
+</li>
+<li>post_activity_item()
+: <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">items.php</a>
+</li>
+<li>post_init()
+: <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post.php</a>
+</li>
+<li>post_post()
+: <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post.php</a>
+</li>
+<li>post_url()
+: <a class="el" href="include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e">network.php</a>
+</li>
+<li>posted_date_widget()
+: <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">items.php</a>
+</li>
+<li>posted_dates()
+: <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">items.php</a>
+</li>
+<li>preg_heart()
+: <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">text.php</a>
+</li>
+<li>prepare_body()
+: <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">text.php</a>
+</li>
+<li>prepare_page()
+: <a class="el" href="conversation_8php.html#a4b0888b0f26e1c284a4341fe5fd04f0c">conversation.php</a>
+</li>
+<li>prepare_text()
+: <a class="el" href="text_8php.html#afe54312607d92f7ce9593f5760831f80">text.php</a>
+</li>
+<li>pretheme_init()
+: <a class="el" href="pretheme_8php.html#af5660943ee99db5fd75182316522eafe">pretheme.php</a>
+</li>
+<li>print_template()
+: <a class="el" href="tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3">tpldebug.php</a>
+</li>
+<li>printable()
+: <a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">dba_driver.php</a>
+</li>
+<li>private_messages_drop()
+: <a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">message.php</a>
+</li>
+<li>private_messages_fetch_conversation()
+: <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">message.php</a>
+</li>
+<li>private_messages_fetch_message()
+: <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">message.php</a>
+</li>
+<li>private_messages_list()
+: <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">message.php</a>
+</li>
+<li>probe_content()
+: <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe.php</a>
+</li>
+<li>proc_run()
+: <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">boot.php</a>
+</li>
+<li>process_channel_sync_delivery()
+: <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">zot.php</a>
+</li>
+<li>process_delivery()
+: <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">zot.php</a>
+</li>
+<li>process_mail_delivery()
+: <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">zot.php</a>
+</li>
+<li>process_profile_delivery()
+: <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">zot.php</a>
+</li>
+<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>
+<li>profile_create_sidebar()
+: <a class="el" href="boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">boot.php</a>
+</li>
+<li>profile_init()
+: <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile.php</a>
+</li>
+<li>profile_load()
+: <a class="el" href="boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">boot.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>
+<li>profile_photo_post()
+: <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo.php</a>
+</li>
+<li>profile_sidebar()
+: <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">boot.php</a>
+</li>
+<li>profile_tabs()
+: <a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">boot.php</a>
+</li>
+<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>
+<li>profiles_init()
+: <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles.php</a>
+</li>
+<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>
+<li>profperm_init()
+: <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm.php</a>
+</li>
+<li>protect_sprintf()
+: <a class="el" href="text_8php.html#a4e7698aca48982512594b274543c3b9b">text.php</a>
+</li>
+<li>public_permissions_sql()
+: <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">security.php</a>
+</li>
+<li>public_recips()
+: <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">zot.php</a>
+</li>
+<li>pubsites_content()
+: <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites.php</a>
+</li>
+<li>purify_html()
+: <a class="el" href="text_8php.html#a4841df5beabdd1bdd1ed56781a915d61">text.php</a>
+</li>
+<li>push_lang()
+: <a class="el" href="language_8php.html#ac9142ef1d01a235c760deb0f16643f5a">language.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x71.html b/doc/html/globals_func_0x71.html
new file mode 100644
index 000000000..4a96236c7
--- /dev/null
+++ b/doc/html/globals_func_0x71.html
@@ -0,0 +1,164 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li class="current"><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x71.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
+<li>q()
+: <a class="el" href="dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f">dba_driver.php</a>
+</li>
+<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>
+<li>quotelevel()
+: <a class="el" href="html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0">html2plain.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x72.html b/doc/html/globals_func_0x72.html
new file mode 100644
index 000000000..fc6f7706b
--- /dev/null
+++ b/doc/html/globals_func_0x72.html
@@ -0,0 +1,275 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li class="current"><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x72.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>random_profile()
+: <a class="el" href="Contact_8php.html#a91281b5d4bbbb2ed468e27ec82ca083c">Contact.php</a>
+</li>
+<li>random_string()
+: <a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">text.php</a>
+</li>
+<li>randprof_init()
+: <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof.php</a>
+</li>
+<li>rconnect_url()
+: <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">Contact.php</a>
+</li>
+<li>rebuild_theme_table()
+: <a class="el" href="admin_8php.html#ae46311a3fefc21abc838a26e91789de6">admin.php</a>
+</li>
+<li>red_zrl_callback()
+: <a class="el" href="items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b">items.php</a>
+</li>
+<li>redbasic_form()
+: <a class="el" href="view_2theme_2redstrap_2php_2config_8php.html#af58e97b437c1e98a5e434886494cc70e">config.php</a>
+</li>
+<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>
+<li>redstrap_init()
+: <a class="el" href="redstrap_2php_2theme_8php.html#a4dac61d466b4261deca2846f548e484a">theme.php</a>
+</li>
+<li>reduce()
+: <a class="el" href="docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f">docblox_errorchecker.php</a>
+</li>
+<li>ref_session_close()
+: <a class="el" href="session_8php.html#a5e1c616e02b863d5450317d101366bb7">session.php</a>
+</li>
+<li>ref_session_destroy()
+: <a class="el" href="session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052">session.php</a>
+</li>
+<li>ref_session_gc()
+: <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">session.php</a>
+</li>
+<li>ref_session_open()
+: <a class="el" href="session_8php.html#a26fa1042356d555023cbf15ddd4f8507">session.php</a>
+</li>
+<li>ref_session_read()
+: <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">session.php</a>
+</li>
+<li>ref_session_write()
+: <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">session.php</a>
+</li>
+<li>register_content()
+: <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register.php</a>
+</li>
+<li>register_hook()
+: <a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">plugin.php</a>
+</li>
+<li>register_init()
+: <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register.php</a>
+</li>
+<li>register_post()
+: <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register.php</a>
+</li>
+<li>regmod_content()
+: <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod.php</a>
+</li>
+<li>relative_date()
+: <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">datetime.php</a>
+</li>
+<li>reload_plugins()
+: <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">plugin.php</a>
+</li>
+<li>reltoabs()
+: <a class="el" href="text_8php.html#ad855a32bee22c3f3b9734e3a334b96f2">text.php</a>
+</li>
+<li>remote_user()
+: <a class="el" href="boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209">boot.php</a>
+</li>
+<li>remove_all_xchan_resources()
+: <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">Contact.php</a>
+</li>
+<li>remove_community_tag()
+: <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">zot.php</a>
+</li>
+<li>remove_queue_item()
+: <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">queue_fn.php</a>
+</li>
+<li>removeme_content()
+: <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme.php</a>
+</li>
+<li>removeme_post()
+: <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme.php</a>
+</li>
+<li>render_location_default()
+: <a class="el" href="conversation_8php.html#a40b9b5e7825bc73932a32e667f05e6f2">conversation.php</a>
+</li>
+<li>replace_macros()
+: <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">text.php</a>
+</li>
+<li>requestdata()
+: <a class="el" href="include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e">api.php</a>
+</li>
+<li>return_bytes()
+: <a class="el" href="text_8php.html#ae2126da85966da0e79c6bcbac63b0bda">text.php</a>
+</li>
+<li>rmagic_content()
+: <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic.php</a>
+</li>
+<li>rmagic_init()
+: <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic.php</a>
+</li>
+<li>rmagic_post()
+: <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic.php</a>
+</li>
+<li>rsa_sign()
+: <a class="el" href="crypto_8php.html#a920e5f222d0020f47556033d8b2b6552">crypto.php</a>
+</li>
+<li>rsa_verify()
+: <a class="el" href="crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96">crypto.php</a>
+</li>
+<li>rsd_xml_content()
+: <a class="el" href="rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82">rsd_xml.php</a>
+</li>
+<li>runs()
+: <a class="el" href="docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec">docblox_errorchecker.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x73.html b/doc/html/globals_func_0x73.html
new file mode 100644
index 000000000..2b6e1a481
--- /dev/null
+++ b/doc/html/globals_func_0x73.html
@@ -0,0 +1,326 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li class="current"><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x73.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<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>search()
+: <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">text.php</a>
+</li>
+<li>search_ac_init()
+: <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac.php</a>
+</li>
+<li>search_content()
+: <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search.php</a>
+</li>
+<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>
+<li>select_timezone()
+: <a class="el" href="datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f">datetime.php</a>
+</li>
+<li>send_message()
+: <a class="el" href="include_2message_8php.html#ac382fdcdf990dcfa8f6528ab8fd280bd">message.php</a>
+</li>
+<li>send_reg_approval_email()
+: <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">account.php</a>
+</li>
+<li>send_status_notifications()
+: <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">items.php</a>
+</li>
+<li>send_verification_email()
+: <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">account.php</a>
+</li>
+<li>service_class_allows()
+: <a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">plugin.php</a>
+</li>
+<li>service_class_fetch()
+: <a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">plugin.php</a>
+</li>
+<li>set_config()
+: <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">config.php</a>
+</li>
+<li>set_default_login_identity()
+: <a class="el" href="identity_8php.html#a78151baf4407a8482d2681a91a9c486b">identity.php</a>
+</li>
+<li>set_pconfig()
+: <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">config.php</a>
+</li>
+<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>
+<li>settings_post()
+: <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings.php</a>
+</li>
+<li>setup_content()
+: <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup.php</a>
+</li>
+<li>setup_init()
+: <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup.php</a>
+</li>
+<li>setup_post()
+: <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup.php</a>
+</li>
+<li>sexpref_selector()
+: <a class="el" href="profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7">profile_selectors.php</a>
+</li>
+<li>share_init()
+: <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share.php</a>
+</li>
+<li>showForm()
+: <a class="el" href="fpostit_8php.html#a3f3ae3ae61578b5671673914fd894443">fpostit.php</a>
+</li>
+<li>site_default_perms()
+: <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">permissions.php</a>
+</li>
+<li>siteinfo_content()
+: <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo.php</a>
+</li>
+<li>siteinfo_init()
+: <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo.php</a>
+</li>
+<li>sitelist_init()
+: <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist.php</a>
+</li>
+<li>smile_decode()
+: <a class="el" href="text_8php.html#aca0f589be74fab1a460c57e88dad9779">text.php</a>
+</li>
+<li>smile_encode()
+: <a class="el" href="text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6">text.php</a>
+</li>
+<li>smilies()
+: <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">text.php</a>
+</li>
+<li>smilies_content()
+: <a class="el" href="smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f">smilies.php</a>
+</li>
+<li>sort_by_date()
+: <a class="el" href="event_8php.html#a018ea4484910a873a7c1eaa126de9b1a">event.php</a>
+</li>
+<li>sort_item_children()
+: <a class="el" href="conversation_8php.html#ae996eb116d397a2c6396c312d7b98664">conversation.php</a>
+</li>
+<li>sort_thr_commented()
+: <a class="el" href="conversation_8php.html#a9f909b8885259b79c6ac8da93afd8f11">conversation.php</a>
+</li>
+<li>sort_thr_created()
+: <a class="el" href="conversation_8php.html#ac55e070f65f46fcc8e269f7896be4c7d">conversation.php</a>
+</li>
+<li>sort_thr_created_rev()
+: <a class="el" href="conversation_8php.html#a9cc2a679606da9e535a06433f9f553a0">conversation.php</a>
+</li>
+<li>starred_init()
+: <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred.php</a>
+</li>
+<li>startup()
+: <a class="el" href="boot_8php.html#aca47505b8732177f52bb2d647eb2741c">boot.php</a>
+</li>
+<li>status_editor()
+: <a class="el" href="conversation_8php.html#a2a7d541854bba755eb8ada59af7dcb1a">conversation.php</a>
+</li>
+<li>store_item_tag()
+: <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">taxonomy.php</a>
+</li>
+<li>stream_perms_api_uids()
+: <a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">security.php</a>
+</li>
+<li>string_plural_select_default()
+: <a class="el" href="language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0">language.php</a>
+</li>
+<li>stringify_array_elms()
+: <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">text.php</a>
+</li>
+<li>stripdcode_br_cb()
+: <a class="el" href="bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93">bb2diaspora.php</a>
+</li>
+<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>
+<li>suggest_init()
+: <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest.php</a>
+</li>
+<li>suggestion_query()
+: <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">socgraph.php</a>
+</li>
+<li>sync_directories()
+: <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">dir_fns.php</a>
+</li>
+<li>syncdirs()
+: <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">dir_fns.php</a>
+</li>
+<li>system_down()
+: <a class="el" href="system__unavailable_8php.html#a73751a6bcc17ad3ca503496e2fb020fa">system_unavailable.php</a>
+</li>
+<li>system_unavailable()
+: <a class="el" href="boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x74.html b/doc/html/globals_func_0x74.html
new file mode 100644
index 000000000..163dba938
--- /dev/null
+++ b/doc/html/globals_func_0x74.html
@@ -0,0 +1,230 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li class="current"><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x74.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>t()
+: <a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">language.php</a>
+</li>
+<li>tag_deliver()
+: <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">items.php</a>
+</li>
+<li>tagadelic()
+: <a class="el" href="taxonomy_8php.html#a061b3db9426d4b074395f5824062cad4">taxonomy.php</a>
+</li>
+<li>tagblock()
+: <a class="el" href="taxonomy_8php.html#abdb698bc6921429df6d697f6c5dec96f">taxonomy.php</a>
+</li>
+<li>tagger_content()
+: <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger.php</a>
+</li>
+<li>tagrm_content()
+: <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm.php</a>
+</li>
+<li>tagrm_post()
+: <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm.php</a>
+</li>
+<li>tags_sort()
+: <a class="el" href="taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43">taxonomy.php</a>
+</li>
+<li>template_escape()
+: <a class="el" href="template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5">template_processor.php</a>
+</li>
+<li>template_unescape()
+: <a class="el" href="template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e">template_processor.php</a>
+</li>
+<li>term_query()
+: <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">taxonomy.php</a>
+</li>
+<li>terminate_friendship()
+: <a class="el" href="Contact_8php.html#a38daa1c210b78385307123450ca9a1fc">Contact.php</a>
+</li>
+<li>termtype()
+: <a class="el" href="items_8php.html#ad34827ed330898456783fb14c7b46154">items.php</a>
+</li>
+<li>tgroup_check()
+: <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">items.php</a>
+</li>
+<li>theme_content()
+: <a class="el" href="view_2theme_2redstrap_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">config.php</a>
+</li>
+<li>theme_include()
+: <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">plugin.php</a>
+</li>
+<li>theme_post()
+: <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">config.php</a>
+</li>
+<li>theme_status()
+: <a class="el" href="admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4">admin.php</a>
+</li>
+<li>thing_content()
+: <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing.php</a>
+</li>
+<li>thing_init()
+: <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing.php</a>
+</li>
+<li>timesel()
+: <a class="el" href="datetime_8php.html#a36d3d6dff8d76b5f295bb3d9c535a5b1">datetime.php</a>
+</li>
+<li>timezone_cmp()
+: <a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">datetime.php</a>
+</li>
+<li>title_is_body()
+: <a class="el" href="items_8php.html#aa371905f0a211b307cb3f7188c6cba04">items.php</a>
+</li>
+<li>toggle_mobile_init()
+: <a class="el" href="toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254">toggle_mobile.php</a>
+</li>
+<li>toggle_theme()
+: <a class="el" href="admin_8php.html#af81f081851791cd15e49e8ff6722dc27">admin.php</a>
+</li>
+<li>tryoembed()
+: <a class="el" href="bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7">bbcode.php</a>
+</li>
+<li>tt()
+: <a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">language.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x75.html b/doc/html/globals_func_0x75.html
new file mode 100644
index 000000000..9b5bc1607
--- /dev/null
+++ b/doc/html/globals_func_0x75.html
@@ -0,0 +1,218 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li class="current"><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x75.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>uexport_init()
+: <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport.php</a>
+</li>
+<li>unamp()
+: <a class="el" href="text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7">text.php</a>
+</li>
+<li>undo_post_tagging()
+: <a class="el" href="text_8php.html#a740ad03e00459039a2c0992246c4e727">text.php</a>
+</li>
+<li>unescape_underscores_in_links()
+: <a class="el" href="bb2diaspora_8php.html#a599428bceb6f6d82a6a78cb66811f747">bb2diaspora.php</a>
+</li>
+<li>uninstall_plugin()
+: <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">plugin.php</a>
+</li>
+<li>unload_plugin()
+: <a class="el" href="plugin_8php.html#a90538627db68605aeb6db17a8ead6523">plugin.php</a>
+</li>
+<li>unregister_hook()
+: <a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">plugin.php</a>
+</li>
+<li>unxmlify()
+: <a class="el" href="text_8php.html#a1360fed7f918d859daaca1c9f384f9af">text.php</a>
+</li>
+<li>update_channel_content()
+: <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel.php</a>
+</li>
+<li>update_community_content()
+: <a class="el" href="update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1">update_community.php</a>
+</li>
+<li>update_display_content()
+: <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display.php</a>
+</li>
+<li>update_imported_item()
+: <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">zot.php</a>
+</li>
+<li>update_modtime()
+: <a class="el" href="zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63">zot.php</a>
+</li>
+<li>update_network_content()
+: <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network.php</a>
+</li>
+<li>update_queue_time()
+: <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">queue_fn.php</a>
+</li>
+<li>update_search_content()
+: <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search.php</a>
+</li>
+<li>update_suggestions()
+: <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">socgraph.php</a>
+</li>
+<li>upgrade_bool_message()
+: <a class="el" href="plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d">plugin.php</a>
+</li>
+<li>upgrade_link()
+: <a class="el" href="plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040">plugin.php</a>
+</li>
+<li>upgrade_message()
+: <a class="el" href="plugin_8php.html#a901657dd078e070516cf97285e0bada7">plugin.php</a>
+</li>
+<li>user_allow()
+: <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">account.php</a>
+</li>
+<li>user_deny()
+: <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">account.php</a>
+</li>
+<li>user_remove()
+: <a class="el" href="Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15">Contact.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x76.html b/doc/html/globals_func_0x76.html
new file mode 100644
index 000000000..bf69a6911
--- /dev/null
+++ b/doc/html/globals_func_0x76.html
@@ -0,0 +1,191 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li class="current"><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x76.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
+<li>valid_email()
+: <a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">text.php</a>
+</li>
+<li>validate_channelname()
+: <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">identity.php</a>
+</li>
+<li>validate_email()
+: <a class="el" href="include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02">network.php</a>
+</li>
+<li>validate_url()
+: <a class="el" href="include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2">network.php</a>
+</li>
+<li>vcard_from_xchan()
+: <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">Contact.php</a>
+</li>
+<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>
+<li>viewconnections_init()
+: <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections.php</a>
+</li>
+<li>viewsrc_content()
+: <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc.php</a>
+</li>
+<li>visible_activity()
+: <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">conversation.php</a>
+</li>
+<li>vote_content()
+: <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote.php</a>
+</li>
+<li>vote_init()
+: <a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote.php</a>
+</li>
+<li>vote_post()
+: <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x77.html b/doc/html/globals_func_0x77.html
new file mode 100644
index 000000000..ef37d259d
--- /dev/null
+++ b/doc/html/globals_func_0x77.html
@@ -0,0 +1,179 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li class="current"><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x77.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>wall_attach_post()
+: <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach.php</a>
+</li>
+<li>wall_upload_post()
+: <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload.php</a>
+</li>
+<li>webfinger()
+: <a class="el" href="include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5">network.php</a>
+</li>
+<li>webfinger_content()
+: <a class="el" href="webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3">webfinger.php</a>
+</li>
+<li>webfinger_dfrn()
+: <a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">network.php</a>
+</li>
+<li>webpages_content()
+: <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages.php</a>
+</li>
+<li>wfinger_init()
+: <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger.php</a>
+</li>
+<li>what_next()
+: <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">setup.php</a>
+</li>
+<li>widget_profile()
+: <a class="el" href="comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923">comanche.php</a>
+</li>
+<li>writepages_widget()
+: <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">page_widgets.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x78.html b/doc/html/globals_func_0x78.html
new file mode 100644
index 000000000..6df4adb06
--- /dev/null
+++ b/doc/html/globals_func_0x78.html
@@ -0,0 +1,173 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li class="current"><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x78.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
+<li>x()
+: <a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">boot.php</a>
+</li>
+<li>xchan_content()
+: <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan.php</a>
+</li>
+<li>xchan_mail_query()
+: <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">text.php</a>
+</li>
+<li>xchan_query()
+: <a class="el" href="text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f">text.php</a>
+</li>
+<li>xml2array()
+: <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">network.php</a>
+</li>
+<li>xml_status()
+: <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">network.php</a>
+</li>
+<li>xmlify()
+: <a class="el" href="text_8php.html#aaed4413ed8918838b517e3b2fafaea0d">text.php</a>
+</li>
+<li>xrd_init()
+: <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_func_0x7a.html b/doc/html/globals_func_0x7a.html
new file mode 100644
index 000000000..9a28fb1b3
--- /dev/null
+++ b/doc/html/globals_func_0x7a.html
@@ -0,0 +1,233 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_func.html#index__"><span>_</span></a></li>
+ <li><a href="globals_func_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_func_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_func_0x78.html#index_x"><span>x</span></a></li>
+ <li class="current"><a href="globals_func_0x7a.html#index_z"><span>z</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('globals_func_0x7a.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_z"></a>- z -</h3><ul>
+<li>z_birthday()
+: <a class="el" href="boot_8php.html#ab55e545b72ec8c097e052ea7d373491f">boot.php</a>
+</li>
+<li>z_fetch_url()
+: <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">network.php</a>
+</li>
+<li>z_input_filter()
+: <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">text.php</a>
+</li>
+<li>z_mime_content_type()
+: <a class="el" href="include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a">attach.php</a>
+</li>
+<li>z_path()
+: <a class="el" href="boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda">boot.php</a>
+</li>
+<li>z_post_url()
+: <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">network.php</a>
+</li>
+<li>z_readdir()
+: <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">attach.php</a>
+</li>
+<li>z_root()
+: <a class="el" href="boot_8php.html#add517a0958ac684792c62142a3877f81">boot.php</a>
+</li>
+<li>zfinger_init()
+: <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger.php</a>
+</li>
+<li>zid()
+: <a class="el" href="boot_8php.html#a5b815330f3d177ab383af37a6c12e532">boot.php</a>
+</li>
+<li>zid_init()
+: <a class="el" href="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">boot.php</a>
+</li>
+<li>zidify_callback()
+: <a class="el" href="text_8php.html#a405afe814a23f3bd94d826101aa168ab">text.php</a>
+</li>
+<li>zidify_img_callback()
+: <a class="el" href="text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4">text.php</a>
+</li>
+<li>zidify_links()
+: <a class="el" href="text_8php.html#a29988052f3944111def3b6aaf2c7a8f6">text.php</a>
+</li>
+<li>zot_build_packet()
+: <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot.php</a>
+</li>
+<li>zot_feed()
+: <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">items.php</a>
+</li>
+<li>zot_fetch()
+: <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot.php</a>
+</li>
+<li>zot_finger()
+: <a class="el" href="zot_8php.html#a77720d6b59894e9b609af89c310c8a4d">zot.php</a>
+</li>
+<li>zot_get_hubloc()
+: <a class="el" href="zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e">zot.php</a>
+</li>
+<li>zot_gethub()
+: <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot.php</a>
+</li>
+<li>zot_import()
+: <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot.php</a>
+</li>
+<li>zot_new_uid()
+: <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot.php</a>
+</li>
+<li>zot_process_response()
+: <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot.php</a>
+</li>
+<li>zot_refresh()
+: <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot.php</a>
+</li>
+<li>zot_register_hub()
+: <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot.php</a>
+</li>
+<li>zot_zot()
+: <a class="el" href="zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142">zot.php</a>
+</li>
+<li>zotfeed_init()
+: <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed.php</a>
+</li>
+<li>zping_content()
+: <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars.html b/doc/html/globals_vars.html
new file mode 100644
index 000000000..2e2ad1e36
--- /dev/null
+++ b/doc/html/globals_vars.html
@@ -0,0 +1,282 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li class="current"><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_0x24"></a>- $ -</h3><ul>
+<li>$a
+: <a class="el" href="typo_8php.html#acebf83966ef6d7e5645a6b62ba368f9f">typo.php</a>
+</li>
+<li>$API
+: <a class="el" href="include_2api_8php.html#aeb2e7ad00ea666b4b6dfcf82008194f8">api.php</a>
+</li>
+<li>$arr
+: <a class="el" href="extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb">extract.php</a>
+</li>
+<li>$called_api
+: <a class="el" href="include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d">api.php</a>
+</li>
+<li>$colour
+: <a class="el" href="redbasic_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab">style.php</a>
+</li>
+<li>$dir
+: <a class="el" href="docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62">docblox_errorchecker.php</a>
+</li>
+<li>$dirs
+: <a class="el" href="typo_8php.html#a1b709c1d79631ebc8320b41bda028b54">typo.php</a>
+</li>
+<li>$dirstack
+: <a class="el" href="docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6">docblox_errorchecker.php</a>
+</li>
+<li>$displaystyle
+: <a class="el" href="redbasic_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad">style.php</a>
+</li>
+<li>$filelist
+: <a class="el" href="docblox__errorchecker_8php.html#a648a570b0f9f6e0e51b7267647c4b09b">docblox_errorchecker.php</a>
+</li>
+<li>$files
+: <a class="el" href="extract_8php.html#a9590b15215a21e9b42eb546aeef79704">extract.php</a>
+, <a class="el" href="tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149">tpldebug.php</a>
+, <a class="el" href="typo_8php.html#a9590b15215a21e9b42eb546aeef79704">typo.php</a>
+</li>
+<li>$gc_probability
+: <a class="el" href="session_8php.html#a96b09cc763572f45280786a7b33feb7e">session.php</a>
+</li>
+<li>$i
+: <a class="el" href="docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f">docblox_errorchecker.php</a>
+</li>
+<li>$infile
+: <a class="el" href="php2po_8php.html#a61f8ddeb5557d46ebc546cc355bda214">php2po.php</a>
+</li>
+<li>$ink
+: <a class="el" href="php2po_8php.html#a6b0b8ebd9ce811d1325ef2c129443bc0">php2po.php</a>
+</li>
+<li>$install_wizard_pass
+: <a class="el" href="setup_8php.html#addb24714bc2542aa4f4215e98fe48432">setup.php</a>
+</li>
+<li>$k
+: <a class="el" href="php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178">php2po.php</a>
+</li>
+<li>$line_height
+: <a class="el" href="redbasic_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0">style.php</a>
+</li>
+<li>$linkcolour
+: <a class="el" href="redbasic_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42">style.php</a>
+</li>
+<li>$nav_bg_1
+: <a class="el" href="redbasic_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b">style.php</a>
+</li>
+<li>$nav_bg_2
+: <a class="el" href="redbasic_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba">style.php</a>
+</li>
+<li>$nav_bg_3
+: <a class="el" href="redbasic_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c">style.php</a>
+</li>
+<li>$nav_bg_4
+: <a class="el" href="redbasic_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33">style.php</a>
+</li>
+<li>$navcolour
+: <a class="el" href="redbasic_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a">style.php</a>
+</li>
+<li>$needed
+: <a class="el" href="docblox__errorchecker_8php.html#a852004caba0a34390297a079f4aaac73">docblox_errorchecker.php</a>
+</li>
+<li>$out
+: <a class="el" href="php2po_8php.html#a48cb304902320d173a4eaa41543327b9">php2po.php</a>
+</li>
+<li>$phpath
+: <a class="el" href="typo_8php.html#a3ecd17ac846be1b35f3662f5c12ab6bd">typo.php</a>
+</li>
+<li>$phpfile
+: <a class="el" href="php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4">php2po.php</a>
+</li>
+<li>$pofile
+: <a class="el" href="php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1">php2po.php</a>
+</li>
+<li>$radius
+: <a class="el" href="redbasic_2php_2style_8php.html#a6502bedd57105ad1fb2dee2be9cf6351">style.php</a>
+</li>
+<li>$redbasic_font_size
+: <a class="el" href="redstrap_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda">style.php</a>
+</li>
+<li>$res
+: <a class="el" href="docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5">docblox_errorchecker.php</a>
+</li>
+<li>$resolution
+: <a class="el" href="redbasic_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc">style.php</a>
+</li>
+<li>$s
+: <a class="el" href="extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634">extract.php</a>
+</li>
+<li>$session_exists
+: <a class="el" href="session_8php.html#a62e4a6cb26b4bb1b8ddd8277b26090eb">session.php</a>
+</li>
+<li>$session_expire
+: <a class="el" href="session_8php.html#af0100a2642a5268594bbd5742a03d885">session.php</a>
+</li>
+<li>$shadows
+: <a class="el" href="redbasic_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548">style.php</a>
+</li>
+<li>$shiny
+: <a class="el" href="redbasic_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70">style.php</a>
+</li>
+<li>$site_colour
+: <a class="el" href="redbasic_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd">style.php</a>
+</li>
+<li>$site_line_height
+: <a class="el" href="redbasic_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e">style.php</a>
+</li>
+<li>$site_redbasic_font_size
+: <a class="el" href="redstrap_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f">style.php</a>
+</li>
+<li>$str
+: <a class="el" href="typohelper_8php.html#a7542d95618011800c61773127fa625cf">typohelper.php</a>
+</li>
+<li>$uid
+: <a class="el" href="redbasic_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a">style.php</a>
+</li>
+<li>$x
+: <a class="el" href="redbasic_2php_2style_8php.html#af3a16c5f0dd7a74cf9acf6a49fff73a7">style.php</a>
+</li>
+<li>$zones
+: <a class="el" href="extract_8php.html#a0cbe524ffc9a496114fd7ba9f423ef44">extract.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars.js b/doc/html/globals_vars.js
new file mode 100644
index 000000000..f614b41fa
--- /dev/null
+++ b/doc/html/globals_vars.js
@@ -0,0 +1,25 @@
+var globals_vars =
+[
+ [ "$", "globals_vars.html", null ],
+ [ "a", "globals_vars_0x61.html", null ],
+ [ "c", "globals_vars_0x63.html", null ],
+ [ "d", "globals_vars_0x64.html", null ],
+ [ "e", "globals_vars_0x65.html", null ],
+ [ "f", "globals_vars_0x66.html", null ],
+ [ "g", "globals_vars_0x67.html", null ],
+ [ "h", "globals_vars_0x68.html", null ],
+ [ "i", "globals_vars_0x69.html", null ],
+ [ "j", "globals_vars_0x6a.html", null ],
+ [ "k", "globals_vars_0x6b.html", null ],
+ [ "l", "globals_vars_0x6c.html", null ],
+ [ "m", "globals_vars_0x6d.html", null ],
+ [ "n", "globals_vars_0x6e.html", null ],
+ [ "p", "globals_vars_0x70.html", null ],
+ [ "r", "globals_vars_0x72.html", null ],
+ [ "s", "globals_vars_0x73.html", null ],
+ [ "t", "globals_vars_0x74.html", null ],
+ [ "u", "globals_vars_0x75.html", null ],
+ [ "w", "globals_vars_0x77.html", null ],
+ [ "x", "globals_vars_0x78.html", null ],
+ [ "z", "globals_vars_0x7a.html", null ]
+]; \ No newline at end of file
diff --git a/doc/html/globals_vars_0x61.html b/doc/html/globals_vars_0x61.html
new file mode 100644
index 000000000..bb34b28f3
--- /dev/null
+++ b/doc/html/globals_vars_0x61.html
@@ -0,0 +1,286 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li class="current"><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x61.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>ABOOK_FLAG_ARCHIVED
+: <a class="el" href="boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5">boot.php</a>
+</li>
+<li>ABOOK_FLAG_BLOCKED
+: <a class="el" href="boot_8php.html#a52b599cd13e152ebc80d7e4413683195">boot.php</a>
+</li>
+<li>ABOOK_FLAG_HIDDEN
+: <a class="el" href="boot_8php.html#a34c756469ebed32e2fc987bcde62d382">boot.php</a>
+</li>
+<li>ABOOK_FLAG_IGNORED
+: <a class="el" href="boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6">boot.php</a>
+</li>
+<li>ABOOK_FLAG_PENDING
+: <a class="el" href="boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155">boot.php</a>
+</li>
+<li>ABOOK_FLAG_SELF
+: <a class="el" href="boot_8php.html#a0450389f24c632906fbc24347700a543">boot.php</a>
+</li>
+<li>ACCESS_FREE
+: <a class="el" href="boot_8php.html#afbb1fe1b2c8c730ec8e08da93b6512c4">boot.php</a>
+</li>
+<li>ACCESS_PAID
+: <a class="el" href="boot_8php.html#a9c80420e5a063a4a87ce4831f086134d">boot.php</a>
+</li>
+<li>ACCESS_PRIVATE
+: <a class="el" href="boot_8php.html#a7f3474fec541e261fc8dff47313c4017">boot.php</a>
+</li>
+<li>ACCESS_TOKEN_DURATION
+: <a class="el" href="oauth_8php.html#ad343cab37aa860d2d14dc86b7f5ca0c6">oauth.php</a>
+</li>
+<li>ACCOUNT_BLOCKED
+: <a class="el" href="boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9">boot.php</a>
+</li>
+<li>ACCOUNT_EXPIRED
+: <a class="el" href="boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a">boot.php</a>
+</li>
+<li>ACCOUNT_OK
+: <a class="el" href="boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8">boot.php</a>
+</li>
+<li>ACCOUNT_PENDING
+: <a class="el" href="boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8">boot.php</a>
+</li>
+<li>ACCOUNT_REMOVED
+: <a class="el" href="boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78">boot.php</a>
+</li>
+<li>ACCOUNT_ROLE_ADMIN
+: <a class="el" href="boot_8php.html#ac8400313df2c831653f9036f71ebd86d">boot.php</a>
+</li>
+<li>ACCOUNT_ROLE_ALLOWCODE
+: <a class="el" href="boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688">boot.php</a>
+</li>
+<li>ACCOUNT_UNVERIFIED
+: <a class="el" href="boot_8php.html#af3a4271630aabd8be592213f925d6a36">boot.php</a>
+</li>
+<li>ACTIVITY_DISLIKE
+: <a class="el" href="boot_8php.html#a0e57f846e6d47a308feced0f7274f178">boot.php</a>
+</li>
+<li>ACTIVITY_FAVORITE
+: <a class="el" href="boot_8php.html#a3e2ea123d29a72012db1241f96280b0e">boot.php</a>
+</li>
+<li>ACTIVITY_FOLLOW
+: <a class="el" href="boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434">boot.php</a>
+</li>
+<li>ACTIVITY_FRIEND
+: <a class="el" href="boot_8php.html#a176664e78dcb9132e16be69418223eb2">boot.php</a>
+</li>
+<li>ACTIVITY_JOIN
+: <a class="el" href="boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3">boot.php</a>
+</li>
+<li>ACTIVITY_LIKE
+: <a class="el" href="boot_8php.html#abdcdfc873ace4e0902177bad934de0c0">boot.php</a>
+</li>
+<li>ACTIVITY_MOOD
+: <a class="el" href="boot_8php.html#a7aa57438db03834aaa0b468bdce773a6">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_ALBUM
+: <a class="el" href="boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_COMMENT
+: <a class="el" href="boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_EVENT
+: <a class="el" href="boot_8php.html#a2e90096fede6acce16abf0da8cb2febe">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_GROUP
+: <a class="el" href="boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_HEART
+: <a class="el" href="boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_NOTE
+: <a class="el" href="boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_P_PHOTO
+: <a class="el" href="boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_PERSON
+: <a class="el" href="boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_PHOTO
+: <a class="el" href="boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_PROFILE
+: <a class="el" href="boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_TAGTERM
+: <a class="el" href="boot_8php.html#a1da180f961f49a11573cac4ff6c62c05">boot.php</a>
+</li>
+<li>ACTIVITY_OBJ_THING
+: <a class="el" href="boot_8php.html#a0fb63e51c2a9814941842ae8f2f4dff8">boot.php</a>
+</li>
+<li>ACTIVITY_POKE
+: <a class="el" href="boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd">boot.php</a>
+</li>
+<li>ACTIVITY_POST
+: <a class="el" href="boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4">boot.php</a>
+</li>
+<li>ACTIVITY_REQ_FRIEND
+: <a class="el" href="boot_8php.html#afe084c30a1810c10442edb4fbcbc0086">boot.php</a>
+</li>
+<li>ACTIVITY_TAG
+: <a class="el" href="boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5">boot.php</a>
+</li>
+<li>ACTIVITY_UNFOLLOW
+: <a class="el" href="boot_8php.html#a53e4bdb6f225da55115acb9277f75e53">boot.php</a>
+</li>
+<li>ACTIVITY_UNFRIEND
+: <a class="el" href="boot_8php.html#a29528a2544373cc19a378f350040c6a1">boot.php</a>
+</li>
+<li>ACTIVITY_UPDATE
+: <a class="el" href="boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866">boot.php</a>
+</li>
+<li>ATOM_TIME
+: <a class="el" href="boot_8php.html#ad34c1547020a305915bcc39707744690">boot.php</a>
+</li>
+<li>ATTACH_FLAG_DIR
+: <a class="el" href="boot_8php.html#aa74438cf71e48e37bf7b440b94243985">boot.php</a>
+</li>
+<li>ATTACH_FLAG_OS
+: <a class="el" href="boot_8php.html#a781916f83fcc8ff1035649afa45f0292">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x63.html b/doc/html/globals_vars_0x63.html
new file mode 100644
index 000000000..91e566b58
--- /dev/null
+++ b/doc/html/globals_vars_0x63.html
@@ -0,0 +1,163 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li class="current"><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x63.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>CLIENT_MODE_LOAD
+: <a class="el" href="boot_8php.html#af6f6f6f40139f12fc09ec47373b30919">boot.php</a>
+</li>
+<li>CLIENT_MODE_NORMAL
+: <a class="el" href="boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731">boot.php</a>
+</li>
+<li>CLIENT_MODE_UPDATE
+: <a class="el" href="boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77">boot.php</a>
+</li>
+<li>CONTACT_IS_FOLLOWER
+: <a class="el" href="boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29">boot.php</a>
+</li>
+<li>CONTACT_IS_FRIEND
+: <a class="el" href="boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f">boot.php</a>
+</li>
+<li>CONTACT_IS_SHARING
+: <a class="el" href="boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x64.html b/doc/html/globals_vars_0x64.html
new file mode 100644
index 000000000..e642dd020
--- /dev/null
+++ b/doc/html/globals_vars_0x64.html
@@ -0,0 +1,172 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li class="current"><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x64.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>DB_UPDATE_VERSION
+: <a class="el" href="boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03">boot.php</a>
+</li>
+<li>DEFAULT_DB_ENGINE
+: <a class="el" href="boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d">boot.php</a>
+</li>
+<li>DIRECTORY_FALLBACK_MASTER
+: <a class="el" href="boot_8php.html#abedd940e664017c61b48c6efa31d0cb8">boot.php</a>
+</li>
+<li>DIRECTORY_MODE_NORMAL
+: <a class="el" href="boot_8php.html#ab7d65a7e7417825a4db62906bb600729">boot.php</a>
+</li>
+<li>DIRECTORY_MODE_PRIMARY
+: <a class="el" href="boot_8php.html#a8a60cc38bb567765fd926fef70205f16">boot.php</a>
+</li>
+<li>DIRECTORY_MODE_SECONDARY
+: <a class="el" href="boot_8php.html#aedfb9501ed408278667995524e0d15cf">boot.php</a>
+</li>
+<li>DIRECTORY_MODE_STANDALONE
+: <a class="el" href="boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8">boot.php</a>
+</li>
+<li>DIRECTORY_REALM
+: <a class="el" href="boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd">boot.php</a>
+</li>
+<li>do
+: <a class="el" href="docblox__errorchecker_8php.html#a721c6ff80a6d3e4ad4ffa52a04c60085">docblox_errorchecker.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x65.html b/doc/html/globals_vars_0x65.html
new file mode 100644
index 000000000..db1069edc
--- /dev/null
+++ b/doc/html/globals_vars_0x65.html
@@ -0,0 +1,156 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li class="current"><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x65.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>else
+: <a class="el" href="auth_8php.html#a0950af7c2888ca1d4743fe5d0bff9ae5">auth.php</a>
+, <a class="el" href="fpostit_8php.html#a501b5ca82f287509fc691c88524064c1">fpostit.php</a>
+, <a class="el" href="tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c">tpldebug.php</a>
+</li>
+<li>EOL
+: <a class="el" href="boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b">boot.php</a>
+</li>
+<li>EOT
+: <a class="el" href="typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805">typohelper.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x66.html b/doc/html/globals_vars_0x66.html
new file mode 100644
index 000000000..9d435e94a
--- /dev/null
+++ b/doc/html/globals_vars_0x66.html
@@ -0,0 +1,148 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li class="current"><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x66.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>foreach
+: <a class="el" href="typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5">typo.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x67.html b/doc/html/globals_vars_0x67.html
new file mode 100644
index 000000000..ed4d31490
--- /dev/null
+++ b/doc/html/globals_vars_0x67.html
@@ -0,0 +1,154 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li class="current"><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x67.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>GRAVITY_COMMENT
+: <a class="el" href="boot_8php.html#a4a12ce5de39789b0361e308d89925a20">boot.php</a>
+</li>
+<li>GRAVITY_LIKE
+: <a class="el" href="boot_8php.html#a1f5906598e90b5ea2b4245f682be4348">boot.php</a>
+</li>
+<li>GRAVITY_PARENT
+: <a class="el" href="boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x68.html b/doc/html/globals_vars_0x68.html
new file mode 100644
index 000000000..223c815d5
--- /dev/null
+++ b/doc/html/globals_vars_0x68.html
@@ -0,0 +1,166 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li class="current"><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x68.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>HUBLOC_FLAGS_PRIMARY
+: <a class="el" href="boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955">boot.php</a>
+</li>
+<li>HUBLOC_FLAGS_UNVERIFIED
+: <a class="el" href="boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764">boot.php</a>
+</li>
+<li>HUBLOC_NOTUSED
+: <a class="el" href="boot_8php.html#aa589421267f0c2f0d643f727792cce35">boot.php</a>
+</li>
+<li>HUBLOC_OFFLINE
+: <a class="el" href="boot_8php.html#a845891f82bf6edd7fa2d578b66703112">boot.php</a>
+</li>
+<li>HUBLOC_RECEIVE_ERROR
+: <a class="el" href="boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1">boot.php</a>
+</li>
+<li>HUBLOC_SEND_ERROR
+: <a class="el" href="boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456">boot.php</a>
+</li>
+<li>HUBLOC_WORKS
+: <a class="el" href="boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x69.html b/doc/html/globals_vars_0x69.html
new file mode 100644
index 000000000..e25858a48
--- /dev/null
+++ b/doc/html/globals_vars_0x69.html
@@ -0,0 +1,225 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li class="current"><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x69.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>if
+: <a class="el" href="php2po_8php.html#a45b05625748f412ec97afcd61cf7980b">php2po.php</a>
+, <a class="el" href="php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762">default.php</a>
+, <a class="el" href="redbasic_2php_2style_8php.html#ac4c6bc3cd9cc92204f04cf6cb34b47dd">style.php</a>
+, <a class="el" href="theme_2redstrap_2php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762">default.php</a>
+, <a class="el" href="full_8php.html#a6fac1b4b8cdfde06ea1b7713479e92db">full.php</a>
+, <a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">style.php</a>
+</li>
+<li>ITEM_BLOCKED
+: <a class="el" href="boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f">boot.php</a>
+</li>
+<li>ITEM_BUILDBLOCK
+: <a class="el" href="boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf">boot.php</a>
+</li>
+<li>ITEM_DELAYED_PUBLISH
+: <a class="el" href="boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20">boot.php</a>
+</li>
+<li>ITEM_DELETED
+: <a class="el" href="boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49">boot.php</a>
+</li>
+<li>ITEM_HIDDEN
+: <a class="el" href="boot_8php.html#ac99fc4d040764eac1736bec6973556fe">boot.php</a>
+</li>
+<li>ITEM_MENTIONSME
+: <a class="el" href="boot_8php.html#a8da836617174eed9fc2ac8054125354b">boot.php</a>
+</li>
+<li>ITEM_MODERATED
+: <a class="el" href="boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450">boot.php</a>
+</li>
+<li>ITEM_NOCOMMENT
+: <a class="el" href="boot_8php.html#a949116d9a295b214293006c060ca4848">boot.php</a>
+</li>
+<li>ITEM_NOTSHOWN
+: <a class="el" href="boot_8php.html#a8663f32171568489dbb2a01dd00371f8">boot.php</a>
+</li>
+<li>ITEM_NSFW
+: <a class="el" href="boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08">boot.php</a>
+</li>
+<li>ITEM_OBSCURED
+: <a class="el" href="boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d">boot.php</a>
+</li>
+<li>ITEM_ORIGIN
+: <a class="el" href="boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7">boot.php</a>
+</li>
+<li>ITEM_PDL
+: <a class="el" href="boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d">boot.php</a>
+</li>
+<li>ITEM_RELAY
+: <a class="el" href="boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221">boot.php</a>
+</li>
+<li>ITEM_SPAM
+: <a class="el" href="boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb">boot.php</a>
+</li>
+<li>ITEM_STARRED
+: <a class="el" href="boot_8php.html#a7af107fab8d62b9a73801713b774ed30">boot.php</a>
+</li>
+<li>ITEM_THREAD_TOP
+: <a class="el" href="boot_8php.html#a749144d8dd9c1366596a0213c277d050">boot.php</a>
+</li>
+<li>ITEM_UNPUBLISHED
+: <a class="el" href="boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272">boot.php</a>
+</li>
+<li>ITEM_UNSEEN
+: <a class="el" href="boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0">boot.php</a>
+</li>
+<li>ITEM_UPLINK
+: <a class="el" href="boot_8php.html#aefba06f1c0842036329033e7567ecf6d">boot.php</a>
+</li>
+<li>ITEM_UPLINK_PRV
+: <a class="el" href="boot_8php.html#aad33b494084f729b6ee3b0bc457718a1">boot.php</a>
+</li>
+<li>ITEM_VISIBLE
+: <a class="el" href="boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf">boot.php</a>
+</li>
+<li>ITEM_WALL
+: <a class="el" href="boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322">boot.php</a>
+</li>
+<li>ITEM_WEBPAGE
+: <a class="el" href="boot_8php.html#af489d0c3166551b93e63a79ff2c9be35">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x6a.html b/doc/html/globals_vars_0x6a.html
new file mode 100644
index 000000000..8f3835e21
--- /dev/null
+++ b/doc/html/globals_vars_0x6a.html
@@ -0,0 +1,148 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li class="current"><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x6a.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
+<li>JPEG_QUALITY
+: <a class="el" href="boot_8php.html#a3475ff6c2e575f946ea0ee377e944173">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x6b.html b/doc/html/globals_vars_0x6b.html
new file mode 100644
index 000000000..5a1054bc9
--- /dev/null
+++ b/doc/html/globals_vars_0x6b.html
@@ -0,0 +1,148 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li class="current"><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x6b.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>KEY_NOT_EXISTS
+: <a class="el" href="template__processor_8php.html#a797745996c7839a93b2ab1af456631ab">template_processor.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x6c.html b/doc/html/globals_vars_0x6c.html
new file mode 100644
index 000000000..1123f0847
--- /dev/null
+++ b/doc/html/globals_vars_0x6c.html
@@ -0,0 +1,166 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li class="current"><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x6c.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>LANGUAGE_DETECT_MIN_CONFIDENCE
+: <a class="el" href="boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11">boot.php</a>
+</li>
+<li>LANGUAGE_DETECT_MIN_LENGTH
+: <a class="el" href="boot_8php.html#a17cf72338b040891781a4bcbdd9a8595">boot.php</a>
+</li>
+<li>LOGGER_ALL
+: <a class="el" href="boot_8php.html#afe63ae69ba55299f813766e54df06ede">boot.php</a>
+</li>
+<li>LOGGER_DATA
+: <a class="el" href="boot_8php.html#a6969947145a139ec374ce098224d8e81">boot.php</a>
+</li>
+<li>LOGGER_DEBUG
+: <a class="el" href="boot_8php.html#a93823d15ae07548a4c49de88d325cd26">boot.php</a>
+</li>
+<li>LOGGER_NORMAL
+: <a class="el" href="boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805">boot.php</a>
+</li>
+<li>LOGGER_TRACE
+: <a class="el" href="boot_8php.html#a022cea669f9f13ef7c6268b63884c57f">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x6d.html b/doc/html/globals_vars_0x6d.html
new file mode 100644
index 000000000..34d259ddc
--- /dev/null
+++ b/doc/html/globals_vars_0x6d.html
@@ -0,0 +1,175 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li class="current"><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x6d.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>MAIL_DELETED
+: <a class="el" href="boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8">boot.php</a>
+</li>
+<li>MAIL_ISREPLY
+: <a class="el" href="boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2">boot.php</a>
+</li>
+<li>MAIL_OBSCURED
+: <a class="el" href="boot_8php.html#a44ae1542a805ffd7f826fb511db07374">boot.php</a>
+</li>
+<li>MAIL_RECALLED
+: <a class="el" href="boot_8php.html#ae4861de36017fe399c1839f778bad9f5">boot.php</a>
+</li>
+<li>MAIL_REPLIED
+: <a class="el" href="boot_8php.html#aa3679df31c8dad1b71816b0322d5baff">boot.php</a>
+</li>
+<li>MAIL_SEEN
+: <a class="el" href="boot_8php.html#a1fbb93cf030f07391f22cc2948744869">boot.php</a>
+</li>
+<li>MAX_IMAGE_LENGTH
+: <a class="el" href="boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa">boot.php</a>
+</li>
+<li>MAX_LIKERS
+: <a class="el" href="boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd">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>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x6e.html b/doc/html/globals_vars_0x6e.html
new file mode 100644
index 000000000..a621d30d3
--- /dev/null
+++ b/doc/html/globals_vars_0x6e.html
@@ -0,0 +1,265 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li class="current"><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x6e.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>n
+: <a class="el" href="php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b">php2po.php</a>
+</li>
+<li>NAMESPACE_ACTIVITY
+: <a class="el" href="boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2">boot.php</a>
+</li>
+<li>NAMESPACE_ACTIVITY_SCHEMA
+: <a class="el" href="boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133">boot.php</a>
+</li>
+<li>NAMESPACE_ATOM1
+: <a class="el" href="boot_8php.html#a444ce608ce34efb82ee11852f36e825f">boot.php</a>
+</li>
+<li>NAMESPACE_DFRN
+: <a class="el" href="boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028">boot.php</a>
+</li>
+<li>NAMESPACE_FEED
+: <a class="el" href="boot_8php.html#ac195fc9003298923ea81f144388e24b1">boot.php</a>
+</li>
+<li>NAMESPACE_GEORSS
+: <a class="el" href="boot_8php.html#a03d19251c245587de7ed959300b87bdf">boot.php</a>
+</li>
+<li>NAMESPACE_MEDIA
+: <a class="el" href="boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16">boot.php</a>
+</li>
+<li>NAMESPACE_OSTATUS
+: <a class="el" href="boot_8php.html#acca19aae62e1a6951a856b945de20d67">boot.php</a>
+</li>
+<li>NAMESPACE_OSTATUSSUB
+: <a class="el" href="boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd">boot.php</a>
+</li>
+<li>NAMESPACE_POCO
+: <a class="el" href="boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a">boot.php</a>
+</li>
+<li>NAMESPACE_SALMON_ME
+: <a class="el" href="boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67">boot.php</a>
+</li>
+<li>NAMESPACE_STATUSNET
+: <a class="el" href="boot_8php.html#afaf93b7026f784b113b4f8921745891e">boot.php</a>
+</li>
+<li>NAMESPACE_THREAD
+: <a class="el" href="boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86">boot.php</a>
+</li>
+<li>NAMESPACE_TOMB
+: <a class="el" href="boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e">boot.php</a>
+</li>
+<li>NAMESPACE_ZOT
+: <a class="el" href="boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47">boot.php</a>
+</li>
+<li>NETWORK_DFRN
+: <a class="el" href="boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e">boot.php</a>
+</li>
+<li>NETWORK_DIASPORA
+: <a class="el" href="boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa">boot.php</a>
+</li>
+<li>NETWORK_FACEBOOK
+: <a class="el" href="boot_8php.html#af3905ea8f8568d0236db13fca40514e3">boot.php</a>
+</li>
+<li>NETWORK_FEED
+: <a class="el" href="boot_8php.html#ab4bddb41a0cf407178ec5278b950c393">boot.php</a>
+</li>
+<li>NETWORK_GPLUS
+: <a class="el" href="boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701">boot.php</a>
+</li>
+<li>NETWORK_LINKEDIN
+: <a class="el" href="boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa">boot.php</a>
+</li>
+<li>NETWORK_MAIL
+: <a class="el" href="boot_8php.html#a7236b2cdcf59f02a42302e893a99013b">boot.php</a>
+</li>
+<li>NETWORK_MAIL2
+: <a class="el" href="boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42">boot.php</a>
+</li>
+<li>NETWORK_MYSPACE
+: <a class="el" href="boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95">boot.php</a>
+</li>
+<li>NETWORK_OSTATUS
+: <a class="el" href="boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d">boot.php</a>
+</li>
+<li>NETWORK_PHANTOM
+: <a class="el" href="boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f">boot.php</a>
+</li>
+<li>NETWORK_XMPP
+: <a class="el" href="boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e">boot.php</a>
+</li>
+<li>NETWORK_ZOT
+: <a class="el" href="boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0">boot.php</a>
+</li>
+<li>NOTIFY_COMMENT
+: <a class="el" href="boot_8php.html#a20f0eed431d25870b624b8937a07a59f">boot.php</a>
+</li>
+<li>NOTIFY_CONFIRM
+: <a class="el" href="boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d">boot.php</a>
+</li>
+<li>NOTIFY_INTRO
+: <a class="el" href="boot_8php.html#a56fd673eaa7014150297ce1162502db5">boot.php</a>
+</li>
+<li>NOTIFY_MAIL
+: <a class="el" href="boot_8php.html#a285732e7889fa7f333cbe431111e1029">boot.php</a>
+</li>
+<li>NOTIFY_POKE
+: <a class="el" href="boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8">boot.php</a>
+</li>
+<li>NOTIFY_PROFILE
+: <a class="el" href="boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b">boot.php</a>
+</li>
+<li>NOTIFY_SUGGEST
+: <a class="el" href="boot_8php.html#a9d01ef178b72b145016cca1393415bc4">boot.php</a>
+</li>
+<li>NOTIFY_SYSTEM
+: <a class="el" href="boot_8php.html#a14d44d4a00223dc3db4ea962325db192">boot.php</a>
+</li>
+<li>NOTIFY_TAGSELF
+: <a class="el" href="boot_8php.html#ab724491497ab2618b23a01d5da60aec0">boot.php</a>
+</li>
+<li>NOTIFY_TAGSHARE
+: <a class="el" href="boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461">boot.php</a>
+</li>
+<li>NOTIFY_WALL
+: <a class="el" href="boot_8php.html#a505410c7edc5f5bb5fa227b98359793e">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
new file mode 100644
index 000000000..9f1930d4c
--- /dev/null
+++ b/doc/html/globals_vars_0x70.html
@@ -0,0 +1,261 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li class="current"><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x70.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="contents">
+&#160;
+
+<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_APPLICATION
+: <a class="el" href="boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed">boot.php</a>
+</li>
+<li>PAGE_AUTOCONNECT
+: <a class="el" href="boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9">boot.php</a>
+</li>
+<li>PAGE_DIRECTORY_CHANNEL
+: <a class="el" href="boot_8php.html#a5b8484922918946d041e5e0515dbe718">boot.php</a>
+</li>
+<li>PAGE_HIDDEN
+: <a class="el" href="boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640">boot.php</a>
+</li>
+<li>PAGE_NORMAL
+: <a class="el" href="boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3">boot.php</a>
+</li>
+<li>PAGE_PREMIUM
+: <a class="el" href="boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8">boot.php</a>
+</li>
+<li>PAGE_REMOVED
+: <a class="el" href="boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6">boot.php</a>
+</li>
+<li>PERMS_A_DELEGATE
+: <a class="el" href="boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b">boot.php</a>
+</li>
+<li>PERMS_CONTACTS
+: <a class="el" href="boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6">boot.php</a>
+</li>
+<li>PERMS_NETWORK
+: <a class="el" href="boot_8php.html#a6df1102664f64b274810db85197c2755">boot.php</a>
+</li>
+<li>PERMS_PUBLIC
+: <a class="el" href="boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7">boot.php</a>
+</li>
+<li>PERMS_R_ABOOK
+: <a class="el" href="boot_8php.html#a3d6d4fc5fafcc9156811669158541caf">boot.php</a>
+</li>
+<li>PERMS_R_PAGES
+: <a class="el" href="boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e">boot.php</a>
+</li>
+<li>PERMS_R_PHOTOS
+: <a class="el" href="boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62">boot.php</a>
+</li>
+<li>PERMS_R_PROFILE
+: <a class="el" href="boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137">boot.php</a>
+</li>
+<li>PERMS_R_STORAGE
+: <a class="el" href="boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc">boot.php</a>
+</li>
+<li>PERMS_R_STREAM
+: <a class="el" href="boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4">boot.php</a>
+</li>
+<li>PERMS_SITE
+: <a class="el" href="boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f">boot.php</a>
+</li>
+<li>PERMS_SPECIFIC
+: <a class="el" href="boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964">boot.php</a>
+</li>
+<li>PERMS_W_CHAT
+: <a class="el" href="boot_8php.html#acd877c405b06b348b37b6f7e62a211e9">boot.php</a>
+</li>
+<li>PERMS_W_COMMENT
+: <a class="el" href="boot_8php.html#a32df13fec0e43281da5979e1f5579aa8">boot.php</a>
+</li>
+<li>PERMS_W_MAIL
+: <a class="el" href="boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf">boot.php</a>
+</li>
+<li>PERMS_W_PAGES
+: <a class="el" href="boot_8php.html#aa9244fc9cc221980c07a20cc534111be">boot.php</a>
+</li>
+<li>PERMS_W_PHOTOS
+: <a class="el" href="boot_8php.html#a57eee7352714c004d36c26dda74af73e">boot.php</a>
+</li>
+<li>PERMS_W_STORAGE
+: <a class="el" href="boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115">boot.php</a>
+</li>
+<li>PERMS_W_STREAM
+: <a class="el" href="boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55">boot.php</a>
+</li>
+<li>PERMS_W_TAGWALL
+: <a class="el" href="boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777">boot.php</a>
+</li>
+<li>PERMS_W_WALL
+: <a class="el" href="boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2">boot.php</a>
+</li>
+<li>PHOTO_NORMAL
+: <a class="el" href="boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4">boot.php</a>
+</li>
+<li>PHOTO_PROFILE
+: <a class="el" href="boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0">boot.php</a>
+</li>
+<li>PHOTO_THING
+: <a class="el" href="boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383">boot.php</a>
+</li>
+<li>PHOTO_XCHAN
+: <a class="el" href="boot_8php.html#ac43182e0d8bae7576a30b603774974f8">boot.php</a>
+</li>
+<li>PNG_QUALITY
+: <a class="el" href="boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce">boot.php</a>
+</li>
+<li>POLL_MULTIPLE_CHOICE
+: <a class="el" href="boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86">boot.php</a>
+</li>
+<li>POLL_OVERWRITE
+: <a class="el" href="boot_8php.html#a2b525996e4426bdddbcec277778bde08">boot.php</a>
+</li>
+<li>POLL_SIMPLE_RATING
+: <a class="el" href="boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5">boot.php</a>
+</li>
+<li>POLL_TENSCALE
+: <a class="el" href="boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x72.html b/doc/html/globals_vars_0x72.html
new file mode 100644
index 000000000..d0ed87061
--- /dev/null
+++ b/doc/html/globals_vars_0x72.html
@@ -0,0 +1,169 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li class="current"><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x72.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>RANDOM_STRING_HEX
+: <a class="el" href="text_8php.html#aad557c054cf2ed915633701018fc7e3f">text.php</a>
+</li>
+<li>RANDOM_STRING_TEXT
+: <a class="el" href="text_8php.html#a2ffd79c60cc87cec24ef76447b905187">text.php</a>
+</li>
+<li>RED_PLATFORM
+: <a class="el" href="boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4">boot.php</a>
+</li>
+<li>RED_VERSION
+: <a class="el" href="boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3">boot.php</a>
+</li>
+<li>REGISTER_APPROVE
+: <a class="el" href="boot_8php.html#a7176c0f9f1c98421b97735d892cf6252">boot.php</a>
+</li>
+<li>REGISTER_CLOSED
+: <a class="el" href="boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1">boot.php</a>
+</li>
+<li>REGISTER_OPEN
+: <a class="el" href="boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63">boot.php</a>
+</li>
+<li>REQUEST_TOKEN_DURATION
+: <a class="el" href="oauth_8php.html#a7a32a5990f113ac9465b03b29175cf16">oauth.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x73.html b/doc/html/globals_vars_0x73.html
new file mode 100644
index 000000000..6815e793e
--- /dev/null
+++ b/doc/html/globals_vars_0x73.html
@@ -0,0 +1,154 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li class="current"><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x73.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>SSL_POLICY_FULL
+: <a class="el" href="boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc">boot.php</a>
+</li>
+<li>SSL_POLICY_NONE
+: <a class="el" href="boot_8php.html#af86c651547aa8f9e549ee40a09455549">boot.php</a>
+</li>
+<li>SSL_POLICY_SELFSIGN
+: <a class="el" href="boot_8php.html#adca48aee78465ae3064ca4432c0d87b5">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x74.html b/doc/html/globals_vars_0x74.html
new file mode 100644
index 000000000..bc94bea8d
--- /dev/null
+++ b/doc/html/globals_vars_0x74.html
@@ -0,0 +1,187 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li class="current"><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x74.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>TERM_CATEGORY
+: <a class="el" href="boot_8php.html#af33d1b2e98a1e21af672005525d46dfe">boot.php</a>
+</li>
+<li>TERM_FILE
+: <a class="el" href="boot_8php.html#afb97615e985a013799839b68b99018d7">boot.php</a>
+</li>
+<li>TERM_HASHTAG
+: <a class="el" href="boot_8php.html#a2750985ec445617d7e82ae3098c91e3f">boot.php</a>
+</li>
+<li>TERM_MENTION
+: <a class="el" href="boot_8php.html#ae37444eaa42705185080ccf3e670cbc2">boot.php</a>
+</li>
+<li>TERM_OBJ_CHANNEL
+: <a class="el" href="boot_8php.html#a8892374789fd261eb32a7969d934a14a">boot.php</a>
+</li>
+<li>TERM_OBJ_OBJECT
+: <a class="el" href="boot_8php.html#a882b666adfe21f035a0f8c02806066d6">boot.php</a>
+</li>
+<li>TERM_OBJ_PHOTO
+: <a class="el" href="boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd">boot.php</a>
+</li>
+<li>TERM_OBJ_POST
+: <a class="el" href="boot_8php.html#a9eeb8989272d5ff804a616898bb13659">boot.php</a>
+</li>
+<li>TERM_OBJ_PROFILE
+: <a class="el" href="boot_8php.html#aead84fa27d7516b855220fe004964a45">boot.php</a>
+</li>
+<li>TERM_OBJ_THING
+: <a class="el" href="boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe">boot.php</a>
+</li>
+<li>TERM_PCATEGORY
+: <a class="el" href="boot_8php.html#a45b12aefab9675baffc7a07a09486db8">boot.php</a>
+</li>
+<li>TERM_SAVEDSEARCH
+: <a class="el" href="boot_8php.html#abd7bb40da9cc073297e49736b338ca07">boot.php</a>
+</li>
+<li>TERM_THING
+: <a class="el" href="boot_8php.html#a0d877df1e20bae765e1708be50f6b503">boot.php</a>
+</li>
+<li>TERM_UNKNOWN
+: <a class="el" href="boot_8php.html#a0c59dde058efebbc66520d136cbd1631">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x75.html b/doc/html/globals_vars_0x75.html
new file mode 100644
index 000000000..38590bdc1
--- /dev/null
+++ b/doc/html/globals_vars_0x75.html
@@ -0,0 +1,151 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li class="current"><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x75.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>UPDATE_FAILED
+: <a class="el" href="boot_8php.html#a75fc600186b13c3b25e661afefb5eac8">boot.php</a>
+</li>
+<li>UPDATE_SUCCESS
+: <a class="el" href="boot_8php.html#ac86615ddc0763a00f5311c90e991730c">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x77.html b/doc/html/globals_vars_0x77.html
new file mode 100644
index 000000000..5b6227b38
--- /dev/null
+++ b/doc/html/globals_vars_0x77.html
@@ -0,0 +1,148 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li class="current"><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x77.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>while
+: <a class="el" href="docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d">docblox_errorchecker.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x78.html b/doc/html/globals_vars_0x78.html
new file mode 100644
index 000000000..a21a24c02
--- /dev/null
+++ b/doc/html/globals_vars_0x78.html
@@ -0,0 +1,151 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li class="current"><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x78.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
+<li>XCHAN_FLAGS_HIDDEN
+: <a class="el" href="boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2">boot.php</a>
+</li>
+<li>XCHAN_FLAGS_ORPHAN
+: <a class="el" href="boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x7a.html b/doc/html/globals_vars_0x7a.html
new file mode 100644
index 000000000..ca89a798d
--- /dev/null
+++ b/doc/html/globals_vars_0x7a.html
@@ -0,0 +1,151 @@
+<!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: File Members</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="rhash-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 class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li class="current"><a href="globals_vars_0x7a.html#index_z"><span>z</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('globals_vars_0x7a.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="contents">
+&#160;
+
+<h3><a class="anchor" id="index_z"></a>- z -</h3><ul>
+<li>ZCURL_TIMEOUT
+: <a class="el" href="boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af">boot.php</a>
+</li>
+<li>ZOT_REVISION
+: <a class="el" href="boot_8php.html#a36b31575f992a10b5927b76efba9362e">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/gprobe_8php.html b/doc/html/gprobe_8php.html
new file mode 100644
index 000000000..03273c090
--- /dev/null
+++ b/doc/html/gprobe_8php.html
@@ -0,0 +1,147 @@
+<!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: include/gprobe.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="rhash-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('gprobe_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">gprobe.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:adf72cb0a70b5b9d99fdec1cc60e18ed1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
+<tr class="separator:adf72cb0a70b5b9d99fdec1cc60e18ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="adf72cb0a70b5b9d99fdec1cc60e18ed1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">gprobe_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/gprobe_8php.js b/doc/html/gprobe_8php.js
new file mode 100644
index 000000000..1c0c6e44a
--- /dev/null
+++ b/doc/html/gprobe_8php.js
@@ -0,0 +1,4 @@
+var gprobe_8php =
+[
+ [ "gprobe_run", "gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1", null ]
+]; \ No newline at end of file
diff --git a/doc/html/hcard_8php.html b/doc/html/hcard_8php.html
new file mode 100644
index 000000000..cdf57807d
--- /dev/null
+++ b/doc/html/hcard_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/hcard.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="rhash-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('hcard_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">hcard.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:ac34f26b0e6a37eef44fa49bea135136d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ac34f26b0e6a37eef44fa49bea135136d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a956c7cae2009652a37900306e5b7b73d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hcard_8php.html#a956c7cae2009652a37900306e5b7b73d">hcard_aside</a> (&amp;$a)</td></tr>
+<tr class="separator:a956c7cae2009652a37900306e5b7b73d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a956c7cae2009652a37900306e5b7b73d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">hcard_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="ac34f26b0e6a37eef44fa49bea135136d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">hcard_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/hcard_8php.js b/doc/html/hcard_8php.js
new file mode 100644
index 000000000..fe7ffda18
--- /dev/null
+++ b/doc/html/hcard_8php.js
@@ -0,0 +1,5 @@
+var hcard_8php =
+[
+ [ "hcard_aside", "hcard_8php.html#a956c7cae2009652a37900306e5b7b73d", null ],
+ [ "hcard_init", "hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/help_8php.html b/doc/html/help_8php.html
new file mode 100644
index 000000000..96bc469ab
--- /dev/null
+++ b/doc/html/help_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/help.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="rhash-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('help_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">help.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:af055e15f600ffa6fbca9386fdf715224"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(!function_exists('load_doc_file'))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content</a> (&amp;$a)</td></tr>
+<tr class="separator:af055e15f600ffa6fbca9386fdf715224"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af055e15f600ffa6fbca9386fdf715224"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (!function_exists('load_doc_file')) help_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/help_8php.js b/doc/html/help_8php.js
new file mode 100644
index 000000000..1178a13f2
--- /dev/null
+++ b/doc/html/help_8php.js
@@ -0,0 +1,4 @@
+var help_8php =
+[
+ [ "help_content", "help_8php.html#af055e15f600ffa6fbca9386fdf715224", null ]
+]; \ No newline at end of file
diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html
new file mode 100644
index 000000000..df96b0fda
--- /dev/null
+++ b/doc/html/hierarchy.html
@@ -0,0 +1,141 @@
+<!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: Class Hierarchy</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="rhash-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 class="current"><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('hierarchy.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">Class Hierarchy</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
+<tr id="row_0_" 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="classApp.html" target="_self">App</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><img id="arr_1_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classBaseObject.html" target="_self">BaseObject</a></td><td class="desc"></td></tr>
+<tr id="row_1_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="classConversation.html" target="_self">Conversation</a></td><td class="desc"></td></tr>
+<tr id="row_1_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="classItem.html" target="_self">Item</a></td><td class="desc"></td></tr>
+<tr id="row_2_" 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="classCache.html" target="_self">Cache</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><img id="arr_3_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__driver.html" target="_self">dba_driver</a></td><td class="desc"></td></tr>
+<tr id="row_3_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="classdba__mysql.html" target="_self">dba_mysql</a></td><td class="desc"></td></tr>
+<tr id="row_3_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="classdba__mysqli.html" target="_self">dba_mysqli</a></td><td class="desc"></td></tr>
+<tr id="row_4_" 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="classenotify.html" target="_self">enotify</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><td class="entry"><img id="arr_5_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('5_')"/><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_5_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_5_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>
+<tr id="row_6_" class="even"><td class="entry"><img id="arr_6_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('6_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>OAuthDataStore</b></td><td class="desc"></td></tr>
+<tr id="row_6_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="classFKOAuthDataStore.html" target="_self">FKOAuthDataStore</a></td><td class="desc"></td></tr>
+<tr id="row_7_" class="even"><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>OAuthServer</b></td><td class="desc"></td></tr>
+<tr id="row_7_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="classFKOAuth1.html" target="_self">FKOAuth1</a></td><td class="desc"></td></tr>
+<tr id="row_8_" class="even"><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" /><a class="el" href="classphoto__driver.html" target="_self">photo_driver</a></td><td class="desc"></td></tr>
+<tr id="row_8_0_"><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_8_1_" 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="classphoto__imagick.html" target="_self">photo_imagick</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="classProtoDriver.html" target="_self">ProtoDriver</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="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_10_"><td class="entry"><img id="arr_10_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('10_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Smarty</b></td><td class="desc"></td></tr>
+<tr id="row_10_0_" class="even"><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 -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/hierarchy.js b/doc/html/hierarchy.js
new file mode 100644
index 000000000..855cea45d
--- /dev/null
+++ b/doc/html/hierarchy.js
@@ -0,0 +1,34 @@
+var hierarchy =
+[
+ [ "App", "classApp.html", null ],
+ [ "BaseObject", "classBaseObject.html", [
+ [ "Conversation", "classConversation.html", null ],
+ [ "Item", "classItem.html", null ]
+ ] ],
+ [ "Cache", "classCache.html", null ],
+ [ "dba_driver", "classdba__driver.html", [
+ [ "dba_mysql", "classdba__mysql.html", null ],
+ [ "dba_mysqli", "classdba__mysqli.html", null ]
+ ] ],
+ [ "enotify", "classenotify.html", null ],
+ [ "ITemplateEngine", "interfaceITemplateEngine.html", [
+ [ "FriendicaSmartyEngine", "classFriendicaSmartyEngine.html", null ],
+ [ "Template", "classTemplate.html", null ]
+ ] ],
+ [ "OAuthDataStore", null, [
+ [ "FKOAuthDataStore", "classFKOAuthDataStore.html", null ]
+ ] ],
+ [ "OAuthServer", null, [
+ [ "FKOAuth1", "classFKOAuth1.html", null ]
+ ] ],
+ [ "photo_driver", "classphoto__driver.html", [
+ [ "photo_gd", "classphoto__gd.html", null ],
+ [ "photo_imagick", "classphoto__imagick.html", null ]
+ ] ],
+ [ "ProtoDriver", "classProtoDriver.html", [
+ [ "ZotDriver", "classZotDriver.html", null ]
+ ] ],
+ [ "Smarty", null, [
+ [ "FriendicaSmarty", "classFriendicaSmarty.html", null ]
+ ] ]
+]; \ No newline at end of file
diff --git a/doc/html/home_8php.html b/doc/html/home_8php.html
new file mode 100644
index 000000000..02a9998f1
--- /dev/null
+++ b/doc/html/home_8php.html
@@ -0,0 +1,112 @@
+<!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/home.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="rhash-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('home_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="headertitle">
+<div class="title">home.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/hostxrd_8php.html b/doc/html/hostxrd_8php.html
new file mode 100644
index 000000000..b9b6bf159
--- /dev/null
+++ b/doc/html/hostxrd_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/hostxrd.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="rhash-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('hostxrd_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">hostxrd.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:aa37ffc8e7900bc76c4828bd25916db92"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init</a> (&amp;$a)</td></tr>
+<tr class="separator:aa37ffc8e7900bc76c4828bd25916db92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa37ffc8e7900bc76c4828bd25916db92"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">hostxrd_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/hostxrd_8php.js b/doc/html/hostxrd_8php.js
new file mode 100644
index 000000000..442e3dfac
--- /dev/null
+++ b/doc/html/hostxrd_8php.js
@@ -0,0 +1,4 @@
+var hostxrd_8php =
+[
+ [ "hostxrd_init", "hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92", null ]
+]; \ No newline at end of file
diff --git a/doc/html/html2bbcode_8php.html b/doc/html/html2bbcode_8php.html
new file mode 100644
index 000000000..178929237
--- /dev/null
+++ b/doc/html/html2bbcode_8php.html
@@ -0,0 +1,265 @@
+<!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: include/html2bbcode.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="rhash-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('html2bbcode_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">html2bbcode.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:ad174afe0ccbd8c475e48f8a6ee2f27d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8">node2bbcode</a> (&amp;$doc, $oldnode, $attributes, $startbb, $endbb)</td></tr>
+<tr class="separator:ad174afe0ccbd8c475e48f8a6ee2f27d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a39c662b19d318990fee2ba795a55d7a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7">node2bbcodesub</a> (&amp;$doc, $oldnode, $attributes, $startbb, $endbb)</td></tr>
+<tr class="separator:a39c662b19d318990fee2ba795a55d7a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71a07f135d196ec5943b13f7b2e6a9b2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2">deletenode</a> (&amp;$doc, $node)</td></tr>
+<tr class="separator:a71a07f135d196ec5943b13f7b2e6a9b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ad726995ac4070213abdb3bd09f4837"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837">html2bbcode</a> ($message)</td></tr>
+<tr class="separator:a5ad726995ac4070213abdb3bd09f4837"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a71a07f135d196ec5943b13f7b2e6a9b2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">deletenode </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$doc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$node</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="html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837">html2bbcode()</a>, and <a class="el" href="parse__url_8php.html#a25635549f2c22955d72465f4d2e58993">parseurl_getsiteinfo()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5ad726995ac4070213abdb3bd09f4837"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">html2bbcode </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$message</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6">diaspora2bb()</a>, and <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad174afe0ccbd8c475e48f8a6ee2f27d8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">node2bbcode </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$doc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$oldnode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$attributes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$startbb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$endbb</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="html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837">html2bbcode()</a>, and <a class="el" href="html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04">html2plain()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a39c662b19d318990fee2ba795a55d7a7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">node2bbcodesub </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$doc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$oldnode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$attributes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$startbb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$endbb</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="html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8">node2bbcode()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/html2bbcode_8php.js b/doc/html/html2bbcode_8php.js
new file mode 100644
index 000000000..18f333bc5
--- /dev/null
+++ b/doc/html/html2bbcode_8php.js
@@ -0,0 +1,7 @@
+var html2bbcode_8php =
+[
+ [ "deletenode", "html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2", null ],
+ [ "html2bbcode", "html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837", null ],
+ [ "node2bbcode", "html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8", null ],
+ [ "node2bbcodesub", "html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7", null ]
+]; \ No newline at end of file
diff --git a/doc/html/html2plain_8php.html b/doc/html/html2plain_8php.html
new file mode 100644
index 000000000..89b965515
--- /dev/null
+++ b/doc/html/html2plain_8php.html
@@ -0,0 +1,241 @@
+<!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: include/html2plain.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="rhash-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('html2plain_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">html2plain.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:a3214912e3d00cf0a948072daccf16740"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="html2plain_8php.html#a3214912e3d00cf0a948072daccf16740">breaklines</a> ($line, $level, $wraplength=75)</td></tr>
+<tr class="separator:a3214912e3d00cf0a948072daccf16740"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56d29b254333d29abb9d96a9a903a4b0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0">quotelevel</a> ($message, $wraplength=75)</td></tr>
+<tr class="separator:a56d29b254333d29abb9d96a9a903a4b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1c203d0f089d5678d73a6c64a395201"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="html2plain_8php.html#ae1c203d0f089d5678d73a6c64a395201">collecturls</a> ($message)</td></tr>
+<tr class="separator:ae1c203d0f089d5678d73a6c64a395201"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3e121fa9f3feb16f9f942e705bc6c04"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04">html2plain</a> ($html, $wraplength=75, $compact=false)</td></tr>
+<tr class="separator:ab3e121fa9f3feb16f9f942e705bc6c04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a3214912e3d00cf0a948072daccf16740"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">breaklines </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$level</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$wraplength</em> = <code>75</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="html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0">quotelevel()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae1c203d0f089d5678d73a6c64a395201"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">collecturls </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$message</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04">html2plain()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab3e121fa9f3feb16f9f942e705bc6c04"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">html2plain </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$html</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$wraplength</em> = <code>75</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$compact</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="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api_format_messages()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, and <a class="el" href="include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0">email_send()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a56d29b254333d29abb9d96a9a903a4b0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">quotelevel </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$message</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$wraplength</em> = <code>75</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="html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04">html2plain()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/html2plain_8php.js b/doc/html/html2plain_8php.js
new file mode 100644
index 000000000..377ba004e
--- /dev/null
+++ b/doc/html/html2plain_8php.js
@@ -0,0 +1,7 @@
+var html2plain_8php =
+[
+ [ "breaklines", "html2plain_8php.html#a3214912e3d00cf0a948072daccf16740", null ],
+ [ "collecturls", "html2plain_8php.html#ae1c203d0f089d5678d73a6c64a395201", null ],
+ [ "html2plain", "html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04", null ],
+ [ "quotelevel", "html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0", null ]
+]; \ No newline at end of file
diff --git a/doc/html/identity_8php.html b/doc/html/identity_8php.html
new file mode 100644
index 000000000..891e0aa4e
--- /dev/null
+++ b/doc/html/identity_8php.html
@@ -0,0 +1,299 @@
+<!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: include/identity.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="rhash-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('identity_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">identity.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:ac9fcd5c4c371998790b5c55c3d0f4633"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class</a> ($account_id)</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: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>
+<tr class="separator:a345f4c943d84de502ec6e72d2c813945"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78151baf4407a8482d2681a91a9c486b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#a78151baf4407a8482d2681a91a9c486b">set_default_login_identity</a> ($account_id, $channel_id, $force=true)</td></tr>
+<tr class="separator:a78151baf4407a8482d2681a91a9c486b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3570a4eb77332b292d394c4132cb8f03"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity_basic_export</a> ($channel_id)</td></tr>
+<tr class="separator:a3570a4eb77332b292d394c4132cb8f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77ee7d66eb0758f7e7882f70ad0f9485"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#a77ee7d66eb0758f7e7882f70ad0f9485">identity_basic_import</a> ($arr, $seize_primary=false)</td></tr>
+<tr class="separator:a77ee7d66eb0758f7e7882f70ad0f9485"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a77d2237f1846964634b1c99089c27c7d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">channel_total </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</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">
+
+</div>
+</div>
+<a class="anchor" id="a345f4c943d84de502ec6e72d2c813945"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">create_identity </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="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3570a4eb77332b292d394c4132cb8f03"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">identity_basic_export </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api_export_basic()</a>, and <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a77ee7d66eb0758f7e7882f70ad0f9485"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">identity_basic_import </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$seize_primary</em> = <code>false</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="ac9fcd5c4c371998790b5c55c3d0f4633"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">identity_check_service_class </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$account_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a78151baf4407a8482d2681a91a9c486b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">set_default_login_identity </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$account_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$force</em> = <code>true</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="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, and <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af2802bc13a00a17b867bba7978ba8f58"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">validate_channelname </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">
+
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, and <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/identity_8php.js b/doc/html/identity_8php.js
new file mode 100644
index 000000000..44a63851e
--- /dev/null
+++ b/doc/html/identity_8php.js
@@ -0,0 +1,11 @@
+var identity_8php =
+[
+ [ "channel_total", "identity_8php.html#a77d2237f1846964634b1c99089c27c7d", null ],
+ [ "create_dir_account", "identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd", null ],
+ [ "create_identity", "identity_8php.html#a345f4c943d84de502ec6e72d2c813945", null ],
+ [ "identity_basic_export", "identity_8php.html#a3570a4eb77332b292d394c4132cb8f03", null ],
+ [ "identity_basic_import", "identity_8php.html#a77ee7d66eb0758f7e7882f70ad0f9485", null ],
+ [ "identity_check_service_class", "identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633", null ],
+ [ "set_default_login_identity", "identity_8php.html#a78151baf4407a8482d2681a91a9c486b", null ],
+ [ "validate_channelname", "identity_8php.html#af2802bc13a00a17b867bba7978ba8f58", null ]
+]; \ No newline at end of file
diff --git a/doc/html/import_8php.html b/doc/html/import_8php.html
new file mode 100644
index 000000000..13e836ac8
--- /dev/null
+++ b/doc/html/import_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/import.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="rhash-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('import_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">import.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:af17fef0410518f7eac205d0ea416eaa2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post</a> (&amp;$a)</td></tr>
+<tr class="separator:af17fef0410518f7eac205d0ea416eaa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afdf25ed70096d5dbf4f6d0ca79fea184"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content</a> (&amp;$a)</td></tr>
+<tr class="separator:afdf25ed70096d5dbf4f6d0ca79fea184"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="afdf25ed70096d5dbf4f6d0ca79fea184"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">import_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="af17fef0410518f7eac205d0ea416eaa2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">import_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/import_8php.js b/doc/html/import_8php.js
new file mode 100644
index 000000000..906bce463
--- /dev/null
+++ b/doc/html/import_8php.js
@@ -0,0 +1,5 @@
+var import_8php =
+[
+ [ "import_content", "import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184", null ],
+ [ "import_post", "import_8php.html#af17fef0410518f7eac205d0ea416eaa2", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2api_8php.html b/doc/html/include_2api_8php.html
new file mode 100644
index 000000000..a09a6c142
--- /dev/null
+++ b/doc/html/include_2api_8php.html
@@ -0,0 +1,1597 @@
+<!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: include/api.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="rhash-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('include_2api_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> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">api.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:afb99daa6b731bf497b81f2128084852c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user</a> ()</td></tr>
+<tr class="separator:afb99daa6b731bf497b81f2128084852c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea2dda92a155f2843a0ca188d8dfdf25"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25">api_date</a> ($str)</td></tr>
+<tr class="separator:aea2dda92a155f2843a0ca188d8dfdf25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2c2b18c426d697d11a830bca146be8a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#ac2c2b18c426d697d11a830bca146be8a">api_register_func</a> ($path, $func, $auth=false)</td></tr>
+<tr class="separator:ac2c2b18c426d697d11a830bca146be8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe534f826e4282b72d66e8cadca7bb73"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login</a> (&amp;$a)</td></tr>
+<tr class="separator:afe534f826e4282b72d66e8cadca7bb73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a176c448d79c211ad41c2bbe3124658f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call</a> (&amp;$a)</td></tr>
+<tr class="separator:a176c448d79c211ad41c2bbe3124658f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a04b48168ba1d9dd2de3081a630611f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra</a> (&amp;$a, $arr, $user_info)</td></tr>
+<tr class="separator:a6a04b48168ba1d9dd2de3081a630611f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa40bae797bcd9ccacffdce5a3b5a1afa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user</a> (&amp;$a, $contact_id=Null)</td></tr>
+<tr class="separator:aa40bae797bcd9ccacffdce5a3b5a1afa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa49741342ad8ba285737eea1209a37e1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1">api_item_get_user</a> (&amp;$a, $item)</td></tr>
+<tr class="separator:aa49741342ad8ba285737eea1209a37e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5990101034e7abf6404feba3cd273629"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template</a> ($templatename, $type, $data)</td></tr>
+<tr class="separator:a5990101034e7abf6404feba3cd273629"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a864191bb876a515ed71b17e260ef35ad"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad">api_account_verify_credentials</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a864191bb876a515ed71b17e260ef35ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e94eab9d6c164bfef7a1b2ab87b339b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a2e94eab9d6c164bfef7a1b2ab87b339b">api_account_logout</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a2e94eab9d6c164bfef7a1b2ab87b339b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43c47de8565cc00c3369cb35c19cc75e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e">requestdata</a> ($k)</td></tr>
+<tr class="separator:a43c47de8565cc00c3369cb35c19cc75e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adfc035ee6303c1d8ba5336a4ead2bd53"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api_export_basic</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:adfc035ee6303c1d8ba5336a4ead2bd53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72bfecac1970bc29b853073e816388ff"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api_channel_stream</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a72bfecac1970bc29b853073e816388ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9dc5350b26d6c7727d6c4b641ecba18"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api_albums</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:aa9dc5350b26d6c7727d6c4b641ecba18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6fc3bc8c0fad1d081db0dcc456dd77f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:aa6fc3bc8c0fad1d081db0dcc456dd77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a450d8732b7b608f7ac929aee61572b95"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a450d8732b7b608f7ac929aee61572b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4d1634df6b35126552324683caaffa2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:ad4d1634df6b35126552324683caaffa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a645397787618b5c548a31e8686e8cca4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a645397787618b5c548a31e8686e8cca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe8e929e93f7ab134b1cb1fb30f19a76"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:abe8e929e93f7ab134b1cb1fb30f19a76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528d8070ee74ea800102936ce73cf366"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a528d8070ee74ea800102936ce73cf366"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad24ce1bf20867add4c9211a8eaf93f22"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:ad24ce1bf20867add4c9211a8eaf93f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6f1d89cdb0a0621025efbec1597bc63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:af6f1d89cdb0a0621025efbec1597bc63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0fa388479cace9c5a7a45b571ab42f8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:ae0fa388479cace9c5a7a45b571ab42f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4c29f43418f6110f85a6b3998239ab4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:ad4c29f43418f6110f85a6b3998239ab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b25a186bd0893f51aa72a62f655735e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a8b25a186bd0893f51aa72a62f655735e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32f0dda848d0c11c727fe1c3e741c283"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a32f0dda848d0c11c727fe1c3e741c283"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c71b1226ef1283b5370bd1c200fee5f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a2c71b1226ef1283b5370bd1c200fee5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a18cab7c6391df5c421753463f5d2a879"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879">api_format_as</a> ($a, $ret, $user_info)</td></tr>
+<tr class="separator:a18cab7c6391df5c421753463f5d2a879"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae82608c317421f27446465aa6724733d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api_format_messages</a> ($item, $recipient, $sender)</td></tr>
+<tr class="separator:ae82608c317421f27446465aa6724733d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c6fb9fb5203aa60f4b3afd4521db8ea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items</a> ($r, $user_info)</td></tr>
+<tr class="separator:a4c6fb9fb5203aa60f4b3afd4521db8ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8f5863e18d69421005c71441c9d99a5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5">api_account_rate_limit_status</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:ae8f5863e18d69421005c71441c9d99a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5a64cc81d70ff3cf866093ea9721d23"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#ac5a64cc81d70ff3cf866093ea9721d23">api_help_test</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:ac5a64cc81d70ff3cf866093ea9721d23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0d6b29fff0344a8e67f3507a6d01410"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f</a> (&amp;$a, $type, $qtype)</td></tr>
+<tr class="separator:aa0d6b29fff0344a8e67f3507a6d01410"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade742525b2e41c82b090799ef3c51d5e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e">api_statuses_friends</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:ade742525b2e41c82b090799ef3c51d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6951c690d87775eb37e569c66011988e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a6951c690d87775eb37e569c66011988e">api_statuses_followers</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a6951c690d87775eb37e569c66011988e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a623793229a7256dd31bcfd5ab90eef08"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a623793229a7256dd31bcfd5ab90eef08"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8969e8d9c683f12ba17dcd4b059e020d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d">api_statusnet_version</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a8969e8d9c683f12ba17dcd4b059e020d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a53b0680b682ae6078f2e1ed18cfb3f74"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74">api_friendica_version</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a53b0680b682ae6078f2e1ed18cfb3f74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36344c80b8e9755da2f2dd3a0e28cce8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids</a> (&amp;$a, $type, $qtype)</td></tr>
+<tr class="separator:a36344c80b8e9755da2f2dd3a0e28cce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acafd2899309a005fcb725289173dc7fe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#acafd2899309a005fcb725289173dc7fe">api_friends_ids</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:acafd2899309a005fcb725289173dc7fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1ecb58954f722444bfe03233345cb1b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b">api_followers_ids</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:ab1ecb58954f722444bfe03233345cb1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0991f72554f821255397d615e76f3203"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a0991f72554f821255397d615e76f3203"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7759ccddc8dff012ad168e511ffe5af5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box</a> (&amp;$a, $type, $box)</td></tr>
+<tr class="separator:a7759ccddc8dff012ad168e511ffe5af5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58cf4c02ef435996f5c3bc4283d3968d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d">api_direct_messages_sentbox</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a58cf4c02ef435996f5c3bc4283d3968d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2b0192f3006918bea895de8074bf8d2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2">api_direct_messages_inbox</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:ad2b0192f3006918bea895de8074bf8d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a970b02c06dea8b229aa3d5fff9cf4705"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705">api_direct_messages_all</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a970b02c06dea8b229aa3d5fff9cf4705"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9160288b7ac220635942d8dc209b78c3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3">api_direct_messages_conversation</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:a9160288b7ac220635942d8dc209b78c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1bddb580510e70cc1a7b7381667f1a3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api_oauth_request_token</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:aa1bddb580510e70cc1a7b7381667f1a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff322705cc6084b329003fc8eab0aad0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0">api_oauth_access_token</a> (&amp;$a, $type)</td></tr>
+<tr class="separator:aff322705cc6084b329003fc8eab0aad0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:aeb2e7ad00ea666b4b6dfcf82008194f8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#aeb2e7ad00ea666b4b6dfcf82008194f8">$API</a> = array()</td></tr>
+<tr class="separator:aeb2e7ad00ea666b4b6dfcf82008194f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa62b15a6bbb280e86b98132eb214013d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d">$called_api</a> = Null</td></tr>
+<tr class="separator:aa62b15a6bbb280e86b98132eb214013d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a2e94eab9d6c164bfef7a1b2ab87b339b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_account_logout </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="ae8f5863e18d69421005c71441c9d99a5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_account_rate_limit_status </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a864191bb876a515ed71b17e260ef35ad"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_account_verify_credentials </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Returns an HTTP 200 OK response code and a representation of the requesting user if authentication was successful; returns a 401 status code and an error message if not. <a href="http://developer.twitter.com/doc/get/account/verify_credentials">http://developer.twitter.com/doc/get/account/verify_credentials</a> </p>
+
+</div>
+</div>
+<a class="anchor" id="aa9dc5350b26d6c7727d6c4b641ecba18"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_albums </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a5990101034e7abf6404feba3cd273629"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_apply_template </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$templatename</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$data</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>load api $templatename for $type and replace $data array </p>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a2e94eab9d6c164bfef7a1b2ab87b339b">api_account_logout()</a>, <a class="el" href="include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5">api_account_rate_limit_status()</a>, <a class="el" href="include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad">api_account_verify_credentials()</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#ac5a64cc81d70ff3cf866093ea9721d23">api_help_test()</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#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#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#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, and <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a176c448d79c211ad41c2bbe3124658f5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_call </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="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a72bfecac1970bc29b853073e816388ff"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_channel_stream </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="aea2dda92a155f2843a0ca188d8dfdf25"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_date </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></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#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#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, and <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a970b02c06dea8b229aa3d5fff9cf4705"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_direct_messages_all </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a7759ccddc8dff012ad168e511ffe5af5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_direct_messages_box </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$box</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="include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705">api_direct_messages_all()</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>, and <a class="el" href="include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d">api_direct_messages_sentbox()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9160288b7ac220635942d8dc209b78c3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_direct_messages_conversation </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="ad2b0192f3006918bea895de8074bf8d2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_direct_messages_inbox </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a0991f72554f821255397d615e76f3203"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_direct_messages_new </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a58cf4c02ef435996f5c3bc4283d3968d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_direct_messages_sentbox </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="adfc035ee6303c1d8ba5336a4ead2bd53"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_export_basic </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a2c71b1226ef1283b5370bd1c200fee5f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_favorites </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a36344c80b8e9755da2f2dd3a0e28cce8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_ff_ids </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$qtype</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="include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b">api_followers_ids()</a>, and <a class="el" href="include_2api_8php.html#acafd2899309a005fcb725289173dc7fe">api_friends_ids()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab1ecb58954f722444bfe03233345cb1b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_followers_ids </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a18cab7c6391df5c421753463f5d2a879"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_format_as </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$ret</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user_info</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="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, and <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4c6fb9fb5203aa60f4b3afd4521db8ea"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_format_items </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$r</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user_info</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="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</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>, and <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae82608c317421f27446465aa6724733d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_format_messages </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$recipient</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sender</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="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, and <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a53b0680b682ae6078f2e1ed18cfb3f74"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_friendica_version </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="acafd2899309a005fcb725289173dc7fe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_friends_ids </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="aa40bae797bcd9ccacffdce5a3b5a1afa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_get_user </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$contact_id</em> = <code>Null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Returns user info array. </p>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad">api_account_verify_credentials()</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#aa49741342ad8ba285737eea1209a37e1">api_item_get_user()</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#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#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, and <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac5a64cc81d70ff3cf866093ea9721d23"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_help_test </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="aa49741342ad8ba285737eea1209a37e1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_item_get_user </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</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="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe534f826e4282b72d66e8cadca7bb73"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_login </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>Simple HTTP Login </p>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, and <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aff322705cc6084b329003fc8eab0aad0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_oauth_access_token </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="aa1bddb580510e70cc1a7b7381667f1a3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_oauth_request_token </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="aa6fc3bc8c0fad1d081db0dcc456dd77f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_photos </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="ac2c2b18c426d697d11a830bca146be8a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_register_func </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$func</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$auth</em> = <code>false</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="a6a04b48168ba1d9dd2de3081a630611f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_rss_extra </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user_info</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>RSS extra info </p>
+
+<p>Referenced by <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#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>, and <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a645397787618b5c548a31e8686e8cca4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_status_show </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, and <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad4c29f43418f6110f85a6b3998239ab4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_destroy </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="aa0d6b29fff0344a8e67f3507a6d01410"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_f </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$qtype</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p><a href="https://dev.twitter.com/docs/api/1/get/statuses/friends">https://dev.twitter.com/docs/api/1/get/statuses/friends</a> This function is deprecated by Twitter returns: json, xml </p>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a6951c690d87775eb37e569c66011988e">api_statuses_followers()</a>, and <a class="el" href="include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e">api_statuses_friends()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6951c690d87775eb37e569c66011988e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_followers </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="ade742525b2e41c82b090799ef3c51d5e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_friends </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a528d8070ee74ea800102936ce73cf366"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_home_timeline </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p><a href="http://developer.twitter.com/doc/get/statuses/home_timeline">http://developer.twitter.com/doc/get/statuses/home_timeline</a></p>
+<p>TODO: Optional parameters TODO: Add reply info </p>
+
+</div>
+</div>
+<a class="anchor" id="a450d8732b7b608f7ac929aee61572b95"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_mediap </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a8b25a186bd0893f51aa72a62f655735e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_mentions </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p><a href="http://developer.twitter.com/doc/get/statuses/mentions">http://developer.twitter.com/doc/get/statuses/mentions</a> </p>
+
+</div>
+</div>
+<a class="anchor" id="ad24ce1bf20867add4c9211a8eaf93f22"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_public_timeline </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="ae0fa388479cace9c5a7a45b571ab42f8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_repeat </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="af6f1d89cdb0a0621025efbec1597bc63"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_show </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="ad4d1634df6b35126552324683caaffa2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_update </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a32f0dda848d0c11c727fe1c3e741c283"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statuses_user_timeline </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a623793229a7256dd31bcfd5ab90eef08"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statusnet_config </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="a8969e8d9c683f12ba17dcd4b059e020d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_statusnet_version </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="afb99daa6b731bf497b81f2128084852c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_user </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad">api_account_verify_credentials()</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#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#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#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</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#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#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>, and <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abe8e929e93f7ab134b1cb1fb30f19a76"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_users_show </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Returns extended information of a given user, specified by ID or screen name as per the required id parameter. The author's most recent status will be returned inline. <a href="http://developer.twitter.com/doc/get/users/show">http://developer.twitter.com/doc/get/users/show</a> </p>
+
+</div>
+</div>
+<a class="anchor" id="a43c47de8565cc00c3369cb35c19cc75e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">requestdata </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$k</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>get data from $_REQUEST ( e.g. $_POST or $_GET ) </p>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, and <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="aeb2e7ad00ea666b4b6dfcf82008194f8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$API = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>TWITTER API </p>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, and <a class="el" href="include_2api_8php.html#ac2c2b18c426d697d11a830bca146be8a">api_register_func()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa62b15a6bbb280e86b98132eb214013d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$called_api = Null</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, and <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2api_8php.js b/doc/html/include_2api_8php.js
new file mode 100644
index 000000000..5ffbeb070
--- /dev/null
+++ b/doc/html/include_2api_8php.js
@@ -0,0 +1,55 @@
+var include_2api_8php =
+[
+ [ "api_account_logout", "include_2api_8php.html#a2e94eab9d6c164bfef7a1b2ab87b339b", null ],
+ [ "api_account_rate_limit_status", "include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5", null ],
+ [ "api_account_verify_credentials", "include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad", null ],
+ [ "api_albums", "include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18", null ],
+ [ "api_apply_template", "include_2api_8php.html#a5990101034e7abf6404feba3cd273629", null ],
+ [ "api_call", "include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5", null ],
+ [ "api_channel_stream", "include_2api_8php.html#a72bfecac1970bc29b853073e816388ff", null ],
+ [ "api_date", "include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25", null ],
+ [ "api_direct_messages_all", "include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705", null ],
+ [ "api_direct_messages_box", "include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5", null ],
+ [ "api_direct_messages_conversation", "include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3", null ],
+ [ "api_direct_messages_inbox", "include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2", null ],
+ [ "api_direct_messages_new", "include_2api_8php.html#a0991f72554f821255397d615e76f3203", null ],
+ [ "api_direct_messages_sentbox", "include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d", null ],
+ [ "api_export_basic", "include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53", null ],
+ [ "api_favorites", "include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f", null ],
+ [ "api_ff_ids", "include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8", null ],
+ [ "api_followers_ids", "include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b", null ],
+ [ "api_format_as", "include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879", null ],
+ [ "api_format_items", "include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea", null ],
+ [ "api_format_messages", "include_2api_8php.html#ae82608c317421f27446465aa6724733d", null ],
+ [ "api_friendica_version", "include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74", null ],
+ [ "api_friends_ids", "include_2api_8php.html#acafd2899309a005fcb725289173dc7fe", null ],
+ [ "api_get_user", "include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa", null ],
+ [ "api_help_test", "include_2api_8php.html#ac5a64cc81d70ff3cf866093ea9721d23", null ],
+ [ "api_item_get_user", "include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1", null ],
+ [ "api_login", "include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73", null ],
+ [ "api_oauth_access_token", "include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0", null ],
+ [ "api_oauth_request_token", "include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3", null ],
+ [ "api_photos", "include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f", null ],
+ [ "api_register_func", "include_2api_8php.html#ac2c2b18c426d697d11a830bca146be8a", null ],
+ [ "api_rss_extra", "include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f", null ],
+ [ "api_status_show", "include_2api_8php.html#a645397787618b5c548a31e8686e8cca4", null ],
+ [ "api_statuses_destroy", "include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4", null ],
+ [ "api_statuses_f", "include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410", null ],
+ [ "api_statuses_followers", "include_2api_8php.html#a6951c690d87775eb37e569c66011988e", null ],
+ [ "api_statuses_friends", "include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e", null ],
+ [ "api_statuses_home_timeline", "include_2api_8php.html#a528d8070ee74ea800102936ce73cf366", null ],
+ [ "api_statuses_mediap", "include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95", null ],
+ [ "api_statuses_mentions", "include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e", null ],
+ [ "api_statuses_public_timeline", "include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22", null ],
+ [ "api_statuses_repeat", "include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8", null ],
+ [ "api_statuses_show", "include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63", null ],
+ [ "api_statuses_update", "include_2api_8php.html#ad4d1634df6b35126552324683caaffa2", null ],
+ [ "api_statuses_user_timeline", "include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283", null ],
+ [ "api_statusnet_config", "include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08", null ],
+ [ "api_statusnet_version", "include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d", null ],
+ [ "api_user", "include_2api_8php.html#afb99daa6b731bf497b81f2128084852c", null ],
+ [ "api_users_show", "include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76", null ],
+ [ "requestdata", "include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e", null ],
+ [ "$API", "include_2api_8php.html#aeb2e7ad00ea666b4b6dfcf82008194f8", null ],
+ [ "$called_api", "include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2attach_8php.html b/doc/html/include_2attach_8php.html
new file mode 100644
index 000000000..31955e83b
--- /dev/null
+++ b/doc/html/include_2attach_8php.html
@@ -0,0 +1,402 @@
+<!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: include/attach.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="rhash-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('include_2attach_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">attach.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:a6fdd92775f31c07d2863e16e0026018a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a">z_mime_content_type</a> ($filename)</td></tr>
+<tr class="separator:a6fdd92775f31c07d2863e16e0026018a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a887d2d44a3ef18dcb6624e7fb58dc8e3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files</a> ($channel_id, $observer, $hash= '', $filename= '', $filetype= '')</td></tr>
+<tr class="separator:a887d2d44a3ef18dcb6624e7fb58dc8e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3634af95f11a023dd8e882c3c7a3600d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files</a> ($channel_id, $observer, $hash= '', $filename= '', $filetype= '', $orderby= 'created desc', $start=0, $entries=0)</td></tr>
+<tr class="separator:a3634af95f11a023dd8e882c3c7a3600d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d07c5b83d3d54e186f752e571847b36"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash</a> ($hash, $rev=0)</td></tr>
+<tr class="separator:a0d07c5b83d3d54e186f752e571847b36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad991208ce939387e2f93a3bce7d09932"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata</a> ($hash, $rev=0)</td></tr>
+<tr class="separator:ad991208ce939387e2f93a3bce7d09932"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84a8a64c4805e1525b42d4add464833f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store</a> ($channel, $observer_hash, $options= '', $arr=null)</td></tr>
+<tr class="separator:a84a8a64c4805e1525b42d4add464833f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb07968990e66a88c95483ca09a7f909"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir</a> ($channel_id, $observer_hash, $pathname, $parent_hash= '')</td></tr>
+<tr class="separator:aeb07968990e66a88c95483ca09a7f909"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a0d07c5b83d3d54e186f752e571847b36"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">attach_by_hash </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$rev</em> = <code>0</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="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad991208ce939387e2f93a3bce7d09932"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">attach_by_hash_nodata </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$rev</em> = <code>0</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="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="include_2message_8php.html#ac382fdcdf990dcfa8f6528ab8fd280bd">send_message()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a887d2d44a3ef18dcb6624e7fb58dc8e3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">attach_count_files </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>$observer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hash</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$filename</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$filetype</em> = <code>''</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="a3634af95f11a023dd8e882c3c7a3600d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">attach_list_files </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>$observer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hash</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$filename</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$filetype</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$orderby</em> = <code>'created&#160;desc'</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$start</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$entries</em> = <code>0</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="a84a8a64c4805e1525b42d4add464833f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">attach_store </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>$observer_hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$options</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em> = <code>null</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="item_8php.html#a3daae7944f737bd30412a0d042207c0f">fix_attached_file_permissions()</a>, <a class="el" href="include_2message_8php.html#ac382fdcdf990dcfa8f6528ab8fd280bd">send_message()</a>, and <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6fdd92775f31c07d2863e16e0026018a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">z_mime_content_type </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$filename</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aeb07968990e66a88c95483ca09a7f909"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">z_readdir </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>$observer_hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pathname</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$parent_hash</em> = <code>''</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Read a virtual directory and return contents, checking permissions of all parent components. z_readdir </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">integer</td><td class="paramname">$channel_id</td><td></td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$observer_hash</td><td></td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$pathname</td><td></td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$parent_hash</td><td>(optional)</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>array $ret $ret['success'] = boolean true or false $ret['message'] = error message if success is false $ret['data'] = array of attach DB entries without data component </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2attach_8php.js b/doc/html/include_2attach_8php.js
new file mode 100644
index 000000000..750e2d059
--- /dev/null
+++ b/doc/html/include_2attach_8php.js
@@ -0,0 +1,10 @@
+var include_2attach_8php =
+[
+ [ "attach_by_hash", "include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36", null ],
+ [ "attach_by_hash_nodata", "include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932", null ],
+ [ "attach_count_files", "include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3", null ],
+ [ "attach_list_files", "include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d", null ],
+ [ "attach_store", "include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f", 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
new file mode 100644
index 000000000..f18561a81
--- /dev/null
+++ b/doc/html/include_2config_8php.html
@@ -0,0 +1,555 @@
+<!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: include/config.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="rhash-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('include_2config_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">config.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:a27559f388c9b9af81c94e48d6889d1d1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config</a> ($family)</td></tr>
+<tr class="separator:a27559f388c9b9af81c94e48d6889d1d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af02c96e6b37335774b548914ede1d22e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a> ($family, $key)</td></tr>
+<tr class="separator:af02c96e6b37335774b548914ede1d22e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af08b7adb63adfb2eda7c466fba0cce74"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">get_config_from_storage</a> ($family, $key)</td></tr>
+<tr class="separator:af08b7adb63adfb2eda7c466fba0cce74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6da879e4fb5b37d1e161d4e9be5c32a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config</a> ($family, $key, $value)</td></tr>
+<tr class="separator:ad6da879e4fb5b37d1e161d4e9be5c32a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a549910227348003efc3c05c9105c42da"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config</a> ($family, $key)</td></tr>
+<tr class="separator:a549910227348003efc3c05c9105c42da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac543813a980b3841cc5a277fcd4a24a6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">load_pconfig</a> ($uid, $family= '')</td></tr>
+<tr class="separator:ac543813a980b3841cc5a277fcd4a24a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad58a4913937179adb13201c2ee3261ad"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">get_pconfig</a> ($uid, $family, $key, $instore=false)</td></tr>
+<tr class="separator:ad58a4913937179adb13201c2ee3261ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61591371cb18764138655d67dc817ab2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig</a> ($uid, $family, $key, $value)</td></tr>
+<tr class="separator:a61591371cb18764138655d67dc817ab2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ad2081c5f812ac4387fd76f3762d941"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig</a> ($uid, $family, $key)</td></tr>
+<tr class="separator:a7ad2081c5f812ac4387fd76f3762d941"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55bbed9a014c9109c767486834f3ca33"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33">load_xconfig</a> ($xchan, $family= '')</td></tr>
+<tr class="separator:a55bbed9a014c9109c767486834f3ca33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3dc1d3de2d091ac702e675acd3a085e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e">get_xconfig</a> ($xchan, $family, $key)</td></tr>
+<tr class="separator:aa3dc1d3de2d091ac702e675acd3a085e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe117b70f1bba2f6348d9300b601f86e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig</a> ($xchan, $family, $key, $value)</td></tr>
+<tr class="separator:afe117b70f1bba2f6348d9300b601f86e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c171def547deee16738dc58fdeb4b72"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig</a> ($xchan, $family, $key)</td></tr>
+<tr class="separator:a9c171def547deee16738dc58fdeb4b72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a549910227348003efc3c05c9105c42da"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">del_config </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$family</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</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="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, and <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7ad2081c5f812ac4387fd76f3762d941"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">del_pconfig </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>$family</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</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="a9c171def547deee16738dc58fdeb4b72"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">del_xconfig </td>
+ <td>(</td>
+ <td class="paramtype">&#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>$family</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</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="af02c96e6b37335774b548914ede1d22e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_config </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$family</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</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="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="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="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</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="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_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="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="include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a">fetch_url()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</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="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#ab0227978011d8601494a7651fa26acf0">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="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="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_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="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_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e">post_url()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</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="boot_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="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#ac382fdcdf990dcfa8f6528ab8fd280bd">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="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="comanche_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#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af08b7adb63adfb2eda7c466fba0cce74"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_config_from_storage </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$family</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</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="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad58a4913937179adb13201c2ee3261ad"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_pconfig </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>$family</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$instore</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="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="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#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</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="boot_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="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="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="boot_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="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_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa3dc1d3de2d091ac702e675acd3a085e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_xconfig </td>
+ <td>(</td>
+ <td class="paramtype">&#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>$family</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</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="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a27559f388c9b9af81c94e48d6889d1d1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">load_config </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$family</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Arbitrary configuration storage Note: Please do not store booleans - convert to 0/1 integer values The get_?config() functions return boolean false for keys that are unset, and this could lead to subtle bugs.</p>
+<p>There are a few places in the code (such as the admin panel) where boolean configurations need to be fixed as of 10/08/2011. </p>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, and <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac543813a980b3841cc5a277fcd4a24a6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">load_pconfig </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>$family</em> = <code>''</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="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, and <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">get_pconfig()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a55bbed9a014c9109c767486834f3ca33"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">load_xconfig </td>
+ <td>(</td>
+ <td class="paramtype">&#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>$family</em> = <code>''</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="include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e">get_xconfig()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad6da879e4fb5b37d1e161d4e9be5c32a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">set_config </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$family</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$value</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="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>, and <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a61591371cb18764138655d67dc817ab2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">set_pconfig </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>$family</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$value</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="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_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">theme_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe117b70f1bba2f6348d9300b601f86e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">set_xconfig </td>
+ <td>(</td>
+ <td class="paramtype">&#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>$family</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$value</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2config_8php.js b/doc/html/include_2config_8php.js
new file mode 100644
index 000000000..a9f05bed3
--- /dev/null
+++ b/doc/html/include_2config_8php.js
@@ -0,0 +1,16 @@
+var include_2config_8php =
+[
+ [ "del_config", "include_2config_8php.html#a549910227348003efc3c05c9105c42da", null ],
+ [ "del_pconfig", "include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941", null ],
+ [ "del_xconfig", "include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72", null ],
+ [ "get_config", "include_2config_8php.html#af02c96e6b37335774b548914ede1d22e", null ],
+ [ "get_config_from_storage", "include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74", null ],
+ [ "get_pconfig", "include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad", null ],
+ [ "get_xconfig", "include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e", null ],
+ [ "load_config", "include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1", null ],
+ [ "load_pconfig", "include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6", null ],
+ [ "load_xconfig", "include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33", null ],
+ [ "set_config", "include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a", null ],
+ [ "set_pconfig", "include_2config_8php.html#a61591371cb18764138655d67dc817ab2", null ],
+ [ "set_xconfig", "include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2directory_8php.html b/doc/html/include_2directory_8php.html
new file mode 100644
index 000000000..136d7715b
--- /dev/null
+++ b/doc/html/include_2directory_8php.html
@@ -0,0 +1,147 @@
+<!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: include/directory.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="rhash-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('include_2directory_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">directory.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:aa75d3b0697ca1456aaabdb37a74aa0f0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
+<tr class="separator:aa75d3b0697ca1456aaabdb37a74aa0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa75d3b0697ca1456aaabdb37a74aa0f0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">directory_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2directory_8php.js b/doc/html/include_2directory_8php.js
new file mode 100644
index 000000000..d5acd0735
--- /dev/null
+++ b/doc/html/include_2directory_8php.js
@@ -0,0 +1,4 @@
+var include_2directory_8php =
+[
+ [ "directory_run", "include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2follow_8php.html b/doc/html/include_2follow_8php.html
new file mode 100644
index 000000000..8b42bcb0a
--- /dev/null
+++ b/doc/html/include_2follow_8php.html
@@ -0,0 +1,168 @@
+<!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: include/follow.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="rhash-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('include_2follow_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">follow.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:ae387d4ae097c23d69f3247e7f08140c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact</a> ($uid, $url, $channel, $interactive=false, $confirm=false)</td></tr>
+<tr class="separator:ae387d4ae097c23d69f3247e7f08140c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ae387d4ae097c23d69f3247e7f08140c7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">new_contact </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>$url</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$interactive</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$confirm</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>If there is a default group for this channel, add this member to it </p>
+
+<p>Referenced by <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2follow_8php.js b/doc/html/include_2follow_8php.js
new file mode 100644
index 000000000..7d72af074
--- /dev/null
+++ b/doc/html/include_2follow_8php.js
@@ -0,0 +1,4 @@
+var include_2follow_8php =
+[
+ [ "new_contact", "include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2group_8php.html b/doc/html/include_2group_8php.html
new file mode 100644
index 000000000..aa452e406
--- /dev/null
+++ b/doc/html/include_2group_8php.html
@@ -0,0 +1,487 @@
+<!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: include/group.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="rhash-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('include_2group_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">group.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:a06ec565d2b64e79044e7c1bf91a2a4ce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add</a> ($uid, $name, $public=0)</td></tr>
+<tr class="separator:a06ec565d2b64e79044e7c1bf91a2a4ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4118f498bbd1530c1d0136d016d197a5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv</a> ($uid, $name)</td></tr>
+<tr class="separator:a4118f498bbd1530c1d0136d016d197a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd66a5ea34a07a3422dc2dde6c7b3ecb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname</a> ($uid, $name)</td></tr>
+<tr class="separator:abd66a5ea34a07a3422dc2dde6c7b3ecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90e157b3e1b99c981809cb5a2abd3245"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash</a> ($uid, $hash)</td></tr>
+<tr class="separator:a90e157b3e1b99c981809cb5a2abd3245"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a540e3ef36f47d47532646be4241f6518"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member</a> ($uid, $name, $member)</td></tr>
+<tr class="separator:a540e3ef36f47d47532646be4241f6518"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0122ef312df2c5546b1a46b3e6c7b31b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member</a> ($uid, $name, $member, $gid=0)</td></tr>
+<tr class="separator:a0122ef312df2c5546b1a46b3e6c7b31b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5bd191d9692e6c34d48c0ede10810f09"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members</a> ($gid)</td></tr>
+<tr class="separator:a5bd191d9692e6c34d48c0ede10810f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4d9e5b59f48787cb01baae5dc6c381f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#ab4d9e5b59f48787cb01baae5dc6c381f">mini_group_select</a> ($uid, $gid=0)</td></tr>
+<tr class="separator:ab4d9e5b59f48787cb01baae5dc6c381f"><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: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>
+<tr class="separator:a048f6892bfd28852de1b76470df411de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb802ae2ce73aae4bc36d157f7b6a92f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing</a> ($uid, $c)</td></tr>
+<tr class="separator:afb802ae2ce73aae4bc36d157f7b6a92f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a22a81875259c7d3d64d4848afea6b345"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">expand_groups </td>
+ <td>(</td>
+ <td class="paramtype">&#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="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients()</a>, <a class="el" href="items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67">enumerate_permissions()</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>
+
+</div>
+</div>
+<a class="anchor" id="a06ec565d2b64e79044e7c1bf91a2a4ce"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">group_add </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>$name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$public</em> = <code>0</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="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, and <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0122ef312df2c5546b1a46b3e6c7b31b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">group_add_member </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>$name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$member</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$gid</em> = <code>0</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="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>
+<a class="anchor" id="abd66a5ea34a07a3422dc2dde6c7b3ecb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">group_byname </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>$name</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="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>
+
+</div>
+</div>
+<a class="anchor" id="a5bd191d9692e6c34d48c0ede10810f09"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">group_get_members </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$gid</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, and <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a90e157b3e1b99c981809cb5a2abd3245"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">group_rec_byhash </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>$hash</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="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4118f498bbd1530c1d0136d016d197a5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">group_rmv </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>$name</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_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a540e3ef36f47d47532646be4241f6518"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">group_rmv_member </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>$name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$member</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="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, and <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1042d74055bafe54a6a30103d87a7f17"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <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>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$each</em> = <code>&quot;group&quot;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$edit</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$group_id</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$cid</em> = <code>''</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="connections_8php.html#af48f7ad20914760ba9874c090384e35a">connections_aside()</a>, <a class="el" href="mod_2group_8php.html#aeb0784dd928e53e6d8693513bec8928c">group_aside()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, and <a class="el" href="nogroup_8php.html#a099cb353bf62e8453069ce107b763212">nogroup_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afb802ae2ce73aae4bc36d157f7b6a92f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">groups_containing </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>$c</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="include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17">group_side()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a048f6892bfd28852de1b76470df411de"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">member_of </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab4d9e5b59f48787cb01baae5dc6c381f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">mini_group_select </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>$gid</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2group_8php.js b/doc/html/include_2group_8php.js
new file mode 100644
index 000000000..d0800938c
--- /dev/null
+++ b/doc/html/include_2group_8php.js
@@ -0,0 +1,15 @@
+var include_2group_8php =
+[
+ [ "expand_groups", "include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345", null ],
+ [ "group_add", "include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce", null ],
+ [ "group_add_member", "include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b", null ],
+ [ "group_byname", "include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb", null ],
+ [ "group_get_members", "include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09", null ],
+ [ "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 ],
+ [ "groups_containing", "include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f", null ],
+ [ "member_of", "include_2group_8php.html#a048f6892bfd28852de1b76470df411de", null ],
+ [ "mini_group_select", "include_2group_8php.html#ab4d9e5b59f48787cb01baae5dc6c381f", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2menu_8php.html b/doc/html/include_2menu_8php.html
new file mode 100644
index 000000000..3bf0af685
--- /dev/null
+++ b/doc/html/include_2menu_8php.html
@@ -0,0 +1,431 @@
+<!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: include/menu.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="rhash-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('include_2menu_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">menu.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: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: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>
+<tr class="separator:a47447c01ba8ea04cd74af1d4c5b68fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08a800821721781a8dfffbe31481ff98"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create</a> ($arr)</td></tr>
+<tr class="separator:a08a800821721781a8dfffbe31481ff98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acef15a498d52666b1c7e5c12765c689b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#acef15a498d52666b1c7e5c12765c689b">menu_list</a> ($channel_id)</td></tr>
+<tr class="separator:acef15a498d52666b1c7e5c12765c689b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a33c6a3db2a7510b16cc656edaec571"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit</a> ($arr)</td></tr>
+<tr class="separator:a6a33c6a3db2a7510b16cc656edaec571"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3884bda4d85d84ec99447db9403a68d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete</a> ($menu_name, $uid)</td></tr>
+<tr class="separator:a3884bda4d85d84ec99447db9403a68d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad87f51ce85172bcc3f931aa0cd96a804"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id</a> ($menu_id, $uid)</td></tr>
+<tr class="separator:ad87f51ce85172bcc3f931aa0cd96a804"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add35fae5e9695031b3d46e30ac409eb8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item</a> ($menu_id, $uid, $arr)</td></tr>
+<tr class="separator:add35fae5e9695031b3d46e30ac409eb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb66f80ca895a6ccd562b3d9ae7b41aa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item</a> ($menu_id, $uid, $arr)</td></tr>
+<tr class="separator:acb66f80ca895a6ccd562b3d9ae7b41aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9aa8e0052dd47c1a93f53a983bd4620a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu_del_item</a> ($menu_id, $uid, $item_id)</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="add35fae5e9695031b3d46e30ac409eb8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_add_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$menu_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$arr</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="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a08a800821721781a8dfffbe31481ff98"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_create </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="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9aa8e0052dd47c1a93f53a983bd4620a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_del_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$menu_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$item_id</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="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3884bda4d85d84ec99447db9403a68d8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_delete </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$menu_name</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">
+
+</div>
+</div>
+<a class="anchor" id="ad87f51ce85172bcc3f931aa0cd96a804"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_delete_id </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$menu_id</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="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, and <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6a33c6a3db2a7510b16cc656edaec571"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_edit </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="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acb66f80ca895a6ccd562b3d9ae7b41aa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_edit_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$menu_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$arr</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="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a68ebbf492470c930f652013656f9071d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_fetch </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</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>$uid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$observer_xchan</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="comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b">comanche_menu()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, and <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a47447c01ba8ea04cd74af1d4c5b68fc7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_fetch_id </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$menu_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel_id</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_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, and <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acef15a498d52666b1c7e5c12765c689b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_list </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel_id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a890cc6237971e15f15702e6b2e88502e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_render </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$menu</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, and <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2menu_8php.js b/doc/html/include_2menu_8php.js
new file mode 100644
index 000000000..b5ace532a
--- /dev/null
+++ b/doc/html/include_2menu_8php.js
@@ -0,0 +1,14 @@
+var include_2menu_8php =
+[
+ [ "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 ],
+ [ "menu_delete", "include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8", null ],
+ [ "menu_delete_id", "include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804", null ],
+ [ "menu_edit", "include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571", null ],
+ [ "menu_edit_item", "include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa", null ],
+ [ "menu_fetch", "include_2menu_8php.html#a68ebbf492470c930f652013656f9071d", null ],
+ [ "menu_fetch_id", "include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7", null ],
+ [ "menu_list", "include_2menu_8php.html#acef15a498d52666b1c7e5c12765c689b", null ],
+ [ "menu_render", "include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2message_8php.html b/doc/html/include_2message_8php.html
new file mode 100644
index 000000000..9fcd5d528
--- /dev/null
+++ b/doc/html/include_2message_8php.html
@@ -0,0 +1,316 @@
+<!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: include/message.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="rhash-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('include_2message_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">message.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:ac382fdcdf990dcfa8f6528ab8fd280bd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2message_8php.html#ac382fdcdf990dcfa8f6528ab8fd280bd">send_message</a> ($uid=0, $recipient='', $body='', $subject='', $replyto='')</td></tr>
+<tr class="separator:ac382fdcdf990dcfa8f6528ab8fd280bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a652973ce47a262f2d238c2fd6233d97e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list</a> ($uid, $mailbox= '', $start=0, $numitems=0)</td></tr>
+<tr class="separator:a652973ce47a262f2d238c2fd6233d97e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a254a756031e4d5e94f85e2939bdb5091"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message</a> ($channel_id, $messageitem_id, $updateseen=false)</td></tr>
+<tr class="separator:a254a756031e4d5e94f85e2939bdb5091"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed272d77c06a309e2836ac79e75613f1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">private_messages_drop</a> ($channel_id, $messageitem_id, $drop_conversation=false)</td></tr>
+<tr class="separator:aed272d77c06a309e2836ac79e75613f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f8de9847e203329e317ac38dc646898"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation</a> ($channel_id, $messageitem_id, $updateseen=false)</td></tr>
+<tr class="separator:a5f8de9847e203329e317ac38dc646898"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aed272d77c06a309e2836ac79e75613f1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">private_messages_drop </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>$messageitem_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$drop_conversation</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="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5f8de9847e203329e317ac38dc646898"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">private_messages_fetch_conversation </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>$messageitem_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$updateseen</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="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a254a756031e4d5e94f85e2939bdb5091"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">private_messages_fetch_message </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>$messageitem_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$updateseen</em> = <code>false</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="a652973ce47a262f2d238c2fd6233d97e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">private_messages_list </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>$mailbox</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$start</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$numitems</em> = <code>0</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="mod_2message_8php.html#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac382fdcdf990dcfa8f6528ab8fd280bd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">send_message </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$recipient</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$body</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$subject</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$replyto</em> = <code>''</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</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>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2message_8php.js b/doc/html/include_2message_8php.js
new file mode 100644
index 000000000..ac91159ba
--- /dev/null
+++ b/doc/html/include_2message_8php.js
@@ -0,0 +1,8 @@
+var include_2message_8php =
+[
+ [ "private_messages_drop", "include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1", null ],
+ [ "private_messages_fetch_conversation", "include_2message_8php.html#a5f8de9847e203329e317ac38dc646898", null ],
+ [ "private_messages_fetch_message", "include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091", null ],
+ [ "private_messages_list", "include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e", null ],
+ [ "send_message", "include_2message_8php.html#ac382fdcdf990dcfa8f6528ab8fd280bd", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2network_8php.html b/doc/html/include_2network_8php.html
new file mode 100644
index 000000000..cec2045db
--- /dev/null
+++ b/doc/html/include_2network_8php.html
@@ -0,0 +1,907 @@
+<!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: include/network.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="rhash-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('include_2network_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">network.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:a78e89557b2fbd344ad790846d761b0c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7">get_capath</a> ()</td></tr>
+<tr class="separator:a78e89557b2fbd344ad790846d761b0c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a37ddeb88a3fd1dee9e8339723f9edf9a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a">fetch_url</a> ($url, $binary=false, &amp;$redirects=0, $timeout=0, $accept_content=Null)</td></tr>
+<tr class="separator:a37ddeb88a3fd1dee9e8339723f9edf9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa44d9e33a579d930e9e79c4ebb3d6b5e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e">post_url</a> ($url, $params, $headers=null, &amp;$redirects=0, $timeout=0)</td></tr>
+<tr class="separator:aa44d9e33a579d930e9e79c4ebb3d6b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafd06c0a75402aefb06cfb9f9740fa37"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url</a> ($url, $binary=false, $redirects=0, $opts=array())</td></tr>
+<tr class="separator:aafd06c0a75402aefb06cfb9f9740fa37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9129fd55e7fc175b4ea9a195cccc16bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url</a> ($url, $params, $redirects=0, $opts=array())</td></tr>
+<tr class="separator:a9129fd55e7fc175b4ea9a195cccc16bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c5d50079e089168d9248427018fffd4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">json_return_and_die</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="separator:a4c5d50079e089168d9248427018fffd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e9da2aafb806c98ecdc318604e60dc6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status</a> ($st, $message= '')</td></tr>
+<tr class="separator:a9e9da2aafb806c98ecdc318604e60dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cfb2c05a1c295317283d762440ce0b2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2">http_status_exit</a> ($val, $msg= '')</td></tr>
+<tr class="separator:a4cfb2c05a1c295317283d762440ce0b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4056d3ce69988f5c1a997a79f503246"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246">convert_xml_element_to_array</a> ($xml_element, &amp;$recursion_depth=0)</td></tr>
+<tr class="separator:ad4056d3ce69988f5c1a997a79f503246"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf6008b38c555e98e7ed10da9ede2335"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">webfinger_dfrn</a> ($s, &amp;$hcard)</td></tr>
+<tr class="separator:adf6008b38c555e98e7ed10da9ede2335"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8122356933bcd6b0a8567e8e15ae5cc5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5">webfinger</a> ($s, $debug=false)</td></tr>
+<tr class="separator:a8122356933bcd6b0a8567e8e15ae5cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adbc7fe45cc7fd9cd78f6b2f425ee9041"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd</a> ($uri, $debug=false)</td></tr>
+<tr class="separator:adbc7fe45cc7fd9cd78f6b2f425ee9041"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d5a3afb51cc932032b5dcc159efaae0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0">fetch_lrdd_template</a> ($host)</td></tr>
+<tr class="separator:a8d5a3afb51cc932032b5dcc159efaae0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a850ed5307c6a18076f4b80addc99602d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links</a> ($url)</td></tr>
+<tr class="separator:a850ed5307c6a18076f4b80addc99602d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5caa264fab6d2b2344e6bd5b298b08f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2">validate_url</a> (&amp;$url)</td></tr>
+<tr class="separator:a5caa264fab6d2b2344e6bd5b298b08f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a897e7112d86eb95526cbd0bff9375f02"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02">validate_email</a> ($addr)</td></tr>
+<tr class="separator:a897e7112d86eb95526cbd0bff9375f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee35d9ad6b3f872bfb39ba3598936aa7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7">allowed_url</a> ($url)</td></tr>
+<tr class="separator:aee35d9ad6b3f872bfb39ba3598936aa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba38458a2ff2d92d3536488dbb119694"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694">allowed_email</a> ($email)</td></tr>
+<tr class="separator:aba38458a2ff2d92d3536488dbb119694"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab07ce9d75eae559865ed90aad2154bd7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img</a> ($email)</td></tr>
+<tr class="separator:ab07ce9d75eae559865ed90aad2154bd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27a951b59d8d622c0b3e7b0673ba74c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string</a> ($s, $strict=true)</td></tr>
+<tr class="separator:a27a951b59d8d622c0b3e7b0673ba74c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0bdc4b0bfc54797c249dc4eca25aeda4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a0bdc4b0bfc54797c249dc4eca25aeda4">add_fcontact</a> ($arr, $update=false)</td></tr>
+<tr class="separator:a0bdc4b0bfc54797c249dc4eca25aeda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8d9c41a11000fb8667039fc71b4f73f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images</a> ($s, $include_link=true, $scale_replace=false)</td></tr>
+<tr class="separator:ae8d9c41a11000fb8667039fc71b4f73f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2729d012410e470c527a62a3f777ded8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a2729d012410e470c527a62a3f777ded8">fix_contact_ssl_policy</a> (&amp;$contact, $new_policy)</td></tr>
+<tr class="separator:a2729d012410e470c527a62a3f777ded8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99353baabbc3e0584b85eb79ee802cff"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array</a> ($contents, $namespaces=true, $get_attributes=1, $priority= 'attribute')</td></tr>
+<tr class="separator:a99353baabbc3e0584b85eb79ee802cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a540420ff3675a72cb781ef9a7e8c2cd9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a540420ff3675a72cb781ef9a7e8c2cd9">email_header_encode</a> ($in_str, $charset)</td></tr>
+<tr class="separator:a540420ff3675a72cb781ef9a7e8c2cd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1ff07d9fad93b713b93da0ab77aab7f0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0">email_send</a> ($addr, $subject, $headers, $item)</td></tr>
+<tr class="separator:a1ff07d9fad93b713b93da0ab77aab7f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a0bdc4b0bfc54797c249dc4eca25aeda4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">add_fcontact </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aba38458a2ff2d92d3536488dbb119694"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">allowed_email </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$email</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aee35d9ad6b3f872bfb39ba3598936aa7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">allowed_url </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab07ce9d75eae559865ed90aad2154bd7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">avatar_img </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$email</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad4056d3ce69988f5c1a997a79f503246"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">convert_xml_element_to_array </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$xml_element</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$recursion_depth</em> = <code>0</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="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a540420ff3675a72cb781ef9a7e8c2cd9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">email_header_encode </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$in_str</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$charset</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="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, and <a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">enotify\send()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1ff07d9fad93b713b93da0ab77aab7f0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">email_send </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$addr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$subject</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$headers</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</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="a8d5a3afb51cc932032b5dcc159efaae0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fetch_lrdd_template </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$host</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5">webfinger()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a37ddeb88a3fd1dee9e8339723f9edf9a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fetch_url </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$binary</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$redirects</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$timeout</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$accept_content</em> = <code>Null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>fetch_url is deprecated and being replaced by the more capable z_fetch_url please use that function instead. Once all occurrences of fetch_url are removed from the codebase we will remove this function and perhaps rename z_fetch_url back to fetch_url </p>
+
+<p>Referenced by <a class="el" href="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</a>, <a class="el" href="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_content()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e">post_url()</a>, and <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a850ed5307c6a18076f4b80addc99602d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fetch_xrd_links </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0">fetch_lrdd_template()</a>, <a class="el" href="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</a>, and <a class="el" href="include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5">webfinger()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2729d012410e470c527a62a3f777ded8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fix_contact_ssl_policy </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$contact</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$new_policy</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="a78e89557b2fbd344ad790846d761b0c7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_capath </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a">fetch_url()</a>, <a class="el" href="include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e">post_url()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, and <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4cfb2c05a1c295317283d762440ce0b2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">http_status_exit </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$val</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$msg</em> = <code>''</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>http_status_exit</p>
+<p>Send HTTP status header and exit </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">int</td><td class="paramname">$val</td><td>integer HTTP status result value </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$msg</td><td>optional message </td></tr>
+ </table>
+ </dd>
+</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>
+
+</div>
+</div>
+<a class="anchor" id="a4c5d50079e089168d9248427018fffd4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">json_return_and_die </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em></td><td>)</td>
+ <td></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="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>
+<a class="anchor" id="adbc7fe45cc7fd9cd78f6b2f425ee9041"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">lrdd </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uri</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$debug</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="item_8php.html#abd0e603a6696051af16476eb968d52e7">handle_tag()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, and <a class="el" href="webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3">webfinger_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a27a951b59d8d622c0b3e7b0673ba74c6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">parse_xml_string </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>$strict</em> = <code>true</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="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</a>, <a class="el" href="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</a>, and <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa44d9e33a579d930e9e79c4ebb3d6b5e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">post_url </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$params</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$headers</em> = <code>null</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$redirects</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$timeout</em> = <code>0</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="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</a>, and <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae8d9c41a11000fb8667039fc71b4f73f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">scale_external_images </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>$include_link</em> = <code>true</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$scale_replace</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="bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6">diaspora2bb()</a>, and <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a897e7112d86eb95526cbd0bff9375f02"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">validate_email </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$addr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, and <a class="el" href="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5caa264fab6d2b2344e6bd5b298b08f2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">validate_url </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$url</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8122356933bcd6b0a8567e8e15ae5cc5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">webfinger </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>$debug</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="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</a>, <a class="el" href="webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3">webfinger_content()</a>, and <a class="el" href="include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335">webfinger_dfrn()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adf6008b38c555e98e7ed10da9ede2335"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">webfinger_dfrn </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">&amp;&#160;</td>
+ <td class="paramname"><em>$hcard</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="a99353baabbc3e0584b85eb79ee802cff"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xml2array </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$contents</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$namespaces</em> = <code>true</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$get_attributes</em> = <code>1</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$priority</em> = <code>'attribute'</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p><a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a> will convert the given XML text to an array in the XML structure. Link: <a href="http://www.bin-co.com/php/scripts/xml2array/">http://www.bin-co.com/php/scripts/xml2array/</a> Portions significantly re-written by <a href="#" onclick="location.href='mai'+'lto:'+'mik'+'e@'+'mac'+'gi'+'rvi'+'n.'+'com'; return false;">mike@<span style="display: none;">.nosp@m.</span>macg<span style="display: none;">.nosp@m.</span>irvin<span style="display: none;">.nosp@m.</span>.com</a> for <a class="el" href="namespaceFriendica.html">Friendica</a> (namespaces, lowercase tags, get_attribute default changed, more...) Arguments : $contents - The XML text $namespaces - true or false include namespace information in the returned array as array elements. $get_attributes - 1 or 0. If this is 1 the function will get the attributes as well as the tag values - this results in a different array structure in the return value. $priority - Can be 'tag' or 'attribute'. This will change the way the resulting array sturcture. For 'tag', the tags are given more importance. Return: The parsed XML in an array form. Use print_r() to see the resulting array structure. Examples: $array = xml2array(file_get_contents('feed.xml')); $array = xml2array(file_get_contents('feed.xml', true, 1, 'attribute')); </p>
+
+<p>Referenced by <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9e9da2aafb806c98ecdc318604e60dc6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xml_status </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$st</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$message</em> = <code>''</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="aafd06c0a75402aefb06cfb9f9740fa37"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">z_fetch_url </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$binary</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$redirects</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$opts</em> = <code>array()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>z_fetch_url </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$url</td><td>URL to fetch </td></tr>
+ <tr><td class="paramtype">boolean</td><td class="paramname">$binary</td><td>= false TRUE if asked to return binary results (file download) </td></tr>
+ <tr><td class="paramtype">int</td><td class="paramname">$redirects</td><td>= 0 internal use, recursion counter </td></tr>
+ <tr><td class="paramtype">array</td><td class="paramname">$opts</td><td>(optional parameters) 'accept_content' =&gt; supply Accept: header with 'accept_content' as the value 'timeout' =&gt; int seconds, default system config value or 60 seconds 'http_auth' =&gt; username:password 'novalidate' =&gt; do not validate SSL certs, default is to validate using our CA list</td></tr>
+ </table>
+ </dd>
+</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="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="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</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#a77720d6b59894e9b609af89c310c8a4d">zot_finger()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9129fd55e7fc175b4ea9a195cccc16bc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">z_post_url </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$params</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$redirects</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$opts</em> = <code>array()</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="zot_8php.html#a77720d6b59894e9b609af89c310c8a4d">zot_finger()</a>, <a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142">zot_zot()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2network_8php.js b/doc/html/include_2network_8php.js
new file mode 100644
index 000000000..aa37991b7
--- /dev/null
+++ b/doc/html/include_2network_8php.js
@@ -0,0 +1,29 @@
+var include_2network_8php =
+[
+ [ "add_fcontact", "include_2network_8php.html#a0bdc4b0bfc54797c249dc4eca25aeda4", null ],
+ [ "allowed_email", "include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694", null ],
+ [ "allowed_url", "include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7", null ],
+ [ "avatar_img", "include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7", null ],
+ [ "convert_xml_element_to_array", "include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246", null ],
+ [ "email_header_encode", "include_2network_8php.html#a540420ff3675a72cb781ef9a7e8c2cd9", null ],
+ [ "email_send", "include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0", null ],
+ [ "fetch_lrdd_template", "include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0", null ],
+ [ "fetch_url", "include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a", null ],
+ [ "fetch_xrd_links", "include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d", null ],
+ [ "fix_contact_ssl_policy", "include_2network_8php.html#a2729d012410e470c527a62a3f777ded8", null ],
+ [ "get_capath", "include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7", null ],
+ [ "http_status_exit", "include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2", null ],
+ [ "json_return_and_die", "include_2network_8php.html#a4c5d50079e089168d9248427018fffd4", null ],
+ [ "lrdd", "include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041", null ],
+ [ "parse_xml_string", "include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6", null ],
+ [ "post_url", "include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e", null ],
+ [ "scale_external_images", "include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f", null ],
+ [ "validate_email", "include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02", null ],
+ [ "validate_url", "include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2", null ],
+ [ "webfinger", "include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5", null ],
+ [ "webfinger_dfrn", "include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335", null ],
+ [ "xml2array", "include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff", null ],
+ [ "xml_status", "include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6", null ],
+ [ "z_fetch_url", "include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37", null ],
+ [ "z_post_url", "include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2notify_8php.html b/doc/html/include_2notify_8php.html
new file mode 100644
index 000000000..8f9feff11
--- /dev/null
+++ b/doc/html/include_2notify_8php.html
@@ -0,0 +1,139 @@
+<!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: include/notify.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="rhash-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('include_2notify_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">notify.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:a0e61728e487df50c72e6434f911a57d3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification</a> ($item)</td></tr>
+<tr class="separator:a0e61728e487df50c72e6434f911a57d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a0e61728e487df50c72e6434f911a57d3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">format_notification </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2notify_8php.js b/doc/html/include_2notify_8php.js
new file mode 100644
index 000000000..7e82eaf72
--- /dev/null
+++ b/doc/html/include_2notify_8php.js
@@ -0,0 +1,4 @@
+var include_2notify_8php =
+[
+ [ "format_notification", "include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2oembed_8php.html b/doc/html/include_2oembed_8php.html
new file mode 100644
index 000000000..e3beaa1d9
--- /dev/null
+++ b/doc/html/include_2oembed_8php.html
@@ -0,0 +1,306 @@
+<!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: include/oembed.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="rhash-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('include_2oembed_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">oembed.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:a00c4c80deffd9daf8dc97b58d4c64ed0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0">oembed_replacecb</a> ($matches)</td></tr>
+<tr class="separator:a00c4c80deffd9daf8dc97b58d4c64ed0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98549b9af8140eda3eceaeedcaabc2c2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url</a> ($embedurl)</td></tr>
+<tr class="separator:a98549b9af8140eda3eceaeedcaabc2c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a26bb4c1e330d2f94ea7b6ce2fe970cf3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object</a> ($j)</td></tr>
+<tr class="separator:a26bb4c1e330d2f94ea7b6ce2fe970cf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e57f3e36a0a0a47e6db79544b701d9a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe</a> ($src, $width, $height)</td></tr>
+<tr class="separator:a9e57f3e36a0a0a47e6db79544b701d9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba89ae64b355efcb4f706553d3edb6a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2">oembed_bbcode2html</a> ($text)</td></tr>
+<tr class="separator:aba89ae64b355efcb4f706553d3edb6a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab953a6e7c11bc6498ce01ed73e2ba319"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2oembed_8php.html#ab953a6e7c11bc6498ce01ed73e2ba319">oe_build_xpath</a> ($attr, $value)</td></tr>
+<tr class="separator:ab953a6e7c11bc6498ce01ed73e2ba319"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03fa3b7832c98a3d0b4630afeb73d487"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2oembed_8php.html#a03fa3b7832c98a3d0b4630afeb73d487">oe_get_inner_html</a> ($node)</td></tr>
+<tr class="separator:a03fa3b7832c98a3d0b4630afeb73d487"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a000a62b97113cf95b0e9e00412168172"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172">oembed_html2bbcode</a> ($text)</td></tr>
+<tr class="separator:a000a62b97113cf95b0e9e00412168172"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ab953a6e7c11bc6498ce01ed73e2ba319"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oe_build_xpath </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$attr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$value</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="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, and <a class="el" href="include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172">oembed_html2bbcode()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a03fa3b7832c98a3d0b4630afeb73d487"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oe_get_inner_html </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$node</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172">oembed_html2bbcode()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aba89ae64b355efcb4f706553d3edb6a2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oembed_bbcode2html </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$text</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a98549b9af8140eda3eceaeedcaabc2c2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oembed_fetch_url </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$embedurl</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0">oembed_replacecb()</a>, and <a class="el" href="bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7">tryoembed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a26bb4c1e330d2f94ea7b6ce2fe970cf3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oembed_format_object </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$j</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0">oembed_replacecb()</a>, and <a class="el" href="bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7">tryoembed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a000a62b97113cf95b0e9e00412168172"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oembed_html2bbcode </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$text</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Find <span class="oembed">..<a href="url" rel="oembed">..</a></span> and replace it with [embed]url[/embed] </p>
+
+<p>Referenced by <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, and <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9e57f3e36a0a0a47e6db79544b701d9a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oembed_iframe </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>$width</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$height</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="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a00c4c80deffd9daf8dc97b58d4c64ed0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oembed_replacecb </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$matches</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2oembed_8php.js b/doc/html/include_2oembed_8php.js
new file mode 100644
index 000000000..5f1e16330
--- /dev/null
+++ b/doc/html/include_2oembed_8php.js
@@ -0,0 +1,11 @@
+var include_2oembed_8php =
+[
+ [ "oe_build_xpath", "include_2oembed_8php.html#ab953a6e7c11bc6498ce01ed73e2ba319", null ],
+ [ "oe_get_inner_html", "include_2oembed_8php.html#a03fa3b7832c98a3d0b4630afeb73d487", null ],
+ [ "oembed_bbcode2html", "include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2", null ],
+ [ "oembed_fetch_url", "include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2", null ],
+ [ "oembed_format_object", "include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3", null ],
+ [ "oembed_html2bbcode", "include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172", null ],
+ [ "oembed_iframe", "include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a", null ],
+ [ "oembed_replacecb", "include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2photos_8php.html b/doc/html/include_2photos_8php.html
new file mode 100644
index 000000000..927fa57bf
--- /dev/null
+++ b/doc/html/include_2photos_8php.html
@@ -0,0 +1,403 @@
+<!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: include/photos.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="rhash-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('include_2photos_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">photos.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:a6c40ef58aefef705a5adc84a40e97109"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload</a> ($channel, $observer, $args)</td></tr>
+<tr class="separator:a6c40ef58aefef705a5adc84a40e97109"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aedccaf18282b26899d9549c29bd9d1b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list</a> ($channel, $observer)</td></tr>
+<tr class="separator:aedccaf18282b26899d9549c29bd9d1b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af24c6aeed28ecc31ec39e7d9a1804979"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget</a> ($channelx, $observer, $albums=null)</td></tr>
+<tr class="separator:af24c6aeed28ecc31ec39e7d9a1804979"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa27b9e435dcc34e1009f56dc02c7ca51"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos</a> ($channel, $observer, $album= '')</td></tr>
+<tr class="separator:aa27b9e435dcc34e1009f56dc02c7ca51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8e8b7be99e24c2497bc2cb3339280c35"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos_album_exists</a> ($channel_id, $album)</td></tr>
+<tr class="separator:a8e8b7be99e24c2497bc2cb3339280c35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab0365f25b22ccea5f085fe7c49e1f4ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab">photos_album_rename</a> ($channel_id, $oldname, $newname)</td></tr>
+<tr class="separator:ab0365f25b22ccea5f085fe7c49e1f4ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e7abc69872180697c5471dc69349afe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr</a> ($channel_id, $album, $remote_xchan= '')</td></tr>
+<tr class="separator:a7e7abc69872180697c5471dc69349afe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad648c0c5544fe9263409b6f6e57c6274"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item</a> ($channel, $creator_hash, $photo, $visible=false)</td></tr>
+<tr class="separator:ad648c0c5544fe9263409b6f6e57c6274"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a6c40ef58aefef705a5adc84a40e97109"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_upload </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>$observer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$args</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Determine the album to use</p>
+<p>We create a wall item for every photo, but we don't want to overwhelm the data stream with a hundred newly uploaded photos. So we will make the first photo uploaded to this album in the last several hours visible by default, the rest will become visible over time when and if they acquire comments, likes, dislikes, and/or tags</p>
+
+<p>Referenced by <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8e8b7be99e24c2497bc2cb3339280c35"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photos_album_exists </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>$album</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_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7e7abc69872180697c5471dc69349afe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photos_album_get_db_idstr </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>$album</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$remote_xchan</em> = <code>''</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="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab0365f25b22ccea5f085fe7c49e1f4ab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photos_album_rename </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>$oldname</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$newname</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_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af24c6aeed28ecc31ec39e7d9a1804979"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photos_album_widget </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channelx</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$observer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$albums</em> = <code>null</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="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aedccaf18282b26899d9549c29bd9d1b9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photos_albums_list </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>$observer</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="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>
+
+</div>
+</div>
+<a class="anchor" id="ad648c0c5544fe9263409b6f6e57c6274"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photos_create_item </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>$creator_hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$photo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$visible</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="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa27b9e435dcc34e1009f56dc02c7ca51"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photos_list_photos </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>$observer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$album</em> = <code>''</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="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2photos_8php.js b/doc/html/include_2photos_8php.js
new file mode 100644
index 000000000..f96bfc915
--- /dev/null
+++ b/doc/html/include_2photos_8php.js
@@ -0,0 +1,11 @@
+var include_2photos_8php =
+[
+ [ "photo_upload", "include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109", null ],
+ [ "photos_album_exists", "include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35", null ],
+ [ "photos_album_get_db_idstr", "include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe", null ],
+ [ "photos_album_rename", "include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab", null ],
+ [ "photos_album_widget", "include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979", null ],
+ [ "photos_albums_list", "include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9", null ],
+ [ "photos_create_item", "include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274", null ],
+ [ "photos_list_photos", "include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51", null ]
+]; \ No newline at end of file
diff --git a/doc/html/include_2settings_8php.html b/doc/html/include_2settings_8php.html
new file mode 100644
index 000000000..c938f95cf
--- /dev/null
+++ b/doc/html/include_2settings_8php.html
@@ -0,0 +1,150 @@
+<!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: include/settings.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="rhash-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('include_2settings_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">settings.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:ac34e479d27f32b82dd6b33542f81a6a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2settings_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet</a> ($uid=0, $packet=null)</td></tr>
+<tr class="separator:ac34e479d27f32b82dd6b33542f81a6a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ac34e479d27f32b82dd6b33542f81a6a7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">build_sync_packet </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$packet</em> = <code>null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</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="mod_2settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/include_2settings_8php.js b/doc/html/include_2settings_8php.js
new file mode 100644
index 000000000..9bca76f88
--- /dev/null
+++ b/doc/html/include_2settings_8php.js
@@ -0,0 +1,4 @@
+var include_2settings_8php =
+[
+ [ "build_sync_packet", "include_2settings_8php.html#ac34e479d27f32b82dd6b33542f81a6a7", null ]
+]; \ No newline at end of file
diff --git a/doc/html/index.html b/doc/html/index.html
new file mode 100644
index 000000000..472a884df
--- /dev/null
+++ b/doc/html/index.html
@@ -0,0 +1,106 @@
+<!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: Main Page</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="rhash-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 class="current"><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><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><!-- 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('index.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">The Red Matrix Documentation</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/interfaceITemplateEngine-members.html b/doc/html/interfaceITemplateEngine-members.html
new file mode 100644
index 000000000..600dfad9c
--- /dev/null
+++ b/doc/html/interfaceITemplateEngine-members.html
@@ -0,0 +1,119 @@
+<!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="rhash-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('interfaceITemplateEngine.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">ITemplateEngine Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="interfaceITemplateEngine.html">ITemplateEngine</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442">get_markup_template</a>($file, $root='')</td><td class="entry"><a class="el" href="interfaceITemplateEngine.html">ITemplateEngine</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243">replace_macros</a>($s, $v)</td><td class="entry"><a class="el" href="interfaceITemplateEngine.html">ITemplateEngine</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/interfaceITemplateEngine.html b/doc/html/interfaceITemplateEngine.html
new file mode 100644
index 000000000..45e1f031a
--- /dev/null
+++ b/doc/html/interfaceITemplateEngine.html
@@ -0,0 +1,197 @@
+<!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: ITemplateEngine Interface 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="rhash-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('interfaceITemplateEngine.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="interfaceITemplateEngine-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">ITemplateEngine Interface Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for ITemplateEngine:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="interfaceITemplateEngine.png" usemap="#ITemplateEngine_map" alt=""/>
+ <map id="ITemplateEngine_map" name="ITemplateEngine_map">
+<area href="classFriendicaSmartyEngine.html" alt="FriendicaSmartyEngine" shape="rect" coords="0,56,144,80"/>
+<area href="classTemplate.html" alt="Template" shape="rect" coords="154,56,298,80"/>
+</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:aaa7381c8becc3d1c1790b53988a0f243"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243">replace_macros</a> ($s, $v)</td></tr>
+<tr class="separator:aaa7381c8becc3d1c1790b53988a0f243"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf2698adbf46c073c24b162fe1b1c442"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442">get_markup_template</a> ($file, $root='')</td></tr>
+<tr class="separator:aaf2698adbf46c073c24b162fe1b1c442"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Interface for template engines </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="aaf2698adbf46c073c24b162fe1b1c442"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ITemplateEngine::get_markup_template </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">&#160;</td>
+ <td class="paramname"><em>$root</em> = <code>''</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Implemented in <a class="el" href="classTemplate.html#afd97b4b1e7754a550e67c0ea79159059">Template</a>, and <a class="el" href="classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88">FriendicaSmartyEngine</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaa7381c8becc3d1c1790b53988a0f243"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ITemplateEngine::replace_macros </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>$v</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Implemented in <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template</a>, and <a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">FriendicaSmartyEngine</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this interface was generated from the following file:<ul>
+<li>include/<a class="el" href="ITemplateEngine_8php.html">ITemplateEngine.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/interfaceITemplateEngine.js b/doc/html/interfaceITemplateEngine.js
new file mode 100644
index 000000000..b6e108520
--- /dev/null
+++ b/doc/html/interfaceITemplateEngine.js
@@ -0,0 +1,5 @@
+var interfaceITemplateEngine =
+[
+ [ "get_markup_template", "interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442", null ],
+ [ "replace_macros", "interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243", null ]
+]; \ No newline at end of file
diff --git a/doc/html/interfaceITemplateEngine.png b/doc/html/interfaceITemplateEngine.png
new file mode 100644
index 000000000..f61b50d22
--- /dev/null
+++ b/doc/html/interfaceITemplateEngine.png
Binary files differ
diff --git a/doc/html/intro_8php.html b/doc/html/intro_8php.html
new file mode 100644
index 000000000..28ca22cc8
--- /dev/null
+++ b/doc/html/intro_8php.html
@@ -0,0 +1,173 @@
+<!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/intro.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="rhash-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('intro_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">intro.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:af3681062183ccbdf065ae2647b07d6f1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="intro_8php.html#af3681062183ccbdf065ae2647b07d6f1">intro_post</a> (&amp;$a)</td></tr>
+<tr class="separator:af3681062183ccbdf065ae2647b07d6f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc3abf25da64f98f215126eb08c7936b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="intro_8php.html#abc3abf25da64f98f215126eb08c7936b">intro_aside</a> (&amp;$a)</td></tr>
+<tr class="separator:abc3abf25da64f98f215126eb08c7936b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e2a523697633ddb4517b9266a515f5b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="intro_8php.html#a3e2a523697633ddb4517b9266a515f5b">intro_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a3e2a523697633ddb4517b9266a515f5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="abc3abf25da64f98f215126eb08c7936b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">intro_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="a3e2a523697633ddb4517b9266a515f5b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">intro_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="af3681062183ccbdf065ae2647b07d6f1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">intro_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/intro_8php.js b/doc/html/intro_8php.js
new file mode 100644
index 000000000..f93a2dcdc
--- /dev/null
+++ b/doc/html/intro_8php.js
@@ -0,0 +1,6 @@
+var intro_8php =
+[
+ [ "intro_aside", "intro_8php.html#abc3abf25da64f98f215126eb08c7936b", null ],
+ [ "intro_content", "intro_8php.html#a3e2a523697633ddb4517b9266a515f5b", null ],
+ [ "intro_post", "intro_8php.html#af3681062183ccbdf065ae2647b07d6f1", null ]
+]; \ No newline at end of file
diff --git a/doc/html/invite_8php.html b/doc/html/invite_8php.html
new file mode 100644
index 000000000..5e25bdd3d
--- /dev/null
+++ b/doc/html/invite_8php.html
@@ -0,0 +1,157 @@
+<!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/invite.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="rhash-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('invite_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">invite.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:aeb0881c0f93c8e8552e5ed756ce6e5a5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post</a> (&amp;$a)</td></tr>
+<tr class="separator:aeb0881c0f93c8e8552e5ed756ce6e5a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a244385b28cfd021d308715f01158bfd9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a244385b28cfd021d308715f01158bfd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a244385b28cfd021d308715f01158bfd9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">invite_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="aeb0881c0f93c8e8552e5ed756ce6e5a5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">invite_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">
+<p>module: <a class="el" href="invite_8php.html">invite.php</a></p>
+<p>send email invitations to join social network </p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/invite_8php.js b/doc/html/invite_8php.js
new file mode 100644
index 000000000..35604353d
--- /dev/null
+++ b/doc/html/invite_8php.js
@@ -0,0 +1,5 @@
+var invite_8php =
+[
+ [ "invite_content", "invite_8php.html#a244385b28cfd021d308715f01158bfd9", null ],
+ [ "invite_post", "invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5", null ]
+]; \ No newline at end of file
diff --git a/doc/html/iquery_8php.html b/doc/html/iquery_8php.html
new file mode 100644
index 000000000..f508cdcf3
--- /dev/null
+++ b/doc/html/iquery_8php.html
@@ -0,0 +1,147 @@
+<!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 Project: include/iquery.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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('iquery_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">iquery.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:aa41c07bf856eb8b386430cc53d80d4ac"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iquery_8php.html#aa41c07bf856eb8b386430cc53d80d4ac">network_query</a> ($a, $arr)</td></tr>
+<tr class="separator:aa41c07bf856eb8b386430cc53d80d4ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa41c07bf856eb8b386430cc53d80d4ac"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">network_query </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/iquery_8php.js b/doc/html/iquery_8php.js
new file mode 100644
index 000000000..d56bfffa6
--- /dev/null
+++ b/doc/html/iquery_8php.js
@@ -0,0 +1,4 @@
+var iquery_8php =
+[
+ [ "network_query", "iquery_8php.html#aa41c07bf856eb8b386430cc53d80d4ac", null ]
+]; \ No newline at end of file
diff --git a/doc/html/item_8php.html b/doc/html/item_8php.html
new file mode 100644
index 000000000..48f42f777
--- /dev/null
+++ b/doc/html/item_8php.html
@@ -0,0 +1,379 @@
+<!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/item.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="rhash-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('item_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">item.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:a693cd09805755ab85bbb5ecae69a48c3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post</a> (&amp;$a)</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: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>
+<tr class="separator:a3daae7944f737bd30412a0d042207c0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b1b36cb301a94b38150074f0d424e74"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class</a> ($channel_id, $iswebpage)</td></tr>
+<tr class="separator:a5b1b36cb301a94b38150074f0d424e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a3daae7944f737bd30412a0d042207c0f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fix_attached_file_permissions </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>$observer_hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$body</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str_contact_allow</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str_group_allow</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str_contact_deny</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str_group_deny</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="a7b63a9d0cd02096e17dcf11f4afa7c10"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fix_attached_photo_permissions </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>$xchan_hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$body</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str_contact_allow</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str_group_allow</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str_contact_deny</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str_group_deny</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="abd0e603a6696051af16476eb968d52e7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">handle_tag </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$body</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$inform</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$str_tags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$profile_uid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$tag</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This function removes the tag $tag from the text $body and replaces it with the appropiate link.</p>
+<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">$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>
+ </table>
+ </dd>
+</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>
+
+</div>
+</div>
+<a class="anchor" id="a5b1b36cb301a94b38150074f0d424e74"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_check_service_class </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>$iswebpage</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="a764bbb2e9a885a86fb23d0b5e4a09221"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_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="a693cd09805755ab85bbb5ecae69a48c3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_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">
+<p>This is the POST destination for most all locally posted text stuff. This function handles status, wall-to-wall status, local comments, and remote coments that are posted on this site (as opposed to being delivered in a feed). Also processed here are posts and comments coming through the statusnet/twitter API. All of these become an "item" which is our basic unit of information. Posts that originate externally or do not fall into the above posting categories go through <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a> instead of this function. </p>
+<p>Is this a reply to something?</p>
+<p>fix naked links by passing through a callback to see if this is a red site (already known to us) which will get a zrl, otherwise link with url</p>
+<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>Fold multi-line [code] sequences</p>
+<p>Look for any tags and linkify them</p>
+
+<p>Referenced by <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#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, and <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/item_8php.js b/doc/html/item_8php.js
new file mode 100644
index 000000000..07e890b13
--- /dev/null
+++ b/doc/html/item_8php.js
@@ -0,0 +1,9 @@
+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 ],
+ [ "item_check_service_class", "item_8php.html#a5b1b36cb301a94b38150074f0d424e74", null ],
+ [ "item_content", "item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221", null ],
+ [ "item_post", "item_8php.html#a693cd09805755ab85bbb5ecae69a48c3", null ]
+]; \ No newline at end of file
diff --git a/doc/html/items_8php.html b/doc/html/items_8php.html
new file mode 100644
index 000000000..09d2998ea
--- /dev/null
+++ b/doc/html/items_8php.html
@@ -0,0 +1,1602 @@
+<!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: include/items.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="rhash-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('items_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">items.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:a01e3cf44e082fa9bd06dcde5bf713d70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients</a> ($item, &amp;$private)</td></tr>
+<tr class="separator:a01e3cf44e082fa9bd06dcde5bf713d70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e75047cf175aaee8dd16aa761913ff9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">can_comment_on_post</a> ($observer_xchan, $item)</td></tr>
+<tr class="separator:a1e75047cf175aaee8dd16aa761913ff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e6d7639431e0dd8e9f4dba8e1ac408b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b">red_zrl_callback</a> ($matches)</td></tr>
+<tr class="separator:a4e6d7639431e0dd8e9f4dba8e1ac408b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a410f9c743877c125ca06312373346903"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item</a> ($arr)</td></tr>
+<tr class="separator:a410f9c743877c125ca06312373346903"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a079e099e15d88d47aeb6ca6d60da7107"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed</a> ($channel, $params)</td></tr>
+<tr class="separator:a079e099e15d88d47aeb6ca6d60da7107"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04a35b610acfe54434df08adec39c0c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for</a> ($channel, $observer_hash, $params)</td></tr>
+<tr class="separator:a04a35b610acfe54434df08adec39c0c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f3c85c584ccd2b98c3ca440e45b40f8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8">construct_verb</a> ($item)</td></tr>
+<tr class="separator:a8f3c85c584ccd2b98c3ca440e45b40f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9e99613d38a97b39c8cf5449699c2ee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">construct_activity_object</a> ($item)</td></tr>
+<tr class="separator:aa9e99613d38a97b39c8cf5449699c2ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa579bc4445d60098b1410961ca8e96b7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">construct_activity_target</a> ($item)</td></tr>
+<tr class="separator:aa579bc4445d60098b1410961ca8e96b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af94c281016c6c912d06e064113336c5c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">limit_body_size</a> ($body)</td></tr>
+<tr class="separator:af94c281016c6c912d06e064113336c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa371905f0a211b307cb3f7188c6cba04"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#aa371905f0a211b307cb3f7188c6cba04">title_is_body</a> ($title, $body)</td></tr>
+<tr class="separator:aa371905f0a211b307cb3f7188c6cba04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a536d0313b6ffe33b9d2490c4e25c5361"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="separator:a536d0313b6ffe33b9d2490c4e25c5361"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae73794179b62d39bb597ff670ab1c1e5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="separator:ae73794179b62d39bb597ff670ab1c1e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a82955cc578f0fa600acec84475026194"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item</a> ($item)</td></tr>
+<tr class="separator:a82955cc578f0fa600acec84475026194"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1fcf621dce7370515b420a7753f4726"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#ac1fcf621dce7370515b420a7753f4726">map_scope</a> ($scope)</td></tr>
+<tr class="separator:ac1fcf621dce7370515b420a7753f4726"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a566c601726697e044e75284af7fb6f17"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a566c601726697e044e75284af7fb6f17">encode_item_xchan</a> ($xchan)</td></tr>
+<tr class="separator:a566c601726697e044e75284af7fb6f17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6673627d289ee4f547de0fe3b7acd0a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms</a> ($terms)</td></tr>
+<tr class="separator:ac6673627d289ee4f547de0fe3b7acd0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad34827ed330898456783fb14c7b46154"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#ad34827ed330898456783fb14c7b46154">termtype</a> ($<a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">t</a>)</td></tr>
+<tr class="separator:ad34827ed330898456783fb14c7b46154"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56b2a4abcadfac71175cd50555528cc3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags</a> ($<a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">t</a>)</td></tr>
+<tr class="separator:a56b2a4abcadfac71175cd50555528cc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36e656667193c83aa2cc03a024fc131b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise</a> ($arr)</td></tr>
+<tr class="separator:a36e656667193c83aa2cc03a024fc131b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf7a1b73eb352d79acd36309b0dababd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#abf7a1b73eb352d79acd36309b0dababd">array_sanitise</a> ($arr)</td></tr>
+<tr class="separator:abf7a1b73eb352d79acd36309b0dababd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f690fc2484abec07840b4f9dd525bd9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a5f690fc2484abec07840b4f9dd525bd9">encode_item_flags</a> ($item)</td></tr>
+<tr class="separator:a5f690fc2484abec07840b4f9dd525bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d840c74ed23d1b6c7daee05cf89dda7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail</a> ($item)</td></tr>
+<tr class="separator:a2d840c74ed23d1b6c7daee05cf89dda7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94ddb1d6c8fa21dd7433677e85168037"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="separator:a94ddb1d6c8fa21dd7433677e85168037"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a251343637ff40a50cca93452cd530c26"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="separator:a251343637ff40a50cca93452cd530c26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a896c1809d58f2d7a42cfe14577958ddf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements</a> ($feed, $item)</td></tr>
+<tr class="separator:a896c1809d58f2d7a42cfe14577958ddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa723c0571e314a1853a24c5854b4f54f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#aa723c0571e314a1853a24c5854b4f54f">encode_rel_links</a> ($links)</td></tr>
+<tr class="separator:aa723c0571e314a1853a24c5854b4f54f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2541e6861a56d145c9281877cc501615"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store</a> ($arr, $allow_exec=false)</td></tr>
+<tr class="separator:a2541e6861a56d145c9281877cc501615"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf0bf7c9d21ac84f32effb754f7ad484"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update</a> ($arr, $allow_exec=false)</td></tr>
+<tr class="separator:acf0bf7c9d21ac84f32effb754f7ad484"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab9e0c58247427126de0699c729c3b6c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications</a> ($post_id, $item)</td></tr>
+<tr class="separator:aab9e0c58247427126de0699c729c3b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab9c6bae4c40799867596bdaae9829fd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#aab9c6bae4c40799867596bdaae9829fd">get_item_contact</a> ($item, $contacts)</td></tr>
+<tr class="separator:aab9c6bae4c40799867596bdaae9829fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1bce4261bcf75ad62753b498a144d17"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver</a> ($uid, $item_id)</td></tr>
+<tr class="separator:ab1bce4261bcf75ad62753b498a144d17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c6cf7649ac836fbbed82a7a0315110"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check</a> ($uid, $item)</td></tr>
+<tr class="separator:a88c6cf7649ac836fbbed82a7a0315110"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77da7ce9a117601d49ac4a67c71b514f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store</a> ($arr)</td></tr>
+<tr class="separator:a77da7ce9a117601d49ac4a67c71b514f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8395d189a36abfa0dfff81a2b0e70669"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver</a> ($owner, $contact, $atom, $dissolve=false)</td></tr>
+<tr class="separator:a8395d189a36abfa0dfff81a2b0e70669"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8794863cdf8ce1333040933d3a3f66bd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed</a> ($xml, $importer, &amp;$contact, &amp;$hub, $datedir=0, $pass=0)</td></tr>
+<tr class="separator:a8794863cdf8ce1333040933d3a3f66bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a016dd86c827d08db89061ea81d15c6cb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a016dd86c827d08db89061ea81d15c6cb">atom_author</a> ($tag, $name, $uri, $h, $w, $type, $photo)</td></tr>
+<tr class="separator:a016dd86c827d08db89061ea81d15c6cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a275108c050f7eb18bcbb5018e6b81cf6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry</a> ($item, $type, $author, $owner, $comment=false, $cid=0)</td></tr>
+<tr class="separator:a275108c050f7eb18bcbb5018e6b81cf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba98fcbbcd7044a7e9ea34edabc14c87"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos</a> ($s, $uid, $item=null, $cid=0)</td></tr>
+<tr class="separator:aba98fcbbcd7044a7e9ea34edabc14c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77051724d1784074ff187e73a4db93fe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a77051724d1784074ff187e73a4db93fe">has_permissions</a> ($obj)</td></tr>
+<tr class="separator:a77051724d1784074ff187e73a4db93fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0790a4550b829e85504af548623002ca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a0790a4550b829e85504af548623002ca">compare_permissions</a> ($obj1, $obj2)</td></tr>
+<tr class="separator:a0790a4550b829e85504af548623002ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afbcf26dfcf8a83fff952aa858c1b7b67"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67">enumerate_permissions</a> ($obj)</td></tr>
+<tr class="separator:afbcf26dfcf8a83fff952aa858c1b7b67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a649dc3e53ed794d0ead4b5d037f8d8d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">item_getfeedtags</a> ($item)</td></tr>
+<tr class="separator:a649dc3e53ed794d0ead4b5d037f8d8d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09d425596b9f8663472cf7474ad36d96"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a09d425596b9f8663472cf7474ad36d96">item_getfeedattach</a> ($item)</td></tr>
+<tr class="separator:a09d425596b9f8663472cf7474ad36d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f7e1334af5d684a987fa6a3eb37f4cc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire</a> ($uid, $days)</td></tr>
+<tr class="separator:a6f7e1334af5d684a987fa6a3eb37f4cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a668ece2c37f05cc3abe538eb0dabfe55"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items</a> ($items)</td></tr>
+<tr class="separator:a668ece2c37f05cc3abe538eb0dabfe55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa1db13c2a8b73b5b17b97f17e5a19d1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item</a> ($id, $interactive=true)</td></tr>
+<tr class="separator:afa1db13c2a8b73b5b17b97f17e5a19d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b56a4c01bd22a648d52ec9af1a04259"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259">delete_item_lowlevel</a> ($item)</td></tr>
+<tr class="separator:a2b56a4c01bd22a648d52ec9af1a04259"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0cf98bb619f07dd18f602683a55a5f59"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date</a> ($uid, $wall=false)</td></tr>
+<tr class="separator:a0cf98bb619f07dd18f602683a55a5f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2abb4644ff1f20fefbc80326fe01cf0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates</a> ($uid, $wall)</td></tr>
+<tr class="separator:ad2abb4644ff1f20fefbc80326fe01cf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe695dd89e1e10ed042c26b80114f0ed"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget</a> ($url, $uid, $wall)</td></tr>
+<tr class="separator:abe695dd89e1e10ed042c26b80114f0ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf980098b6de9c3993bc3ff26a8dd6f9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags</a> ($items, $link=false)</td></tr>
+<tr class="separator:adf980098b6de9c3993bc3ff26a8dd6f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a004e89d86b0f29b2c4da20108ecc4091"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed</a> ($uid, $observer_xchan, $mindate)</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>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a36e656667193c83aa2cc03a024fc131b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">activity_sanitise </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="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#a2541e6861a56d145c9281877cc501615">item_store()</a>, and <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abf7a1b73eb352d79acd36309b0dababd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">array_sanitise </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="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a016dd86c827d08db89061ea81d15c6cb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">atom_author </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</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>$uri</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$w</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$photo</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="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a275108c050f7eb18bcbb5018e6b81cf6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">atom_entry </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$author</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$owner</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$comment</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$cid</em> = <code>0</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="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1e75047cf175aaee8dd16aa761913ff9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">can_comment_on_post </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>$item</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="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a01e3cf44e082fa9bd06dcde5bf713d70"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">collect_recipients </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$private</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="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0790a4550b829e85504af548623002ca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">compare_permissions </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$obj1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$obj2</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="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa9e99613d38a97b39c8cf5449699c2ee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">construct_activity_object </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa579bc4445d60098b1410961ca8e96b7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">construct_activity_target </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8f3c85c584ccd2b98c3ca440e45b40f8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">construct_verb </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8794863cdf8ce1333040933d3a3f66bd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">consume_feed </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$xml</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$importer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$contact</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$hub</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$datedir</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pass</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>consume_feed - process atom feed and update anything/everything we might need to update</p>
+<p>$xml = the (atom) feed to consume - RSS isn't as fully supported but may work for simple feeds.</p>
+<p>$importer = the contact_record (joined to user_record) of the local user who owns this relationship. It is this person's stuff that is going to be updated. $contact = the person who is sending us stuff. If not set, we MAY be processing a "follow" activity from an external network and MAY create an appropriate contact record. Otherwise, we MUST have a contact record. $hub = should we find a hub declation in the feed, pass it back to our calling process, who might (or might not) try and subscribe to it. $datedir sorts in reverse order $pass - by default ($pass = 0) we cannot guarantee that a parent item has been imported prior to its children being seen in the stream unless we are certain of how the feed is arranged/ordered. With $pass = 1, we only pull parent items out of the stream. With $pass = 2, we only pull children (comments/likes).</p>
+<p>So running this twice, first with pass 1 and then with pass 2 will do the right thing regardless of feed ordering. This won't be adequate in a fully-threaded model where comments can have sub-threads. That would require some massive sorting to get all the feed items into a mostly linear ordering, and might still require recursion. </p>
+
+</div>
+</div>
+<a class="anchor" id="a56b2a4abcadfac71175cd50555528cc3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">decode_tags </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$t</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2b56a4c01bd22a648d52ec9af1a04259"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">delete_item_lowlevel </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1">drop_item()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8395d189a36abfa0dfff81a2b0e70669"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dfrn_deliver </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$owner</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$contact</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$atom</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dissolve</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="Contact_8php.html#a38daa1c210b78385307123450ca9a1fc">terminate_friendship()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afa1db13c2a8b73b5b17b97f17e5a19d1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">drop_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$interactive</em> = <code>true</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="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</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="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a668ece2c37f05cc3abe538eb0dabfe55"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">drop_items </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$items</em></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="a82955cc578f0fa600acec84475026194"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">encode_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5f690fc2484abec07840b4f9dd525bd9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">encode_item_flags </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac6673627d289ee4f547de0fe3b7acd0a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">encode_item_terms </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$terms</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a566c601726697e044e75284af7fb6f17"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">encode_item_xchan </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$xchan</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, and <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2d840c74ed23d1b6c7daee05cf89dda7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">encode_mail </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa723c0571e314a1853a24c5854b4f54f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">encode_rel_links </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$links</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afbcf26dfcf8a83fff952aa858c1b7b67"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enumerate_permissions </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$obj</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a0790a4550b829e85504af548623002ca">compare_permissions()</a>, and <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adf980098b6de9c3993bc3ff26a8dd6f9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fetch_post_tags </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$items</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$link</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="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>
+
+</div>
+</div>
+<a class="anchor" id="a0cf98bb619f07dd18f602683a55a5f59"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">first_post_date </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>$wall</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="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aba98fcbbcd7044a7e9ea34edabc14c87"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fix_private_photos </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>$uid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em> = <code>null</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$cid</em> = <code>0</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="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a896c1809d58f2d7a42cfe14577958ddf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_atom_elements </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$feed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>If there's a copy of the body content which is guaranteed to have survived mangling in transit, use it.</p>
+
+<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a04a35b610acfe54434df08adec39c0c7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_feed_for </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>$observer_hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$params</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="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aab9c6bae4c40799867596bdaae9829fd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_item_contact </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$contacts</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="a536d0313b6ffe33b9d2490c4e25c5361"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_item_elements </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a94ddb1d6c8fa21dd7433677e85168037"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_mail_elements </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a251343637ff40a50cca93452cd530c26"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_profile_elements </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a079e099e15d88d47aeb6ca6d60da7107"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_public_feed </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>$params</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="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a77051724d1784074ff187e73a4db93fe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">has_permissions </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$obj</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae73794179b62d39bb597ff670ab1c1e5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">import_author_xchan </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, and <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6f7e1334af5d684a987fa6a3eb37f4cc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_expire </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>$days</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="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a09d425596b9f8663472cf7474ad36d96"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_getfeedattach </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a649dc3e53ed794d0ead4b5d037f8d8d7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_getfeedtags </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2541e6861a56d145c9281877cc501615"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_store </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$allow_exec</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="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <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>
+
+</div>
+</div>
+<a class="anchor" id="acf0bf7c9d21ac84f32effb754f7ad484"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_store_update </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$allow_exec</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="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a756738301f2ed96be50232500677d58a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">items_fetch </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel</em> = <code>null</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$observer_hash</em> = <code>null</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$client_mode</em> = <code><a class="el" href="boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731">CLIENT_MODE_NORMAL</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$module</em> = <code>'network'</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="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af94c281016c6c912d06e064113336c5c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">limit_body_size </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$body</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a77da7ce9a117601d49ac4a67c71b514f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">mail_store </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="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac1fcf621dce7370515b420a7753f4726"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">map_scope </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$scope</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#a82955cc578f0fa600acec84475026194">encode_item()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a410f9c743877c125ca06312373346903"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">post_activity_item </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>post_activity_item($arr) </p>
+<pre class="fragment">post an activity
+</pre><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">array</td><td class="paramname">$arr</td><td>In its simplest form one needs only to set $arr['body'] to post a note to the logged in channel's wall. Much more complex activities can be created. Permissions are checked. No filtering, tag expansion or other processing is performed.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>array 'success' =&gt; true or false 'activity' =&gt; the resulting activity if successful </dd></dl>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api_channel_stream()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abe695dd89e1e10ed042c26b80114f0ed"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">posted_date_widget </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$wall</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="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>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">posted_dates </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>$wall</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="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4e6d7639431e0dd8e9f4dba8e1ac408b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">red_zrl_callback </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$matches</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>red_zrl_callback preg_match function when fixing 'naked' links in mod <a class="el" href="item_8php.html">item.php</a> Check if we've got a hubloc for the site and use a zrl if we do, a url if we don't. </p>
+
+</div>
+</div>
+<a class="anchor" id="aab9e0c58247427126de0699c729c3b6c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">send_status_notifications </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>$item</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="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, and <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab1bce4261bcf75ad62753b498a144d17"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tag_deliver </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>$item_id</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="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, and <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad34827ed330898456783fb14c7b46154"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">termtype </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$t</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a88c6cf7649ac836fbbed82a7a0315110"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tgroup_check </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>$item</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="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, and <a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa371905f0a211b307cb3f7188c6cba04"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">title_is_body </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$body</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="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a004e89d86b0f29b2c4da20108ecc4091"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_feed </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>$mindate</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="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/items_8php.js b/doc/html/items_8php.js
new file mode 100644
index 000000000..70521ff4a
--- /dev/null
+++ b/doc/html/items_8php.js
@@ -0,0 +1,57 @@
+var items_8php =
+[
+ [ "activity_sanitise", "items_8php.html#a36e656667193c83aa2cc03a024fc131b", null ],
+ [ "array_sanitise", "items_8php.html#abf7a1b73eb352d79acd36309b0dababd", null ],
+ [ "atom_author", "items_8php.html#a016dd86c827d08db89061ea81d15c6cb", null ],
+ [ "atom_entry", "items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6", null ],
+ [ "can_comment_on_post", "items_8php.html#a1e75047cf175aaee8dd16aa761913ff9", null ],
+ [ "collect_recipients", "items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70", null ],
+ [ "compare_permissions", "items_8php.html#a0790a4550b829e85504af548623002ca", null ],
+ [ "construct_activity_object", "items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee", null ],
+ [ "construct_activity_target", "items_8php.html#aa579bc4445d60098b1410961ca8e96b7", null ],
+ [ "construct_verb", "items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8", null ],
+ [ "consume_feed", "items_8php.html#a8794863cdf8ce1333040933d3a3f66bd", null ],
+ [ "decode_tags", "items_8php.html#a56b2a4abcadfac71175cd50555528cc3", null ],
+ [ "delete_item_lowlevel", "items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259", null ],
+ [ "dfrn_deliver", "items_8php.html#a8395d189a36abfa0dfff81a2b0e70669", null ],
+ [ "drop_item", "items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1", null ],
+ [ "drop_items", "items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55", null ],
+ [ "encode_item", "items_8php.html#a82955cc578f0fa600acec84475026194", null ],
+ [ "encode_item_flags", "items_8php.html#a5f690fc2484abec07840b4f9dd525bd9", null ],
+ [ "encode_item_terms", "items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a", null ],
+ [ "encode_item_xchan", "items_8php.html#a566c601726697e044e75284af7fb6f17", null ],
+ [ "encode_mail", "items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7", null ],
+ [ "encode_rel_links", "items_8php.html#aa723c0571e314a1853a24c5854b4f54f", null ],
+ [ "enumerate_permissions", "items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67", null ],
+ [ "fetch_post_tags", "items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9", null ],
+ [ "first_post_date", "items_8php.html#a0cf98bb619f07dd18f602683a55a5f59", null ],
+ [ "fix_private_photos", "items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87", null ],
+ [ "get_atom_elements", "items_8php.html#a896c1809d58f2d7a42cfe14577958ddf", null ],
+ [ "get_feed_for", "items_8php.html#a04a35b610acfe54434df08adec39c0c7", null ],
+ [ "get_item_contact", "items_8php.html#aab9c6bae4c40799867596bdaae9829fd", null ],
+ [ "get_item_elements", "items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361", null ],
+ [ "get_mail_elements", "items_8php.html#a94ddb1d6c8fa21dd7433677e85168037", null ],
+ [ "get_profile_elements", "items_8php.html#a251343637ff40a50cca93452cd530c26", null ],
+ [ "get_public_feed", "items_8php.html#a079e099e15d88d47aeb6ca6d60da7107", null ],
+ [ "has_permissions", "items_8php.html#a77051724d1784074ff187e73a4db93fe", null ],
+ [ "import_author_xchan", "items_8php.html#ae73794179b62d39bb597ff670ab1c1e5", null ],
+ [ "item_expire", "items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc", null ],
+ [ "item_getfeedattach", "items_8php.html#a09d425596b9f8663472cf7474ad36d96", null ],
+ [ "item_getfeedtags", "items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7", null ],
+ [ "item_store", "items_8php.html#a2541e6861a56d145c9281877cc501615", null ],
+ [ "item_store_update", "items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484", null ],
+ [ "items_fetch", "items_8php.html#a756738301f2ed96be50232500677d58a", null ],
+ [ "limit_body_size", "items_8php.html#af94c281016c6c912d06e064113336c5c", null ],
+ [ "mail_store", "items_8php.html#a77da7ce9a117601d49ac4a67c71b514f", null ],
+ [ "map_scope", "items_8php.html#ac1fcf621dce7370515b420a7753f4726", null ],
+ [ "post_activity_item", "items_8php.html#a410f9c743877c125ca06312373346903", null ],
+ [ "posted_date_widget", "items_8php.html#abe695dd89e1e10ed042c26b80114f0ed", null ],
+ [ "posted_dates", "items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0", null ],
+ [ "red_zrl_callback", "items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b", null ],
+ [ "send_status_notifications", "items_8php.html#aab9e0c58247427126de0699c729c3b6c", null ],
+ [ "tag_deliver", "items_8php.html#ab1bce4261bcf75ad62753b498a144d17", null ],
+ [ "termtype", "items_8php.html#ad34827ed330898456783fb14c7b46154", null ],
+ [ "tgroup_check", "items_8php.html#a88c6cf7649ac836fbbed82a7a0315110", null ],
+ [ "title_is_body", "items_8php.html#aa371905f0a211b307cb3f7188c6cba04", null ],
+ [ "zot_feed", "items_8php.html#a004e89d86b0f29b2c4da20108ecc4091", null ]
+]; \ No newline at end of file
diff --git a/doc/html/jquery.js b/doc/html/jquery.js
new file mode 100644
index 000000000..78ad0bdff
--- /dev/null
+++ b/doc/html/jquery.js
@@ -0,0 +1,77 @@
+/*! jQuery v1.7.1 jquery.com | jquery.org/license */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(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 cb(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 ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}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===bT,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(bP),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 bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(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 bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(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 bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(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(O.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 S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,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=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};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=m.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.7.1",length:0,size:function(){return this.length},toArray:function(){return F.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)?E.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(),A.add(a);return this},eq:function(a){a=+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(F.apply(this,arguments),"slice",F.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:E,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;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},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},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(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(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},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:G?function(a){return a==null?"":G.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)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&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=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.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=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.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){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function()
+{g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.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:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([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&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=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,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},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"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(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(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},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.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;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){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(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){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);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+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.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}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),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,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},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},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.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}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=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,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?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]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,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.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,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);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),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 z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
+f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,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 instanceof f.Event))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()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},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)}}),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 contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.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&&!l.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&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.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
+&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,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(j,"")+" ";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(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.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]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),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]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.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!!m(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=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([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}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&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=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null: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=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=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(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)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 v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=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}),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)&&(o.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:[]}},o.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&&(o.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")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[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}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.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 m(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;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={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(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0: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=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.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(i?i.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)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));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(S(c[0])||S(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);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).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 V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","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,"",""]},bh=U(c);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){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):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.clean(arguments);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.clean(arguments));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(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$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?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=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,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},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(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.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&&X.test(k)&&o.insertBefore(b.createTextNode(X.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++)bn(k[i]);else bn(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.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;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:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!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,h==="string"&&(g=bv.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;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]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.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,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,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,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),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&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.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(bN,"")).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||bO.test(this.nodeName)||bI.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(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(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?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[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","*":bX},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},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),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>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),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.Callbacks("once memory"),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=bH.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.add,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(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.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]!=="*"?", "+bX+"; 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$(bU,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){if(s<2)w(-1,z);else throw 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)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),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&&(ce.test(b.url)||e&&ce.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(ce,l),b.url===j&&(e&&(k=k.replace(ce,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 cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,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,cf&&delete ch[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=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;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);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].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){function g(){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||cv(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cn.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=co.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),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;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(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,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cr||cs(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cp&&(cp=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cr||cs(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cp),cp=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.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)}}),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);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.support.fixedPosition&&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.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.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.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.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(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():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],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["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 i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
+/*!
+ * jQuery UI 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(a,b){function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;if(!b.href||!g||f.nodeName.toLowerCase()!=="map")return!1;h=a("img[usemap=#"+g+"]")[0];return!!h&&d(h)}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}a.ui=a.ui||{};a.ui.version||(a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)});return c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){if(c===b)return g["inner"+d].call(this);return this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){if(typeof b!="number")return g["outer"+d].call(this,b);return this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!!d&&!!a.element[0].parentNode)for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;if(b[d]>0)return!0;b[d]=1,e=b[d]>0,b[d]=0;return e},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}}))})(jQuery);
+/*!
+ * jQuery UI Widget 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}});return d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e;if(f&&e.charAt(0)==="_")return h;f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b){h=f;return!1}}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))});return h}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName),this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+"ui-state-disabled")},widget:function(){return this.element},option:function(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}this._setOptions(e);return this},_setOptions:function(b){var c=this;a.each(b,function(a,b){c._setOption(a,b)});return this},_setOption:function(a,b){this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b);return this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);this.element.trigger(c,d);return!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);
+/*!
+ * jQuery UI Mouse 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ * jquery.ui.widget.js
+ */
+(function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent")){a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation();return!1}}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(b){if(!c){this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted){b.preventDefault();return!0}}!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0;return!0}},_mouseMove:function(b){if(a.browser.msie&&!(document.documentMode>=9)&&!b.button)return this._mouseUp(b);if(this._mouseStarted){this._mouseDrag(b);return b.preventDefault()}this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b));return!this._mouseStarted},_mouseUp:function(b){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b));return!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);
+/*
+ * jQuery UI Resizable 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(a,b){a.widget("ui.resizable",a.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1e3},_create:function(){var b=this,c=this.options;this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!c.aspectRatio,aspectRatio:c.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:c.helper||c.ghost||c.animate?c.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=c.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var d=this.handles.split(",");this.handles={};for(var e=0;e<d.length;e++){var f=a.trim(d[e]),g="ui-resizable-"+f,h=a('<div class="ui-resizable-handle '+g+'"></div>');/sw|se|ne|nw/.test(f)&&h.css({zIndex:++c.zIndex}),"se"==f&&h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[f]=".ui-resizable-"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:"se"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){c.disabled||(a(this).removeClass("ui-resizable-autohide"),b._handles.show())},function(){c.disabled||b.resizing||(a(this).addClass("ui-resizable-autohide"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var c=this.element;c.after(this.originalElement.css({position:c.css("position"),width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle),b(this.originalElement);return this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(".ui-draggable")||/absolute/.test(f.css("position")))&&f.css({position:"absolute",top:e.top,left:e.left}),this._renderProxy();var g=c(this.helper.css("left")),h=c(this.helper.css("top"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(".ui-resizable-"+this.axis).css("cursor");a("body").css("cursor",i=="auto"?this.axis+"-resize":i),f.addClass("ui-resizable-resizing"),this._propagate("start",b);return!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);l=this._respectSize(l,b),this._propagate("resize",b),c.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",b,this.ui());return!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove();return!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),e<h.maxWidth&&(h.maxWidth=e),g<h.maxHeight&&(h.maxHeight=g);this._vBoundaries=h},_updateCache:function(a){var b=this.options;this.offset=this.helper.offset(),d(a.left)&&(this.position.left=a.left),d(a.top)&&(this.position.top=a.top),d(a.height)&&(this.size.height=a.height),d(a.width)&&(this.size.width=a.width)},_updateRatio:function(a,b){var c=this.options,e=this.position,f=this.size,g=this.axis;d(a.height)?a.width=a.height*this.aspectRatio:d(a.width)&&(a.height=a.width/this.aspectRatio),g=="sw"&&(a.left=e.left+(f.width-a.width),a.top=null),g=="nw"&&(a.top=e.top+(f.height-a.height),a.left=e.left+(f.width-a.width));return a},_respectSize:function(a,b){var c=this.helper,e=this._vBoundaries,f=this._aspectRatio||b.shiftKey,g=this.axis,h=d(a.width)&&e.maxWidth&&e.maxWidth<a.width,i=d(a.height)&&e.maxHeight&&e.maxHeight<a.height,j=d(a.width)&&e.minWidth&&e.minWidth>a.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null);return a},_proportionallyResize:function(){var b=this.options;if(!!this._proportionallyResizeElements.length){var c=this.helper||this.element;for(var d=0;d<this._proportionallyResizeElements.length;d++){var e=this._proportionallyResizeElements[d];if(!this.borderDif){var f=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],g=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];this.borderDif=a.map(f,function(a,b){var c=parseInt(a,10)||0,d=parseInt(g[b],10)||0;return c+d})}if(a.browser.msie&&(!!a(c).is(":hidden")||!!a(c).parents(":hidden").length))continue;e.css({height:c.height()-this.borderDif[0]-this.borderDif[2]||0,width:c.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset();if(this._helper){this.helper=this.helper||a('<div style="overflow:hidden;"></div>');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-e+"px",top:this.elementOffset.top-e+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!="resize"&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.extend(a.ui.resizable,{version:"1.8.18"}),a.ui.plugin.add("resizable","alsoResize",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data("resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};typeof e.alsoResize=="object"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","animate",{stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],"left")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css("width"),10),height:parseInt(d.element.css("height"),10),top:parseInt(d.element.css("top"),10),left:parseInt(d.element.css("left"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(b,d){var e=a(this).data("resizable"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!!i){e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){k[a]=c(j.css("padding"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,"left")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}}},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css("position"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/e.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*e.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css("position"));o&&p
+&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add("resizable","ghost",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof e.ghost=="string"?e.ghost:""),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid=="number"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);
+/*
+ * jQuery hashchange event - v1.3 - 7/21/2010
+ * http://benalman.com/projects/jquery-hashchange-plugin/
+ *
+ * Copyright (c) 2010 "Cowboy" Ben Alman
+ * Dual licensed under the MIT and GPL licenses.
+ * http://benalman.com/about/license/
+ */
+(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);
+/**
+ * jQuery.ScrollTo - Easy element scrolling using jQuery.
+ * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
+ * Dual licensed under MIT and GPL.
+ * Date: 5/25/2009
+ * @author Ariel Flesler
+ * @version 1.4.2
+ *
+ * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
+ */
+;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
diff --git a/doc/html/language_8php.html b/doc/html/language_8php.html
new file mode 100644
index 000000000..3f6609dc4
--- /dev/null
+++ b/doc/html/language_8php.html
@@ -0,0 +1,323 @@
+<!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: include/language.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="rhash-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('language_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">language.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:ace67d6cad57da08d030ad9dc9b8c836e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e">get_browser_language</a> ()</td></tr>
+<tr class="separator:ace67d6cad57da08d030ad9dc9b8c836e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a980dee1d8715a98ab02e36b59facf8ed"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">get_best_language</a> ()</td></tr>
+<tr class="separator:a980dee1d8715a98ab02e36b59facf8ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9142ef1d01a235c760deb0f16643f5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="language_8php.html#ac9142ef1d01a235c760deb0f16643f5a">push_lang</a> ($language)</td></tr>
+<tr class="separator:ac9142ef1d01a235c760deb0f16643f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78bd204955ec4cc3a9ac651285a1689d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="language_8php.html#a78bd204955ec4cc3a9ac651285a1689d">pop_lang</a> ()</td></tr>
+<tr class="separator:a78bd204955ec4cc3a9ac651285a1689d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e9904c730bb24ddcb0ff50fc96f6b05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05">load_translation_table</a> ($lang, $install=false)</td></tr>
+<tr class="separator:a7e9904c730bb24ddcb0ff50fc96f6b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae0c3638fb476ae1e31f8d242f5dac04"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04">t</a> ($s)</td></tr>
+<tr class="separator:aae0c3638fb476ae1e31f8d242f5dac04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae310fb3880484ee1cc4faefe0c63c06d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d">tt</a> ($singular, $plural, $count)</td></tr>
+<tr class="separator:ae310fb3880484ee1cc4faefe0c63c06d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a151e5b4689aef86a12642cbb7a00bfe0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0">string_plural_select_default</a> ($<a class="el" href="php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b">n</a>)</td></tr>
+<tr class="separator:a151e5b4689aef86a12642cbb7a00bfe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a632da17c7ac0d2dc1a00a4706870194b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language</a> ($s)</td></tr>
+<tr class="separator:a632da17c7ac0d2dc1a00a4706870194b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a632da17c7ac0d2dc1a00a4706870194b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">detect_language </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>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>
+
+</div>
+</div>
+<a class="anchor" id="a980dee1d8715a98ab02e36b59facf8ed"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_best_language </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ace67d6cad57da08d030ad9dc9b8c836e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_browser_language </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>translation support</p>
+<p>Get the language setting directly from system variables, bypassing <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config()</a> as database may not yet be configured.</p>
+<p>If possible, we use the value from the browser. </p>
+
+<p>Referenced by <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, and <a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">get_best_language()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7e9904c730bb24ddcb0ff50fc96f6b05"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">load_translation_table </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$lang</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$install</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="language_8php.html#ac9142ef1d01a235c760deb0f16643f5a">push_lang()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a78bd204955ec4cc3a9ac651285a1689d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pop_lang </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, and <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac9142ef1d01a235c760deb0f16643f5a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">push_lang </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$language</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, and <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a151e5b4689aef86a12642cbb7a00bfe0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">string_plural_select_default </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$n</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aae0c3638fb476ae1e31f8d242f5dac04"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">t </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>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#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="profile__advanced_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="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#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bbcode_8php.html#a52c45273fbb7ce5ec27094f7936856e1">bb_ShareAttributes()</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="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#a1e97305a441dc143edbe09e17d1ceda1">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="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_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="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</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="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="boot_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#a05b7f26dc2df78681f57eeade53040c6">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#ab0227978011d8601494a7651fa26acf0">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#ab4d9e5b59f48787cb01baae5dc6c381f">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="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_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="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#a51f2ec7a143d5a5b38e35efd5f3d6e2c">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="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</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="boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs()</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#a29a6e1ef07465d1617d836b859b3b2b2">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="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#ac382fdcdf990dcfa8f6528ab8fd280bd">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="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#abdb698bc6921429df6d697f6c5dec96f">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="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="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>
+<a class="anchor" id="ae310fb3880484ee1cc4faefe0c63c06d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tt </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$singular</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$plural</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$count</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="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, and <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/language_8php.js b/doc/html/language_8php.js
new file mode 100644
index 000000000..ed2266957
--- /dev/null
+++ b/doc/html/language_8php.js
@@ -0,0 +1,12 @@
+var language_8php =
+[
+ [ "detect_language", "language_8php.html#a632da17c7ac0d2dc1a00a4706870194b", null ],
+ [ "get_best_language", "language_8php.html#a980dee1d8715a98ab02e36b59facf8ed", null ],
+ [ "get_browser_language", "language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e", null ],
+ [ "load_translation_table", "language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05", null ],
+ [ "pop_lang", "language_8php.html#a78bd204955ec4cc3a9ac651285a1689d", null ],
+ [ "push_lang", "language_8php.html#ac9142ef1d01a235c760deb0f16643f5a", null ],
+ [ "string_plural_select_default", "language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0", null ],
+ [ "t", "language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04", null ],
+ [ "tt", "language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/lastpost_8php.html b/doc/html/lastpost_8php.html
new file mode 100644
index 000000000..a5752d4f8
--- /dev/null
+++ b/doc/html/lastpost_8php.html
@@ -0,0 +1,190 @@
+<!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/lastpost.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="rhash-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('lastpost_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">lastpost.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:ab4c6ebd25736af678e64d55ce508ce8c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c">lastpost_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ab4c6ebd25736af678e64d55ce508ce8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6108289ef2a767495c7c85a24f364983"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside</a> (&amp;$a)</td></tr>
+<tr class="separator:a6108289ef2a767495c7c85a24f364983"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a82f14cce5d3cfe27f40bdbd2c679d493"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content</a> (&amp;$a, $update=0, $load=false)</td></tr>
+<tr class="separator:a82f14cce5d3cfe27f40bdbd2c679d493"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a6108289ef2a767495c7c85a24f364983"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">lastpost_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="a82f14cce5d3cfe27f40bdbd2c679d493"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">lastpost_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$load</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups</p>
+
+</div>
+</div>
+<a class="anchor" id="ab4c6ebd25736af678e64d55ce508ce8c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">lastpost_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/lastpost_8php.js b/doc/html/lastpost_8php.js
new file mode 100644
index 000000000..aed5ab589
--- /dev/null
+++ b/doc/html/lastpost_8php.js
@@ -0,0 +1,6 @@
+var lastpost_8php =
+[
+ [ "lastpost_aside", "lastpost_8php.html#a6108289ef2a767495c7c85a24f364983", null ],
+ [ "lastpost_content", "lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493", null ],
+ [ "lastpost_init", "lastpost_8php.html#ab4c6ebd25736af678e64d55ce508ce8c", null ]
+]; \ No newline at end of file
diff --git a/doc/html/layouts_8php.html b/doc/html/layouts_8php.html
new file mode 100644
index 000000000..809bee6c7
--- /dev/null
+++ b/doc/html/layouts_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/layouts.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="rhash-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('layouts_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">layouts.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:a6e0193759ad9eef76d3df2db24237b50"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a6e0193759ad9eef76d3df2db24237b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a6e0193759ad9eef76d3df2db24237b50"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">layouts_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/layouts_8php.js b/doc/html/layouts_8php.js
new file mode 100644
index 000000000..ee929d2fc
--- /dev/null
+++ b/doc/html/layouts_8php.js
@@ -0,0 +1,4 @@
+var layouts_8php =
+[
+ [ "layouts_content", "layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50", null ]
+]; \ No newline at end of file
diff --git a/doc/html/like_8php.html b/doc/html/like_8php.html
new file mode 100644
index 000000000..c21ee8815
--- /dev/null
+++ b/doc/html/like_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/like.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="rhash-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('like_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">like.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:a9d7dd268f21c21e9d29dd2aca2dd9538"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a9d7dd268f21c21e9d29dd2aca2dd9538"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a9d7dd268f21c21e9d29dd2aca2dd9538"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">like_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/like_8php.js b/doc/html/like_8php.js
new file mode 100644
index 000000000..9706955e1
--- /dev/null
+++ b/doc/html/like_8php.js
@@ -0,0 +1,4 @@
+var like_8php =
+[
+ [ "like_content", "like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538", null ]
+]; \ No newline at end of file
diff --git a/doc/html/lockview_8php.html b/doc/html/lockview_8php.html
new file mode 100644
index 000000000..7db48f0d0
--- /dev/null
+++ b/doc/html/lockview_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/lockview.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="rhash-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('lockview_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">lockview.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:a851e26ab9a1008df5c5ebebea31e9b44"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a851e26ab9a1008df5c5ebebea31e9b44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a851e26ab9a1008df5c5ebebea31e9b44"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">lockview_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/lockview_8php.js b/doc/html/lockview_8php.js
new file mode 100644
index 000000000..7a5d6a5a8
--- /dev/null
+++ b/doc/html/lockview_8php.js
@@ -0,0 +1,4 @@
+var lockview_8php =
+[
+ [ "lockview_content", "lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44", null ]
+]; \ No newline at end of file
diff --git a/doc/html/login_8php.html b/doc/html/login_8php.html
new file mode 100644
index 000000000..b26bfc750
--- /dev/null
+++ b/doc/html/login_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/login.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="rhash-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('login_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">login.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:a1d69ca88eb9005a7026e128b9a645904"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a1d69ca88eb9005a7026e128b9a645904"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a1d69ca88eb9005a7026e128b9a645904"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">login_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/login_8php.js b/doc/html/login_8php.js
new file mode 100644
index 000000000..7acaf7886
--- /dev/null
+++ b/doc/html/login_8php.js
@@ -0,0 +1,4 @@
+var login_8php =
+[
+ [ "login_content", "login_8php.html#a1d69ca88eb9005a7026e128b9a645904", null ]
+]; \ No newline at end of file
diff --git a/doc/html/lostpass_8php.html b/doc/html/lostpass_8php.html
new file mode 100644
index 000000000..f8c12deda
--- /dev/null
+++ b/doc/html/lostpass_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/lostpass.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="rhash-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('lostpass_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">lostpass.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:a8ed35ba71a4404eaf4903da61d0321cc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a8ed35ba71a4404eaf4903da61d0321cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0314d94e48c789b1b3a201d740c9eab3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a0314d94e48c789b1b3a201d740c9eab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a0314d94e48c789b1b3a201d740c9eab3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">lostpass_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="a8ed35ba71a4404eaf4903da61d0321cc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">lostpass_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/lostpass_8php.js b/doc/html/lostpass_8php.js
new file mode 100644
index 000000000..a6f1eb8ff
--- /dev/null
+++ b/doc/html/lostpass_8php.js
@@ -0,0 +1,5 @@
+var lostpass_8php =
+[
+ [ "lostpass_content", "lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3", null ],
+ [ "lostpass_post", "lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc", null ]
+]; \ No newline at end of file
diff --git a/doc/html/magic_8php.html b/doc/html/magic_8php.html
new file mode 100644
index 000000000..79231f66f
--- /dev/null
+++ b/doc/html/magic_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/magic.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="rhash-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('magic_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">magic.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:acea2cc792849ca2d71d4b689f66518bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init</a> (&amp;$a)</td></tr>
+<tr class="separator:acea2cc792849ca2d71d4b689f66518bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="acea2cc792849ca2d71d4b689f66518bf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">magic_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/magic_8php.js b/doc/html/magic_8php.js
new file mode 100644
index 000000000..331687144
--- /dev/null
+++ b/doc/html/magic_8php.js
@@ -0,0 +1,4 @@
+var magic_8php =
+[
+ [ "magic_init", "magic_8php.html#acea2cc792849ca2d71d4b689f66518bf", null ]
+]; \ No newline at end of file
diff --git a/doc/html/manage_8php.html b/doc/html/manage_8php.html
new file mode 100644
index 000000000..b64321642
--- /dev/null
+++ b/doc/html/manage_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/manage.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="rhash-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('manage_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">manage.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:a2bca247b5296827638959138367db4f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a2bca247b5296827638959138367db4f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a2bca247b5296827638959138367db4f5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">manage_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/manage_8php.js b/doc/html/manage_8php.js
new file mode 100644
index 000000000..222f22c2a
--- /dev/null
+++ b/doc/html/manage_8php.js
@@ -0,0 +1,4 @@
+var manage_8php =
+[
+ [ "manage_content", "manage_8php.html#a2bca247b5296827638959138367db4f5", null ]
+]; \ No newline at end of file
diff --git a/doc/html/match_8php.html b/doc/html/match_8php.html
new file mode 100644
index 000000000..576b896bc
--- /dev/null
+++ b/doc/html/match_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/match.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="rhash-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('match_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">match.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:a1dd853e959b9e70c1911bb2fb5f5130d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a1dd853e959b9e70c1911bb2fb5f5130d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a1dd853e959b9e70c1911bb2fb5f5130d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">match_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/match_8php.js b/doc/html/match_8php.js
new file mode 100644
index 000000000..2634e9eaa
--- /dev/null
+++ b/doc/html/match_8php.js
@@ -0,0 +1,4 @@
+var match_8php =
+[
+ [ "match_content", "match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/md_README.html b/doc/html/md_README.html
new file mode 100644
index 000000000..c1c4efb72
--- /dev/null
+++ b/doc/html/md_README.html
@@ -0,0 +1,113 @@
+<!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: Redstrap theme</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="rhash-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 class="current"><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><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><!-- 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('md_README.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">Redstrap theme </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h2>Licensing</h2>
+<p>This theme is intended to work with <a class="el" href="namespaceFriendica.html">Friendica</a> Red (MIT license). It's based on Twitter's Bootstrap (Apache license).</p>
+<p>Redstrap itself is currently under the MIT license.</p>
+<h2>Status</h2>
+<p>It's a work in progress. Most basic aspects should be working, but it lacks quite a bit of polish here and there. It's expected to work on Red's latest git.</p>
+<h2>Installation</h2>
+<p>The 'redstrap' should be cloned into Red's /view/theme/ directory as "redstrap". </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/md_config.html b/doc/html/md_config.html
new file mode 100644
index 000000000..466f0200d
--- /dev/null
+++ b/doc/html/md_config.html
@@ -0,0 +1,112 @@
+<!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: CLI config utility</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="rhash-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 class="current"><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><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><!-- 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('md_config.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">CLI config utility </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Usage:</p>
+<p>config displays all config entries</p>
+<p>config family displays all config entries for family (system, database, etc)</p>
+<p>config family key displays single config entry for specified family and key</p>
+<p>config family key value set config entry for specified family and key to value and display result</p>
+<p>Notes: Setting config entries which are manually set in .htconfig.php may result in conflict between database settings and the manual startup settings. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/md_fresh.html b/doc/html/md_fresh.html
new file mode 100644
index 000000000..710177107
--- /dev/null
+++ b/doc/html/md_fresh.html
@@ -0,0 +1,124 @@
+<!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: Fresh - The Freaking REd Shell</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="rhash-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 class="current"><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><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><!-- 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('md_fresh.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">Fresh - The Freaking REd Shell </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>This will only work on Unix/Linux. If the readline module is installed, we will use that for input, otherwise we will just read from stdin and write to stdout.</p>
+<p>Commands are processed sequentially until the command "exit", "quit", or end of file is reached.</p>
+<p>Commands:</p>
+<ul>
+<li>version Report current fresh version</li>
+</ul>
+<ul>
+<li>login email_address Prompts for a password, and authenticates email_address as the current user.</li>
+</ul>
+<ul>
+<li>finger channel_address performs a lookup of channel_address and reports the result.</li>
+</ul>
+<ul>
+<li>channel channel_nickname switches the current channel to the channel with nickname specified.</li>
+</ul>
+<ul>
+<li>conn [id1 id2 ...] With no arguments lists all connections of the current channel, with an id. If IDs are provided the connections details of each will be displayed. </li>
+</ul>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/minimal_8php.html b/doc/html/minimal_8php.html
new file mode 100644
index 000000000..410c086ff
--- /dev/null
+++ b/doc/html/minimal_8php.html
@@ -0,0 +1,112 @@
+<!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: view/php/minimal.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="rhash-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('minimal_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="headertitle">
+<div class="title">minimal.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/mitem_8php.html b/doc/html/mitem_8php.html
new file mode 100644
index 000000000..cd82d3cce
--- /dev/null
+++ b/doc/html/mitem_8php.html
@@ -0,0 +1,173 @@
+<!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/mitem.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="rhash-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('mitem_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">mitem.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:a9627cd857cafdf04e4fc0ae48c8e8518"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a9627cd857cafdf04e4fc0ae48c8e8518"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ee694cca4b551a20d7c7a94b5243ec1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a6ee694cca4b551a20d7c7a94b5243ec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a31b702ecad18eeb6a38b243ff0037e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a7a31b702ecad18eeb6a38b243ff0037e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a7a31b702ecad18eeb6a38b243ff0037e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">mitem_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="a9627cd857cafdf04e4fc0ae48c8e8518"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">mitem_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="a6ee694cca4b551a20d7c7a94b5243ec1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">mitem_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/mitem_8php.js b/doc/html/mitem_8php.js
new file mode 100644
index 000000000..35bca9217
--- /dev/null
+++ b/doc/html/mitem_8php.js
@@ -0,0 +1,6 @@
+var mitem_8php =
+[
+ [ "mitem_content", "mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e", null ],
+ [ "mitem_init", "mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518", null ],
+ [ "mitem_post", "mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod_2api_8php.html b/doc/html/mod_2api_8php.html
new file mode 100644
index 000000000..829fb2cf7
--- /dev/null
+++ b/doc/html/mod_2api_8php.html
@@ -0,0 +1,175 @@
+<!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/api.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="rhash-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('mod_2api_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">api.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:a02ae0f60e240dc806b860edb7d582117"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">oauth_get_client</a> ($request)</td></tr>
+<tr class="separator:a02ae0f60e240dc806b860edb7d582117"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fe77f05c07cb51048df0d557b4b9bd2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a6fe77f05c07cb51048df0d557b4b9bd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33315b5bbf5418f6850b2038107b526d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a33315b5bbf5418f6850b2038107b526d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a33315b5bbf5418f6850b2038107b526d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_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="a6fe77f05c07cb51048df0d557b4b9bd2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">api_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="a02ae0f60e240dc806b860edb7d582117"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oauth_get_client </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$request</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/mod_2api_8php.js b/doc/html/mod_2api_8php.js
new file mode 100644
index 000000000..61f9c7f58
--- /dev/null
+++ b/doc/html/mod_2api_8php.js
@@ -0,0 +1,6 @@
+var mod_2api_8php =
+[
+ [ "api_content", "mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d", null ],
+ [ "api_post", "mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2", null ],
+ [ "oauth_get_client", "mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod_2attach_8php.html b/doc/html/mod_2attach_8php.html
new file mode 100644
index 000000000..034d27ae7
--- /dev/null
+++ b/doc/html/mod_2attach_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/attach.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="rhash-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('mod_2attach_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">attach.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:aa88eb5ad87aa1036a30e70339cc6c1b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init</a> (&amp;$a)</td></tr>
+<tr class="separator:aa88eb5ad87aa1036a30e70339cc6c1b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa88eb5ad87aa1036a30e70339cc6c1b1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">attach_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/mod_2attach_8php.js b/doc/html/mod_2attach_8php.js
new file mode 100644
index 000000000..19c8c722e
--- /dev/null
+++ b/doc/html/mod_2attach_8php.js
@@ -0,0 +1,4 @@
+var mod_2attach_8php =
+[
+ [ "attach_init", "mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod_2directory_8php.html b/doc/html/mod_2directory_8php.html
new file mode 100644
index 000000000..25a40e698
--- /dev/null
+++ b/doc/html/mod_2directory_8php.html
@@ -0,0 +1,173 @@
+<!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/directory.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="rhash-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('mod_2directory_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">directory.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: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">
+ <table class="memname">
+ <tr>
+ <td class="memname">directory_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="a5ee59c213508b6b9787612a8219cb5bf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">directory_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/mod_2directory_8php.js b/doc/html/mod_2directory_8php.js
new file mode 100644
index 000000000..9628750ce
--- /dev/null
+++ b/doc/html/mod_2directory_8php.js
@@ -0,0 +1,6 @@
+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_2follow_8php.html b/doc/html/mod_2follow_8php.html
new file mode 100644
index 000000000..45c1294b9
--- /dev/null
+++ b/doc/html/mod_2follow_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/follow.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="rhash-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('mod_2follow_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">follow.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:a171f5b19f50d7738adc3b2e96ec6018a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a171f5b19f50d7738adc3b2e96ec6018a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c540ea4e9f5c581c1a53516ac585592"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592">follow_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a4c540ea4e9f5c581c1a53516ac585592"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a4c540ea4e9f5c581c1a53516ac585592"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">follow_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="a171f5b19f50d7738adc3b2e96ec6018a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">follow_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/mod_2follow_8php.js b/doc/html/mod_2follow_8php.js
new file mode 100644
index 000000000..8ca687406
--- /dev/null
+++ b/doc/html/mod_2follow_8php.js
@@ -0,0 +1,5 @@
+var mod_2follow_8php =
+[
+ [ "follow_content", "mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592", null ],
+ [ "follow_init", "mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod_2group_8php.html b/doc/html/mod_2group_8php.html
new file mode 100644
index 000000000..7405dbefe
--- /dev/null
+++ b/doc/html/mod_2group_8php.html
@@ -0,0 +1,173 @@
+<!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/group.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="rhash-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('mod_2group_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">group.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: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">
+ <table class="memname">
+ <tr>
+ <td class="memname">group_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="aed1f009b1221348021bb34761160ef35"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">group_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/mod_2group_8php.js b/doc/html/mod_2group_8php.js
new file mode 100644
index 000000000..361f32a48
--- /dev/null
+++ b/doc/html/mod_2group_8php.js
@@ -0,0 +1,6 @@
+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_2menu_8php.html b/doc/html/mod_2menu_8php.html
new file mode 100644
index 000000000..756912442
--- /dev/null
+++ b/doc/html/mod_2menu_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/menu.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="rhash-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('mod_2menu_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">menu.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:aaa491ef173868fe002aece4632bcf393"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post</a> (&amp;$a)</td></tr>
+<tr class="separator:aaa491ef173868fe002aece4632bcf393"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fed23af14d71a78a4153c8363a685cf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a6fed23af14d71a78a4153c8363a685cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a6fed23af14d71a78a4153c8363a685cf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_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="aaa491ef173868fe002aece4632bcf393"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">menu_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/mod_2menu_8php.js b/doc/html/mod_2menu_8php.js
new file mode 100644
index 000000000..a1f6e1d9f
--- /dev/null
+++ b/doc/html/mod_2menu_8php.js
@@ -0,0 +1,5 @@
+var mod_2menu_8php =
+[
+ [ "menu_content", "mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf", null ],
+ [ "menu_post", "mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod_2message_8php.html b/doc/html/mod_2message_8php.html
new file mode 100644
index 000000000..b4049e3f1
--- /dev/null
+++ b/doc/html/mod_2message_8php.html
@@ -0,0 +1,174 @@
+<!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/message.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="rhash-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('mod_2message_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">message.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: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="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(!function_exists('<a class="el" href="conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654">item_extract_images</a>')) <br class="typebreak"/>
+<a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">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>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af4ba72486117cc24335fd8e92a2112a7"></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="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (!function_exists('<a class="el" href="conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654">item_extract_images</a>')) <a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">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>(</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/mod_2message_8php.js b/doc/html/mod_2message_8php.js
new file mode 100644
index 000000000..10f9423f9
--- /dev/null
+++ b/doc/html/mod_2message_8php.js
@@ -0,0 +1,6 @@
+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 ]
+]; \ No newline at end of file
diff --git a/doc/html/mod_2network_8php.html b/doc/html/mod_2network_8php.html
new file mode 100644
index 000000000..acb93b9c7
--- /dev/null
+++ b/doc/html/mod_2network_8php.html
@@ -0,0 +1,216 @@
+<!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/network.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="rhash-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('mod_2network_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">network.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: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:aeaa518c1a317516a3da337b88d358666"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2network_8php.html#aeaa518c1a317516a3da337b88d358666">network_query_get_sel_tab</a> ($a)</td></tr>
+<tr class="separator:aeaa518c1a317516a3da337b88d358666"><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>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a43f2f29b90c5e29072c561934bc8f8b4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">network_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$load</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="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a180fce90ad11d7e0e45be094da7149ec"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">network_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="aeaa518c1a317516a3da337b88d358666"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">network_query_get_sel_tab </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Return selected tab from query</p>
+<p>urls -&gt; returns '/network' =&gt; $no_active = 'active' '/network?f=&amp;order=comment' =&gt; $comment_active = 'active' '/network?f=&amp;order=post' =&gt; $postord_active = 'active' '/network?f=&amp;conv=1', =&gt; $conv_active = 'active' '/network/new', =&gt; $new_active = 'active' '/network?f=&amp;star=1', =&gt; $starred_active = 'active' '/network?f=&amp;spam=1', =&gt; $spam_active = 'active'</p>
+<dl class="section return"><dt>Returns</dt><dd>Array ( $no_active, $comment_active, $postord_active, $conv_active, $new_active, $starred_active, $spam_active ); </dd></dl>
+
+<p>Referenced by <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>.</p>
+
+</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
new file mode 100644
index 000000000..4bc180c33
--- /dev/null
+++ b/doc/html/mod_2network_8php.js
@@ -0,0 +1,7 @@
+var mod_2network_8php =
+[
+ [ "network_content", "mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4", null ],
+ [ "network_init", "mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec", null ],
+ [ "network_query_get_sel_tab", "mod_2network_8php.html#aeaa518c1a317516a3da337b88d358666", null ],
+ [ "saved_searches", "mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod_2notify_8php.html b/doc/html/mod_2notify_8php.html
new file mode 100644
index 000000000..67a9fc74b
--- /dev/null
+++ b/doc/html/mod_2notify_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/notify.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="rhash-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('mod_2notify_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">notify.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:a94f9a6a9d4b5fd704baafff0c34f41ae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a94f9a6a9d4b5fd704baafff0c34f41ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acdf3851688ebd6d6a575eb84ef9febe3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content</a> (&amp;$a)</td></tr>
+<tr class="separator:acdf3851688ebd6d6a575eb84ef9febe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="acdf3851688ebd6d6a575eb84ef9febe3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">notify_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="a94f9a6a9d4b5fd704baafff0c34f41ae"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">notify_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/mod_2notify_8php.js b/doc/html/mod_2notify_8php.js
new file mode 100644
index 000000000..cb5e5e71e
--- /dev/null
+++ b/doc/html/mod_2notify_8php.js
@@ -0,0 +1,5 @@
+var mod_2notify_8php =
+[
+ [ "notify_content", "mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3", null ],
+ [ "notify_init", "mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod_2oembed_8php.html b/doc/html/mod_2oembed_8php.html
new file mode 100644
index 000000000..22dd69196
--- /dev/null
+++ b/doc/html/mod_2oembed_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/oembed.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="rhash-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('mod_2oembed_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">oembed.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:a9145025aaf057fb5d3f9f7011e5e1014"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a9145025aaf057fb5d3f9f7011e5e1014"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a9145025aaf057fb5d3f9f7011e5e1014"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oembed_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/mod_2oembed_8php.js b/doc/html/mod_2oembed_8php.js
new file mode 100644
index 000000000..fa9f10f16
--- /dev/null
+++ b/doc/html/mod_2oembed_8php.js
@@ -0,0 +1,4 @@
+var mod_2oembed_8php =
+[
+ [ "oembed_init", "mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod_2photos_8php.html b/doc/html/mod_2photos_8php.html
new file mode 100644
index 000000000..597449f36
--- /dev/null
+++ b/doc/html/mod_2photos_8php.html
@@ -0,0 +1,176 @@
+<!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/photos.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="rhash-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('mod_2photos_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">photos.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:ab950295cd77626f5fe65331a87693014"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ab950295cd77626f5fe65331a87693014"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a062bed4d04d14fee8a53f4c9be673080"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a062bed4d04d14fee8a53f4c9be673080"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa87382611a66ec5effdb2d78f13f5812"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aa87382611a66ec5effdb2d78f13f5812"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa87382611a66ec5effdb2d78f13f5812"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photos_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">
+<p>Display upload form</p>
+<p>Display one photo</p>
+
+</div>
+</div>
+<a class="anchor" id="ab950295cd77626f5fe65331a87693014"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photos_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="a062bed4d04d14fee8a53f4c9be673080"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photos_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">
+<p>default post action - upload a photo</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/mod_2photos_8php.js b/doc/html/mod_2photos_8php.js
new file mode 100644
index 000000000..5048ba9c1
--- /dev/null
+++ b/doc/html/mod_2photos_8php.js
@@ -0,0 +1,6 @@
+var mod_2photos_8php =
+[
+ [ "photos_content", "mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812", null ],
+ [ "photos_init", "mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014", null ],
+ [ "photos_post", "mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod_2settings_8php.html b/doc/html/mod_2settings_8php.html
new file mode 100644
index 000000000..4e3633c56
--- /dev/null
+++ b/doc/html/mod_2settings_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/settings.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="rhash-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('mod_2settings_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">settings.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:a39abc76ff5459c57e3b957664f273f18"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2settings_8php.html#a39abc76ff5459c57e3b957664f273f18">get_theme_config_file</a> ($theme)</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="mod_2settings_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="mod_2settings_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="mod_2settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post</a> (&amp;$a)</td></tr>
+<tr class="separator:aa7ee94d88ac088edb04ccf3a26de3586"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a39abc76ff5459c57e3b957664f273f18"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_theme_config_file </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$theme</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mod_2settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
+
+</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">
+ <table class="memname">
+ <tr>
+ <td class="memname">settings_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="aa7ee94d88ac088edb04ccf3a26de3586"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">settings_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/mod_2settings_8php.js b/doc/html/mod_2settings_8php.js
new file mode 100644
index 000000000..272bdc623
--- /dev/null
+++ b/doc/html/mod_2settings_8php.js
@@ -0,0 +1,7 @@
+var mod_2settings_8php =
+[
+ [ "get_theme_config_file", "mod_2settings_8php.html#a39abc76ff5459c57e3b957664f273f18", null ],
+ [ "settings_aside", "mod_2settings_8php.html#ae5aebccb006bee1300078576baaf5582", null ],
+ [ "settings_init", "mod_2settings_8php.html#a3a4cde287482fced008583f54ba2a722", null ],
+ [ "settings_post", "mod_2settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod__import_8php.html b/doc/html/mod__import_8php.html
new file mode 100644
index 000000000..73cc22718
--- /dev/null
+++ b/doc/html/mod__import_8php.html
@@ -0,0 +1,135 @@
+<!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: view/php/mod_import.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="rhash-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('mod__import_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">mod_import.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a8db1899eeeb44dabd0904065b63627bb"><td class="memItemLeft" align="right" valign="top">$a&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a> ['template'] = 'full'</td></tr>
+<tr class="separator:a8db1899eeeb44dabd0904065b63627bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a8db1899eeeb44dabd0904065b63627bb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$a page['template'] = 'full'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, and <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/mod__import_8php.js b/doc/html/mod__import_8php.js
new file mode 100644
index 000000000..906263adf
--- /dev/null
+++ b/doc/html/mod__import_8php.js
@@ -0,0 +1,4 @@
+var mod__import_8php =
+[
+ [ "page", "mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod__new__channel_8php.html b/doc/html/mod__new__channel_8php.html
new file mode 100644
index 000000000..70dd374f4
--- /dev/null
+++ b/doc/html/mod__new__channel_8php.html
@@ -0,0 +1,133 @@
+<!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: view/php/mod_new_channel.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="rhash-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('mod__new__channel_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">mod_new_channel.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a8db1899eeeb44dabd0904065b63627bb"><td class="memItemLeft" align="right" valign="top">$a&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod__new__channel_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a> ['template'] = 'full'</td></tr>
+<tr class="separator:a8db1899eeeb44dabd0904065b63627bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a8db1899eeeb44dabd0904065b63627bb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$a page['template'] = 'full'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/mod__new__channel_8php.js b/doc/html/mod__new__channel_8php.js
new file mode 100644
index 000000000..81be48cb5
--- /dev/null
+++ b/doc/html/mod__new__channel_8php.js
@@ -0,0 +1,4 @@
+var mod__new__channel_8php =
+[
+ [ "page", "mod__new__channel_8php.html#a8db1899eeeb44dabd0904065b63627bb", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mod__register_8php.html b/doc/html/mod__register_8php.html
new file mode 100644
index 000000000..a20f3ecd7
--- /dev/null
+++ b/doc/html/mod__register_8php.html
@@ -0,0 +1,133 @@
+<!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: view/php/mod_register.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="rhash-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('mod__register_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">mod_register.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a8db1899eeeb44dabd0904065b63627bb"><td class="memItemLeft" align="right" valign="top">$a&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a> ['template'] = 'full'</td></tr>
+<tr class="separator:a8db1899eeeb44dabd0904065b63627bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a8db1899eeeb44dabd0904065b63627bb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$a page['template'] = 'full'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/mod__register_8php.js b/doc/html/mod__register_8php.js
new file mode 100644
index 000000000..ac5d5ab70
--- /dev/null
+++ b/doc/html/mod__register_8php.js
@@ -0,0 +1,4 @@
+var mod__register_8php =
+[
+ [ "page", "mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb", null ]
+]; \ No newline at end of file
diff --git a/doc/html/mood_8php.html b/doc/html/mood_8php.html
new file mode 100644
index 000000000..8215acc76
--- /dev/null
+++ b/doc/html/mood_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/mood.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="rhash-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('mood_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">mood.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:a7ae136dd7476865b4828136175db5022"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a7ae136dd7476865b4828136175db5022"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a721b9b6703b3234a005641c92d409b8f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a721b9b6703b3234a005641c92d409b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a721b9b6703b3234a005641c92d409b8f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">mood_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="a7ae136dd7476865b4828136175db5022"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">mood_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/mood_8php.js b/doc/html/mood_8php.js
new file mode 100644
index 000000000..48b12ef8f
--- /dev/null
+++ b/doc/html/mood_8php.js
@@ -0,0 +1,5 @@
+var mood_8php =
+[
+ [ "mood_content", "mood_8php.html#a721b9b6703b3234a005641c92d409b8f", null ],
+ [ "mood_init", "mood_8php.html#a7ae136dd7476865b4828136175db5022", null ]
+]; \ No newline at end of file
diff --git a/doc/html/msearch_8php.html b/doc/html/msearch_8php.html
new file mode 100644
index 000000000..4231ba63a
--- /dev/null
+++ b/doc/html/msearch_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/msearch.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="rhash-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('msearch_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">msearch.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:ac80d2a6c0a92e79eec7efbbccd74d9a8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post</a> (&amp;$a)</td></tr>
+<tr class="separator:ac80d2a6c0a92e79eec7efbbccd74d9a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ac80d2a6c0a92e79eec7efbbccd74d9a8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msearch_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/msearch_8php.js b/doc/html/msearch_8php.js
new file mode 100644
index 000000000..16b349389
--- /dev/null
+++ b/doc/html/msearch_8php.js
@@ -0,0 +1,4 @@
+var msearch_8php =
+[
+ [ "msearch_post", "msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8", null ]
+]; \ No newline at end of file
diff --git a/doc/html/namespaceFriendica.html b/doc/html/namespaceFriendica.html
new file mode 100644
index 000000000..a4d16b022
--- /dev/null
+++ b/doc/html/namespaceFriendica.html
@@ -0,0 +1,115 @@
+<!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: Friendica Namespace 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="rhash-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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><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="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&#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('namespaceFriendica.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">Friendica Namespace Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>FileBrowser </p>
+<dl class="section author"><dt>Author</dt><dd>Fabio Comuni <a href="#" onclick="location.href='mai'+'lto:'+'fab'+'ri'+'xxm'+'@k'+'irg'+'ro'+'up.'+'co'+'m'; return false;">fabri<span style="display: none;">.nosp@m.</span>xxm@<span style="display: none;">.nosp@m.</span>kirgr<span style="display: none;">.nosp@m.</span>oup.<span style="display: none;">.nosp@m.</span>com</a> </dd></dl>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/namespaceacl__selectors.html b/doc/html/namespaceacl__selectors.html
new file mode 100644
index 000000000..ad98afb3a
--- /dev/null
+++ b/doc/html/namespaceacl__selectors.html
@@ -0,0 +1,112 @@
+<!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: acl_selectors Namespace 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="rhash-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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><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="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&#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('namespaceacl__selectors.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">acl_selectors Namespace Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/namespacefriendica-to-smarty-tpl.html b/doc/html/namespacefriendica-to-smarty-tpl.html
new file mode 100644
index 000000000..7124c430b
--- /dev/null
+++ b/doc/html/namespacefriendica-to-smarty-tpl.html
@@ -0,0 +1,378 @@
+<!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: friendica-to-smarty-tpl Namespace 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="rhash-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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><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="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&#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('namespacefriendica-to-smarty-tpl.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> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">friendica-to-smarty-tpl Namespace 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:a89388ea9b2826e8218ed480e917d8105"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a89388ea9b2826e8218ed480e917d8105">fToSmarty</a></td></tr>
+<tr class="separator:a89388ea9b2826e8218ed480e917d8105"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3719dd46e286a57d315e6adae1845854"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a3719dd46e286a57d315e6adae1845854">fix_element</a></td></tr>
+<tr class="separator:a3719dd46e286a57d315e6adae1845854"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38503e37fe68ac27c88cce91a9ac9efa"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a38503e37fe68ac27c88cce91a9ac9efa">convert</a></td></tr>
+<tr class="separator:a38503e37fe68ac27c88cce91a9ac9efa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6b2c793958aae2aadc294577431f749"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#af6b2c793958aae2aadc294577431f749">help</a></td></tr>
+<tr class="separator:af6b2c793958aae2aadc294577431f749"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a0b4cf73d1a8d201a28d269eeb62a5d5c"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a0b4cf73d1a8d201a28d269eeb62a5d5c">ldelim</a> = '{{'</td></tr>
+<tr class="separator:a0b4cf73d1a8d201a28d269eeb62a5d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8540514fb7c4aa18ad2dffa2a975036b"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a8540514fb7c4aa18ad2dffa2a975036b">rdelim</a> = '}}'</td></tr>
+<tr class="separator:a8540514fb7c4aa18ad2dffa2a975036b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68d15934660cd1f4301ce251b1646f09"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09">path</a> = ''</td></tr>
+<tr class="separator:a68d15934660cd1f4301ce251b1646f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a005c1b7a69cac31fad72a941974ba7bb"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a005c1b7a69cac31fad72a941974ba7bb">outpath</a> = <a class="el" href="namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09">path</a>+'smarty3/'</td></tr>
+<tr class="separator:a005c1b7a69cac31fad72a941974ba7bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae74419b16516956c66f7db714a93a6ac"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#ae74419b16516956c66f7db714a93a6ac">files</a> = os.listdir(<a class="el" href="namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09">path</a>)</td></tr>
+<tr class="separator:ae74419b16516956c66f7db714a93a6ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5dfc21ab8282dda8e3a7dff43cd0e283"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a5dfc21ab8282dda8e3a7dff43cd0e283">php_tpl</a> = True</td></tr>
+<tr class="separator:a5dfc21ab8282dda8e3a7dff43cd0e283"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f9bf7a67d955c0d6be70a82097611c5"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a5f9bf7a67d955c0d6be70a82097611c5">filename</a> = os.path.join(<a class="el" href="namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09">path</a>,a_file)</td></tr>
+<tr class="separator:a5f9bf7a67d955c0d6be70a82097611c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aecf730e0884bb4ddc6c0deb1ef85f8eb"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#aecf730e0884bb4ddc6c0deb1ef85f8eb">ext</a> = a_file.split('.')</td></tr>
+<tr class="separator:aecf730e0884bb4ddc6c0deb1ef85f8eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a965e1d6d6293654a56e029a7e454dec7"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a965e1d6d6293654a56e029a7e454dec7">f</a> = open(<a class="el" href="namespacefriendica-to-smarty-tpl.html#a5f9bf7a67d955c0d6be70a82097611c5">filename</a>, 'r')</td></tr>
+<tr class="separator:a965e1d6d6293654a56e029a7e454dec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9ef87ccb2c9960501f5e02424a22d80"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#ad9ef87ccb2c9960501f5e02424a22d80">newfilename</a> = os.path.join(<a class="el" href="namespacefriendica-to-smarty-tpl.html#a005c1b7a69cac31fad72a941974ba7bb">outpath</a>,a_file)</td></tr>
+<tr class="separator:ad9ef87ccb2c9960501f5e02424a22d80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87182a9bab47640428bd0b2b9946bef9"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefriendica-to-smarty-tpl.html#a87182a9bab47640428bd0b2b9946bef9">outf</a> = open(<a class="el" href="namespacefriendica-to-smarty-tpl.html#ad9ef87ccb2c9960501f5e02424a22d80">newfilename</a>, 'w')</td></tr>
+<tr class="separator:a87182a9bab47640428bd0b2b9946bef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a38503e37fe68ac27c88cce91a9ac9efa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">def friendica-to-smarty-tpl.convert </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>filename</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>tofilename</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>php_tpl</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="a3719dd46e286a57d315e6adae1845854"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">def friendica-to-smarty-tpl.fix_element </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>element</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="namespacefriendica-to-smarty-tpl.html#a38503e37fe68ac27c88cce91a9ac9efa">convert()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a89388ea9b2826e8218ed480e917d8105"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">def friendica-to-smarty-tpl.fToSmarty </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>matches</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af6b2c793958aae2aadc294577431f749"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">def friendica-to-smarty-tpl.help </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>pname</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="aecf730e0884bb4ddc6c0deb1ef85f8eb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tuple friendica-to-smarty-tpl.ext = a_file.split('.')</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a965e1d6d6293654a56e029a7e454dec7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tuple friendica-to-smarty-tpl.f = open(<a class="el" href="namespacefriendica-to-smarty-tpl.html#a5f9bf7a67d955c0d6be70a82097611c5">filename</a>, 'r')</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5f9bf7a67d955c0d6be70a82097611c5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tuple friendica-to-smarty-tpl.filename = os.path.join(<a class="el" href="namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09">path</a>,a_file)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9">FriendicaSmarty.parsed()</a>, and <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae74419b16516956c66f7db714a93a6ac"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tuple friendica-to-smarty-tpl.files = os.listdir(<a class="el" href="namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09">path</a>)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0b4cf73d1a8d201a28d269eeb62a5d5c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">string friendica-to-smarty-tpl.ldelim = '{{'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a">App.get_template_ldelim()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad9ef87ccb2c9960501f5e02424a22d80"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tuple friendica-to-smarty-tpl.newfilename = os.path.join(<a class="el" href="namespacefriendica-to-smarty-tpl.html#a005c1b7a69cac31fad72a941974ba7bb">outpath</a>,a_file)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a87182a9bab47640428bd0b2b9946bef9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tuple friendica-to-smarty-tpl.outf = open(<a class="el" href="namespacefriendica-to-smarty-tpl.html#ad9ef87ccb2c9960501f5e02424a22d80">newfilename</a>, 'w')</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a005c1b7a69cac31fad72a941974ba7bb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">string friendica-to-smarty-tpl.outpath = <a class="el" href="namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09">path</a>+'smarty3/'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a68d15934660cd1f4301ce251b1646f09"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">string friendica-to-smarty-tpl.path = ''</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App.__construct()</a>, <a class="el" href="classApp.html#a604d659d6977a99de42a160343e5289a">App.get_baseurl()</a>, <a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">App.set_baseurl()</a>, and <a class="el" href="classApp.html#adb060d5c7f35a521ec7ec0effbe08097">App.set_path()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5dfc21ab8282dda8e3a7dff43cd0e283"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friendica-to-smarty-tpl.php_tpl = True</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8540514fb7c4aa18ad2dffa2a975036b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">string friendica-to-smarty-tpl.rdelim = '}}'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#aab23c59172310fd30f2d60dc039d3eea">App.get_template_rdelim()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/namespacemembers.html b/doc/html/namespacemembers.html
new file mode 100644
index 000000000..0075b4f63
--- /dev/null
+++ b/doc/html/namespacemembers.html
@@ -0,0 +1,176 @@
+<!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: Namespace Members</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="rhash-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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><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="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li class="current"><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="namespacemembers.html"><span>All</span></a></li>
+ <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+ <li><a href="namespacemembers_vars.html"><span>Variables</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('namespacemembers.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="contents">
+<div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div><ul>
+<li>convert()
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a38503e37fe68ac27c88cce91a9ac9efa">friendica-to-smarty-tpl</a>
+</li>
+<li>excludepaths
+: <a class="el" href="namespaceupdatetpl.html#a988d937ed5d5c2b592b763036af5cf94">updatetpl</a>
+</li>
+<li>ext
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#aecf730e0884bb4ddc6c0deb1ef85f8eb">friendica-to-smarty-tpl</a>
+</li>
+<li>f
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a965e1d6d6293654a56e029a7e454dec7">friendica-to-smarty-tpl</a>
+</li>
+<li>filename
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a5f9bf7a67d955c0d6be70a82097611c5">friendica-to-smarty-tpl</a>
+</li>
+<li>files
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#ae74419b16516956c66f7db714a93a6ac">friendica-to-smarty-tpl</a>
+</li>
+<li>fix_element()
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a3719dd46e286a57d315e6adae1845854">friendica-to-smarty-tpl</a>
+</li>
+<li>fnull
+: <a class="el" href="namespaceupdatetpl.html#a79c20eb62d568c999b56eb08530355d3">updatetpl</a>
+</li>
+<li>fToSmarty()
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a89388ea9b2826e8218ed480e917d8105">friendica-to-smarty-tpl</a>
+</li>
+<li>help()
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#af6b2c793958aae2aadc294577431f749">friendica-to-smarty-tpl</a>
+, <a class="el" href="namespaceupdatetpl.html#ac9d11279fed403a329a719298feafc4f">updatetpl</a>
+</li>
+<li>ldelim
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a0b4cf73d1a8d201a28d269eeb62a5d5c">friendica-to-smarty-tpl</a>
+</li>
+<li>names
+: <a class="el" href="namespaceupdatetpl.html#ab42dd79af65ee82201fd6f04715f62f6">updatetpl</a>
+</li>
+<li>newfilename
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#ad9ef87ccb2c9960501f5e02424a22d80">friendica-to-smarty-tpl</a>
+</li>
+<li>outf
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a87182a9bab47640428bd0b2b9946bef9">friendica-to-smarty-tpl</a>
+</li>
+<li>outpath
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a005c1b7a69cac31fad72a941974ba7bb">friendica-to-smarty-tpl</a>
+</li>
+<li>path
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09">friendica-to-smarty-tpl</a>
+, <a class="el" href="namespaceupdatetpl.html#ae694f5e1f25f8a92a945eb90c432dfe6">updatetpl</a>
+</li>
+<li>php_tpl
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a5dfc21ab8282dda8e3a7dff43cd0e283">friendica-to-smarty-tpl</a>
+</li>
+<li>rdelim
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a8540514fb7c4aa18ad2dffa2a975036b">friendica-to-smarty-tpl</a>
+</li>
+<li>tplpaths
+: <a class="el" href="namespaceupdatetpl.html#a52a85ffa6b6d63d840b185a133478c12">updatetpl</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/namespacemembers_func.html b/doc/html/namespacemembers_func.html
new file mode 100644
index 000000000..998f6e1c2
--- /dev/null
+++ b/doc/html/namespacemembers_func.html
@@ -0,0 +1,130 @@
+<!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: Namespace Members</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="rhash-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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><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="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li class="current"><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="namespacemembers.html"><span>All</span></a></li>
+ <li class="current"><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+ <li><a href="namespacemembers_vars.html"><span>Variables</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('namespacemembers_func.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="contents">
+&#160;<ul>
+<li>convert()
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a38503e37fe68ac27c88cce91a9ac9efa">friendica-to-smarty-tpl</a>
+</li>
+<li>fix_element()
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a3719dd46e286a57d315e6adae1845854">friendica-to-smarty-tpl</a>
+</li>
+<li>fToSmarty()
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a89388ea9b2826e8218ed480e917d8105">friendica-to-smarty-tpl</a>
+</li>
+<li>help()
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#af6b2c793958aae2aadc294577431f749">friendica-to-smarty-tpl</a>
+, <a class="el" href="namespaceupdatetpl.html#ac9d11279fed403a329a719298feafc4f">updatetpl</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/namespacemembers_vars.html b/doc/html/namespacemembers_vars.html
new file mode 100644
index 000000000..6c3eed784
--- /dev/null
+++ b/doc/html/namespacemembers_vars.html
@@ -0,0 +1,163 @@
+<!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: Namespace Members</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="rhash-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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><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="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li class="current"><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="namespacemembers.html"><span>All</span></a></li>
+ <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="namespacemembers_vars.html"><span>Variables</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('namespacemembers_vars.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="contents">
+&#160;<ul>
+<li>excludepaths
+: <a class="el" href="namespaceupdatetpl.html#a988d937ed5d5c2b592b763036af5cf94">updatetpl</a>
+</li>
+<li>ext
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#aecf730e0884bb4ddc6c0deb1ef85f8eb">friendica-to-smarty-tpl</a>
+</li>
+<li>f
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a965e1d6d6293654a56e029a7e454dec7">friendica-to-smarty-tpl</a>
+</li>
+<li>filename
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a5f9bf7a67d955c0d6be70a82097611c5">friendica-to-smarty-tpl</a>
+</li>
+<li>files
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#ae74419b16516956c66f7db714a93a6ac">friendica-to-smarty-tpl</a>
+</li>
+<li>fnull
+: <a class="el" href="namespaceupdatetpl.html#a79c20eb62d568c999b56eb08530355d3">updatetpl</a>
+</li>
+<li>ldelim
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a0b4cf73d1a8d201a28d269eeb62a5d5c">friendica-to-smarty-tpl</a>
+</li>
+<li>names
+: <a class="el" href="namespaceupdatetpl.html#ab42dd79af65ee82201fd6f04715f62f6">updatetpl</a>
+</li>
+<li>newfilename
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#ad9ef87ccb2c9960501f5e02424a22d80">friendica-to-smarty-tpl</a>
+</li>
+<li>outf
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a87182a9bab47640428bd0b2b9946bef9">friendica-to-smarty-tpl</a>
+</li>
+<li>outpath
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a005c1b7a69cac31fad72a941974ba7bb">friendica-to-smarty-tpl</a>
+</li>
+<li>path
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09">friendica-to-smarty-tpl</a>
+, <a class="el" href="namespaceupdatetpl.html#ae694f5e1f25f8a92a945eb90c432dfe6">updatetpl</a>
+</li>
+<li>php_tpl
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a5dfc21ab8282dda8e3a7dff43cd0e283">friendica-to-smarty-tpl</a>
+</li>
+<li>rdelim
+: <a class="el" href="namespacefriendica-to-smarty-tpl.html#a8540514fb7c4aa18ad2dffa2a975036b">friendica-to-smarty-tpl</a>
+</li>
+<li>tplpaths
+: <a class="el" href="namespaceupdatetpl.html#a52a85ffa6b6d63d840b185a133478c12">updatetpl</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/namespaces.html b/doc/html/namespaces.html
new file mode 100644
index 000000000..c6d8c4715
--- /dev/null
+++ b/doc/html/namespaces.html
@@ -0,0 +1,121 @@
+<!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: Namespace 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="rhash-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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><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 class="current"><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&#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('namespaces.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">Namespace List</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all namespaces with brief descriptions:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceacl__selectors.html" target="_self">acl_selectors</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceFriendica.html" target="_self">Friendica</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacefriendica-to-smarty-tpl.html" target="_self">friendica-to-smarty-tpl</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceupdatetpl.html" target="_self">updatetpl</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceutil.html" target="_self">util</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/namespaces.js b/doc/html/namespaces.js
new file mode 100644
index 000000000..681592f37
--- /dev/null
+++ b/doc/html/namespaces.js
@@ -0,0 +1,8 @@
+var namespaces =
+[
+ [ "acl_selectors", "namespaceacl__selectors.html", null ],
+ [ "Friendica", "namespaceFriendica.html", null ],
+ [ "friendica-to-smarty-tpl", "namespacefriendica-to-smarty-tpl.html", null ],
+ [ "updatetpl", "namespaceupdatetpl.html", null ],
+ [ "util", "namespaceutil.html", null ]
+]; \ No newline at end of file
diff --git a/doc/html/namespaceupdatetpl.html b/doc/html/namespaceupdatetpl.html
new file mode 100644
index 000000000..c56391257
--- /dev/null
+++ b/doc/html/namespaceupdatetpl.html
@@ -0,0 +1,212 @@
+<!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: updatetpl Namespace 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="rhash-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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><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="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&#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('namespaceupdatetpl.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> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">updatetpl Namespace 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:ac9d11279fed403a329a719298feafc4f"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#ac9d11279fed403a329a719298feafc4f">help</a></td></tr>
+<tr class="separator:ac9d11279fed403a329a719298feafc4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ae694f5e1f25f8a92a945eb90c432dfe6"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#ae694f5e1f25f8a92a945eb90c432dfe6">path</a> = ''</td></tr>
+<tr class="separator:ae694f5e1f25f8a92a945eb90c432dfe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a988d937ed5d5c2b592b763036af5cf94"><td class="memItemLeft" align="right" valign="top">list&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#a988d937ed5d5c2b592b763036af5cf94">excludepaths</a> = ['css', 'img', 'js', 'php', 'theme']</td></tr>
+<tr class="separator:a988d937ed5d5c2b592b763036af5cf94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52a85ffa6b6d63d840b185a133478c12"><td class="memItemLeft" align="right" valign="top">list&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#a52a85ffa6b6d63d840b185a133478c12">tplpaths</a> = []</td></tr>
+<tr class="separator:a52a85ffa6b6d63d840b185a133478c12"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab42dd79af65ee82201fd6f04715f62f6"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#ab42dd79af65ee82201fd6f04715f62f6">names</a> = os.listdir(<a class="el" href="namespaceupdatetpl.html#ae694f5e1f25f8a92a945eb90c432dfe6">path</a> + 'view/')</td></tr>
+<tr class="separator:ab42dd79af65ee82201fd6f04715f62f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79c20eb62d568c999b56eb08530355d3"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#a79c20eb62d568c999b56eb08530355d3">fnull</a> = open(os.devnull, &quot;w&quot;)</td></tr>
+<tr class="separator:a79c20eb62d568c999b56eb08530355d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ac9d11279fed403a329a719298feafc4f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">def updatetpl.help </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>pname</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a988d937ed5d5c2b592b763036af5cf94"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">list updatetpl.excludepaths = ['css', 'img', 'js', 'php', 'theme']</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a79c20eb62d568c999b56eb08530355d3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tuple updatetpl.fnull = open(os.devnull, &quot;w&quot;)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab42dd79af65ee82201fd6f04715f62f6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tuple updatetpl.names = os.listdir(<a class="el" href="namespaceupdatetpl.html#ae694f5e1f25f8a92a945eb90c432dfe6">path</a> + 'view/')</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae694f5e1f25f8a92a945eb90c432dfe6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">string updatetpl.path = ''</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a52a85ffa6b6d63d840b185a133478c12"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">list updatetpl.tplpaths = []</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/namespaceutil.html b/doc/html/namespaceutil.html
new file mode 100644
index 000000000..c35b5b089
--- /dev/null
+++ b/doc/html/namespaceutil.html
@@ -0,0 +1,144 @@
+<!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: util Namespace 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="rhash-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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><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="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&#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('namespaceutil.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">util Namespace Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>When I installed docblox, I had the experience that it does not generate any output at all. This script may be used to find that kind of problems with the documentation build process. If docblox generates output, use another approach for debugging.</p>
+<p>Basically, docblox takes a list of files to build documentation from. This script assumes there is a file or set of files breaking the build when it is included in that list. It tries to calculate the smallest list containing these files. Unfortunatly, the original problem is NP-complete, so what the script does is a best guess only.</p>
+<p>So it starts with a list of all files in the project. If that list can't be build, it cuts it in two parts and tries both parts independently. If only one of them breaks, it takes that one and tries the same independently. If both break, it assumes this is the smallest set. This assumption is not necessarily true. Maybe the smallest set consists of two files and both of them were in different parts when the list was divided, but by now it is my best guess. To make this assumption better, the list is shuffled after every step.</p>
+<p>After that, the script tries to remove a file from the list. It tests if the list breaks and if so, it assumes that the file it removed belongs to the set of errorneous files. This is done for all files, so, in the end removing one file leads to a working doc build.</p>
+<dl class="section author"><dt>Author</dt><dd>Alexander Kampmann</dd></dl>
+<p>This function generates a comma seperated list of file names.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">array</td><td class="paramname">$fileset</td><td>Set of file names</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string comma-seperated list of the file names</dd></dl>
+<p>This functions runs phpdoc on the provided list of files</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">array</td><td class="paramname">$fileset</td><td>Set of filenames</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>bool true, if that set can be built</dd></dl>
+<p>This functions cuts down a fileset by removing files until it finally works. it was meant to be recursive, but php's maximum stack size is to small. So it just simulates recursion.</p>
+<p>In that version, it does not necessarily generate the smallest set, because it may not alter the elements order enough.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">array</td><td class="paramname">$fileset</td><td>set of filenames </td></tr>
+ <tr><td class="paramtype">int</td><td class="paramname">$ps</td><td>number of files in subsets</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>array a part of $fileset, that crashes </dd></dl>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/nav_8php.html b/doc/html/nav_8php.html
new file mode 100644
index 000000000..a2f9e61b6
--- /dev/null
+++ b/doc/html/nav_8php.html
@@ -0,0 +1,167 @@
+<!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: include/nav.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="rhash-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('nav_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">nav.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:a43be0df73b90647ea70947ce004e231e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav</a> (&amp;$a)</td></tr>
+<tr class="separator:a43be0df73b90647ea70947ce004e231e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3c920ce3ea5b0d9e0678ee37155f06a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a">nav_set_selected</a> ($item)</td></tr>
+<tr class="separator:ac3c920ce3ea5b0d9e0678ee37155f06a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a43be0df73b90647ea70947ce004e231e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">nav </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>Build page header and site navigation bars</p>
+<p>Placeholder div for popup panel</p>
+<p>Our network is distributed, and as you visit friends some of the sites look exactly the same - it isn't always easy to know where you are. Display the current site location as a navigation aid.</p>
+<p>Display login or logout</p>
+<p>"Home" should also take you home from an authenticated remote profile connection</p>
+<p>The following nav links are only show to logged in users</p>
+<p>Admin page</p>
+<p>Provide a banner/logo/whatever</p>
+
+<p>Referenced by <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac3c920ce3ea5b0d9e0678ee37155f06a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">nav_set_selected </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<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>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/nav_8php.js b/doc/html/nav_8php.js
new file mode 100644
index 000000000..09cec55d1
--- /dev/null
+++ b/doc/html/nav_8php.js
@@ -0,0 +1,5 @@
+var nav_8php =
+[
+ [ "nav", "nav_8php.html#a43be0df73b90647ea70947ce004e231e", null ],
+ [ "nav_set_selected", "nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a", null ]
+]; \ No newline at end of file
diff --git a/doc/html/nav_f.png b/doc/html/nav_f.png
new file mode 100644
index 000000000..72a58a529
--- /dev/null
+++ b/doc/html/nav_f.png
Binary files differ
diff --git a/doc/html/nav_g.png b/doc/html/nav_g.png
new file mode 100644
index 000000000..2093a237a
--- /dev/null
+++ b/doc/html/nav_g.png
Binary files differ
diff --git a/doc/html/nav_h.png b/doc/html/nav_h.png
new file mode 100644
index 000000000..33389b101
--- /dev/null
+++ b/doc/html/nav_h.png
Binary files differ
diff --git a/doc/html/navtree.css b/doc/html/navtree.css
new file mode 100644
index 000000000..41a9cb969
--- /dev/null
+++ b/doc/html/navtree.css
@@ -0,0 +1,143 @@
+#nav-tree .children_ul {
+ margin:0;
+ padding:4px;
+}
+
+#nav-tree ul {
+ list-style:none outside none;
+ margin:0px;
+ padding:0px;
+}
+
+#nav-tree li {
+ white-space:nowrap;
+ margin:0px;
+ padding:0px;
+}
+
+#nav-tree .plus {
+ margin:0px;
+}
+
+#nav-tree .selected {
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
+
+#nav-tree img {
+ margin:0px;
+ padding:0px;
+ border:0px;
+ vertical-align: middle;
+}
+
+#nav-tree a {
+ text-decoration:none;
+ padding:0px;
+ margin:0px;
+ outline:none;
+}
+
+#nav-tree .label {
+ margin:0px;
+ padding:0px;
+ font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+}
+
+#nav-tree .label a {
+ padding:2px;
+}
+
+#nav-tree .selected a {
+ text-decoration:none;
+ color:#fff;
+}
+
+#nav-tree .children_ul {
+ margin:0px;
+ padding:0px;
+}
+
+#nav-tree .item {
+ margin:0px;
+ padding:0px;
+}
+
+#nav-tree {
+ padding: 0px 0px;
+ background-color: #FAFAFF;
+ font-size:14px;
+ overflow:auto;
+}
+
+#doc-content {
+ overflow:auto;
+ display:block;
+ padding:0px;
+ margin:0px;
+ -webkit-overflow-scrolling : touch; /* iOS 5+ */
+}
+
+#side-nav {
+ padding:0 6px 0 0;
+ margin: 0px;
+ display:block;
+ position: absolute;
+ left: 0px;
+ width: 250px;
+}
+
+.ui-resizable .ui-resizable-handle {
+ display:block;
+}
+
+.ui-resizable-e {
+ background:url("ftv2splitbar.png") repeat scroll right center transparent;
+ cursor:e-resize;
+ height:100%;
+ right:0;
+ top:0;
+ width:6px;
+}
+
+.ui-resizable-handle {
+ display:none;
+ font-size:0.1px;
+ position:absolute;
+ z-index:1;
+}
+
+#nav-tree-contents {
+ margin: 6px 0px 0px 0px;
+}
+
+#nav-tree {
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ -webkit-overflow-scrolling : touch; /* iOS 5+ */
+}
+
+#nav-sync {
+ position:absolute;
+ top:5px;
+ right:24px;
+ z-index:0;
+}
+
+#nav-sync img {
+ opacity:0.3;
+}
+
+#nav-sync img:hover {
+ opacity:0.9;
+}
+
+@media print
+{
+ #nav-tree { display: none; }
+ div.ui-resizable-handle { display: none; position: relative; }
+}
+
diff --git a/doc/html/navtree.js b/doc/html/navtree.js
new file mode 100644
index 000000000..899b30aed
--- /dev/null
+++ b/doc/html/navtree.js
@@ -0,0 +1,542 @@
+var NAVTREE =
+[
+ [ "The Red Matrix", "index.html", [
+ [ "CLI config utility", "md_config.html", null ],
+ [ "Fresh - The Freaking REd Shell", "md_fresh.html", null ],
+ [ "Redstrap theme", "md_README.html", null ],
+ [ "Namespaces", null, [
+ [ "Namespace List", "namespaces.html", "namespaces" ],
+ [ "Namespace Members", "namespacemembers.html", [
+ [ "All", "namespacemembers.html", null ],
+ [ "Functions", "namespacemembers_func.html", null ],
+ [ "Variables", "namespacemembers_vars.html", null ]
+ ] ]
+ ] ],
+ [ "Classes", null, [
+ [ "Class List", "annotated.html", "annotated" ],
+ [ "Class Index", "classes.html", null ],
+ [ "Class Hierarchy", "hierarchy.html", "hierarchy" ],
+ [ "Class Members", "functions.html", [
+ [ "All", "functions.html", "functions_dup" ],
+ [ "Functions", "functions_func.html", null ],
+ [ "Variables", "functions_vars.html", null ]
+ ] ]
+ ] ],
+ [ "Files", null, [
+ [ "File List", "files.html", "files" ],
+ [ "File Members", "globals.html", [
+ [ "All", "globals.html", "globals_dup" ],
+ [ "Functions", "globals_func.html", "globals_func" ],
+ [ "Variables", "globals_vars.html", "globals_vars" ]
+ ] ]
+ ] ]
+ ] ]
+];
+
+var NAVTREEINDEX =
+[
+"BaseObject_8php.html",
+"boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e",
+"classItem.html",
+"datetime_8php.html#a5f29553799005b1fd4e9ce9d98ce05aa",
+"html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0",
+"language_8php.html#a980dee1d8715a98ab02e36b59facf8ed",
+"redbasic_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f",
+"tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c"
+];
+
+var SYNCONMSG = 'click to disable panel synchronisation';
+var SYNCOFFMSG = 'click to enable panel synchronisation';
+var navTreeSubIndices = new Array();
+
+function getData(varName)
+{
+ var i = varName.lastIndexOf('/');
+ var n = i>=0 ? varName.substring(i+1) : varName;
+ return eval(n.replace(/\-/g,'_'));
+}
+
+function stripPath(uri)
+{
+ return uri.substring(uri.lastIndexOf('/')+1);
+}
+
+function stripPath2(uri)
+{
+ var i = uri.lastIndexOf('/');
+ var s = uri.substring(i+1);
+ var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/);
+ return m ? uri.substring(i-6) : s;
+}
+
+function localStorageSupported()
+{
+ try {
+ return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem;
+ }
+ catch(e) {
+ return false;
+ }
+}
+
+
+function storeLink(link)
+{
+ if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) {
+ window.localStorage.setItem('navpath',link);
+ }
+}
+
+function deleteLink()
+{
+ if (localStorageSupported()) {
+ window.localStorage.setItem('navpath','');
+ }
+}
+
+function cachedLink()
+{
+ if (localStorageSupported()) {
+ return window.localStorage.getItem('navpath');
+ } else {
+ return '';
+ }
+}
+
+function getScript(scriptName,func,show)
+{
+ var head = document.getElementsByTagName("head")[0];
+ var script = document.createElement('script');
+ script.id = scriptName;
+ script.type = 'text/javascript';
+ script.onload = func;
+ script.src = scriptName+'.js';
+ if ($.browser.msie && $.browser.version<=8) {
+ // script.onload does not work with older versions of IE
+ script.onreadystatechange = function() {
+ if (script.readyState=='complete' || script.readyState=='loaded') {
+ func(); if (show) showRoot();
+ }
+ }
+ }
+ head.appendChild(script);
+}
+
+function createIndent(o,domNode,node,level)
+{
+ var level=-1;
+ var n = node;
+ while (n.parentNode) { level++; n=n.parentNode; }
+ var imgNode = document.createElement("img");
+ imgNode.style.paddingLeft=(16*level).toString()+'px';
+ imgNode.width = 16;
+ imgNode.height = 22;
+ imgNode.border = 0;
+ if (node.childrenData) {
+ node.plus_img = imgNode;
+ node.expandToggle = document.createElement("a");
+ node.expandToggle.href = "javascript:void(0)";
+ node.expandToggle.onclick = function() {
+ if (node.expanded) {
+ $(node.getChildrenUL()).slideUp("fast");
+ node.plus_img.src = node.relpath+"ftv2pnode.png";
+ node.expanded = false;
+ } else {
+ expandNode(o, node, false, false);
+ }
+ }
+ node.expandToggle.appendChild(imgNode);
+ domNode.appendChild(node.expandToggle);
+ imgNode.src = node.relpath+"ftv2pnode.png";
+ } else {
+ imgNode.src = node.relpath+"ftv2node.png";
+ domNode.appendChild(imgNode);
+ }
+}
+
+var animationInProgress = false;
+
+function gotoAnchor(anchor,aname,updateLocation)
+{
+ var pos, docContent = $('#doc-content');
+ if (anchor.parent().attr('class')=='memItemLeft' ||
+ anchor.parent().attr('class')=='fieldtype' ||
+ anchor.parent().is(':header'))
+ {
+ pos = anchor.parent().position().top;
+ } else if (anchor.position()) {
+ pos = anchor.position().top;
+ }
+ if (pos) {
+ var dist = Math.abs(Math.min(
+ pos-docContent.offset().top,
+ docContent[0].scrollHeight-
+ docContent.height()-docContent.scrollTop()));
+ animationInProgress=true;
+ docContent.animate({
+ scrollTop: pos + docContent.scrollTop() - docContent.offset().top
+ },Math.max(50,Math.min(500,dist)),function(){
+ if (updateLocation) window.location.href=aname;
+ animationInProgress=false;
+ });
+ }
+}
+
+function newNode(o, po, text, link, childrenData, lastNode)
+{
+ var node = new Object();
+ node.children = Array();
+ node.childrenData = childrenData;
+ node.depth = po.depth + 1;
+ node.relpath = po.relpath;
+ node.isLast = lastNode;
+
+ node.li = document.createElement("li");
+ po.getChildrenUL().appendChild(node.li);
+ node.parentNode = po;
+
+ node.itemDiv = document.createElement("div");
+ node.itemDiv.className = "item";
+
+ node.labelSpan = document.createElement("span");
+ node.labelSpan.className = "label";
+
+ createIndent(o,node.itemDiv,node,0);
+ node.itemDiv.appendChild(node.labelSpan);
+ node.li.appendChild(node.itemDiv);
+
+ var a = document.createElement("a");
+ node.labelSpan.appendChild(a);
+ node.label = document.createTextNode(text);
+ node.expanded = false;
+ a.appendChild(node.label);
+ if (link) {
+ var url;
+ if (link.substring(0,1)=='^') {
+ url = link.substring(1);
+ link = url;
+ } else {
+ url = node.relpath+link;
+ }
+ a.className = stripPath(link.replace('#',':'));
+ if (link.indexOf('#')!=-1) {
+ var aname = '#'+link.split('#')[1];
+ var srcPage = stripPath($(location).attr('pathname'));
+ var targetPage = stripPath(link.split('#')[0]);
+ a.href = srcPage!=targetPage ? url : "javascript:void(0)";
+ a.onclick = function(){
+ storeLink(link);
+ if (!$(a).parent().parent().hasClass('selected'))
+ {
+ $('.item').removeClass('selected');
+ $('.item').removeAttr('id');
+ $(a).parent().parent().addClass('selected');
+ $(a).parent().parent().attr('id','selected');
+ }
+ var anchor = $(aname);
+ gotoAnchor(anchor,aname,true);
+ };
+ } else {
+ a.href = url;
+ a.onclick = function() { storeLink(link); }
+ }
+ } else {
+ if (childrenData != null)
+ {
+ a.className = "nolink";
+ a.href = "javascript:void(0)";
+ a.onclick = node.expandToggle.onclick;
+ }
+ }
+
+ node.childrenUL = null;
+ node.getChildrenUL = function() {
+ if (!node.childrenUL) {
+ node.childrenUL = document.createElement("ul");
+ node.childrenUL.className = "children_ul";
+ node.childrenUL.style.display = "none";
+ node.li.appendChild(node.childrenUL);
+ }
+ return node.childrenUL;
+ };
+
+ return node;
+}
+
+function showRoot()
+{
+ var headerHeight = $("#top").height();
+ var footerHeight = $("#nav-path").height();
+ var windowHeight = $(window).height() - headerHeight - footerHeight;
+ (function (){ // retry until we can scroll to the selected item
+ try {
+ var navtree=$('#nav-tree');
+ navtree.scrollTo('#selected',0,{offset:-windowHeight/2});
+ } catch (err) {
+ setTimeout(arguments.callee, 0);
+ }
+ })();
+}
+
+function expandNode(o, node, imm, showRoot)
+{
+ if (node.childrenData && !node.expanded) {
+ if (typeof(node.childrenData)==='string') {
+ var varName = node.childrenData;
+ getScript(node.relpath+varName,function(){
+ node.childrenData = getData(varName);
+ expandNode(o, node, imm, showRoot);
+ }, showRoot);
+ } else {
+ if (!node.childrenVisited) {
+ getNode(o, node);
+ } if (imm || ($.browser.msie && $.browser.version>8)) {
+ // somehow slideDown jumps to the start of tree for IE9 :-(
+ $(node.getChildrenUL()).show();
+ } else {
+ $(node.getChildrenUL()).slideDown("fast");
+ }
+ if (node.isLast) {
+ node.plus_img.src = node.relpath+"ftv2mlastnode.png";
+ } else {
+ node.plus_img.src = node.relpath+"ftv2mnode.png";
+ }
+ node.expanded = true;
+ }
+ }
+}
+
+function glowEffect(n,duration)
+{
+ n.addClass('glow').delay(duration).queue(function(next){
+ $(this).removeClass('glow');next();
+ });
+}
+
+function highlightAnchor()
+{
+ var aname = $(location).attr('hash');
+ var anchor = $(aname);
+ if (anchor.parent().attr('class')=='memItemLeft'){
+ var rows = $('.memberdecls tr[class$="'+
+ window.location.hash.substring(1)+'"]');
+ glowEffect(rows.children(),300); // member without details
+ } else if (anchor.parents().slice(2).prop('tagName')=='TR') {
+ glowEffect(anchor.parents('div.memitem'),1000); // enum value
+ } else if (anchor.parent().attr('class')=='fieldtype'){
+ glowEffect(anchor.parent().parent(),1000); // struct field
+ } else if (anchor.parent().is(":header")) {
+ glowEffect(anchor.parent(),1000); // section header
+ } else {
+ glowEffect(anchor.next(),1000); // normal member
+ }
+ gotoAnchor(anchor,aname,false);
+}
+
+function selectAndHighlight(hash,n)
+{
+ var a;
+ if (hash) {
+ var link=stripPath($(location).attr('pathname'))+':'+hash.substring(1);
+ a=$('.item a[class$="'+link+'"]');
+ }
+ if (a && a.length) {
+ a.parent().parent().addClass('selected');
+ a.parent().parent().attr('id','selected');
+ highlightAnchor();
+ } else if (n) {
+ $(n.itemDiv).addClass('selected');
+ $(n.itemDiv).attr('id','selected');
+ }
+ if ($('#nav-tree-contents .item:first').hasClass('selected')) {
+ $('#nav-sync').css('top','30px');
+ } else {
+ $('#nav-sync').css('top','5px');
+ }
+ showRoot();
+}
+
+function showNode(o, node, index, hash)
+{
+ if (node && node.childrenData) {
+ if (typeof(node.childrenData)==='string') {
+ var varName = node.childrenData;
+ getScript(node.relpath+varName,function(){
+ node.childrenData = getData(varName);
+ showNode(o,node,index,hash);
+ },true);
+ } else {
+ if (!node.childrenVisited) {
+ getNode(o, node);
+ }
+ $(node.getChildrenUL()).show();
+ if (node.isLast) {
+ node.plus_img.src = node.relpath+"ftv2mlastnode.png";
+ } else {
+ node.plus_img.src = node.relpath+"ftv2mnode.png";
+ }
+ node.expanded = true;
+ var n = node.children[o.breadcrumbs[index]];
+ if (index+1<o.breadcrumbs.length) {
+ showNode(o,n,index+1,hash);
+ } else {
+ if (typeof(n.childrenData)==='string') {
+ var varName = n.childrenData;
+ getScript(n.relpath+varName,function(){
+ n.childrenData = getData(varName);
+ node.expanded=false;
+ showNode(o,node,index,hash); // retry with child node expanded
+ },true);
+ } else {
+ var rootBase = stripPath(o.toroot.replace(/\..+$/, ''));
+ if (rootBase=="index" || rootBase=="pages" || rootBase=="search") {
+ expandNode(o, n, true, true);
+ }
+ selectAndHighlight(hash,n);
+ }
+ }
+ }
+ } else {
+ selectAndHighlight(hash);
+ }
+}
+
+function getNode(o, po)
+{
+ po.childrenVisited = true;
+ var l = po.childrenData.length-1;
+ for (var i in po.childrenData) {
+ var nodeData = po.childrenData[i];
+ po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2],
+ i==l);
+ }
+}
+
+function gotoNode(o,subIndex,root,hash,relpath)
+{
+ var nti = navTreeSubIndices[subIndex][root+hash];
+ o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]);
+ if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index
+ navTo(o,NAVTREE[0][1],"",relpath);
+ $('.item').removeClass('selected');
+ $('.item').removeAttr('id');
+ }
+ if (o.breadcrumbs) {
+ o.breadcrumbs.unshift(0); // add 0 for root node
+ showNode(o, o.node, 0, hash);
+ }
+}
+
+function navTo(o,root,hash,relpath)
+{
+ var link = cachedLink();
+ if (link) {
+ var parts = link.split('#');
+ root = parts[0];
+ if (parts.length>1) hash = '#'+parts[1];
+ else hash='';
+ }
+ if (hash.match(/^#l\d+$/)) {
+ var anchor=$('a[name='+hash.substring(1)+']');
+ glowEffect(anchor.parent(),1000); // line number
+ hash=''; // strip line number anchors
+ //root=root.replace(/_source\./,'.'); // source link to doc link
+ }
+ var url=root+hash;
+ var i=-1;
+ while (NAVTREEINDEX[i+1]<=url) i++;
+ if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index
+ if (navTreeSubIndices[i]) {
+ gotoNode(o,i,root,hash,relpath)
+ } else {
+ getScript(relpath+'navtreeindex'+i,function(){
+ navTreeSubIndices[i] = eval('NAVTREEINDEX'+i);
+ if (navTreeSubIndices[i]) {
+ gotoNode(o,i,root,hash,relpath);
+ }
+ },true);
+ }
+}
+
+function showSyncOff(n,relpath)
+{
+ n.html('<img src="'+relpath+'sync_off.png" title="'+SYNCOFFMSG+'"/>');
+}
+
+function showSyncOn(n,relpath)
+{
+ n.html('<img src="'+relpath+'sync_on.png" title="'+SYNCONMSG+'"/>');
+}
+
+function toggleSyncButton(relpath)
+{
+ var navSync = $('#nav-sync');
+ if (navSync.hasClass('sync')) {
+ navSync.removeClass('sync');
+ showSyncOff(navSync,relpath);
+ storeLink(stripPath2($(location).attr('pathname'))+$(location).attr('hash'));
+ } else {
+ navSync.addClass('sync');
+ showSyncOn(navSync,relpath);
+ deleteLink();
+ }
+}
+
+function initNavTree(toroot,relpath)
+{
+ var o = new Object();
+ o.toroot = toroot;
+ o.node = new Object();
+ o.node.li = document.getElementById("nav-tree-contents");
+ o.node.childrenData = NAVTREE;
+ o.node.children = new Array();
+ o.node.childrenUL = document.createElement("ul");
+ o.node.getChildrenUL = function() { return o.node.childrenUL; };
+ o.node.li.appendChild(o.node.childrenUL);
+ o.node.depth = 0;
+ o.node.relpath = relpath;
+ o.node.expanded = false;
+ o.node.isLast = true;
+ o.node.plus_img = document.createElement("img");
+ o.node.plus_img.src = relpath+"ftv2pnode.png";
+ o.node.plus_img.width = 16;
+ o.node.plus_img.height = 22;
+
+ if (localStorageSupported()) {
+ var navSync = $('#nav-sync');
+ if (cachedLink()) {
+ showSyncOff(navSync,relpath);
+ navSync.removeClass('sync');
+ } else {
+ showSyncOn(navSync,relpath);
+ }
+ navSync.click(function(){ toggleSyncButton(relpath); });
+ }
+
+ navTo(o,toroot,window.location.hash,relpath);
+
+ $(window).bind('hashchange', function(){
+ if (window.location.hash && window.location.hash.length>1){
+ var a;
+ if ($(location).attr('hash')){
+ var clslink=stripPath($(location).attr('pathname'))+':'+
+ $(location).attr('hash').substring(1);
+ a=$('.item a[class$="'+clslink+'"]');
+ }
+ if (a==null || !$(a).parent().parent().hasClass('selected')){
+ $('.item').removeClass('selected');
+ $('.item').removeAttr('id');
+ }
+ var link=stripPath2($(location).attr('pathname'));
+ navTo(o,link,$(location).attr('hash'),relpath);
+ } else if (!animationInProgress) {
+ $('#doc-content').scrollTop(0);
+ $('.item').removeClass('selected');
+ $('.item').removeAttr('id');
+ navTo(o,toroot,window.location.hash,relpath);
+ }
+ })
+
+ $(window).load(showRoot);
+}
+
diff --git a/doc/html/navtreeindex0.js b/doc/html/navtreeindex0.js
new file mode 100644
index 000000000..e8bddf345
--- /dev/null
+++ b/doc/html/navtreeindex0.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX0 =
+{
+"BaseObject_8php.html":[5,0,0,8],
+"Contact_8php.html":[5,0,0,16],
+"Contact_8php.html#a024919623a830e8703ac4f23496dd66c":[5,0,0,16,2],
+"Contact_8php.html#a228fc01f90ae9bfdde4c2ad0772bd7dc":[5,0,0,16,9],
+"Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6":[5,0,0,16,8],
+"Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91":[5,0,0,16,11],
+"Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15":[5,0,0,16,14],
+"Contact_8php.html#a38daa1c210b78385307123450ca9a1fc":[5,0,0,16,13],
+"Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc":[5,0,0,16,6],
+"Contact_8php.html#a3eef54a5523e568a28257c1f9b1644d8":[5,0,0,16,3],
+"Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258":[5,0,0,16,5],
+"Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960":[5,0,0,16,15],
+"Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e":[5,0,0,16,7],
+"Contact_8php.html#a91281b5d4bbbb2ed468e27ec82ca083c":[5,0,0,16,10],
+"Contact_8php.html#acc12cda999c88c4d6185cca967c15125":[5,0,0,16,12],
+"Contact_8php.html#ad46ff6764f12b6d3ab45c49b797f98aa":[5,0,0,16,4],
+"Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5":[5,0,0,16,1],
+"Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e":[5,0,0,16,0],
+"ConversationObject_8php.html":[5,0,0,20],
+"ITemplateEngine_8php.html":[5,0,0,39],
+"ItemObject_8php.html":[5,0,0,38],
+"ProtoDriver_8php.html":[5,0,0,58],
+"__well__known_8php.html":[5,0,1,0],
+"__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0":[5,0,1,0,0],
+"account_8php.html":[5,0,0,2],
+"account_8php.html#a014de2d5d5c9785de5bf547a485822fa":[5,0,0,2,6],
+"account_8php.html#a141fe579c351c78209d425473f978eb5":[5,0,0,2,5],
+"account_8php.html#a144b4891022567668375b58ea61cfff0":[5,0,0,2,4],
+"account_8php.html#a43e3042b2723d76915a030bac3c668b6":[5,0,0,2,0],
+"account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f":[5,0,0,2,1],
+"account_8php.html#aa9c29c497c17d8f9344dce8631ad8761":[5,0,0,2,7],
+"account_8php.html#aaff7720423417a4333697894ffd9ddeb":[5,0,0,2,3],
+"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],
+"acl__selectors_8php.html":[5,0,0,3],
+"acl__selectors_8php.html#a51f2ec7a143d5a5b38e35efd5f3d6e2c":[5,0,0,3,3],
+"acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91":[5,0,0,3,0],
+"acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0":[5,0,0,3,2],
+"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,2],
+"admin_8php.html#a233b7c8c31776b7020532003c6e44e1c":[5,0,1,2,3],
+"admin_8php.html#a54128076986ba80c4a103de3fc3e19a8":[5,0,1,2,4],
+"admin_8php.html#a5a696706a3869800e65fb365214241b7":[5,0,1,2,10],
+"admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2":[5,0,1,2,9],
+"admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade":[5,0,1,2,1],
+"admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e":[5,0,1,2,5],
+"admin_8php.html#ac6e95b920b5abd030cc522964987087a":[5,0,1,2,7],
+"admin_8php.html#acf51f5837a7427832144c2bf7308ada3":[5,0,1,2,11],
+"admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4":[5,0,1,2,13],
+"admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f":[5,0,1,2,6],
+"admin_8php.html#ae46311a3fefc21abc838a26e91789de6":[5,0,1,2,12],
+"admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb":[5,0,1,2,8],
+"admin_8php.html#af81f081851791cd15e49e8ff6722dc27":[5,0,1,2,14],
+"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],
+"annotated.html":[4,0],
+"apps_8php.html":[5,0,1,5],
+"apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c":[5,0,1,5,0],
+"auth_8php.html":[5,0,0,7],
+"auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee":[5,0,0,7,0],
+"auth_8php.html#a0950af7c2888ca1d4743fe5d0bff9ae5":[5,0,0,7,2],
+"auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a":[5,0,0,7,1],
+"bb2diaspora_8php.html":[5,0,0,9],
+"bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93":[5,0,0,9,7],
+"bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6":[5,0,0,9,2],
+"bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863":[5,0,0,9,5],
+"bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2":[5,0,0,9,6],
+"bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c":[5,0,0,9,0],
+"bb2diaspora_8php.html#a599428bceb6f6d82a6a78cb66811f747":[5,0,0,9,8],
+"bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4":[5,0,0,9,3],
+"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,4],
+"bbcode_8php.html#a064dcfd9767df6f53be1a0e11ceeb15d":[5,0,0,10,3],
+"bbcode_8php.html#a2be26414a367118143cc89e2d58e7377":[5,0,0,10,1],
+"bbcode_8php.html#a52c45273fbb7ce5ec27094f7936856e1":[5,0,0,10,0],
+"bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7":[5,0,0,10,5],
+"bbcode_8php.html#a8911e027907820df3db03b4f76724b50":[5,0,0,10,2],
+"blocks_8php.html":[5,0,1,7],
+"blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12":[5,0,1,7,0],
+"boot_8php.html":[5,0,4],
+"boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0":[5,0,4,138],
+"boot_8php.html#a01353c9abebc3544ea080ac161729632":[5,0,4,43],
+"boot_8php.html#a022cea669f9f13ef7c6268b63884c57f":[5,0,4,151],
+"boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc":[5,0,4,243],
+"boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8":[5,0,4,61],
+"boot_8php.html#a03d19251c245587de7ed959300b87bdf":[5,0,4,167],
+"boot_8php.html#a0450389f24c632906fbc24347700a543":[5,0,4,54],
+"boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b":[5,0,4,109],
+"boot_8php.html#a081307d681d7d04f17b9ced2076e7c85":[5,0,4,1],
+"boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3":[5,0,4,205],
+"boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562":[5,0,4,74],
+"boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a":[5,0,4,171],
+"boot_8php.html#a0c59dde058efebbc66520d136cbd1631":[5,0,4,259],
+"boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe":[5,0,4,255],
+"boot_8php.html#a0d877df1e20bae765e1708be50f6b503":[5,0,4,258],
+"boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84":[5,0,4,26],
+"boot_8php.html#a0e57f846e6d47a308feced0f7274f178":[5,0,4,66],
+"boot_8php.html#a0e6db7e365f2b041a828b93786f694bc":[5,0,4,15],
+"boot_8php.html#a0fb63e51c2a9814941842ae8f2f4dff8":[5,0,4,84],
+"boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5":[5,0,4,88],
+"boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd":[5,0,4,85],
+"boot_8php.html#a14d44d4a00223dc3db4ea962325db192":[5,0,4,197],
+"boot_8php.html#a176664e78dcb9132e16be69418223eb2":[5,0,4,69],
+"boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805":[5,0,4,150],
+"boot_8php.html#a17cf72338b040891781a4bcbdd9a8595":[5,0,4,146],
+"boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd":[5,0,4,170],
+"boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2":[5,0,4,262],
+"boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc":[5,0,4,237],
+"boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f":[5,0,4,263],
+"boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86":[5,0,4,174],
+"boot_8php.html#a1da180f961f49a11573cac4ff6c62c05":[5,0,4,83],
+"boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc":[5,0,4,216],
+"boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273":[5,0,4,39],
+"boot_8php.html#a1f5906598e90b5ea2b4245f682be4348":[5,0,4,111],
+"boot_8php.html#a1fbb93cf030f07391f22cc2948744869":[5,0,4,157],
+"boot_8php.html#a20f0eed431d25870b624b8937a07a59f":[5,0,4,190],
+"boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3":[5,0,4,239],
+"boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5":[5,0,4,49],
+"boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77":[5,0,4,25],
+"boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8":[5,0,4,107],
+"boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f":[5,0,4,99],
+"boot_8php.html#a2750985ec445617d7e82ae3098c91e3f":[5,0,4,248],
+"boot_8php.html#a285732e7889fa7f333cbe431111e1029":[5,0,4,193],
+"boot_8php.html#a29528a2544373cc19a378f350040c6a1":[5,0,4,90],
+"boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221":[5,0,4,133],
+"boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62":[5,0,4,214],
+"boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3":[5,0,4,112],
+"boot_8php.html#a2b525996e4426bdddbcec277778bde08":[5,0,4,235],
+"boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0":[5,0,4,189],
+"boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d":[5,0,4,130],
+"boot_8php.html#a2e90096fede6acce16abf0da8cb2febe":[5,0,4,75],
+"boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab":[5,0,4,80],
+"boot_8php.html#a32df13fec0e43281da5979e1f5579aa8":[5,0,4,221],
+"boot_8php.html#a3475ff6c2e575f946ea0ee377e944173":[5,0,4,144],
+"boot_8php.html#a34c756469ebed32e2fc987bcde62d382":[5,0,4,51],
+"boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49":[5,0,4,123],
+"boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd":[5,0,4,159],
+"boot_8php.html#a36b31575f992a10b5927b76efba9362e":[5,0,4,265],
+"boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa":[5,0,4,178],
+"boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955":[5,0,4,113],
+"boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456":[5,0,4,118],
+"boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af":[5,0,4,264],
+"boot_8php.html#a3d6d4fc5fafcc9156811669158541caf":[5,0,4,212],
+"boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4":[5,0,4,12],
+"boot_8php.html#a3e2ea123d29a72012db1241f96280b0e":[5,0,4,67],
+"boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77":[5,0,4,97],
+"boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a":[5,0,4,59],
+"boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb":[5,0,4,134],
+"boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b":[5,0,4,208],
+"boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc":[5,0,4,38],
+"boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e":[5,0,4,188],
+"boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731":[5,0,4,96],
+"boot_8php.html#a444ce608ce34efb82ee11852f36e825f":[5,0,4,164],
+"boot_8php.html#a44ae1542a805ffd7f826fb511db07374":[5,0,4,154],
+"boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f":[5,0,4,78],
+"boot_8php.html#a45b12aefab9675baffc7a07a09486db8":[5,0,4,256],
+"boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68":[5,0,4,37],
+"boot_8php.html#a490972c02fdb638c52ec0e012a30bfd2":[5,0,4,20],
+"boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47":[5,0,4,176],
+"boot_8php.html#a4a12ce5de39789b0361e308d89925a20":[5,0,4,110],
+"boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4":[5,0,4,229],
+"boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e":[5,0,4,175],
+"boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3":[5,0,4,6],
+"boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6":[5,0,4,207],
+"boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115":[5,0,4,225],
+"boot_8php.html#a505410c7edc5f5bb5fa227b98359793e":[5,0,4,200],
+"boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa":[5,0,4,158],
+"boot_8php.html#a52b599cd13e152ebc80d7e4413683195":[5,0,4,50],
+"boot_8php.html#a53e4bdb6f225da55115acb9277f75e53":[5,0,4,89],
+"boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209":[5,0,4,40],
+"boot_8php.html#a56fd673eaa7014150297ce1162502db5":[5,0,4,192],
+"boot_8php.html#a57eee7352714c004d36c26dda74af73e":[5,0,4,224],
+"boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1":[5,0,4,24],
+"boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434":[5,0,4,68],
+"boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa":[5,0,4,182],
+"boot_8php.html#a5b815330f3d177ab383af37a6c12e532":[5,0,4,47],
+"boot_8php.html#a5b8484922918946d041e5e0515dbe718":[5,0,4,203],
+"boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4":[5,0,4,86],
+"boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2":[5,0,4,162],
+"boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640":[5,0,4,204],
+"boot_8php.html#a623e49c79943f3e7bdb770d021683cf7":[5,0,4,22],
+"boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5":[5,0,4,82],
+"boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd":[5,0,4,252],
+"boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16":[5,0,4,168],
+"boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322":[5,0,4,142],
+"boot_8php.html#a680fbafc2db023c5b1309e0180e81315":[5,0,4,48],
+"boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11":[5,0,4,145],
+"boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155":[5,0,4,53],
+"boot_8php.html#a6969947145a139ec374ce098224d8e81":[5,0,4,148],
+"boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1":[5,0,4,241],
+"boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2":[5,0,4,228],
+"boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf":[5,0,4,222],
+"boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd":[5,0,4,108],
+"boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9":[5,0,4,100],
+"boot_8php.html#a6df1102664f64b274810db85197c2755":[5,0,4,210],
+"boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d":[5,0,4,132],
+"boot_8php.html#a7176c0f9f1c98421b97735d892cf6252":[5,0,4,240],
+"boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6":[5,0,4,31],
+"boot_8php.html#a7236b2cdcf59f02a42302e893a99013b":[5,0,4,183],
+"boot_8php.html#a749144d8dd9c1366596a0213c277d050":[5,0,4,136],
+"boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab":[5,0,4,79],
+"boot_8php.html#a75a90b0eadd0df510f7e63210733634d":[5,0,4,2],
+"boot_8php.html#a75fc600186b13c3b25e661afefb5eac8":[5,0,4,260],
+"boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006":[5,0,4,4],
+"boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966":[5,0,4,81],
+"boot_8php.html#a781916f83fcc8ff1035649afa45f0292":[5,0,4,94],
+"boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383":[5,0,4,231],
+"boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c":[5,0,4,119],
+"boot_8php.html#a7aa57438db03834aaa0b468bdce773a6":[5,0,4,72],
+"boot_8php.html#a7af107fab8d62b9a73801713b774ed30":[5,0,4,135],
+"boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133":[5,0,4,163],
+"boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3":[5,0,4,76],
+"boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028":[5,0,4,165],
+"boot_8php.html#a7f3474fec541e261fc8dff47313c4017":[5,0,4,57],
+"boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866":[5,0,4,91],
+"boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf":[5,0,4,121],
+"boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed":[5,0,4,201],
+"boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8":[5,0,4,60],
+"boot_8php.html#a845891f82bf6edd7fa2d578b66703112":[5,0,4,116],
+"boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688":[5,0,4,64],
+"boot_8php.html#a8663f32171568489dbb2a01dd00371f8":[5,0,4,128],
+"boot_8php.html#a882b666adfe21f035a0f8c02806066d6":[5,0,4,251],
+"boot_8php.html#a8892374789fd261eb32a7969d934a14a":[5,0,4,250],
+"boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701":[5,0,4,181],
+"boot_8php.html#a899d24fd074594ceebbf72e1feff335f":[5,0,4,17],
+"boot_8php.html#a8a60cc38bb567765fd926fef70205f16":[5,0,4,105],
+"boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55":[5,0,4,226],
+"boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7":[5,0,4,131],
+"boot_8php.html#a8da836617174eed9fc2ac8054125354b":[5,0,4,125],
+"boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce":[5,0,4,233],
+"boot_8php.html#a9255af5ae9c887520091ea04763c1a88":[5,0,4,34],
+"boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3":[5,0,4,11],
+"boot_8php.html#a93823d15ae07548a4c49de88d325cd26":[5,0,4,149],
+"boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08":[5,0,4,129],
+"boot_8php.html#a949116d9a295b214293006c060ca4848":[5,0,4,127],
+"boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4":[5,0,4,238],
+"boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90":[5,0,4,19],
+"boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b":[5,0,4,195],
+"boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777":[5,0,4,227],
+"boot_8php.html#a9c80420e5a063a4a87ce4831f086134d":[5,0,4,56]
+};
diff --git a/doc/html/navtreeindex1.js b/doc/html/navtreeindex1.js
new file mode 100644
index 000000000..359b7c8b4
--- /dev/null
+++ b/doc/html/navtreeindex1.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX1 =
+{
+"boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e":[5,0,4,5],
+"boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964":[5,0,4,219],
+"boot_8php.html#a9d01ef178b72b145016cca1393415bc4":[5,0,4,196],
+"boot_8php.html#a9eeb8989272d5ff804a616898bb13659":[5,0,4,253],
+"boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f":[5,0,4,218],
+"boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42":[5,0,4,184],
+"boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e":[5,0,4,29],
+"boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9":[5,0,4,202],
+"boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6":[5,0,4,52],
+"boot_8php.html#aa3679df31c8dad1b71816b0322d5baff":[5,0,4,156],
+"boot_8php.html#aa4221641e5c21db69fa52c426b9017f5":[5,0,4,9],
+"boot_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec":[5,0,4,21],
+"boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2":[5,0,4,153],
+"boot_8php.html#aa589421267f0c2f0d643f727792cce35":[5,0,4,115],
+"boot_8php.html#aa74438cf71e48e37bf7b440b94243985":[5,0,4,93],
+"boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d":[5,0,4,102],
+"boot_8php.html#aa9244fc9cc221980c07a20cc534111be":[5,0,4,223],
+"boot_8php.html#aad33b494084f729b6ee3b0bc457718a1":[5,0,4,140],
+"boot_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3":[5,0,4,23],
+"boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14":[5,0,4,73],
+"boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f":[5,0,4,187],
+"boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f":[5,0,4,120],
+"boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6":[5,0,4,209],
+"boot_8php.html#ab346a2ece14993861f3e4206befa94f0":[5,0,4,35],
+"boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8":[5,0,4,206],
+"boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0":[5,0,4,230],
+"boot_8php.html#ab4bddb41a0cf407178ec5278b950c393":[5,0,4,180],
+"boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e":[5,0,4,213],
+"boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764":[5,0,4,114],
+"boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf":[5,0,4,141],
+"boot_8php.html#ab55e545b72ec8c097e052ea7d373491f":[5,0,4,44],
+"boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78":[5,0,4,62],
+"boot_8php.html#ab724491497ab2618b23a01d5da60aec0":[5,0,4,198],
+"boot_8php.html#ab79b8b4555cae20d03f8200666d89d63":[5,0,4,7],
+"boot_8php.html#ab7d65a7e7417825a4db62906bb600729":[5,0,4,104],
+"boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda":[5,0,4,45],
+"boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86":[5,0,4,234],
+"boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7":[5,0,4,3],
+"boot_8php.html#abd7bb40da9cc073297e49736b338ca07":[5,0,4,257],
+"boot_8php.html#abdcdfc873ace4e0902177bad934de0c0":[5,0,4,71],
+"boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1":[5,0,4,117],
+"boot_8php.html#abedd940e664017c61b48c6efa31d0cb8":[5,0,4,103],
+"boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450":[5,0,4,126],
+"boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c":[5,0,4,28],
+"boot_8php.html#ac195fc9003298923ea81f144388e24b1":[5,0,4,166],
+"boot_8php.html#ac43182e0d8bae7576a30b603774974f8":[5,0,4,232],
+"boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03":[5,0,4,101],
+"boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0":[5,0,4,42],
+"boot_8php.html#ac8400313df2c831653f9036f71ebd86d":[5,0,4,63],
+"boot_8php.html#ac86615ddc0763a00f5311c90e991730c":[5,0,4,261],
+"boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20":[5,0,4,122],
+"boot_8php.html#ac99fc4d040764eac1736bec6973556fe":[5,0,4,124],
+"boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8":[5,0,4,194],
+"boot_8php.html#aca47505b8732177f52bb2d647eb2741c":[5,0,4,41],
+"boot_8php.html#aca5e42678e178c6b9034610d66666fd7":[5,0,4,13],
+"boot_8php.html#acc4e0c910af066148b810e5fde55fff1":[5,0,4,8],
+"boot_8php.html#acca19aae62e1a6951a856b945de20d67":[5,0,4,169],
+"boot_8php.html#acd877c405b06b348b37b6f7e62a211e9":[5,0,4,220],
+"boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3":[5,0,4,70],
+"boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8":[5,0,4,152],
+"boot_8php.html#ad11f30a6590d3d77f0c5e1e3909af8f5":[5,0,4,160],
+"boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13":[5,0,4,10],
+"boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51":[5,0,4,16],
+"boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f":[5,0,4,77],
+"boot_8php.html#ad34c1547020a305915bcc39707744690":[5,0,4,92],
+"boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620":[5,0,4,36],
+"boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44":[5,0,4,32],
+"boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137":[5,0,4,215],
+"boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63":[5,0,4,242],
+"boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5":[5,0,4,236],
+"boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29":[5,0,4,98],
+"boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272":[5,0,4,137],
+"boot_8php.html#adca48aee78465ae3064ca4432c0d87b5":[5,0,4,245],
+"boot_8php.html#add517a0958ac684792c62142a3877f81":[5,0,4,46],
+"boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498":[5,0,4,27],
+"boot_8php.html#ae37444eaa42705185080ccf3e670cbc2":[5,0,4,249],
+"boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312":[5,0,4,18],
+"boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e":[5,0,4,177],
+"boot_8php.html#ae4861de36017fe399c1839f778bad9f5":[5,0,4,155],
+"boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95":[5,0,4,185],
+"boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c":[5,0,4,30],
+"boot_8php.html#aead84fa27d7516b855220fe004964a45":[5,0,4,254],
+"boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4":[5,0,4,217],
+"boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53":[5,0,4,161],
+"boot_8php.html#aedfb9501ed408278667995524e0d15cf":[5,0,4,106],
+"boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67":[5,0,4,172],
+"boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d":[5,0,4,186],
+"boot_8php.html#aefba06f1c0842036329033e7567ecf6d":[5,0,4,139],
+"boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4":[5,0,4,33],
+"boot_8php.html#af33d1b2e98a1e21af672005525d46dfe":[5,0,4,246],
+"boot_8php.html#af3905ea8f8568d0236db13fca40514e3":[5,0,4,179],
+"boot_8php.html#af3a4271630aabd8be592213f925d6a36":[5,0,4,65],
+"boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9":[5,0,4,58],
+"boot_8php.html#af489d0c3166551b93e63a79ff2c9be35":[5,0,4,143],
+"boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461":[5,0,4,199],
+"boot_8php.html#af6f6f6f40139f12fc09ec47373b30919":[5,0,4,95],
+"boot_8php.html#af86c651547aa8f9e549ee40a09455549":[5,0,4,244],
+"boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d":[5,0,4,191],
+"boot_8php.html#afaf93b7026f784b113b4f8921745891e":[5,0,4,173],
+"boot_8php.html#afb97615e985a013799839b68b99018d7":[5,0,4,247],
+"boot_8php.html#afbb1fe1b2c8c730ec8e08da93b6512c4":[5,0,4,55],
+"boot_8php.html#afe084c30a1810c10442edb4fbcbc0086":[5,0,4,87],
+"boot_8php.html#afe63ae69ba55299f813766e54df06ede":[5,0,4,147],
+"boot_8php.html#afe88b920aa285982edb817a0dd44eb37":[5,0,4,14],
+"boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7":[5,0,4,211],
+"cache_8php.html":[5,0,0,11],
+"chanman_8php.html":[5,0,1,8],
+"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],
+"chanview_8php.html":[5,0,1,10],
+"chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b":[5,0,1,10,0],
+"classApp.html":[4,0,5],
+"classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3":[4,0,5,60],
+"classApp.html#a050b0696118da47e8b30859ad1a2c149":[4,0,5,44],
+"classApp.html#a084e03c77686d8c13390fef3f7428a2b":[4,0,5,5],
+"classApp.html#a08bc87aff64f39fbc084e9d6545cee4d":[4,0,5,2],
+"classApp.html#a08c24d6a6fc52fcc784b0f765f13b820":[4,0,5,77],
+"classApp.html#a08f0537964d98958d218066364cff785":[4,0,5,1],
+"classApp.html#a0ce85be198e46570366cb3344f3c55b8":[4,0,5,54],
+"classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d":[4,0,5,63],
+"classApp.html#a123b903dfe5d3488cc68db3471d36fd2":[4,0,5,34],
+"classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11":[4,0,5,81],
+"classApp.html#a14bd4b1c29f3aff371fe5d4cb11aeea3":[4,0,5,36],
+"classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f":[4,0,5,64],
+"classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2":[4,0,5,10],
+"classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7":[4,0,5,33],
+"classApp.html#a230e975296cf164da2fee35ef720964f":[4,0,5,37],
+"classApp.html#a244b2d53b21be269aad2269d23192f95":[4,0,5,79],
+"classApp.html#a256360c9184fed6d7556e0bc0a835d7f":[4,0,5,52],
+"classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f":[4,0,5,78],
+"classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a":[4,0,5,14],
+"classApp.html#a330410a288f3393d53772f5e98f857ea":[4,0,5,55],
+"classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c":[4,0,5,69],
+"classApp.html#a344d2b7dc2f276648d521aee4da1731c":[4,0,5,27],
+"classApp.html#a3694aa1907aa103a2adbc71f926f0fa0":[4,0,5,59],
+"classApp.html#a3d84af5e42082098672531cd1a618853":[4,0,5,26],
+"classApp.html#a4659785d13e4bac0bed50dbb1b0d4299":[4,0,5,8],
+"classApp.html#a4776d9322edea17fae56afa5d01a323e":[4,0,5,28],
+"classApp.html#a4833bee2eae4ad1691a04fa19e11a766":[4,0,5,92],
+"classApp.html#a487332f8de40414ca1a54a4265570b70":[4,0,5,87],
+"classApp.html#a495ec082c2719314e536070ca1ce073d":[4,0,5,46],
+"classApp.html#a4b67935096f66d1f14b657399a8461ac":[4,0,5,71],
+"classApp.html#a4bdd7bfed62f50515fce652127bf481b":[4,0,5,29],
+"classApp.html#a4c7cfc62d39508086cf300dc2e39c4df":[4,0,5,62],
+"classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f":[4,0,5,70],
+"classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be":[4,0,5,11],
+"classApp.html#a557d7b779d8259027f4724ebf7b248dc":[4,0,5,32],
+"classApp.html#a560189f048d3db2f526841963cc43e97":[4,0,5,30],
+"classApp.html#a56b1a432c96aef8b1971f779c9d93c8c":[4,0,5,90],
+"classApp.html#a57d041fcc003d08c127dfa99a02bc192":[4,0,5,76],
+"classApp.html#a58ac598544892ff7c32890291b72635e":[4,0,5,65],
+"classApp.html#a59dd4b665c70e7dbd80682c014ff7145":[4,0,5,66],
+"classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad":[4,0,5,3],
+"classApp.html#a5cfc098c061b7d765add58fd2ca97445":[4,0,5,43],
+"classApp.html#a5e6a6bd641e4d9909df56f0283c03821":[4,0,5,24],
+"classApp.html#a5f64620473a9727a48ebe9cf6f335a98":[4,0,5,82],
+"classApp.html#a604d659d6977a99de42a160343e5289a":[4,0,5,4],
+"classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2":[4,0,5,49],
+"classApp.html#a622eace13f8fc9f4b5672a68e2bc4396":[4,0,5,9],
+"classApp.html#a6844aedad10e201b8c3d80cfc9e876d3":[4,0,5,83],
+"classApp.html#a6859a4848a5c0049b4134cc4b34228b6":[4,0,5,84],
+"classApp.html#a6bcb19cdc4907077da72864686d5a780":[4,0,5,72],
+"classApp.html#a6e4f0fbfa3cf6c11baebe22a03db6165":[4,0,5,68],
+"classApp.html#a6f55d087e1ff4710132c1b0863faa2ee":[4,0,5,51],
+"classApp.html#a764cc6cd7578132c21d2b4545de9301c":[4,0,5,85],
+"classApp.html#a78788f6e9d8b713b138f81e457c5cd08":[4,0,5,22],
+"classApp.html#a7954862f44f606b0ff83d4c74d15e792":[4,0,5,61],
+"classApp.html#a871898becd0697d778f36d9336253ae8":[4,0,5,16],
+"classApp.html#a8863703a0305eaa45eb970dbd2046291":[4,0,5,18],
+"classApp.html#a89e9feb2bfb5253883a9720beaffe876":[4,0,5,23],
+"classApp.html#a91fd3c8b89016113b05f3be24805ccff":[4,0,5,89],
+"classApp.html#a94a1ed2dc493c58612d17035b74ae736":[4,0,5,35],
+"classApp.html#a9632092d9e8fdaa82a9fc4586433fd31":[4,0,5,25],
+"classApp.html#a98ef4cfd36693a3457c879b76bc6d694":[4,0,5,48],
+"classApp.html#a9bf62f8e39585c0aa48fcffc3bf3484d":[4,0,5,67],
+"classApp.html#aa5a87c46ab3fee21362c466bf78042ef":[4,0,5,93],
+"classApp.html#aab23c59172310fd30f2d60dc039d3eea":[4,0,5,15],
+"classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e":[4,0,5,42],
+"classApp.html#ab35b01a366a2ea95725e97af278f87ab":[4,0,5,88],
+"classApp.html#ab3da757abe5cb45bf88f07cc51a73b58":[4,0,5,39],
+"classApp.html#ab410451f132910773d0a02e35d0dced9":[4,0,5,6],
+"classApp.html#ab47de68fa39806d1fb0976407e188b77":[4,0,5,74],
+"classApp.html#abaf2173711e861ae4aebf43a7f70157e":[4,0,5,7],
+"classApp.html#abe0e4fa91097f7a6588e1213a834121c":[4,0,5,41],
+"classApp.html#abea5a4f77dcd53c928dc4eed86616637":[4,0,5,21],
+"classApp.html#abf46a653d8499e7c253cc1be894a6d83":[4,0,5,19],
+"classApp.html#ac1a8b2cd40609b231a560201a08852ba":[4,0,5,56],
+"classApp.html#ac1d80a14492acc932715d54567d8a589":[4,0,5,50],
+"classApp.html#ac6e6b1c7d6df408580ff79977fcfa656":[4,0,5,58],
+"classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88":[4,0,5,47],
+"classApp.html#acad5896b7a79ae31433ad8f89606c728":[4,0,5,73],
+"classApp.html#acb27e607fe4c82603444676e25c36b70":[4,0,5,13],
+"classApp.html#ad082d63acc078e5bf23825a03bdd6a76":[4,0,5,80],
+"classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0":[4,0,5,45],
+"classApp.html#ad5175536561021548ae8188e24c7b80c":[4,0,5,40],
+"classApp.html#adb060d5c7f35a521ec7ec0effbe08097":[4,0,5,31],
+"classApp.html#adb5a4bb657881e553978ff390babd01f":[4,0,5,12],
+"classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8":[4,0,5,91],
+"classApp.html#ae3f47830543d0d902f66913def8db66b":[4,0,5,57],
+"classApp.html#ae9f96338f32187d308b67b980eea0008":[4,0,5,75],
+"classApp.html#aeb1fe1c8ad9aa639909bd183ce578536":[4,0,5,20],
+"classApp.html#aeca29fd4f7192ca07369b3c598c36e67":[4,0,5,86],
+"classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166":[4,0,5,17],
+"classApp.html#af5007c42a693afd9c4899c243b2e1363":[4,0,5,53],
+"classApp.html#af58db526040829b1c8bd95561b329262":[4,0,5,38],
+"classApp.html#af6d39f63fb7116bbeb04e51696f99474":[4,0,5,0],
+"classBaseObject.html":[4,0,6],
+"classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2":[4,0,6,0],
+"classCache.html":[4,0,7],
+"classConversation.html":[4,0,8],
+"classConversation.html#a2a96b7a6573ae53db861624659e831cb":[4,0,8,5],
+"classConversation.html#a2f12724ef0244e9049fe1bb9641b516d":[4,0,8,16],
+"classConversation.html#a41f4a549e6a99f98935c4742addd22c8":[4,0,8,17],
+"classConversation.html#a4cff75d8c46b517e7133e4d0da6fc1c8":[4,0,8,6],
+"classConversation.html#a5879199008b96bee7550b576d614e1c1":[4,0,8,9],
+"classConversation.html#a5effe8ad3007e01333df44b81432b813":[4,0,8,4],
+"classConversation.html#a66f121ca4026246f86a732e5faa0682c":[4,0,8,10],
+"classConversation.html#a6b064d00c56a6b7dec359d4348711c84":[4,0,8,0],
+"classConversation.html#a8335cdd43f1836e3c255638e61a09e16":[4,0,8,1],
+"classConversation.html#a8748445aa26047ebed5141f3c3cbc244":[4,0,8,14],
+"classConversation.html#a87a0d704d5f2b1a008cc2e9ce06a1bcd":[4,0,8,2],
+"classConversation.html#a8898bddc1e8990e81dab9a13a532cc93":[4,0,8,11],
+"classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3":[4,0,8,7],
+"classConversation.html#adf25ce023b69a166c63c6e84e02c136a":[4,0,8,8],
+"classConversation.html#ae3d4190142e12b57051f11f2911f77a0":[4,0,8,3],
+"classConversation.html#ae81221251307e315f566a11f921ce0a9":[4,0,8,18],
+"classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae":[4,0,8,15],
+"classConversation.html#afb03d1648dbfafe62caa1e30f32f2b1a":[4,0,8,13],
+"classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6":[4,0,8,12],
+"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],
+"classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819":[4,0,14,0],
+"classFriendicaSmarty.html":[4,0,15],
+"classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690":[4,0,15,2],
+"classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9":[4,0,15,1],
+"classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6":[4,0,15,0],
+"classFriendicaSmartyEngine.html":[4,0,16],
+"classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118":[4,0,16,1],
+"classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88":[4,0,16,2],
+"classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6":[4,0,16,0],
+"classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2":[4,0,16,3]
+};
diff --git a/doc/html/navtreeindex2.js b/doc/html/navtreeindex2.js
new file mode 100644
index 000000000..d8367c9f0
--- /dev/null
+++ b/doc/html/navtreeindex2.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX2 =
+{
+"classItem.html":[4,0,17],
+"classItem.html#a007424e3e3171dcfb4312a02161da6cd":[4,0,17,30],
+"classItem.html#a078f95b4134ce3a1df344cf8d386f986":[4,0,17,33],
+"classItem.html#a0c301aaed2b7d682728d18db3a22afa3":[4,0,17,8],
+"classItem.html#a1a1e42877e6ac7af50286142ceb483d2":[4,0,17,35],
+"classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2":[4,0,17,38],
+"classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2":[4,0,17,0],
+"classItem.html#a2ce70ef63f9f4d86a09c351678806925":[4,0,17,23],
+"classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf":[4,0,17,6],
+"classItem.html#a428f448f89a8629055ea3294eb942aea":[4,0,17,16],
+"classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8":[4,0,17,40],
+"classItem.html#a4b92e3a9d6212c553aa2661489bd95d8":[4,0,17,15],
+"classItem.html#a5b2fafdca55aefeaa08993a5a60529f0":[4,0,17,19],
+"classItem.html#a5b561415861f5b89b0733aacfe0428d1":[4,0,17,36],
+"classItem.html#a5cfa6cf964f433a917a81cab079ff9d8":[4,0,17,39],
+"classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189":[4,0,17,41],
+"classItem.html#a632185dd25c5caf277067c76230a4320":[4,0,17,4],
+"classItem.html#a67892aa23d19f4431bb2e5f43c74000e":[4,0,17,12],
+"classItem.html#a7f7bc059de377319282cb4ef4a828480":[4,0,17,37],
+"classItem.html#a80dcd0fb7673776c0967839d429c2a0f":[4,0,17,28],
+"classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51":[4,0,17,1],
+"classItem.html#a904421c7a427411bb2ab473bca872f63":[4,0,17,7],
+"classItem.html#a90743c8348b13213275c223bb9333aa0":[4,0,17,29],
+"classItem.html#a9594df6014b0b6f45364ea7a34510130":[4,0,17,32],
+"classItem.html#a97c7feeea7f26a73176cb19faa455e12":[4,0,17,21],
+"classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7":[4,0,17,26],
+"classItem.html#a9f2d219da712390f59012fc32a342074":[4,0,17,14],
+"classItem.html#aa0ee775ec94abccec6c798428835d001":[4,0,17,5],
+"classItem.html#aa452b5bcd8dea12119b09212c615cb41":[4,0,17,24],
+"classItem.html#aa49e40f961dff66da32c5ae110e32993":[4,0,17,20],
+"classItem.html#aa541bc4290e51bfd688d6921bebabc73":[4,0,17,13],
+"classItem.html#aa8b1bbc4236890694635295e46d7fd72":[4,0,17,25],
+"classItem.html#aabf87ded59c25b5fe2b2296678e70509":[4,0,17,22],
+"classItem.html#aba23a0a9d89e316d2b343cc46d695d91":[4,0,17,17],
+"classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8":[4,0,17,2],
+"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,27],
+"classItem.html#ad3638f93065693c1f69eb349feb1b7aa":[4,0,17,9],
+"classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8":[4,0,17,18],
+"classItem.html#aec24e233f9098f902b1e57e60dcb2019":[4,0,17,31],
+"classItem.html#afa54851df82962c7c42dea3cc9f5c92c":[4,0,17,34],
+"classProtoDriver.html":[4,0,22],
+"classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a":[4,0,22,0],
+"classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d":[4,0,22,2],
+"classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67":[4,0,22,1],
+"classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337":[4,0,22,6],
+"classProtoDriver.html#a85e9063f6d0c304410cd246f7900ea1b":[4,0,22,4],
+"classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181":[4,0,22,5],
+"classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b":[4,0,22,3],
+"classTemplate.html":[4,0,23],
+"classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b":[4,0,23,13],
+"classTemplate.html#a285b5b2007dbbf733476273df3fed4ef":[4,0,23,12],
+"classTemplate.html#a317d535946dc065c35dd5cd38380e6c6":[4,0,23,22],
+"classTemplate.html#a35d599c9b53a02e2fe2232e5b7ed5da7":[4,0,23,2],
+"classTemplate.html#a37c15f6d1ade500943629f27a62808b7":[4,0,23,3],
+"classTemplate.html#a4b933954086d9e01a1804b0b1c6ee93e":[4,0,23,6],
+"classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10":[4,0,23,21],
+"classTemplate.html#a6f0efc256688c36110180b501067ff11":[4,0,23,23],
+"classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38":[4,0,23,15],
+"classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677":[4,0,23,9],
+"classTemplate.html#a8f4d17e49f42b876a97364c13fb572d1":[4,0,23,19],
+"classTemplate.html#aa6a087e0b7b887dd1c98c9e0ecbd3b29":[4,0,23,4],
+"classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee":[4,0,23,10],
+"classTemplate.html#aac9a4638f11271e1b1dcc9f247242718":[4,0,23,20],
+"classTemplate.html#aae9c4d761ea1298e745e8052d7910194":[4,0,23,1],
+"classTemplate.html#abbc484016ddf5d818f55b823cae6feb0":[4,0,23,14],
+"classTemplate.html#abda4c8d049f70553338eae7c905e9d5c":[4,0,23,17],
+"classTemplate.html#abf71098c80fd1f218a59452b3408309e":[4,0,23,7],
+"classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4":[4,0,23,0],
+"classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8":[4,0,23,18],
+"classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228":[4,0,23,8],
+"classTemplate.html#ae791766c3d055f7f1ba5a5e60d647934":[4,0,23,5],
+"classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a":[4,0,23,16],
+"classTemplate.html#afd97b4b1e7754a550e67c0ea79159059":[4,0,23,11],
+"classZotDriver.html":[4,0,24],
+"classZotDriver.html#a2e15ff09772f0608203dad1c98299394":[4,0,24,3],
+"classZotDriver.html#a3cfdf443da4e5326e205855d7c0054f2":[4,0,24,0],
+"classZotDriver.html#a40d328ff9f6b0a238afe286dddee1514":[4,0,24,6],
+"classZotDriver.html#a6776935156accb0f170e2e24577133db":[4,0,24,1],
+"classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f":[4,0,24,4],
+"classZotDriver.html#af65febb26031eb7f39871b9e2a539797":[4,0,24,2],
+"classZotDriver.html#afaaf9941169fc966e43e25b25e6daea6":[4,0,24,5],
+"classdba__driver.html":[4,0,9],
+"classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721":[4,0,9,1],
+"classdba__driver.html#a205f6535e399700b6fca2492f96f2229":[4,0,9,8],
+"classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6":[4,0,9,9],
+"classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746":[4,0,9,6],
+"classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555":[4,0,9,7],
+"classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975":[4,0,9,2],
+"classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c":[4,0,9,11],
+"classdba__driver.html#adcc1f8955120fec0708bce39202d0422":[4,0,9,4],
+"classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc":[4,0,9,3],
+"classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186":[4,0,9,0],
+"classdba__driver.html#af48e2afeded5285766bf92e22123ed03":[4,0,9,10],
+"classdba__driver.html#afc95ffa103a3290581b537670cde5311":[4,0,9,5],
+"classdba__mysql.html":[4,0,10],
+"classdba__mysql.html#a1887338627ce0e28786839363014bd0b":[4,0,10,1],
+"classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e":[4,0,10,0],
+"classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e":[4,0,10,2],
+"classdba__mysql.html#ac3fd60c278f400907322dac578754a99":[4,0,10,3],
+"classdba__mysqli.html":[4,0,11],
+"classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64":[4,0,11,2],
+"classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec":[4,0,11,3],
+"classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55":[4,0,11,0],
+"classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1":[4,0,11,1],
+"classenotify.html":[4,0,12],
+"classes.html":[4,1],
+"classphoto__driver.html":[4,0,19],
+"classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03":[4,0,19,27],
+"classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9":[4,0,19,28],
+"classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712":[4,0,19,13],
+"classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce":[4,0,19,20],
+"classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3":[4,0,19,17],
+"classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832":[4,0,19,5],
+"classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e":[4,0,19,2],
+"classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec":[4,0,19,15],
+"classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1":[4,0,19,29],
+"classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03":[4,0,19,26],
+"classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d":[4,0,19,14],
+"classphoto__driver.html#a56634842b071b96502716e9843ea5361":[4,0,19,19],
+"classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac":[4,0,19,16],
+"classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b":[4,0,19,22],
+"classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3":[4,0,19,9],
+"classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da":[4,0,19,23],
+"classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55":[4,0,19,25],
+"classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab":[4,0,19,12],
+"classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba":[4,0,19,6],
+"classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5":[4,0,19,8],
+"classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd":[4,0,19,11],
+"classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae":[4,0,19,0],
+"classphoto__driver.html#acc30486acee9e89e32701f44a1738117":[4,0,19,10],
+"classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f":[4,0,19,4],
+"classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813":[4,0,19,3],
+"classphoto__driver.html#ae4501abdc9651359f81d036b63625686":[4,0,19,1],
+"classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143":[4,0,19,21],
+"classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80":[4,0,19,24],
+"classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0":[4,0,19,18],
+"classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468":[4,0,19,7],
+"classphoto__gd.html":[4,0,20],
+"classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00":[4,0,20,5],
+"classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd":[4,0,20,9],
+"classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e":[4,0,20,8],
+"classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754":[4,0,20,2],
+"classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9":[4,0,20,6],
+"classphoto__gd.html#a44cedef376044018702d9355ddc813ce":[4,0,20,3],
+"classphoto__gd.html#a724703ecf71b1f1d04a80e86c76db6b1":[4,0,20,1],
+"classphoto__gd.html#a77f87730b11093b76980c541159df37d":[4,0,20,7],
+"classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484":[4,0,20,4],
+"classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c":[4,0,20,0],
+"classphoto__imagick.html":[4,0,21],
+"classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7":[4,0,21,10],
+"classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8":[4,0,21,7],
+"classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4":[4,0,21,0],
+"classphoto__imagick.html#a3047c68bb4de7f66c2893fe451db2b66":[4,0,21,2],
+"classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019":[4,0,21,6],
+"classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f":[4,0,21,8],
+"classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc":[4,0,21,5],
+"classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4":[4,0,21,4],
+"classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb":[4,0,21,9],
+"classphoto__imagick.html#afd49d64751ee3a298eac0c0ce0ba0207":[4,0,21,1],
+"classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393":[4,0,21,3],
+"cli__startup_8php.html":[5,0,0,12],
+"cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b":[5,0,0,12,0],
+"cli__suggest_8php.html":[5,0,0,13],
+"cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2":[5,0,0,13,0],
+"comanche_8php.html":[5,0,0,14],
+"comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe":[5,0,0,14,4],
+"comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922":[5,0,0,14,2],
+"comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b":[5,0,0,14,1],
+"comanche_8php.html#a45900dd1d6101b53e3d063db40eafa5e":[5,0,0,14,6],
+"comanche_8php.html#a5718daeda40bf835345fe061e8808cdf":[5,0,0,14,3],
+"comanche_8php.html#a5a7ab801717d38e91ac910b933973887":[5,0,0,14,0],
+"comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923":[5,0,0,14,8],
+"comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a":[5,0,0,14,5],
+"comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e":[5,0,0,14,7],
+"common_8php.html":[5,0,1,11],
+"common_8php.html#a3b12ec67b3d3edcf595c8d195da5d14a":[5,0,1,11,0],
+"common_8php.html#ab63408f39abef7a6915186e8dabc5a96":[5,0,1,11,1],
+"common_8php.html#aca62f113655809f41f49042ce9b123c2":[5,0,1,11,2],
+"community_8php.html":[5,0,1,12],
+"community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a":[5,0,1,12,0],
+"community_8php.html#a56c94ec978a38633c5628fa6f8e386d9":[5,0,1,12,1],
+"connect_8php.html":[5,0,1,13],
+"connect_8php.html#a417ec27afe33f21a929667a665e32ee2":[5,0,1,13,2],
+"connect_8php.html#a489f0a66c660de6ec4d6917b27674f07":[5,0,1,13,0],
+"connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36":[5,0,1,13,1],
+"connections_8php.html":[5,0,1,14],
+"connections_8php.html#a1224058db8e3fb56463eb312f98e561d":[5,0,1,14,4],
+"connections_8php.html#a15af118efee9c948b6f8294e54a73bb2":[5,0,1,14,1],
+"connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558":[5,0,1,14,3],
+"connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c":[5,0,1,14,2],
+"connections_8php.html#af48f7ad20914760ba9874c090384e35a":[5,0,1,14,0],
+"contact__selectors_8php.html":[5,0,0,17],
+"contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75":[5,0,0,17,1],
+"contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f":[5,0,0,17,0],
+"contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be":[5,0,0,17,3],
+"contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53":[5,0,0,17,2],
+"contact__widgets_8php.html":[5,0,0,18],
+"contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353":[5,0,0,18,0],
+"contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b":[5,0,0,18,2],
+"contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65":[5,0,0,18,1],
+"contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6":[5,0,0,18,3],
+"contact__widgets_8php.html#af24e693532a045954caab515942cfc6f":[5,0,0,18,4],
+"contactgroup_8php.html":[5,0,1,15],
+"contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3":[5,0,1,15,0],
+"conversation_8php.html":[5,0,0,19],
+"conversation_8php.html#a0891aaa4492cba2b51eda12fe01957f3":[5,0,0,19,7],
+"conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654":[5,0,0,19,9],
+"conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1":[5,0,0,19,3],
+"conversation_8php.html#a2a7d541854bba755eb8ada59af7dcb1a":[5,0,0,19,20],
+"conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3":[5,0,0,19,6],
+"conversation_8php.html#a40b9b5e7825bc73932a32e667f05e6f2":[5,0,0,19,15],
+"conversation_8php.html#a4b0888b0f26e1c284a4341fe5fd04f0c":[5,0,0,19,14],
+"conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3":[5,0,0,19,21],
+"conversation_8php.html#a7f6ef0dfa554bacf620e84c18d386e67":[5,0,0,19,8],
+"conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c":[5,0,0,19,13],
+"conversation_8php.html#a9cc2a679606da9e535a06433f9f553a0":[5,0,0,19,19],
+"conversation_8php.html#a9f909b8885259b79c6ac8da93afd8f11":[5,0,0,19,17],
+"conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3":[5,0,0,19,10],
+"conversation_8php.html#ab2383dff4f823e580399ff469d90ab19":[5,0,0,19,4],
+"conversation_8php.html#abed85a41f1160598de880b84021c9cf7":[5,0,0,19,2],
+"conversation_8php.html#ac55e070f65f46fcc8e269f7896be4c7d":[5,0,0,19,18],
+"conversation_8php.html#ad3e1d4b15e7d6d026ee182edd58f692b":[5,0,0,19,0],
+"conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7":[5,0,0,19,1],
+"conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533":[5,0,0,19,11],
+"conversation_8php.html#ae59703b07ce2ddf627b4172ff26058b6":[5,0,0,19,5],
+"conversation_8php.html#ae996eb116d397a2c6396c312d7b98664":[5,0,0,19,16],
+"conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0":[5,0,0,19,12],
+"crepair_8php.html":[5,0,1,16],
+"crepair_8php.html#a29464c01838e209c8059cfcd2d195caa":[5,0,1,16,0],
+"crepair_8php.html#ab089978e50df156bbfabf9f8f5ccd198":[5,0,1,16,1],
+"crepair_8php.html#acc4493e1ffd1462a605dd9b870034513":[5,0,1,16,2],
+"cronhooks_8php.html":[5,0,0,21],
+"cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca":[5,0,0,21,0],
+"crypto_8php.html":[5,0,0,22],
+"crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286":[5,0,0,22,2],
+"crypto_8php.html#a5c61821d205f95f127114159cbffa764":[5,0,0,22,1],
+"crypto_8php.html#a920e5f222d0020f47556033d8b2b6552":[5,0,0,22,7],
+"crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a":[5,0,0,22,4],
+"crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96":[5,0,0,22,8],
+"crypto_8php.html#ac852ee41392d1358c3a54d54935e0bf9":[5,0,0,22,0],
+"crypto_8php.html#ac95ac3b1b23b65b04a86613d4206ae85":[5,0,0,22,6],
+"crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914":[5,0,0,22,3],
+"crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec":[5,0,0,22,5],
+"datetime_8php.html":[5,0,0,23],
+"datetime_8php.html#a03900dcf0f9e3c58793a031673a70326":[5,0,0,23,6],
+"datetime_8php.html#a36d3d6dff8d76b5f295bb3d9c535a5b1":[5,0,0,23,11],
+"datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8":[5,0,0,23,5]
+};
diff --git a/doc/html/navtreeindex3.js b/doc/html/navtreeindex3.js
new file mode 100644
index 000000000..730f749c9
--- /dev/null
+++ b/doc/html/navtreeindex3.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX3 =
+{
+"datetime_8php.html#a5f29553799005b1fd4e9ce9d98ce05aa":[5,0,0,23,3],
+"datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f":[5,0,0,23,10],
+"datetime_8php.html#a7df24d72ea05922d3127363e2295174c":[5,0,0,23,7],
+"datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82":[5,0,0,23,9],
+"datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865":[5,0,0,23,12],
+"datetime_8php.html#aba971b67f17fecf050813f1eba72367f":[5,0,0,23,8],
+"datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df":[5,0,0,23,0],
+"datetime_8php.html#ac265b86f384ee094ed5479aae02aa5c8":[5,0,0,23,2],
+"datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226":[5,0,0,23,4],
+"datetime_8php.html#aea356409ba69f9de412298c998595dd2":[5,0,0,23,1],
+"db__update_8php.html":[5,0,2,1],
+"dba__driver_8php.html":[5,0,0,0,0],
+"dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f":[5,0,0,0,0,8],
+"dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249":[5,0,0,0,0,7],
+"dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4":[5,0,0,0,0,3],
+"dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee":[5,0,0,0,0,6],
+"dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb":[5,0,0,0,0,5],
+"dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e":[5,0,0,0,0,2],
+"dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947":[5,0,0,0,0,1],
+"dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930":[5,0,0,0,0,4],
+"dba__mysql_8php.html":[5,0,0,0,1],
+"dba__mysqli_8php.html":[5,0,0,0,2],
+"delegate_8php.html":[5,0,1,17],
+"delegate_8php.html#a943eea8996ef348eb845c498f9f354dd":[5,0,1,17,0],
+"deliver_8php.html":[5,0,0,24],
+"deliver_8php.html#a397afcb9afecf0c1816b0951189dd346":[5,0,0,24,0],
+"dir_032dd9e2cfe278a2cfa5eb9547448eb9.html":[5,0,3,1,0,0],
+"dir_0eaa4a0adae8ba4811e133c6e594aeee.html":[5,0,2,0],
+"dir_21bc5169ff11430004758be31dcfc6c4.html":[5,0,0,0],
+"dir_23ec12649285f9fabf3a6b7380226c28.html":[5,0,2],
+"dir_55dbaf9b7b53c4fc605c9011743a7353.html":[5,0,3,1,0],
+"dir_6b44a0e797e2f12381093380e3e54763.html":[5,0,3,1,1,0],
+"dir_817f6d302394b98e59575acdb59998bc.html":[5,0,3,0],
+"dir_8543001e5d25368a6edede3e63efb554.html":[5,0,3,1],
+"dir__fns_8php.html":[5,0,0,25],
+"dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a":[5,0,0,25,2],
+"dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d":[5,0,0,25,0],
+"dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6":[5,0,0,25,1],
+"dir_aae29906d7bfc07d076125f669c8352e.html":[5,0,0,1],
+"dir_b2f003339c516cc00c8cadcafbe82f13.html":[5,0,3],
+"dir_d41ce877eb409a4791b288730010abe2.html":[5,0,1],
+"dir_d44c64559bbebec7f509842c48db8b23.html":[5,0,0],
+"dir_d795dfe8933002397556cc7aa16eca15.html":[5,0,3,1,1],
+"dirfind_8php.html":[5,0,1,19],
+"dirfind_8php.html#ac689a812c84f161b3a0d42349f83981c":[5,0,1,19,1],
+"dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee":[5,0,1,19,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],
+"docblox__errorchecker_8php.html":[5,0,2,2],
+"docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62":[5,0,2,2,3],
+"docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec":[5,0,2,2,2],
+"docblox__errorchecker_8php.html#a2b767cfc461fdd5061fffc9e4a806d5b":[5,0,2,2,0],
+"docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5":[5,0,2,2,8],
+"docblox__errorchecker_8php.html#a648a570b0f9f6e0e51b7267647c4b09b":[5,0,2,2,5],
+"docblox__errorchecker_8php.html#a721c6ff80a6d3e4ad4ffa52a04c60085":[5,0,2,2,9],
+"docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f":[5,0,2,2,6],
+"docblox__errorchecker_8php.html#a852004caba0a34390297a079f4aaac73":[5,0,2,2,7],
+"docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6":[5,0,2,2,4],
+"docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f":[5,0,2,2,1],
+"docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d":[5,0,2,2,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],
+"enotify_8php.html":[5,0,0,27],
+"enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc":[5,0,0,27,1],
+"event_8php.html":[5,0,0,28],
+"event_8php.html#a018ea4484910a873a7c1eaa126de9b1a":[5,0,0,28,6],
+"event_8php.html#a180cccd63c2a2f00ff432b03113531f3":[5,0,0,28,0],
+"event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279":[5,0,0,28,1],
+"event_8php.html#a2ac9f1b08de03250ecd794f705781d17":[5,0,0,28,5],
+"event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850":[5,0,0,28,2],
+"event_8php.html#a89ef533faf345db8d64a58d4856bde3a":[5,0,0,28,3],
+"event_8php.html#abb74206cf42d694307c3d7abb7af9869":[5,0,0,28,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],
+"expire_8php.html":[5,0,0,29],
+"expire_8php.html#a444e45c9b67727b27db4c779fd51a298":[5,0,0,29,0],
+"extract_8php.html":[5,0,2,3],
+"extract_8php.html#a0cbe524ffc9a496114fd7ba9f423ef44":[5,0,2,3,3],
+"extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634":[5,0,2,3,2],
+"extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb":[5,0,2,3,0],
+"extract_8php.html#a9590b15215a21e9b42eb546aeef79704":[5,0,2,3,1],
+"fbrowser_8php.html":[5,0,1,27],
+"fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4":[5,0,1,27,0],
+"features_8php.html":[5,0,0,30],
+"features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0":[5,0,0,30,0],
+"features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c":[5,0,0,30,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],
+"files.html":[5,0],
+"filestorage_8php.html":[5,0,1,31],
+"filestorage_8php.html#a61bb1be78472555df4ce619f51014040":[5,0,1,31,0],
+"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],
+"friendica-to-smarty-tpl_8py.html":[5,0,2,4],
+"friendica-to-smarty-tpl_8py.html#a005c1b7a69cac31fad72a941974ba7bb":[5,0,2,4,11],
+"friendica-to-smarty-tpl_8py.html#a0b4cf73d1a8d201a28d269eeb62a5d5c":[5,0,2,4,8],
+"friendica-to-smarty-tpl_8py.html#a3719dd46e286a57d315e6adae1845854":[5,0,2,4,1],
+"friendica-to-smarty-tpl_8py.html#a38503e37fe68ac27c88cce91a9ac9efa":[5,0,2,4,0],
+"friendica-to-smarty-tpl_8py.html#a5dfc21ab8282dda8e3a7dff43cd0e283":[5,0,2,4,13],
+"friendica-to-smarty-tpl_8py.html#a5f9bf7a67d955c0d6be70a82097611c5":[5,0,2,4,6],
+"friendica-to-smarty-tpl_8py.html#a68d15934660cd1f4301ce251b1646f09":[5,0,2,4,12],
+"friendica-to-smarty-tpl_8py.html#a8540514fb7c4aa18ad2dffa2a975036b":[5,0,2,4,14],
+"friendica-to-smarty-tpl_8py.html#a87182a9bab47640428bd0b2b9946bef9":[5,0,2,4,10],
+"friendica-to-smarty-tpl_8py.html#a89388ea9b2826e8218ed480e917d8105":[5,0,2,4,2],
+"friendica-to-smarty-tpl_8py.html#a965e1d6d6293654a56e029a7e454dec7":[5,0,2,4,5],
+"friendica-to-smarty-tpl_8py.html#ad9ef87ccb2c9960501f5e02424a22d80":[5,0,2,4,9],
+"friendica-to-smarty-tpl_8py.html#ae74419b16516956c66f7db714a93a6ac":[5,0,2,4,7],
+"friendica-to-smarty-tpl_8py.html#aecf730e0884bb4ddc6c0deb1ef85f8eb":[5,0,2,4,4],
+"friendica-to-smarty-tpl_8py.html#af6b2c793958aae2aadc294577431f749":[5,0,2,4,3],
+"friendica__smarty_8php.html":[5,0,0,32],
+"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],
+"full_8php.html":[5,0,3,0,1],
+"full_8php.html#a6fac1b4b8cdfde06ea1b7713479e92db":[5,0,3,0,1,0],
+"functions.html":[4,3,0],
+"functions.html":[4,3,0,0],
+"functions_0x5f.html":[4,3,0,1],
+"functions_0x61.html":[4,3,0,2],
+"functions_0x62.html":[4,3,0,3],
+"functions_0x63.html":[4,3,0,4],
+"functions_0x64.html":[4,3,0,5],
+"functions_0x65.html":[4,3,0,6],
+"functions_0x66.html":[4,3,0,7],
+"functions_0x67.html":[4,3,0,8],
+"functions_0x68.html":[4,3,0,9],
+"functions_0x69.html":[4,3,0,10],
+"functions_0x6c.html":[4,3,0,11],
+"functions_0x6e.html":[4,3,0,12],
+"functions_0x6f.html":[4,3,0,13],
+"functions_0x70.html":[4,3,0,14],
+"functions_0x71.html":[4,3,0,15],
+"functions_0x72.html":[4,3,0,16],
+"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],
+"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],
+"globals_0x6c.html":[5,1,0,13],
+"globals_0x6d.html":[5,1,0,14],
+"globals_0x6e.html":[5,1,0,15],
+"globals_0x6f.html":[5,1,0,16],
+"globals_0x70.html":[5,1,0,17],
+"globals_0x71.html":[5,1,0,18],
+"globals_0x72.html":[5,1,0,19],
+"globals_0x73.html":[5,1,0,20],
+"globals_0x74.html":[5,1,0,21],
+"globals_0x75.html":[5,1,0,22],
+"globals_0x76.html":[5,1,0,23],
+"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_0x61.html":[5,1,1,1],
+"globals_func_0x62.html":[5,1,1,2],
+"globals_func_0x63.html":[5,1,1,3],
+"globals_func_0x64.html":[5,1,1,4],
+"globals_func_0x65.html":[5,1,1,5],
+"globals_func_0x66.html":[5,1,1,6],
+"globals_func_0x67.html":[5,1,1,7],
+"globals_func_0x68.html":[5,1,1,8],
+"globals_func_0x69.html":[5,1,1,9],
+"globals_func_0x6a.html":[5,1,1,10],
+"globals_func_0x6b.html":[5,1,1,11],
+"globals_func_0x6c.html":[5,1,1,12],
+"globals_func_0x6d.html":[5,1,1,13],
+"globals_func_0x6e.html":[5,1,1,14],
+"globals_func_0x6f.html":[5,1,1,15],
+"globals_func_0x70.html":[5,1,1,16],
+"globals_func_0x71.html":[5,1,1,17],
+"globals_func_0x72.html":[5,1,1,18],
+"globals_func_0x73.html":[5,1,1,19],
+"globals_func_0x74.html":[5,1,1,20],
+"globals_func_0x75.html":[5,1,1,21],
+"globals_func_0x76.html":[5,1,1,22],
+"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],
+"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],
+"globals_vars_0x65.html":[5,1,2,4],
+"globals_vars_0x66.html":[5,1,2,5],
+"globals_vars_0x67.html":[5,1,2,6],
+"globals_vars_0x68.html":[5,1,2,7],
+"globals_vars_0x69.html":[5,1,2,8],
+"globals_vars_0x6a.html":[5,1,2,9],
+"globals_vars_0x6b.html":[5,1,2,10],
+"globals_vars_0x6c.html":[5,1,2,11],
+"globals_vars_0x6d.html":[5,1,2,12],
+"globals_vars_0x6e.html":[5,1,2,13],
+"globals_vars_0x70.html":[5,1,2,14],
+"globals_vars_0x72.html":[5,1,2,15],
+"globals_vars_0x73.html":[5,1,2,16],
+"globals_vars_0x74.html":[5,1,2,17],
+"globals_vars_0x75.html":[5,1,2,18],
+"globals_vars_0x77.html":[5,1,2,19],
+"globals_vars_0x78.html":[5,1,2,20],
+"globals_vars_0x7a.html":[5,1,2,21],
+"gprobe_8php.html":[5,0,0,33],
+"gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1":[5,0,0,33,0],
+"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#af055e15f600ffa6fbca9386fdf715224":[5,0,1,36,0],
+"hierarchy.html":[4,2],
+"home_8php.html":[5,0,1,37],
+"hostxrd_8php.html":[5,0,1,38],
+"hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92":[5,0,1,38,0],
+"html2bbcode_8php.html":[5,0,0,35],
+"html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7":[5,0,0,35,3],
+"html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837":[5,0,0,35,1],
+"html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2":[5,0,0,35,0],
+"html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8":[5,0,0,35,2],
+"html2plain_8php.html":[5,0,0,36],
+"html2plain_8php.html#a3214912e3d00cf0a948072daccf16740":[5,0,0,36,0]
+};
diff --git a/doc/html/navtreeindex4.js b/doc/html/navtreeindex4.js
new file mode 100644
index 000000000..23edaaad9
--- /dev/null
+++ b/doc/html/navtreeindex4.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX4 =
+{
+"html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0":[5,0,0,36,3],
+"html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04":[5,0,0,36,2],
+"html2plain_8php.html#ae1c203d0f089d5678d73a6c64a395201":[5,0,0,36,1],
+"identity_8php.html":[5,0,0,37],
+"identity_8php.html#a345f4c943d84de502ec6e72d2c813945":[5,0,0,37,2],
+"identity_8php.html#a3570a4eb77332b292d394c4132cb8f03":[5,0,0,37,3],
+"identity_8php.html#a77d2237f1846964634b1c99089c27c7d":[5,0,0,37,0],
+"identity_8php.html#a77ee7d66eb0758f7e7882f70ad0f9485":[5,0,0,37,4],
+"identity_8php.html#a78151baf4407a8482d2681a91a9c486b":[5,0,0,37,6],
+"identity_8php.html#abf6a9c6ed92d594f1d4513c4e22a7abd":[5,0,0,37,1],
+"identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633":[5,0,0,37,5],
+"identity_8php.html#af2802bc13a00a17b867bba7978ba8f58":[5,0,0,37,7],
+"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],
+"include_2api_8php.html":[5,0,0,5],
+"include_2api_8php.html#a0991f72554f821255397d615e76f3203":[5,0,0,5,12],
+"include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5":[5,0,0,5,5],
+"include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879":[5,0,0,5,18],
+"include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f":[5,0,0,5,15],
+"include_2api_8php.html#a2e94eab9d6c164bfef7a1b2ab87b339b":[5,0,0,5,0],
+"include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283":[5,0,0,5,44],
+"include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8":[5,0,0,5,16],
+"include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e":[5,0,0,5,49],
+"include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95":[5,0,0,5,38],
+"include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea":[5,0,0,5,19],
+"include_2api_8php.html#a528d8070ee74ea800102936ce73cf366":[5,0,0,5,37],
+"include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74":[5,0,0,5,21],
+"include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d":[5,0,0,5,13],
+"include_2api_8php.html#a5990101034e7abf6404feba3cd273629":[5,0,0,5,4],
+"include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08":[5,0,0,5,45],
+"include_2api_8php.html#a645397787618b5c548a31e8686e8cca4":[5,0,0,5,32],
+"include_2api_8php.html#a6951c690d87775eb37e569c66011988e":[5,0,0,5,35],
+"include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f":[5,0,0,5,31],
+"include_2api_8php.html#a72bfecac1970bc29b853073e816388ff":[5,0,0,5,6],
+"include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5":[5,0,0,5,9],
+"include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad":[5,0,0,5,2],
+"include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d":[5,0,0,5,46],
+"include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e":[5,0,0,5,39],
+"include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3":[5,0,0,5,10],
+"include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705":[5,0,0,5,8],
+"include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410":[5,0,0,5,34],
+"include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3":[5,0,0,5,28],
+"include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa":[5,0,0,5,23],
+"include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1":[5,0,0,5,25],
+"include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d":[5,0,0,5,51],
+"include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f":[5,0,0,5,29],
+"include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18":[5,0,0,5,3],
+"include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b":[5,0,0,5,17],
+"include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76":[5,0,0,5,48],
+"include_2api_8php.html#ac2c2b18c426d697d11a830bca146be8a":[5,0,0,5,30],
+"include_2api_8php.html#ac5a64cc81d70ff3cf866093ea9721d23":[5,0,0,5,24],
+"include_2api_8php.html#acafd2899309a005fcb725289173dc7fe":[5,0,0,5,22],
+"include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22":[5,0,0,5,40],
+"include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2":[5,0,0,5,11],
+"include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4":[5,0,0,5,33],
+"include_2api_8php.html#ad4d1634df6b35126552324683caaffa2":[5,0,0,5,43],
+"include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e":[5,0,0,5,36],
+"include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53":[5,0,0,5,14],
+"include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8":[5,0,0,5,41],
+"include_2api_8php.html#ae82608c317421f27446465aa6724733d":[5,0,0,5,20],
+"include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5":[5,0,0,5,1],
+"include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25":[5,0,0,5,7],
+"include_2api_8php.html#aeb2e7ad00ea666b4b6dfcf82008194f8":[5,0,0,5,50],
+"include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63":[5,0,0,5,42],
+"include_2api_8php.html#afb99daa6b731bf497b81f2128084852c":[5,0,0,5,47],
+"include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73":[5,0,0,5,26],
+"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,5],
+"include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f":[5,0,0,6,4],
+"include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3":[5,0,0,6,2],
+"include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932":[5,0,0,6,1],
+"include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909":[5,0,0,6,6],
+"include_2config_8php.html":[5,0,0,15],
+"include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1":[5,0,0,15,7],
+"include_2config_8php.html#a549910227348003efc3c05c9105c42da":[5,0,0,15,0],
+"include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33":[5,0,0,15,9],
+"include_2config_8php.html#a61591371cb18764138655d67dc817ab2":[5,0,0,15,11],
+"include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941":[5,0,0,15,1],
+"include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72":[5,0,0,15,2],
+"include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e":[5,0,0,15,6],
+"include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6":[5,0,0,15,8],
+"include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad":[5,0,0,15,5],
+"include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a":[5,0,0,15,10],
+"include_2config_8php.html#af02c96e6b37335774b548914ede1d22e":[5,0,0,15,3],
+"include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74":[5,0,0,15,4],
+"include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e":[5,0,0,15,12],
+"include_2directory_8php.html":[5,0,0,26],
+"include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0":[5,0,0,26,0],
+"include_2follow_8php.html":[5,0,0,31],
+"include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7":[5,0,0,31,0],
+"include_2group_8php.html":[5,0,0,34],
+"include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b":[5,0,0,34,2],
+"include_2group_8php.html#a048f6892bfd28852de1b76470df411de":[5,0,0,34,10],
+"include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce":[5,0,0,34,1],
+"include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17":[5,0,0,34,8],
+"include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345":[5,0,0,34,0],
+"include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5":[5,0,0,34,6],
+"include_2group_8php.html#a540e3ef36f47d47532646be4241f6518":[5,0,0,34,7],
+"include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09":[5,0,0,34,4],
+"include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245":[5,0,0,34,5],
+"include_2group_8php.html#ab4d9e5b59f48787cb01baae5dc6c381f":[5,0,0,34,11],
+"include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb":[5,0,0,34,3],
+"include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f":[5,0,0,34,9],
+"include_2menu_8php.html":[5,0,0,42],
+"include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98":[5,0,0,42,1],
+"include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8":[5,0,0,42,3],
+"include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7":[5,0,0,42,8],
+"include_2menu_8php.html#a68ebbf492470c930f652013656f9071d":[5,0,0,42,7],
+"include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571":[5,0,0,42,5],
+"include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e":[5,0,0,42,10],
+"include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a":[5,0,0,42,2],
+"include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa":[5,0,0,42,6],
+"include_2menu_8php.html#acef15a498d52666b1c7e5c12765c689b":[5,0,0,42,9],
+"include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804":[5,0,0,42,4],
+"include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8":[5,0,0,42,0],
+"include_2message_8php.html":[5,0,0,43],
+"include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091":[5,0,0,43,2],
+"include_2message_8php.html#a5f8de9847e203329e317ac38dc646898":[5,0,0,43,1],
+"include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e":[5,0,0,43,3],
+"include_2message_8php.html#ac382fdcdf990dcfa8f6528ab8fd280bd":[5,0,0,43,4],
+"include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1":[5,0,0,43,0],
+"include_2network_8php.html":[5,0,0,45],
+"include_2network_8php.html#a0bdc4b0bfc54797c249dc4eca25aeda4":[5,0,0,45,0],
+"include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0":[5,0,0,45,6],
+"include_2network_8php.html#a2729d012410e470c527a62a3f777ded8":[5,0,0,45,10],
+"include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6":[5,0,0,45,15],
+"include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a":[5,0,0,45,8],
+"include_2network_8php.html#a4c5d50079e089168d9248427018fffd4":[5,0,0,45,13],
+"include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2":[5,0,0,45,12],
+"include_2network_8php.html#a540420ff3675a72cb781ef9a7e8c2cd9":[5,0,0,45,5],
+"include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2":[5,0,0,45,19],
+"include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7":[5,0,0,45,11],
+"include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5":[5,0,0,45,20],
+"include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d":[5,0,0,45,9],
+"include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02":[5,0,0,45,18],
+"include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0":[5,0,0,45,7],
+"include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc":[5,0,0,45,25],
+"include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff":[5,0,0,45,22],
+"include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6":[5,0,0,45,23],
+"include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e":[5,0,0,45,16],
+"include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37":[5,0,0,45,24],
+"include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7":[5,0,0,45,3],
+"include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694":[5,0,0,45,1],
+"include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246":[5,0,0,45,4],
+"include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041":[5,0,0,45,14],
+"include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335":[5,0,0,45,21],
+"include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f":[5,0,0,45,17],
+"include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7":[5,0,0,45,2],
+"include_2notify_8php.html":[5,0,0,47],
+"include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3":[5,0,0,47,0],
+"include_2oembed_8php.html":[5,0,0,49],
+"include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172":[5,0,0,49,5],
+"include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0":[5,0,0,49,7],
+"include_2oembed_8php.html#a03fa3b7832c98a3d0b4630afeb73d487":[5,0,0,49,1],
+"include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3":[5,0,0,49,4],
+"include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2":[5,0,0,49,3],
+"include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a":[5,0,0,49,6],
+"include_2oembed_8php.html#ab953a6e7c11bc6498ce01ed73e2ba319":[5,0,0,49,0],
+"include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2":[5,0,0,49,2],
+"include_2photos_8php.html":[5,0,0,53],
+"include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109":[5,0,0,53,0],
+"include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe":[5,0,0,53,2],
+"include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35":[5,0,0,53,1],
+"include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51":[5,0,0,53,7],
+"include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab":[5,0,0,53,3],
+"include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274":[5,0,0,53,6],
+"include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9":[5,0,0,53,5],
+"include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979":[5,0,0,53,4],
+"index.html":[],
+"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],
+"items_8php.html":[5,0,0,40],
+"items_8php.html#a004e89d86b0f29b2c4da20108ecc4091":[5,0,0,40,53],
+"items_8php.html#a016dd86c827d08db89061ea81d15c6cb":[5,0,0,40,2],
+"items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70":[5,0,0,40,5],
+"items_8php.html#a04a35b610acfe54434df08adec39c0c7":[5,0,0,40,27],
+"items_8php.html#a0790a4550b829e85504af548623002ca":[5,0,0,40,6],
+"items_8php.html#a079e099e15d88d47aeb6ca6d60da7107":[5,0,0,40,32],
+"items_8php.html#a09d425596b9f8663472cf7474ad36d96":[5,0,0,40,36],
+"items_8php.html#a0cf98bb619f07dd18f602683a55a5f59":[5,0,0,40,24],
+"items_8php.html#a1e75047cf175aaee8dd16aa761913ff9":[5,0,0,40,4],
+"items_8php.html#a251343637ff40a50cca93452cd530c26":[5,0,0,40,31],
+"items_8php.html#a2541e6861a56d145c9281877cc501615":[5,0,0,40,38],
+"items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6":[5,0,0,40,3],
+"items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259":[5,0,0,40,12],
+"items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7":[5,0,0,40,20],
+"items_8php.html#a36e656667193c83aa2cc03a024fc131b":[5,0,0,40,0],
+"items_8php.html#a410f9c743877c125ca06312373346903":[5,0,0,40,44],
+"items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b":[5,0,0,40,47],
+"items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361":[5,0,0,40,29],
+"items_8php.html#a566c601726697e044e75284af7fb6f17":[5,0,0,40,19],
+"items_8php.html#a56b2a4abcadfac71175cd50555528cc3":[5,0,0,40,11],
+"items_8php.html#a5f690fc2484abec07840b4f9dd525bd9":[5,0,0,40,17],
+"items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7":[5,0,0,40,37],
+"items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55":[5,0,0,40,15],
+"items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc":[5,0,0,40,35],
+"items_8php.html#a756738301f2ed96be50232500677d58a":[5,0,0,40,40],
+"items_8php.html#a77051724d1784074ff187e73a4db93fe":[5,0,0,40,33],
+"items_8php.html#a77da7ce9a117601d49ac4a67c71b514f":[5,0,0,40,42],
+"items_8php.html#a82955cc578f0fa600acec84475026194":[5,0,0,40,16],
+"items_8php.html#a8395d189a36abfa0dfff81a2b0e70669":[5,0,0,40,13],
+"items_8php.html#a8794863cdf8ce1333040933d3a3f66bd":[5,0,0,40,10],
+"items_8php.html#a88c6cf7649ac836fbbed82a7a0315110":[5,0,0,40,51],
+"items_8php.html#a896c1809d58f2d7a42cfe14577958ddf":[5,0,0,40,26],
+"items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8":[5,0,0,40,9],
+"items_8php.html#a94ddb1d6c8fa21dd7433677e85168037":[5,0,0,40,30],
+"items_8php.html#aa371905f0a211b307cb3f7188c6cba04":[5,0,0,40,52],
+"items_8php.html#aa579bc4445d60098b1410961ca8e96b7":[5,0,0,40,8],
+"items_8php.html#aa723c0571e314a1853a24c5854b4f54f":[5,0,0,40,21],
+"items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee":[5,0,0,40,7],
+"items_8php.html#aab9c6bae4c40799867596bdaae9829fd":[5,0,0,40,28],
+"items_8php.html#aab9e0c58247427126de0699c729c3b6c":[5,0,0,40,48],
+"items_8php.html#ab1bce4261bcf75ad62753b498a144d17":[5,0,0,40,49],
+"items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87":[5,0,0,40,25],
+"items_8php.html#abe695dd89e1e10ed042c26b80114f0ed":[5,0,0,40,45],
+"items_8php.html#abf7a1b73eb352d79acd36309b0dababd":[5,0,0,40,1],
+"items_8php.html#ac1fcf621dce7370515b420a7753f4726":[5,0,0,40,43],
+"items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a":[5,0,0,40,18],
+"items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484":[5,0,0,40,39],
+"items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0":[5,0,0,40,46],
+"items_8php.html#ad34827ed330898456783fb14c7b46154":[5,0,0,40,50],
+"items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9":[5,0,0,40,23],
+"items_8php.html#ae73794179b62d39bb597ff670ab1c1e5":[5,0,0,40,34],
+"items_8php.html#af94c281016c6c912d06e064113336c5c":[5,0,0,40,41],
+"items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1":[5,0,0,40,14],
+"items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67":[5,0,0,40,22],
+"language_8php.html":[5,0,0,41],
+"language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0":[5,0,0,41,6],
+"language_8php.html#a632da17c7ac0d2dc1a00a4706870194b":[5,0,0,41,0],
+"language_8php.html#a78bd204955ec4cc3a9ac651285a1689d":[5,0,0,41,4],
+"language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05":[5,0,0,41,3]
+};
diff --git a/doc/html/navtreeindex5.js b/doc/html/navtreeindex5.js
new file mode 100644
index 000000000..59df79201
--- /dev/null
+++ b/doc/html/navtreeindex5.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX5 =
+{
+"language_8php.html#a980dee1d8715a98ab02e36b59facf8ed":[5,0,0,41,1],
+"language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04":[5,0,0,41,7],
+"language_8php.html#ac9142ef1d01a235c760deb0f16643f5a":[5,0,0,41,5],
+"language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e":[5,0,0,41,2],
+"language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d":[5,0,0,41,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],
+"md_README.html":[2],
+"md_config.html":[0],
+"md_fresh.html":[1],
+"minimal_8php.html":[5,0,3,0,2],
+"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],
+"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],
+"mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2":[5,0,1,4,1],
+"mod_2attach_8php.html":[5,0,1,6],
+"mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1":[5,0,1,6,0],
+"mod_2directory_8php.html":[5,0,1,18],
+"mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf":[5,0,1,18,2],
+"mod_2directory_8php.html#aa1d928543212871491706216742dd73c":[5,0,1,18,0],
+"mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44":[5,0,1,18,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,3],
+"mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4":[5,0,1,57,0],
+"mod_2network_8php.html#aeaa518c1a317516a3da337b88d358666":[5,0,1,57,2],
+"mod_2notify_8php.html":[5,0,1,61],
+"mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae":[5,0,1,61,1],
+"mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3":[5,0,1,61,0],
+"mod_2oembed_8php.html":[5,0,1,62],
+"mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014":[5,0,1,62,0],
+"mod_2photos_8php.html":[5,0,1,68],
+"mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080":[5,0,1,68,2],
+"mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812":[5,0,1,68,0],
+"mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014":[5,0,1,68,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],
+"namespaceFriendica.html":[3,0,1],
+"namespaceFriendica.html":[4,0,1],
+"namespaceacl__selectors.html":[4,0,0],
+"namespaceacl__selectors.html":[3,0,0],
+"namespacefriendica-to-smarty-tpl.html":[4,0,2],
+"namespacefriendica-to-smarty-tpl.html":[3,0,2],
+"namespacemembers.html":[3,1,0],
+"namespacemembers_func.html":[3,1,1],
+"namespacemembers_vars.html":[3,1,2],
+"namespaces.html":[3,0],
+"namespaceupdatetpl.html":[4,0,3],
+"namespaceupdatetpl.html":[3,0,3],
+"namespaceutil.html":[4,0,4],
+"namespaceutil.html":[3,0,4],
+"nav_8php.html":[5,0,0,44],
+"nav_8php.html#a43be0df73b90647ea70947ce004e231e":[5,0,0,44,0],
+"nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a":[5,0,0,44,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],
+"nogroup_8php.html":[5,0,1,59],
+"nogroup_8php.html#a099cb353bf62e8453069ce107b763212":[5,0,1,59,1],
+"nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30":[5,0,1,59,0],
+"notifications_8php.html":[5,0,1,60],
+"notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33":[5,0,1,60,1],
+"notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62":[5,0,1,60,0],
+"notifier_8php.html":[5,0,0,46],
+"notifier_8php.html#a568c502f626cff95e344c0748938b85d":[5,0,0,46,0],
+"oauth_8php.html":[5,0,0,48],
+"oauth_8php.html#a7a32a5990f113ac9465b03b29175cf16":[5,0,0,48,3],
+"oauth_8php.html#ad343cab37aa860d2d14dc86b7f5ca0c6":[5,0,0,48,2],
+"oexchange_8php.html":[5,0,1,63],
+"oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26":[5,0,1,63,0],
+"oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59":[5,0,1,63,1],
+"onepoll_8php.html":[5,0,0,50],
+"onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d":[5,0,0,50,0],
+"opensearch_8php.html":[5,0,1,64],
+"opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9":[5,0,1,64,0],
+"page_8php.html":[5,0,1,65],
+"page_8php.html#a4d89800c0366a239191b1692c09635cf":[5,0,1,65,1],
+"page_8php.html#a91a5f649f68406149108bded1dc90b22":[5,0,1,65,0],
+"page__widgets_8php.html":[5,0,0,51],
+"page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f":[5,0,0,51,1],
+"page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0":[5,0,0,51,0],
+"pages.html":[],
+"parse__url_8php.html":[5,0,1,66],
+"parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b":[5,0,1,66,2],
+"parse__url_8php.html#a25635549f2c22955d72465f4d2e58993":[5,0,1,66,3],
+"parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a":[5,0,1,66,1],
+"parse__url_8php.html#aa7dd8f961bea042d62726ed909e4a868":[5,0,1,66,0],
+"permissions_8php.html":[5,0,0,52],
+"permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972":[5,0,0,52,2],
+"permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7":[5,0,0,52,0],
+"permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835":[5,0,0,52,3],
+"permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d":[5,0,0,52,4],
+"permissions_8php.html#aeca9b280f3dc3358c89976d81d690008":[5,0,0,52,1],
+"photo_8php.html":[5,0,1,67],
+"photo_8php.html#a582779d24882b0d31ee909a91d70a448":[5,0,1,67,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#a32e2817faa25d7f11f60a8abff565035":[5,0,0,1,0,4],
+"photo__driver_8php.html#a7273b82b017fd96d29b2c57bab03aea6":[5,0,0,1,0,1],
+"photo__gd_8php.html":[5,0,0,1,1],
+"photo__imagick_8php.html":[5,0,0,1,2],
+"php2po_8php.html":[5,0,2,5],
+"php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b":[5,0,2,5,7],
+"php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1":[5,0,2,5,5],
+"php2po_8php.html#a45b05625748f412ec97afcd61cf7980b":[5,0,2,5,6],
+"php2po_8php.html#a48cb304902320d173a4eaa41543327b9":[5,0,2,5,3],
+"php2po_8php.html#a61f8ddeb5557d46ebc546cc355bda214":[5,0,2,5,0],
+"php2po_8php.html#a6b0b8ebd9ce811d1325ef2c129443bc0":[5,0,2,5,1],
+"php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4":[5,0,2,5,4],
+"php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178":[5,0,2,5,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,6],
+"php_8php.html":[5,0,1,69],
+"php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6":[5,0,1,69,0],
+"ping_8php.html":[5,0,1,70],
+"ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1":[5,0,1,70,0],
+"plugin_8php.html":[5,0,0,54],
+"plugin_8php.html#a030cec6793b909c439c0336ba39b1571":[5,0,0,54,17],
+"plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76":[5,0,0,54,20],
+"plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a":[5,0,0,54,8],
+"plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813":[5,0,0,54,13],
+"plugin_8php.html#a425472c5f3afc137268b2ad45652b209":[5,0,0,54,15],
+"plugin_8php.html#a48047edfbef770125a5508dcc2f9282f":[5,0,0,54,7],
+"plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5":[5,0,0,54,12],
+"plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040":[5,0,0,54,24],
+"plugin_8php.html#a516591850f4fd49fd1425cfa54089db8":[5,0,0,54,9],
+"plugin_8php.html#a56f71fe5adf9586ce950523d8180443e":[5,0,0,54,22],
+"plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1":[5,0,0,54,11],
+"plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2":[5,0,0,54,19],
+"plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d":[5,0,0,54,23],
+"plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4":[5,0,0,54,4],
+"plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c":[5,0,0,54,0],
+"plugin_8php.html#a901657dd078e070516cf97285e0bada7":[5,0,0,54,25],
+"plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6":[5,0,0,54,1],
+"plugin_8php.html#a90538627db68605aeb6db17a8ead6523":[5,0,0,54,21],
+"plugin_8php.html#a905b54e10704b283ac64680a8abc0971":[5,0,0,54,18],
+"plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d":[5,0,0,54,14],
+"plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295":[5,0,0,54,3],
+"plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405":[5,0,0,54,6],
+"plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f":[5,0,0,54,2],
+"plugin_8php.html#af92789f559b89a380e49d303218aeeca":[5,0,0,54,10],
+"plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025":[5,0,0,54,16],
+"plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35":[5,0,0,54,5],
+"po2php_8php.html":[5,0,2,6],
+"po2php_8php.html#a3b75e36f913198299e99559b175cd8b4":[5,0,2,6,0],
+"poco_8php.html":[5,0,1,71],
+"poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498":[5,0,1,71,0],
+"poke_8php.html":[5,0,1,72],
+"poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b":[5,0,1,72,1],
+"poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993":[5,0,1,72,0],
+"poller_8php.html":[5,0,0,55],
+"poller_8php.html#a5f12df3a4738124b6c039971e87e76da":[5,0,0,55,0],
+"post_8php.html":[5,0,1,73],
+"post_8php.html#af4b48181ce773ef0cdfc972441445c34":[5,0,1,73,0],
+"post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75":[5,0,1,73,1],
+"pretheme_8php.html":[5,0,1,74],
+"pretheme_8php.html#af5660943ee99db5fd75182316522eafe":[5,0,1,74,0],
+"probe_8php.html":[5,0,1,75],
+"probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99":[5,0,1,75,0],
+"profile_8php.html":[5,0,1,76],
+"profile_8php.html#a1a2482b775476f2f64ea5e8f4fc3fd1e":[5,0,1,76,0],
+"profile_8php.html#a3775cf6eef6587e5143133356a7b76c0":[5,0,1,76,1],
+"profile_8php.html#ab5d0246be0552e2182a585c1206d22a5":[5,0,1,76,2],
+"profile__advanced_8php.html":[5,0,0,56],
+"profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4":[5,0,0,56,0],
+"profile__photo_8php.html":[5,0,1,77],
+"profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02":[5,0,1,77,1],
+"profile__photo_8php.html#a4b80234074bd603221aa5364f330e479":[5,0,1,77,2],
+"profile__photo_8php.html#ac9cd968a767e2ae1b88383b6cdd6dbe3":[5,0,1,77,0],
+"profile__selectors_8php.html":[5,0,0,57],
+"profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7":[5,0,0,57,2],
+"profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798":[5,0,0,57,1],
+"profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355":[5,0,0,57,0],
+"profiles_8php.html":[5,0,1,78],
+"profiles_8php.html#a2a3ac90f51941ff78b85e9389304969c":[5,0,1,78,0],
+"profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e":[5,0,1,78,2],
+"profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00":[5,0,1,78,1],
+"profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04":[5,0,1,78,3],
+"profperm_8php.html":[5,0,1,79],
+"profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6":[5,0,1,79,2],
+"profperm_8php.html#a77fd398ae7c25142e1d9ad724ec347cc":[5,0,1,79,0],
+"profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023":[5,0,1,79,1],
+"pubsites_8php.html":[5,0,1,80],
+"pubsites_8php.html#af614e279aab54065345bda6b03eafdf0":[5,0,1,80,0],
+"qsearch_8php.html":[5,0,1,81],
+"qsearch_8php.html#a0501887b95bd8fa21018b2936a668894":[5,0,1,81,0],
+"queue_8php.html":[5,0,0,59],
+"queue_8php.html#af8c93de86d866c3200174c8450a0f341":[5,0,0,59,0],
+"queue__fn_8php.html":[5,0,0,60],
+"queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1":[5,0,0,60,1],
+"queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24":[5,0,0,60,0],
+"randprof_8php.html":[5,0,1,82],
+"randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090":[5,0,1,82,0],
+"redbasic_2php_2style_8php.html":[5,0,3,1,0,0,1],
+"redbasic_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd":[5,0,3,1,0,0,1,14],
+"redbasic_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba":[5,0,3,1,0,0,1,5],
+"redbasic_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70":[5,0,3,1,0,0,1,13],
+"redbasic_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a":[5,0,3,1,0,0,1,17],
+"redbasic_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b":[5,0,3,1,0,0,1,4],
+"redbasic_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab":[5,0,3,1,0,0,1,0],
+"redbasic_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0":[5,0,3,1,0,0,1,2]
+};
diff --git a/doc/html/navtreeindex6.js b/doc/html/navtreeindex6.js
new file mode 100644
index 000000000..a260404a5
--- /dev/null
+++ b/doc/html/navtreeindex6.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX6 =
+{
+"redbasic_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f":[5,0,3,1,0,0,1,16],
+"redbasic_2php_2style_8php.html#a6502bedd57105ad1fb2dee2be9cf6351":[5,0,3,1,0,0,1,9],
+"redbasic_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42":[5,0,3,1,0,0,1,3],
+"redbasic_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e":[5,0,3,1,0,0,1,15],
+"redbasic_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a":[5,0,3,1,0,0,1,8],
+"redbasic_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad":[5,0,3,1,0,0,1,1],
+"redbasic_2php_2style_8php.html#ac4c6bc3cd9cc92204f04cf6cb34b47dd":[5,0,3,1,0,0,1,19],
+"redbasic_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548":[5,0,3,1,0,0,1,12],
+"redbasic_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c":[5,0,3,1,0,0,1,6],
+"redbasic_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc":[5,0,3,1,0,0,1,11],
+"redbasic_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda":[5,0,3,1,0,0,1,10],
+"redbasic_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33":[5,0,3,1,0,0,1,7],
+"redbasic_2php_2style_8php.html#af3a16c5f0dd7a74cf9acf6a49fff73a7":[5,0,3,1,0,0,1,18],
+"redbasic_2php_2theme_8php.html":[5,0,3,1,0,0,2],
+"redbasic_2php_2theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b":[5,0,3,1,0,0,2,0],
+"redir_8php.html":[5,0,1,83],
+"redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5":[5,0,1,83,0],
+"redstrap_2php_2style_8php.html":[5,0,3,1,1,0,2],
+"redstrap_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd":[5,0,3,1,1,0,2,13],
+"redstrap_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba":[5,0,3,1,1,0,2,5],
+"redstrap_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70":[5,0,3,1,1,0,2,12],
+"redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea":[5,0,3,1,1,0,2,16],
+"redstrap_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b":[5,0,3,1,1,0,2,4],
+"redstrap_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab":[5,0,3,1,1,0,2,0],
+"redstrap_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0":[5,0,3,1,1,0,2,2],
+"redstrap_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f":[5,0,3,1,1,0,2,15],
+"redstrap_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42":[5,0,3,1,1,0,2,3],
+"redstrap_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e":[5,0,3,1,1,0,2,14],
+"redstrap_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a":[5,0,3,1,1,0,2,8],
+"redstrap_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad":[5,0,3,1,1,0,2,1],
+"redstrap_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548":[5,0,3,1,1,0,2,11],
+"redstrap_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c":[5,0,3,1,1,0,2,6],
+"redstrap_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc":[5,0,3,1,1,0,2,10],
+"redstrap_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda":[5,0,3,1,1,0,2,9],
+"redstrap_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33":[5,0,3,1,1,0,2,7],
+"redstrap_2php_2theme_8php.html":[5,0,3,1,1,0,3],
+"redstrap_2php_2theme_8php.html#a4dac61d466b4261deca2846f548e484a":[5,0,3,1,1,0,3,0],
+"register_8php.html":[5,0,1,84],
+"register_8php.html#a0e91f57f111407ea8d3223a05022bb2a":[5,0,1,84,0],
+"register_8php.html#a51731dcc1917c58a790eb1c0f6132271":[5,0,1,84,2],
+"register_8php.html#ae20c0cd40f738d6295de58b9202c83d5":[5,0,1,84,1],
+"regmod_8php.html":[5,0,1,85],
+"regmod_8php.html#a7953df4e32e63946565e90cdd5d50409":[5,0,1,85,0],
+"removeme_8php.html":[5,0,1,86],
+"removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c":[5,0,1,86,0],
+"removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88":[5,0,1,86,1],
+"rmagic_8php.html":[5,0,1,87],
+"rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef":[5,0,1,87,0],
+"rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f":[5,0,1,87,2],
+"rmagic_8php.html#a95455edd43f1bff39446a57388cdde16":[5,0,1,87,1],
+"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],
+"security_8php.html":[5,0,0,61],
+"security_8php.html#a20f8b9851f23ee8894b8925584ef6821":[5,0,0,61,2],
+"security_8php.html#a444ac867dfa8c37cf0a7a226412bee28":[5,0,0,61,4],
+"security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433":[5,0,0,61,5],
+"security_8php.html#a8d23d2597aae380a3341872fe9513380":[5,0,0,61,1],
+"security_8php.html#a9355488460ab11d6058656ff919e5cf9":[5,0,0,61,7],
+"security_8php.html#a9c6180e82150a5a9af91a1255d096b5c":[5,0,0,61,3],
+"security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01":[5,0,0,61,9],
+"security_8php.html#acd06ef411116115c2f0a92633700db8a":[5,0,0,61,6],
+"security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733":[5,0,0,61,0],
+"security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809":[5,0,0,61,10],
+"security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f":[5,0,0,61,8],
+"session_8php.html":[5,0,0,62],
+"session_8php.html#a26fa1042356d555023cbf15ddd4f8507":[5,0,0,62,4],
+"session_8php.html#a4c0ead624f95483e386bc80abf570a8f":[5,0,0,62,0],
+"session_8php.html#a5e1c616e02b863d5450317d101366bb7":[5,0,0,62,1],
+"session_8php.html#a62e4a6cb26b4bb1b8ddd8277b26090eb":[5,0,0,62,8],
+"session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e":[5,0,0,62,5],
+"session_8php.html#a96b09cc763572f45280786a7b33feb7e":[5,0,0,62,7],
+"session_8php.html#ac4461c1984543d3553e73dba2771568f":[5,0,0,62,6],
+"session_8php.html#ac95373f4966862a028033dd2f94d4da1":[5,0,0,62,3],
+"session_8php.html#af0100a2642a5268594bbd5742a03d885":[5,0,0,62,9],
+"session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052":[5,0,0,62,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,63],
+"socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586":[5,0,0,63,0],
+"socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6":[5,0,0,63,6],
+"socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329":[5,0,0,63,7],
+"socgraph_8php.html#a790690bb1a1d02483fe31632a160144d":[5,0,0,63,8],
+"socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918":[5,0,0,63,1],
+"socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84":[5,0,0,63,4],
+"socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9":[5,0,0,63,2],
+"socgraph_8php.html#af175807406d94407a5e11742a3287746":[5,0,0,63,5],
+"socgraph_8php.html#af29d056beec10b4e38e5209c92452894":[5,0,0,63,3],
+"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#a4df91c84594d51ba56b5918de414230d":[5,0,1,99,0],
+"suggest_8php.html#a58748a8235d4523f8333847f3e42dd91":[5,0,1,99,1],
+"suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c":[5,0,1,99,2],
+"system__unavailable_8php.html":[5,0,0,64],
+"system__unavailable_8php.html#a73751a6bcc17ad3ca503496e2fb020fa":[5,0,0,64,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,65],
+"taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce":[5,0,0,65,6],
+"taxonomy_8php.html#a061b3db9426d4b074395f5824062cad4":[5,0,0,65,8],
+"taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6":[5,0,0,65,0],
+"taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1":[5,0,0,65,4],
+"taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1":[5,0,0,65,2],
+"taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37":[5,0,0,65,1],
+"taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd":[5,0,0,65,7],
+"taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c":[5,0,0,65,11],
+"taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43":[5,0,0,65,10],
+"taxonomy_8php.html#abdb698bc6921429df6d697f6c5dec96f":[5,0,0,65,9],
+"taxonomy_8php.html#ac12a651a42ed77f8dc7072c6168811a2":[5,0,0,65,5],
+"taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1":[5,0,0,65,3],
+"template__processor_8php.html":[5,0,0,66],
+"template__processor_8php.html#a797745996c7839a93b2ab1af456631ab":[5,0,0,66,3],
+"template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5":[5,0,0,66,1],
+"template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e":[5,0,0,66,2],
+"text_8php.html":[5,0,0,67],
+"text_8php.html#a0271381208acfa2d4cff36da281e3e23":[5,0,0,67,36],
+"text_8php.html#a030fa5ecc64168af0c4f44897a9bce63":[5,0,0,67,42],
+"text_8php.html#a05b7f26dc2df78681f57eeade53040c6":[5,0,0,67,26],
+"text_8php.html#a070384ec000fd65043fce11d5392d241":[5,0,0,67,6],
+"text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c":[5,0,0,67,16],
+"text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3":[5,0,0,67,11],
+"text_8php.html#a11255c8c4e5245b6c24f97684826aa54":[5,0,0,67,41],
+"text_8php.html#a13286f8a95d2de6b102966ecc270c8d6":[5,0,0,67,5],
+"text_8php.html#a1360fed7f918d859daaca1c9f384f9af":[5,0,0,67,72],
+"text_8php.html#a138a3a611fa7f4f3630674145fc826bf":[5,0,0,67,30],
+"text_8php.html#a1557112a774ec00fa06ed6b6f6495506":[5,0,0,67,32],
+"text_8php.html#a1633412120f52bdce5f43e0a127d9293":[5,0,0,67,46],
+"text_8php.html#a1af49756c8c71902a66c7e329c462beb":[5,0,0,67,49],
+"text_8php.html#a1e510c53624933ce9b7d6715784894db":[5,0,0,67,43],
+"text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6":[5,0,0,67,44],
+"text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728":[5,0,0,67,39],
+"text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca":[5,0,0,67,4],
+"text_8php.html#a29988052f3944111def3b6aaf2c7a8f6":[5,0,0,67,80],
+"text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7":[5,0,0,67,70],
+"text_8php.html#a2a902f5fdba8646333e997898ac45ea3":[5,0,0,67,45],
+"text_8php.html#a2e8d6c402603be3a1256a16605e09c2a":[5,0,0,67,10],
+"text_8php.html#a2ffd79c60cc87cec24ef76447b905187":[5,0,0,67,82],
+"text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f":[5,0,0,67,77],
+"text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f":[5,0,0,67,75],
+"text_8php.html#a3972701c5c83624ec4e2d06242f614e7":[5,0,0,67,28],
+"text_8php.html#a3999a0b3e22e440f280ee791ce34d384":[5,0,0,67,38],
+"text_8php.html#a3d225b253bb9e0f2498c11647d927b0b":[5,0,0,67,68],
+"text_8php.html#a3d2793d66db3345fd290b71e2eadf98e":[5,0,0,67,7],
+"text_8php.html#a405afe814a23f3bd94d826101aa168ab":[5,0,0,67,78],
+"text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a":[5,0,0,67,31],
+"text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6":[5,0,0,67,67],
+"text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623":[5,0,0,67,29],
+"text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285":[5,0,0,67,40],
+"text_8php.html#a4841df5beabdd1bdd1ed56781a915d61":[5,0,0,67,58],
+"text_8php.html#a4bbb7d00c05cd20b4e043424f322388f":[5,0,0,67,47],
+"text_8php.html#a4e7698aca48982512594b274543c3b9b":[5,0,0,67,57],
+"text_8php.html#a543447c5ed766535221e2d9636b379ee":[5,0,0,67,74],
+"text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0":[5,0,0,67,9],
+"text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63":[5,0,0,67,14],
+"text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb":[5,0,0,67,73],
+"text_8php.html#a71f6952243d3fe1c5a8154f78027e29c":[5,0,0,67,37],
+"text_8php.html#a736db13a966b8abaf8c9198faa35911a":[5,0,0,67,25],
+"text_8php.html#a740ad03e00459039a2c0992246c4e727":[5,0,0,67,71],
+"text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85":[5,0,0,67,1],
+"text_8php.html#a76d1b3435c067978d7b484c45f56472b":[5,0,0,67,24],
+"text_8php.html#a85e3a4851c16674834010d8419a5d7ca":[5,0,0,67,8],
+"text_8php.html#a876e94892867019935b348b573299352":[5,0,0,67,65],
+"text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13":[5,0,0,67,69],
+"text_8php.html#a87a3cefc603302c78982f1d8e1245265":[5,0,0,67,15],
+"text_8php.html#a89929fa6f70a8ba54d5273fcf622b665":[5,0,0,67,20],
+"text_8php.html#a8b0a799341b1fc4cba2c3ede3e3fc9b6":[5,0,0,67,56],
+"text_8php.html#a8d8c4a11e53461caca21181ebd72daca":[5,0,0,67,19],
+"text_8php.html#a95fd2f8f23a1948414a03ebc963bac57":[5,0,0,67,3],
+"text_8php.html#a98fd99dee3da8cf4c148dc04efe782ee":[5,0,0,67,51],
+"text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09":[5,0,0,67,62],
+"text_8php.html#a9d6a5ee1290de7a8b483fe78585daade":[5,0,0,67,60],
+"text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c":[5,0,0,67,64],
+"text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66":[5,0,0,67,27],
+"text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64":[5,0,0,67,17],
+"text_8php.html#aa5528f41533927e1bd2da3618a74a6d7":[5,0,0,67,52],
+"text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e":[5,0,0,67,33],
+"text_8php.html#aad557c054cf2ed915633701018fc7e3f":[5,0,0,67,81],
+"text_8php.html#aaed4413ed8918838b517e3b2fafaea0d":[5,0,0,67,76],
+"text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4":[5,0,0,67,79],
+"text_8php.html#ac19d2b33a58372a357a43d51eed19162":[5,0,0,67,53],
+"text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e":[5,0,0,67,34],
+"text_8php.html#aca0f589be74fab1a460c57e88dad9779":[5,0,0,67,66],
+"text_8php.html#ace3c98538c63e09b70a363210b414112":[5,0,0,67,21],
+"text_8php.html#acedb584f65114a33f389efb796172a91":[5,0,0,67,2],
+"text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784":[5,0,0,67,13],
+"text_8php.html#ad855a32bee22c3f3b9734e3a334b96f2":[5,0,0,67,61],
+"text_8php.html#adba17ec946f4285285dc100f7860bf51":[5,0,0,67,48],
+"text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8":[5,0,0,67,35],
+"text_8php.html#ae2126da85966da0e79c6bcbac63b0bda":[5,0,0,67,63],
+"text_8php.html#ae4282a39492caa23ccbc2ce98e54f110":[5,0,0,67,18],
+"text_8php.html#ae4df74296fbe55051ed3c035e55205e5":[5,0,0,67,54],
+"text_8php.html#ae4f6881d7e13623f8eded6277595112a":[5,0,0,67,23],
+"text_8php.html#af8a3e3a66a7b862d4510f145d2e13186":[5,0,0,67,0],
+"text_8php.html#afc998d2796a6b2a08e96f7cc061e7221":[5,0,0,67,59],
+"text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28":[5,0,0,67,22],
+"text_8php.html#afe18627c4983ee5f7c940a0992818cd5":[5,0,0,67,12],
+"text_8php.html#afe54312607d92f7ce9593f5760831f80":[5,0,0,67,55],
+"text_8php.html#afe9f178d264d44a94dc1292aaf0fd585":[5,0,0,67,50],
+"theme_2redstrap_2php_2default_8php.html":[5,0,3,1,1,0,1],
+"theme_2redstrap_2php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762":[5,0,3,1,1,0,1,0],
+"theme_2redstrap_2php_2theme__init_8php.html":[5,0,3,1,1,0,4],
+"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],
+"tpldebug_8php.html":[5,0,2,7],
+"tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3":[5,0,2,7,0],
+"tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149":[5,0,2,7,1]
+};
diff --git a/doc/html/navtreeindex7.js b/doc/html/navtreeindex7.js
new file mode 100644
index 000000000..eb72d75c9
--- /dev/null
+++ b/doc/html/navtreeindex7.js
@@ -0,0 +1,99 @@
+var NAVTREEINDEX7 =
+{
+"tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c":[5,0,2,7,2],
+"typo_8php.html":[5,0,2,8],
+"typo_8php.html#a1b709c1d79631ebc8320b41bda028b54":[5,0,2,8,1],
+"typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5":[5,0,2,8,4],
+"typo_8php.html#a3ecd17ac846be1b35f3662f5c12ab6bd":[5,0,2,8,3],
+"typo_8php.html#a9590b15215a21e9b42eb546aeef79704":[5,0,2,8,2],
+"typo_8php.html#acebf83966ef6d7e5645a6b62ba368f9f":[5,0,2,8,0],
+"typohelper_8php.html":[5,0,2,9],
+"typohelper_8php.html#a7542d95618011800c61773127fa625cf":[5,0,2,9,0],
+"typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805":[5,0,2,9,1],
+"uexport_8php.html":[5,0,1,104],
+"uexport_8php.html#a118920137dedebe0581623a2e57e7b0d":[5,0,1,104,0],
+"update__channel_8php.html":[5,0,1,105],
+"update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba":[5,0,1,105,0],
+"update__community_8php.html":[5,0,1,106],
+"update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1":[5,0,1,106,0],
+"update__display_8php.html":[5,0,1,107],
+"update__display_8php.html#aa36ac524059e209d5d75a03c16206246":[5,0,1,107,0],
+"update__network_8php.html":[5,0,1,108],
+"update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41":[5,0,1,108,0],
+"update__search_8php.html":[5,0,1,109],
+"update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52":[5,0,1,109,0],
+"updatetpl_8py.html":[5,0,2,10],
+"updatetpl_8py.html#a52a85ffa6b6d63d840b185a133478c12":[5,0,2,10,5],
+"updatetpl_8py.html#a79c20eb62d568c999b56eb08530355d3":[5,0,2,10,2],
+"updatetpl_8py.html#a988d937ed5d5c2b592b763036af5cf94":[5,0,2,10,1],
+"updatetpl_8py.html#ab42dd79af65ee82201fd6f04715f62f6":[5,0,2,10,3],
+"updatetpl_8py.html#ac9d11279fed403a329a719298feafc4f":[5,0,2,10,0],
+"updatetpl_8py.html#ae694f5e1f25f8a92a945eb90c432dfe6":[5,0,2,10,4],
+"view_2theme_2redbasic_2php_2config_8php.html":[5,0,3,1,0,0,0],
+"view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2":[5,0,3,1,0,0,0,0],
+"view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d":[5,0,3,1,0,0,0,1],
+"view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6":[5,0,3,1,0,0,0,2],
+"view_2theme_2redstrap_2php_2config_8php.html":[5,0,3,1,1,0,0],
+"view_2theme_2redstrap_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d":[5,0,3,1,1,0,0,1],
+"view_2theme_2redstrap_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6":[5,0,3,1,1,0,0,2],
+"view_2theme_2redstrap_2php_2config_8php.html#af58e97b437c1e98a5e434886494cc70e":[5,0,3,1,1,0,0,0],
+"view_8php.html":[5,0,1,110],
+"view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e":[5,0,1,110,0],
+"viewconnections_8php.html":[5,0,1,111],
+"viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330":[5,0,1,111,2],
+"viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776":[5,0,1,111,1],
+"viewconnections_8php.html#ae330cea4cddd091559659f8b469617b6":[5,0,1,111,0],
+"viewsrc_8php.html":[5,0,1,112],
+"viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4":[5,0,1,112,0],
+"vote_8php.html":[5,0,1,113],
+"vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2":[5,0,1,113,2],
+"vote_8php.html#a6aa67489bf458ca5e3206e46dac68596":[5,0,1,113,0],
+"vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2":[5,0,1,113,1],
+"wall__attach_8php.html":[5,0,1,114],
+"wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653":[5,0,1,114,0],
+"wall__upload_8php.html":[5,0,1,115],
+"wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f":[5,0,1,115,0],
+"webfinger_8php.html":[5,0,1,116],
+"webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3":[5,0,1,116,0],
+"webpages_8php.html":[5,0,1,117],
+"webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d":[5,0,1,117,0],
+"wfinger_8php.html":[5,0,1,118],
+"wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3":[5,0,1,118,0],
+"xchan_8php.html":[5,0,1,119],
+"xchan_8php.html#a9853348bf1a35c644460221ba75edc2d":[5,0,1,119,0],
+"xrd_8php.html":[5,0,1,120],
+"xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270":[5,0,1,120,0],
+"zfinger_8php.html":[5,0,1,121],
+"zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0":[5,0,1,121,0],
+"zot_8php.html":[5,0,0,68],
+"zot_8php.html#a083aec6c900d244e1bfc1406f9461465":[5,0,0,68,11],
+"zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c":[5,0,0,68,20],
+"zot_8php.html#a2657e141d62d5f67ad3c87651b585299":[5,0,0,68,5],
+"zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df":[5,0,0,68,13],
+"zot_8php.html#a37ec13b18057634eadb071f05297f5e1":[5,0,0,68,8],
+"zot_8php.html#a3862b3161b2c8557dc1a95020179bd81":[5,0,0,68,15],
+"zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a":[5,0,0,68,3],
+"zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32":[5,0,0,68,4],
+"zot_8php.html#a55056e863a7860bc0cf922e78fcce073":[5,0,0,68,19],
+"zot_8php.html#a5bcdfef419b16075a0eca990956223dc":[5,0,0,68,24],
+"zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea":[5,0,0,68,16],
+"zot_8php.html#a703f528ade8382cf374e4119bd6f7859":[5,0,0,68,0],
+"zot_8php.html#a77720d6b59894e9b609af89c310c8a4d":[5,0,0,68,17],
+"zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d":[5,0,0,68,23],
+"zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03":[5,0,0,68,22],
+"zot_8php.html#a9a57b40669351c9791126b925cb7ef3b":[5,0,0,68,10],
+"zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc":[5,0,0,68,9],
+"zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10":[5,0,0,68,12],
+"zot_8php.html#ab0227978011d8601494a7651fa26acf0":[5,0,0,68,6],
+"zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7":[5,0,0,68,21],
+"zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142":[5,0,0,68,25],
+"zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63":[5,0,0,68,14],
+"zot_8php.html#ac301c67864917c35922257950ae0f95c":[5,0,0,68,7],
+"zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7":[5,0,0,68,1],
+"zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e":[5,0,0,68,18],
+"zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72":[5,0,0,68,2],
+"zotfeed_8php.html":[5,0,1,122],
+"zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac":[5,0,1,122,0],
+"zping_8php.html":[5,0,1,123],
+"zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75":[5,0,1,123,0]
+};
diff --git a/doc/html/new__channel_8php.html b/doc/html/new__channel_8php.html
new file mode 100644
index 000000000..08bbf1f72
--- /dev/null
+++ b/doc/html/new__channel_8php.html
@@ -0,0 +1,173 @@
+<!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/new_channel.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="rhash-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('new__channel_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">new_channel.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:a1ad7f99e4366a32942c6b954aba3a164"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a1ad7f99e4366a32942c6b954aba3a164"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a180b0646957db8290482f02454ad7f23"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a180b0646957db8290482f02454ad7f23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae585191610f79da129492482ce8e2fee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content</a> (&amp;$a)</td></tr>
+<tr class="separator:ae585191610f79da129492482ce8e2fee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ae585191610f79da129492482ce8e2fee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">new_channel_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="a1ad7f99e4366a32942c6b954aba3a164"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">new_channel_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="a180b0646957db8290482f02454ad7f23"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">new_channel_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/new__channel_8php.js b/doc/html/new__channel_8php.js
new file mode 100644
index 000000000..b087d0df8
--- /dev/null
+++ b/doc/html/new__channel_8php.js
@@ -0,0 +1,6 @@
+var new__channel_8php =
+[
+ [ "new_channel_content", "new__channel_8php.html#ae585191610f79da129492482ce8e2fee", null ],
+ [ "new_channel_init", "new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164", null ],
+ [ "new_channel_post", "new__channel_8php.html#a180b0646957db8290482f02454ad7f23", null ]
+]; \ No newline at end of file
diff --git a/doc/html/nogroup_8php.html b/doc/html/nogroup_8php.html
new file mode 100644
index 000000000..963628cb8
--- /dev/null
+++ b/doc/html/nogroup_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/nogroup.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="rhash-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('nogroup_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">nogroup.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:a099cb353bf62e8453069ce107b763212"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nogroup_8php.html#a099cb353bf62e8453069ce107b763212">nogroup_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a099cb353bf62e8453069ce107b763212"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52085b183f97c552f1db5c4926e8ec30"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a52085b183f97c552f1db5c4926e8ec30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a52085b183f97c552f1db5c4926e8ec30"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">nogroup_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="a099cb353bf62e8453069ce107b763212"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">nogroup_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/nogroup_8php.js b/doc/html/nogroup_8php.js
new file mode 100644
index 000000000..73cbeccad
--- /dev/null
+++ b/doc/html/nogroup_8php.js
@@ -0,0 +1,5 @@
+var nogroup_8php =
+[
+ [ "nogroup_content", "nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30", null ],
+ [ "nogroup_init", "nogroup_8php.html#a099cb353bf62e8453069ce107b763212", null ]
+]; \ No newline at end of file
diff --git a/doc/html/notifications_8php.html b/doc/html/notifications_8php.html
new file mode 100644
index 000000000..685798ac3
--- /dev/null
+++ b/doc/html/notifications_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/notifications.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="rhash-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('notifications_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">notifications.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:a5baffec7b2e625c9f9cefbc097550d33"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a5baffec7b2e625c9f9cefbc097550d33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aadd0b5525bd8c283a5d8a37982bbfe62"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aadd0b5525bd8c283a5d8a37982bbfe62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aadd0b5525bd8c283a5d8a37982bbfe62"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">notifications_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="a5baffec7b2e625c9f9cefbc097550d33"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">notifications_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/notifications_8php.js b/doc/html/notifications_8php.js
new file mode 100644
index 000000000..f4360984e
--- /dev/null
+++ b/doc/html/notifications_8php.js
@@ -0,0 +1,5 @@
+var notifications_8php =
+[
+ [ "notifications_content", "notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62", null ],
+ [ "notifications_post", "notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33", null ]
+]; \ No newline at end of file
diff --git a/doc/html/notifier_8php.html b/doc/html/notifier_8php.html
new file mode 100644
index 000000000..bb0eadec9
--- /dev/null
+++ b/doc/html/notifier_8php.html
@@ -0,0 +1,147 @@
+<!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: include/notifier.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="rhash-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('notifier_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">notifier.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:a568c502f626cff95e344c0748938b85d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
+<tr class="separator:a568c502f626cff95e344c0748938b85d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a568c502f626cff95e344c0748938b85d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">notifier_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/notifier_8php.js b/doc/html/notifier_8php.js
new file mode 100644
index 000000000..a06169542
--- /dev/null
+++ b/doc/html/notifier_8php.js
@@ -0,0 +1,4 @@
+var notifier_8php =
+[
+ [ "notifier_run", "notifier_8php.html#a568c502f626cff95e344c0748938b85d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/oauth_8php.html b/doc/html/oauth_8php.html
new file mode 100644
index 000000000..03718f507
--- /dev/null
+++ b/doc/html/oauth_8php.html
@@ -0,0 +1,160 @@
+<!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: include/oauth.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="rhash-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('oauth_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="#nested-classes">Classes</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">oauth.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="classFKOAuthDataStore.html">FKOAuthDataStore</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="classFKOAuth1.html">FKOAuth1</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="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a7a32a5990f113ac9465b03b29175cf16"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="oauth_8php.html#a7a32a5990f113ac9465b03b29175cf16">REQUEST_TOKEN_DURATION</a> 300</td></tr>
+<tr class="separator:a7a32a5990f113ac9465b03b29175cf16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad343cab37aa860d2d14dc86b7f5ca0c6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="oauth_8php.html#ad343cab37aa860d2d14dc86b7f5ca0c6">ACCESS_TOKEN_DURATION</a> 31536000</td></tr>
+<tr class="separator:ad343cab37aa860d2d14dc86b7f5ca0c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="ad343cab37aa860d2d14dc86b7f5ca0c6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const ACCESS_TOKEN_DURATION 31536000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7a32a5990f113ac9465b03b29175cf16"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const REQUEST_TOKEN_DURATION 300</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>OAuth server Based on oauth2-php <a href="http://code.google.com/p/oauth2-php/">http://code.google.com/p/oauth2-php/</a> </p>
+
+<p>Referenced by <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/oauth_8php.js b/doc/html/oauth_8php.js
new file mode 100644
index 000000000..da8061a29
--- /dev/null
+++ b/doc/html/oauth_8php.js
@@ -0,0 +1,7 @@
+var oauth_8php =
+[
+ [ "FKOAuthDataStore", "classFKOAuthDataStore.html", "classFKOAuthDataStore" ],
+ [ "FKOAuth1", "classFKOAuth1.html", "classFKOAuth1" ],
+ [ "ACCESS_TOKEN_DURATION", "oauth_8php.html#ad343cab37aa860d2d14dc86b7f5ca0c6", null ],
+ [ "REQUEST_TOKEN_DURATION", "oauth_8php.html#a7a32a5990f113ac9465b03b29175cf16", null ]
+]; \ No newline at end of file
diff --git a/doc/html/oexchange_8php.html b/doc/html/oexchange_8php.html
new file mode 100644
index 000000000..10ade1462
--- /dev/null
+++ b/doc/html/oexchange_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/oexchange.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="rhash-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('oexchange_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">oexchange.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:ac8e2e469ddc3db984b0c1b44558aca59"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ac8e2e469ddc3db984b0c1b44558aca59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d8b785cd7d041a4e6274f5af370cf26"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a2d8b785cd7d041a4e6274f5af370cf26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a2d8b785cd7d041a4e6274f5af370cf26"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oexchange_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="ac8e2e469ddc3db984b0c1b44558aca59"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">oexchange_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/oexchange_8php.js b/doc/html/oexchange_8php.js
new file mode 100644
index 000000000..1bf271058
--- /dev/null
+++ b/doc/html/oexchange_8php.js
@@ -0,0 +1,5 @@
+var oexchange_8php =
+[
+ [ "oexchange_content", "oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26", null ],
+ [ "oexchange_init", "oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59", null ]
+]; \ No newline at end of file
diff --git a/doc/html/onepoll_8php.html b/doc/html/onepoll_8php.html
new file mode 100644
index 000000000..f65bd5004
--- /dev/null
+++ b/doc/html/onepoll_8php.html
@@ -0,0 +1,147 @@
+<!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: include/onepoll.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="rhash-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('onepoll_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">onepoll.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:a72753b2fdec79b37c7f432035c91fb6d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
+<tr class="separator:a72753b2fdec79b37c7f432035c91fb6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a72753b2fdec79b37c7f432035c91fb6d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">onepoll_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/onepoll_8php.js b/doc/html/onepoll_8php.js
new file mode 100644
index 000000000..7624f85df
--- /dev/null
+++ b/doc/html/onepoll_8php.js
@@ -0,0 +1,4 @@
+var onepoll_8php =
+[
+ [ "onepoll_run", "onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/open.png b/doc/html/open.png
new file mode 100644
index 000000000..30f75c7ef
--- /dev/null
+++ b/doc/html/open.png
Binary files differ
diff --git a/doc/html/opensearch_8php.html b/doc/html/opensearch_8php.html
new file mode 100644
index 000000000..6c7bd1a74
--- /dev/null
+++ b/doc/html/opensearch_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/opensearch.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="rhash-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('opensearch_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">opensearch.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:ad13034877a496565ac7d99e9fc6f55e9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ad13034877a496565ac7d99e9fc6f55e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ad13034877a496565ac7d99e9fc6f55e9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">opensearch_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/opensearch_8php.js b/doc/html/opensearch_8php.js
new file mode 100644
index 000000000..e9492cfcb
--- /dev/null
+++ b/doc/html/opensearch_8php.js
@@ -0,0 +1,4 @@
+var opensearch_8php =
+[
+ [ "opensearch_init", "opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9", null ]
+]; \ No newline at end of file
diff --git a/doc/html/page_8php.html b/doc/html/page_8php.html
new file mode 100644
index 000000000..c1fbcc5c8
--- /dev/null
+++ b/doc/html/page_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/page.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="rhash-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('page_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">page.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:a4d89800c0366a239191b1692c09635cf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a4d89800c0366a239191b1692c09635cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91a5f649f68406149108bded1dc90b22"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a91a5f649f68406149108bded1dc90b22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a91a5f649f68406149108bded1dc90b22"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">page_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="a4d89800c0366a239191b1692c09635cf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">page_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/page_8php.js b/doc/html/page_8php.js
new file mode 100644
index 000000000..de145d448
--- /dev/null
+++ b/doc/html/page_8php.js
@@ -0,0 +1,5 @@
+var page_8php =
+[
+ [ "page_content", "page_8php.html#a91a5f649f68406149108bded1dc90b22", null ],
+ [ "page_init", "page_8php.html#a4d89800c0366a239191b1692c09635cf", null ]
+]; \ No newline at end of file
diff --git a/doc/html/page__widgets_8php.html b/doc/html/page__widgets_8php.html
new file mode 100644
index 000000000..cc6abc718
--- /dev/null
+++ b/doc/html/page__widgets_8php.html
@@ -0,0 +1,177 @@
+<!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: include/page_widgets.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="rhash-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('page__widgets_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">page_widgets.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:a1a1e729da27f252cab6678288a17958f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget</a> ($who, $which)</td></tr>
+<tr class="separator:a1a1e729da27f252cab6678288a17958f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad82011c1ed90d9de8b9f34c12af5c6f0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0">pagelist_widget</a> ($chan, $who)</td></tr>
+<tr class="separator:ad82011c1ed90d9de8b9f34c12af5c6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ad82011c1ed90d9de8b9f34c12af5c6f0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pagelist_widget </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$chan</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$who</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="a1a1e729da27f252cab6678288a17958f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">writepages_widget </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$who</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$which</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="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/page__widgets_8php.js b/doc/html/page__widgets_8php.js
new file mode 100644
index 000000000..c6b011186
--- /dev/null
+++ b/doc/html/page__widgets_8php.js
@@ -0,0 +1,5 @@
+var page__widgets_8php =
+[
+ [ "pagelist_widget", "page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0", null ],
+ [ "writepages_widget", "page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f", null ]
+]; \ No newline at end of file
diff --git a/doc/html/pages.html b/doc/html/pages.html
new file mode 100644
index 000000000..30327391d
--- /dev/null
+++ b/doc/html/pages.html
@@ -0,0 +1,113 @@
+<!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: Related Pages</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="rhash-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 class="current"><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><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><!-- 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('pages.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">Related Pages</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="md_config.html" target="_self">CLI config utility</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="md_fresh.html" target="_self">Fresh - The Freaking REd Shell</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="md_README.html" target="_self">Redstrap theme</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/parse__url_8php.html b/doc/html/parse__url_8php.html
new file mode 100644
index 000000000..a0b49e894
--- /dev/null
+++ b/doc/html/parse__url_8php.html
@@ -0,0 +1,215 @@
+<!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/parse_url.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="rhash-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('parse__url_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">parse_url.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:a496f4e3836154f6f32b8e805a7160d3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(!function_exists('<a class="el" href="html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2">deletenode</a>'))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a">completeurl</a> ($url, $scheme)</td></tr>
+<tr class="separator:a496f4e3836154f6f32b8e805a7160d3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25635549f2c22955d72465f4d2e58993"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parse__url_8php.html#a25635549f2c22955d72465f4d2e58993">parseurl_getsiteinfo</a> ($url)</td></tr>
+<tr class="separator:a25635549f2c22955d72465f4d2e58993"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7dd8f961bea042d62726ed909e4a868"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parse__url_8php.html#aa7dd8f961bea042d62726ed909e4a868">arr_add_hashes</a> (&amp;$item, $k)</td></tr>
+<tr class="separator:aa7dd8f961bea042d62726ed909e4a868"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05a9e8944380ba3cf6bbf5893dd4b74b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a05a9e8944380ba3cf6bbf5893dd4b74b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa7dd8f961bea042d62726ed909e4a868"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">arr_add_hashes </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$k</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="a496f4e3836154f6f32b8e805a7160d3a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (!function_exists('<a class="el" href="html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2">deletenode</a>')) completeurl </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$scheme</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="parse__url_8php.html#a25635549f2c22955d72465f4d2e58993">parseurl_getsiteinfo()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a05a9e8944380ba3cf6bbf5893dd4b74b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">parse_url_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="a25635549f2c22955d72465f4d2e58993"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">parseurl_getsiteinfo </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/parse__url_8php.js b/doc/html/parse__url_8php.js
new file mode 100644
index 000000000..a30c00e5b
--- /dev/null
+++ b/doc/html/parse__url_8php.js
@@ -0,0 +1,7 @@
+var parse__url_8php =
+[
+ [ "arr_add_hashes", "parse__url_8php.html#aa7dd8f961bea042d62726ed909e4a868", null ],
+ [ "completeurl", "parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a", null ],
+ [ "parse_url_content", "parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b", null ],
+ [ "parseurl_getsiteinfo", "parse__url_8php.html#a25635549f2c22955d72465f4d2e58993", null ]
+]; \ No newline at end of file
diff --git a/doc/html/permissions_8php.html b/doc/html/permissions_8php.html
new file mode 100644
index 000000000..9e0de525b
--- /dev/null
+++ b/doc/html/permissions_8php.html
@@ -0,0 +1,274 @@
+<!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: include/permissions.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="rhash-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('permissions_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">permissions.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:a040fd3d3b8517658b1668ae0cd093972"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms</a> ()</td></tr>
+<tr class="separator:a040fd3d3b8517658b1668ae0cd093972"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeca9b280f3dc3358c89976d81d690008"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms</a> ($uid, $observer_xchan, $internal_use=true)</td></tr>
+<tr class="separator:aeca9b280f3dc3358c89976d81d690008"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67ada9ed51e77885b6b0f6a28cee1835"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed</a> ($uid, $observer_xchan, $permission)</td></tr>
+<tr class="separator:a67ada9ed51e77885b6b0f6a28cee1835"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions</a> ($uid, $arr, $perm)</td></tr>
+<tr class="separator:a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8b7b102c653649d7a71b5a1c044d90d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms</a> ()</td></tr>
+<tr class="separator:aa8b7b102c653649d7a71b5a1c044d90d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_list_permissions </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>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$perm</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="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aeca9b280f3dc3358c89976d81d690008"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_all_perms </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>$internal_use</em> = <code>true</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>get_all_perms($uid,$observer_xchan)</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">$uid</td><td>: The channel_id associated with the resource owner </td></tr>
+ <tr><td class="paramname">$observer_xchan,:</td><td>The xchan_hash representing the observer</td></tr>
+ </table>
+ </dd>
+</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="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>
+
+</div>
+</div>
+<a class="anchor" id="a040fd3d3b8517658b1668ae0cd093972"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_perms </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#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>
+
+</div>
+</div>
+<a class="anchor" id="a67ada9ed51e77885b6b0f6a28cee1835"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">perm_is_allowed </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>$permission</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="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#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="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</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="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="boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</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>
+
+</div>
+</div>
+<a class="anchor" id="aa8b7b102c653649d7a71b5a1c044d90d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">site_default_perms </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#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/permissions_8php.js b/doc/html/permissions_8php.js
new file mode 100644
index 000000000..49747cfd8
--- /dev/null
+++ b/doc/html/permissions_8php.js
@@ -0,0 +1,8 @@
+var permissions_8php =
+[
+ [ "check_list_permissions", "permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7", null ],
+ [ "get_all_perms", "permissions_8php.html#aeca9b280f3dc3358c89976d81d690008", null ],
+ [ "get_perms", "permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972", null ],
+ [ "perm_is_allowed", "permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835", null ],
+ [ "site_default_perms", "permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/photo_8php.html b/doc/html/photo_8php.html
new file mode 100644
index 000000000..45b803f6a
--- /dev/null
+++ b/doc/html/photo_8php.html
@@ -0,0 +1,139 @@
+<!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/photo.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="rhash-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('photo_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">photo.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:a582779d24882b0d31ee909a91d70a448"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a582779d24882b0d31ee909a91d70a448"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a582779d24882b0d31ee909a91d70a448"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_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">
+<p>Profile photos - Access controls on default profile photos are not honoured since they need to be exchanged with remote sites.</p>
+<p>Other photos</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/photo_8php.js b/doc/html/photo_8php.js
new file mode 100644
index 000000000..1c070c3bc
--- /dev/null
+++ b/doc/html/photo_8php.js
@@ -0,0 +1,4 @@
+var photo_8php =
+[
+ [ "photo_init", "photo_8php.html#a582779d24882b0d31ee909a91d70a448", null ]
+]; \ No newline at end of file
diff --git a/doc/html/photo__driver_8php.html b/doc/html/photo__driver_8php.html
new file mode 100644
index 000000000..0f4584479
--- /dev/null
+++ b/doc/html/photo__driver_8php.html
@@ -0,0 +1,263 @@
+<!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: include/photo/photo_driver.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="rhash-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('photo__driver_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="#nested-classes">Classes</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">photo_driver.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="classphoto__driver.html">photo_driver</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:a32e2817faa25d7f11f60a8abff565035"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035">photo_factory</a> ($data, $type=null)</td></tr>
+<tr class="separator:a32e2817faa25d7f11f60a8abff565035"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7273b82b017fd96d29b2c57bab03aea6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="photo__driver_8php.html#a7273b82b017fd96d29b2c57bab03aea6">guess_image_type</a> ($filename, $fromcurl=false)</td></tr>
+<tr class="separator:a7273b82b017fd96d29b2c57bab03aea6"><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: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>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a7273b82b017fd96d29b2c57bab03aea6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">guess_image_type </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$filename</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$fromcurl</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Guess image mimetype from filename or from Content-Type header</p>
+<ul>
+<li>$filename string Image filename </li>
+<li>$fromcurl boolean Check Content-Type header from curl request </li>
+</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>
+
+</div>
+</div>
+<a class="anchor" id="a1d0bc7161dec0d177b7d3bbe4421af9a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">import_channel_photo </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$photo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$aid</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="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a102f3f26f67e0e38f4322a771951c1ca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">import_profile_photo </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$photo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$xchan</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="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#ab0227978011d8601494a7651fa26acf0">import_xchan()</a>, and <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a32e2817faa25d7f11f60a8abff565035"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_factory </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">&#160;</td>
+ <td class="paramname"><em>$type</em> = <code>null</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="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="photo__driver_8php.html#a7273b82b017fd96d29b2c57bab03aea6">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>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/photo__driver_8php.js b/doc/html/photo__driver_8php.js
new file mode 100644
index 000000000..b32bfb2be
--- /dev/null
+++ b/doc/html/photo__driver_8php.js
@@ -0,0 +1,8 @@
+var photo__driver_8php =
+[
+ [ "photo_driver", "classphoto__driver.html", "classphoto__driver" ],
+ [ "guess_image_type", "photo__driver_8php.html#a7273b82b017fd96d29b2c57bab03aea6", null ],
+ [ "import_channel_photo", "photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a", null ],
+ [ "import_profile_photo", "photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca", null ],
+ [ "photo_factory", "photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035", null ]
+]; \ No newline at end of file
diff --git a/doc/html/photo__gd_8php.html b/doc/html/photo__gd_8php.html
new file mode 100644
index 000000000..9e9ea72b9
--- /dev/null
+++ b/doc/html/photo__gd_8php.html
@@ -0,0 +1,120 @@
+<!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: include/photo/photo_gd.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="rhash-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('photo__gd_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="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">photo_gd.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="classphoto__gd.html">photo_gd</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/photo__imagick_8php.html b/doc/html/photo__imagick_8php.html
new file mode 100644
index 000000000..ce8965204
--- /dev/null
+++ b/doc/html/photo__imagick_8php.html
@@ -0,0 +1,120 @@
+<!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: include/photo/photo_imagick.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="rhash-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('photo__imagick_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="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">photo_imagick.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="classphoto__imagick.html">photo_imagick</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/php2po_8php.html b/doc/html/php2po_8php.html
new file mode 100644
index 000000000..6a74a7d04
--- /dev/null
+++ b/doc/html/php2po_8php.html
@@ -0,0 +1,245 @@
+<!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: util/php2po.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="rhash-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('php2po_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">php2po.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:abbb0e5fd8fbc1f13a9bf68f86eb3d2a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(!class_exists('<a class="el" href="classApp.html">App</a>')) <a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>($argc!=2)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4">$phpfile</a> = $<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>[1]</td></tr>
+<tr class="separator:abbb0e5fd8fbc1f13a9bf68f86eb3d2a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a401d84ce156e49e8168bd0c4781e1be1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1">$pofile</a> = dirname($phpfile).&quot;/messages.po&quot;</td></tr>
+<tr class="separator:a401d84ce156e49e8168bd0c4781e1be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45b05625748f412ec97afcd61cf7980b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php2po_8php.html#a45b05625748f412ec97afcd61cf7980b">if</a> (!file_exists($phpfile))</td></tr>
+<tr class="separator:a45b05625748f412ec97afcd61cf7980b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1594a11499d06cc8a789ee7ca0c7a12b"><td class="memItemLeft" align="right" valign="top">print Out to&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b">n</a></td></tr>
+<tr class="separator:a1594a11499d06cc8a789ee7ca0c7a12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48cb304902320d173a4eaa41543327b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php2po_8php.html#a48cb304902320d173a4eaa41543327b9">$out</a> = &quot;&quot;</td></tr>
+<tr class="separator:a48cb304902320d173a4eaa41543327b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61f8ddeb5557d46ebc546cc355bda214"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php2po_8php.html#a61f8ddeb5557d46ebc546cc355bda214">$infile</a> = file($pofile)</td></tr>
+<tr class="separator:a61f8ddeb5557d46ebc546cc355bda214"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6726cfaa85d4b8299d2b0f034cbf178"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178">$k</a> =&quot;&quot;</td></tr>
+<tr class="separator:ad6726cfaa85d4b8299d2b0f034cbf178"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b0b8ebd9ce811d1325ef2c129443bc0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php2po_8php.html#a6b0b8ebd9ce811d1325ef2c129443bc0">$ink</a> = False</td></tr>
+<tr class="separator:a6b0b8ebd9ce811d1325ef2c129443bc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a61f8ddeb5557d46ebc546cc355bda214"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$infile = file($pofile)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6b0b8ebd9ce811d1325ef2c129443bc0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$ink = False</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad6726cfaa85d4b8299d2b0f034cbf178"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$k =&quot;&quot;</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="profile__advanced_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="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#a7273b82b017fd96d29b2c57bab03aea6">guess_image_type()</a>, <a class="el" href="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">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="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</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>
+
+</div>
+</div>
+<a class="anchor" id="a48cb304902320d173a4eaa41543327b9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$out = &quot;&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abbb0e5fd8fbc1f13a9bf68f86eb3d2a4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (!class_exists('<a class="el" href="classApp.html">App</a>')) <a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> ($argc!=2) $phpfile = $<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>[1]</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a401d84ce156e49e8168bd0c4781e1be1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$pofile = dirname($phpfile).&quot;/messages.po&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a45b05625748f412ec97afcd61cf7980b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">if</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">{</div>
+<div class="line"> <a class="code" href="fpostit_8php.html#a3f3ae3ae61578b5671673914fd894443">showForm</a>(null, $content)</div>
+</div><!-- fragment -->
+<p>Referenced by <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1594a11499d06cc8a789ee7ca0c7a12b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">print Out to n</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/php2po_8php.js b/doc/html/php2po_8php.js
new file mode 100644
index 000000000..679a631af
--- /dev/null
+++ b/doc/html/php2po_8php.js
@@ -0,0 +1,11 @@
+var php2po_8php =
+[
+ [ "$infile", "php2po_8php.html#a61f8ddeb5557d46ebc546cc355bda214", null ],
+ [ "$ink", "php2po_8php.html#a6b0b8ebd9ce811d1325ef2c129443bc0", null ],
+ [ "$k", "php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178", null ],
+ [ "$out", "php2po_8php.html#a48cb304902320d173a4eaa41543327b9", null ],
+ [ "$phpfile", "php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4", null ],
+ [ "$pofile", "php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1", null ],
+ [ "if", "php2po_8php.html#a45b05625748f412ec97afcd61cf7980b", null ],
+ [ "n", "php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b", null ]
+]; \ No newline at end of file
diff --git a/doc/html/php_2default_8php.html b/doc/html/php_2default_8php.html
new file mode 100644
index 000000000..d76f7eb14
--- /dev/null
+++ b/doc/html/php_2default_8php.html
@@ -0,0 +1,133 @@
+<!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: view/php/default.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="rhash-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('php_2default_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">default.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<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="separator:a23bc1996b18e69c1a3ab44536613a762"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a23bc1996b18e69c1a3ab44536613a762"></a>
+<div class="memitem">
+<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>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/php_2default_8php.js b/doc/html/php_2default_8php.js
new file mode 100644
index 000000000..2504be66e
--- /dev/null
+++ b/doc/html/php_2default_8php.js
@@ -0,0 +1,4 @@
+var php_2default_8php =
+[
+ [ "if", "php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762", null ]
+]; \ No newline at end of file
diff --git a/doc/html/php_2theme__init_8php.html b/doc/html/php_2theme__init_8php.html
new file mode 100644
index 000000000..a96e2385a
--- /dev/null
+++ b/doc/html/php_2theme__init_8php.html
@@ -0,0 +1,112 @@
+<!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: view/php/theme_init.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="rhash-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('php_2theme__init_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="headertitle">
+<div class="title">theme_init.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/php_8php.html b/doc/html/php_8php.html
new file mode 100644
index 000000000..fcc7e84e4
--- /dev/null
+++ b/doc/html/php_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/php.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="rhash-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('php_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">php.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:adb7164dfed9a4ecbe2e168e1e78f12f6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6">php_init</a> (&amp;$a)</td></tr>
+<tr class="separator:adb7164dfed9a4ecbe2e168e1e78f12f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="adb7164dfed9a4ecbe2e168e1e78f12f6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">php_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/php_8php.js b/doc/html/php_8php.js
new file mode 100644
index 000000000..77a9c0ac8
--- /dev/null
+++ b/doc/html/php_8php.js
@@ -0,0 +1,4 @@
+var php_8php =
+[
+ [ "php_init", "php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6", null ]
+]; \ No newline at end of file
diff --git a/doc/html/ping_8php.html b/doc/html/ping_8php.html
new file mode 100644
index 000000000..165fa7295
--- /dev/null
+++ b/doc/html/ping_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/ping.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="rhash-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('ping_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">ping.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:a77217b1b190b4c5d8770867b45f0c0a1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a77217b1b190b4c5d8770867b45f0c0a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a77217b1b190b4c5d8770867b45f0c0a1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ping_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/ping_8php.js b/doc/html/ping_8php.js
new file mode 100644
index 000000000..4fe2dcc0c
--- /dev/null
+++ b/doc/html/ping_8php.js
@@ -0,0 +1,4 @@
+var ping_8php =
+[
+ [ "ping_init", "ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1", null ]
+]; \ No newline at end of file
diff --git a/doc/html/plugin_8php.html b/doc/html/plugin_8php.html
new file mode 100644
index 000000000..ad38bf4f8
--- /dev/null
+++ b/doc/html/plugin_8php.html
@@ -0,0 +1,743 @@
+<!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: include/plugin.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="rhash-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('plugin_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">plugin.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:a90538627db68605aeb6db17a8ead6523"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a90538627db68605aeb6db17a8ead6523">unload_plugin</a> ($plugin)</td></tr>
+<tr class="separator:a90538627db68605aeb6db17a8ead6523"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a093a9cb98f51e3643634bd8bc6ed6e76"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin</a> ($plugin)</td></tr>
+<tr class="separator:a093a9cb98f51e3643634bd8bc6ed6e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a482131013272a1d5d5c1b1469c6c55d5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin</a> ($plugin)</td></tr>
+<tr class="separator:a482131013272a1d5d5c1b1469c6c55d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ca9632b7309a65b05c03a3e2f473a3d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin</a> ($plugin)</td></tr>
+<tr class="separator:a9ca9632b7309a65b05c03a3e2f473a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9ac19004dca49adae1ac7a0d9f3b025"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins</a> ()</td></tr>
+<tr class="separator:af9ac19004dca49adae1ac7a0d9f3b025"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a425472c5f3afc137268b2ad45652b209"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">register_hook</a> ($hook, $file, $function, $priority=0)</td></tr>
+<tr class="separator:a425472c5f3afc137268b2ad45652b209"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56f71fe5adf9586ce950523d8180443e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">unregister_hook</a> ($hook, $file, $function)</td></tr>
+<tr class="separator:a56f71fe5adf9586ce950523d8180443e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a326365e48ef94f0b9a0a771b8d75e813"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks</a> ()</td></tr>
+<tr class="separator:a326365e48ef94f0b9a0a771b8d75e813"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f05de16c0a32602853b09b99dd85e7c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks</a> ($name, &amp;$data=null)</td></tr>
+<tr class="separator:a7f05de16c0a32602853b09b99dd85e7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0178bd8d0b34a94d5efddc883edd35"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35">get_plugin_info</a> ($plugin)</td></tr>
+<tr class="separator:aff0178bd8d0b34a94d5efddc883edd35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad48de9c0fb7f19413a2aa49250d00405"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405">get_theme_info</a> ($theme)</td></tr>
+<tr class="separator:ad48de9c0fb7f19413a2aa49250d00405"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48047edfbef770125a5508dcc2f9282f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a48047edfbef770125a5508dcc2f9282f">get_theme_screenshot</a> ($theme)</td></tr>
+<tr class="separator:a48047edfbef770125a5508dcc2f9282f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a030cec6793b909c439c0336ba39b1571"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows</a> ($uid, $property, $usage=false)</td></tr>
+<tr class="separator:a030cec6793b909c439c0336ba39b1571"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a905b54e10704b283ac64680a8abc0971"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch</a> ($uid, $property)</td></tr>
+<tr class="separator:a905b54e10704b283ac64680a8abc0971"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4fc13e528367f510fcb6d8bbfc559040"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040">upgrade_link</a> ($<a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a>=false)</td></tr>
+<tr class="separator:a4fc13e528367f510fcb6d8bbfc559040"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a901657dd078e070516cf97285e0bada7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a901657dd078e070516cf97285e0bada7">upgrade_message</a> ($<a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a>=false)</td></tr>
+<tr class="separator:a901657dd078e070516cf97285e0bada7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a754d7f53b3abc557b753c057dc4e021d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d">upgrade_bool_message</a> ($<a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a>=false)</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: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: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: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>
+<tr class="separator:ad9ff8ba554576383c5911a4bce068c1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65fedcffbe03562ef844cabee37d34e2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">theme_include</a> ($file, $root= '')</td></tr>
+<tr class="separator:a65fedcffbe03562ef844cabee37d34e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb63c27d07f6d7dffe95f98a6cef1295"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template</a> ($s, $root= '')</td></tr>
+<tr class="separator:acb63c27d07f6d7dffe95f98a6cef1295"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75f7dfed291fd7add7fc85b5c022a1f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template</a> ($s, $root= '')</td></tr>
+<tr class="separator:a75f7dfed291fd7add7fc85b5c022a1f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a7f05de16c0a32602853b09b99dd85e7c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">call_hooks </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$data</em> = <code>null</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="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#ad46ff6764f12b6d3ab45c49b797f98aa">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#a1e97305a441dc143edbe09e17d1ceda1">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="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="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">import_directory_profile()</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="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="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="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs()</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="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="boot_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>, and <a class="el" href="boot_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9039e15aae27676af7777dcbee5a11d6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">format_css_if_exists </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$source</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="plugin_8php.html#af92789f559b89a380e49d303218aeeca">head_get_css()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad9ff8ba554576383c5911a4bce068c1f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">format_js_if_exists </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$source</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">head_get_js()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acb63c27d07f6d7dffe95f98a6cef1295"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_intltext_template </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>$root</em> = <code>''</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="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</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="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#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, and <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a75f7dfed291fd7add7fc85b5c022a1f4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_markup_template </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>$root</em> = <code>''</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="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#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="profile__advanced_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="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</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#a1e97305a441dc143edbe09e17d1ceda1">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="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_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="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="boot_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#ab4d9e5b59f48787cb01baae5dc6c381f">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="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_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#a51f2ec7a143d5a5b38e35efd5f3d6e2c">populate_acl()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">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="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="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</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>
+
+</div>
+</div>
+<a class="anchor" id="aff0178bd8d0b34a94d5efddc883edd35"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_plugin_info </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$plugin</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad48de9c0fb7f19413a2aa49250d00405"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_theme_info </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$theme</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, and <a class="el" href="pretheme_8php.html#af5660943ee99db5fd75182316522eafe">pretheme_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a48047edfbef770125a5508dcc2f9282f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_theme_screenshot </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$theme</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, and <a class="el" href="pretheme_8php.html#af5660943ee99db5fd75182316522eafe">pretheme_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a23c4fccf1eb5fcd63b24783ba1f05f7a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">head_add_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">
+
+<p>Referenced by <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, and <a class="el" href="redstrap_2php_2theme_8php.html#a4dac61d466b4261deca2846f548e484a">redstrap_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a516591850f4fd49fd1425cfa54089db8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">head_add_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">
+
+<p>Referenced by <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, and <a class="el" href="redstrap_2php_2theme_8php.html#a4dac61d466b4261deca2846f548e484a">redstrap_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af92789f559b89a380e49d303218aeeca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">head_get_css </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a65ab52cb1a7030d5190e247211bef2a1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">head_get_js </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a482131013272a1d5d5c1b1469c6c55d5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">install_plugin </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$plugin</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a326365e48ef94f0b9a0a771b8d75e813"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">load_hooks </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, and <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9ca9632b7309a65b05c03a3e2f473a3d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">load_plugin </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$plugin</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, and <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a425472c5f3afc137268b2ad45652b209"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">register_hook </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hook</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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">&#160;</td>
+ <td class="paramname"><em>$function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$priority</em> = <code>0</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="af9ac19004dca49adae1ac7a0d9f3b025"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">reload_plugins </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a030cec6793b909c439c0336ba39b1571"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">service_class_allows </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>$property</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$usage</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="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, and <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a905b54e10704b283ac64680a8abc0971"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">service_class_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>$property</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="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>
+
+</div>
+</div>
+<a class="anchor" id="a65fedcffbe03562ef844cabee37d34e2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">theme_include </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">&#160;</td>
+ <td class="paramname"><em>$root</em> = <code>''</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="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>
+
+</div>
+</div>
+<a class="anchor" id="a093a9cb98f51e3643634bd8bc6ed6e76"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uninstall_plugin </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$plugin</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a90538627db68605aeb6db17a8ead6523"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unload_plugin </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$plugin</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, and <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a56f71fe5adf9586ce950523d8180443e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unregister_hook </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hook</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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">&#160;</td>
+ <td class="paramname"><em>$function</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="a754d7f53b3abc557b753c057dc4e021d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">upgrade_bool_message </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$bbcode</em> = <code>false</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4fc13e528367f510fcb6d8bbfc559040"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">upgrade_link </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$bbcode</em> = <code>false</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d">upgrade_bool_message()</a>, and <a class="el" href="plugin_8php.html#a901657dd078e070516cf97285e0bada7">upgrade_message()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a901657dd078e070516cf97285e0bada7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">upgrade_message </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$bbcode</em> = <code>false</code></td><td>)</td>
+ <td></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="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, and <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/plugin_8php.js b/doc/html/plugin_8php.js
new file mode 100644
index 000000000..4d2d79f2d
--- /dev/null
+++ b/doc/html/plugin_8php.js
@@ -0,0 +1,29 @@
+var plugin_8php =
+[
+ [ "call_hooks", "plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c", null ],
+ [ "format_css_if_exists", "plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6", null ],
+ [ "format_js_if_exists", "plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f", null ],
+ [ "get_intltext_template", "plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295", null ],
+ [ "get_markup_template", "plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4", null ],
+ [ "get_plugin_info", "plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35", null ],
+ [ "get_theme_info", "plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405", null ],
+ [ "get_theme_screenshot", "plugin_8php.html#a48047edfbef770125a5508dcc2f9282f", null ],
+ [ "head_add_css", "plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a", null ],
+ [ "head_add_js", "plugin_8php.html#a516591850f4fd49fd1425cfa54089db8", null ],
+ [ "head_get_css", "plugin_8php.html#af92789f559b89a380e49d303218aeeca", null ],
+ [ "head_get_js", "plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1", 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 ],
+ [ "service_class_allows", "plugin_8php.html#a030cec6793b909c439c0336ba39b1571", null ],
+ [ "service_class_fetch", "plugin_8php.html#a905b54e10704b283ac64680a8abc0971", null ],
+ [ "theme_include", "plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2", null ],
+ [ "uninstall_plugin", "plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76", null ],
+ [ "unload_plugin", "plugin_8php.html#a90538627db68605aeb6db17a8ead6523", null ],
+ [ "unregister_hook", "plugin_8php.html#a56f71fe5adf9586ce950523d8180443e", null ],
+ [ "upgrade_bool_message", "plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d", null ],
+ [ "upgrade_link", "plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040", null ],
+ [ "upgrade_message", "plugin_8php.html#a901657dd078e070516cf97285e0bada7", null ]
+]; \ No newline at end of file
diff --git a/doc/html/po2php_8php.html b/doc/html/po2php_8php.html
new file mode 100644
index 000000000..cb9d2e389
--- /dev/null
+++ b/doc/html/po2php_8php.html
@@ -0,0 +1,147 @@
+<!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: util/po2php.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="rhash-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('po2php_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">po2php.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:a3b75e36f913198299e99559b175cd8b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
+<tr class="separator:a3b75e36f913198299e99559b175cd8b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a3b75e36f913198299e99559b175cd8b4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">po2php_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/po2php_8php.js b/doc/html/po2php_8php.js
new file mode 100644
index 000000000..e8f3c4f39
--- /dev/null
+++ b/doc/html/po2php_8php.js
@@ -0,0 +1,4 @@
+var po2php_8php =
+[
+ [ "po2php_run", "po2php_8php.html#a3b75e36f913198299e99559b175cd8b4", null ]
+]; \ No newline at end of file
diff --git a/doc/html/poco_8php.html b/doc/html/poco_8php.html
new file mode 100644
index 000000000..900678fc0
--- /dev/null
+++ b/doc/html/poco_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/poco.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="rhash-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('poco_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">poco.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:a53def16f75e3d41f1d2bb7cfa4905498"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a53def16f75e3d41f1d2bb7cfa4905498"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a53def16f75e3d41f1d2bb7cfa4905498"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">poco_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/poco_8php.js b/doc/html/poco_8php.js
new file mode 100644
index 000000000..48ccaafb9
--- /dev/null
+++ b/doc/html/poco_8php.js
@@ -0,0 +1,4 @@
+var poco_8php =
+[
+ [ "poco_init", "poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498", null ]
+]; \ No newline at end of file
diff --git a/doc/html/poke_8php.html b/doc/html/poke_8php.html
new file mode 100644
index 000000000..f761dfe08
--- /dev/null
+++ b/doc/html/poke_8php.html
@@ -0,0 +1,157 @@
+<!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/poke.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="rhash-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('poke_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">poke.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:a9725aab97b3983e6a98bd81c4efe7d3b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a9725aab97b3983e6a98bd81c4efe7d3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9190563a8da9c07a16f9dcd71cf6993"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content</a> (&amp;$a)</td></tr>
+<tr class="separator:ac9190563a8da9c07a16f9dcd71cf6993"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ac9190563a8da9c07a16f9dcd71cf6993"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">poke_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="a9725aab97b3983e6a98bd81c4efe7d3b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">poke_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">
+<p>Poke, prod, finger, or otherwise do unspeakable things to somebody - who must be a connection in your address book This function can be invoked with the required arguments (verb and cid and private and possibly parent) silently via ajax or other web request. You must be logged in and connected to a channel. If the required arguments aren't present, we'll display a simple form to choose a recipient and a verb. parent is a special argument which let's you attach this activity as a comment to an existing conversation, which may have started with somebody else poking (etc.) somebody, but this isn't necessary. This can be used in the adult plugin version to have entire conversations where Alice poked Bob, Bob fingered Alice, Alice hugged Bob, etc.</p>
+<p>private creates a private conversation with the recipient. Otherwise your channel's default post privacy is used. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/poke_8php.js b/doc/html/poke_8php.js
new file mode 100644
index 000000000..3acebd0ae
--- /dev/null
+++ b/doc/html/poke_8php.js
@@ -0,0 +1,5 @@
+var poke_8php =
+[
+ [ "poke_content", "poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993", null ],
+ [ "poke_init", "poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b", null ]
+]; \ No newline at end of file
diff --git a/doc/html/poller_8php.html b/doc/html/poller_8php.html
new file mode 100644
index 000000000..89d5875a4
--- /dev/null
+++ b/doc/html/poller_8php.html
@@ -0,0 +1,147 @@
+<!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: include/poller.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="rhash-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('poller_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">poller.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:a5f12df3a4738124b6c039971e87e76da"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
+<tr class="separator:a5f12df3a4738124b6c039971e87e76da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a5f12df3a4738124b6c039971e87e76da"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">poller_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/poller_8php.js b/doc/html/poller_8php.js
new file mode 100644
index 000000000..94d6e67a4
--- /dev/null
+++ b/doc/html/poller_8php.js
@@ -0,0 +1,4 @@
+var poller_8php =
+[
+ [ "poller_run", "poller_8php.html#a5f12df3a4738124b6c039971e87e76da", null ]
+]; \ No newline at end of file
diff --git a/doc/html/post_8php.html b/doc/html/post_8php.html
new file mode 100644
index 000000000..d20efd0e8
--- /dev/null
+++ b/doc/html/post_8php.html
@@ -0,0 +1,164 @@
+<!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/post.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="rhash-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('post_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">post.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:af4b48181ce773ef0cdfc972441445c34"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init</a> (&amp;$a)</td></tr>
+<tr class="separator:af4b48181ce773ef0cdfc972441445c34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af59e6a1dc22d19d9257b01cd7ccedb75"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post</a> (&amp;$a)</td></tr>
+<tr class="separator:af59e6a1dc22d19d9257b01cd7ccedb75"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af4b48181ce773ef0cdfc972441445c34"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">post_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">
+<p>Zot endpoint </p>
+
+</div>
+</div>
+<a class="anchor" id="af59e6a1dc22d19d9257b01cd7ccedb75"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">post_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">
+<p>Many message packets will arrive encrypted. The existence of an 'iv' element tells us we need to unencapsulate the AES-256-CBC content using the site private key</p>
+<p>The 'pickup' message arrives with a tracking ID which is associated with a particular outq_hash First verify that that the returned signatures verify, then check that we have an outbound queue item with the correct hash. If everything verifies, find any/all outbound messages in the queue for this hubloc and send them back</p>
+<p>If we made it to here, the signatures verify, but we still don't know if the tracking ID is valid. It wouldn't be an error if the tracking ID isn't found, because we may have sent this particular queue item with another pickup (after the tracking ID for the other pickup was verified).</p>
+<p>Everything is good if we made it here, so find all messages that are going to this location and send them all.</p>
+<p>pickup: end</p>
+<p>All other message types require us to verify the sender. This is a generic check, so we will do it once here and bail if anything goes wrong.</p>
+<p>Check if the sender is already verified here</p>
+<p>Have never seen this guid or this guid coming from this location. Check it and register it. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/post_8php.js b/doc/html/post_8php.js
new file mode 100644
index 000000000..9a5f6bcdb
--- /dev/null
+++ b/doc/html/post_8php.js
@@ -0,0 +1,5 @@
+var post_8php =
+[
+ [ "post_init", "post_8php.html#af4b48181ce773ef0cdfc972441445c34", null ],
+ [ "post_post", "post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75", null ]
+]; \ No newline at end of file
diff --git a/doc/html/pretheme_8php.html b/doc/html/pretheme_8php.html
new file mode 100644
index 000000000..2ac289362
--- /dev/null
+++ b/doc/html/pretheme_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/pretheme.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="rhash-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('pretheme_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">pretheme.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:af5660943ee99db5fd75182316522eafe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pretheme_8php.html#af5660943ee99db5fd75182316522eafe">pretheme_init</a> (&amp;$a)</td></tr>
+<tr class="separator:af5660943ee99db5fd75182316522eafe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af5660943ee99db5fd75182316522eafe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pretheme_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/pretheme_8php.js b/doc/html/pretheme_8php.js
new file mode 100644
index 000000000..850e68070
--- /dev/null
+++ b/doc/html/pretheme_8php.js
@@ -0,0 +1,4 @@
+var pretheme_8php =
+[
+ [ "pretheme_init", "pretheme_8php.html#af5660943ee99db5fd75182316522eafe", null ]
+]; \ No newline at end of file
diff --git a/doc/html/probe_8php.html b/doc/html/probe_8php.html
new file mode 100644
index 000000000..7db24ab66
--- /dev/null
+++ b/doc/html/probe_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/probe.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="rhash-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('probe_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">probe.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:a1f1db3fa6038e451e737964c94bf5e99"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a1f1db3fa6038e451e737964c94bf5e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a1f1db3fa6038e451e737964c94bf5e99"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">probe_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/probe_8php.js b/doc/html/probe_8php.js
new file mode 100644
index 000000000..5c5c60b45
--- /dev/null
+++ b/doc/html/probe_8php.js
@@ -0,0 +1,4 @@
+var probe_8php =
+[
+ [ "probe_content", "probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99", null ]
+]; \ No newline at end of file
diff --git a/doc/html/profile_8php.html b/doc/html/profile_8php.html
new file mode 100644
index 000000000..eb5e74417
--- /dev/null
+++ b/doc/html/profile_8php.html
@@ -0,0 +1,183 @@
+<!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/profile.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="rhash-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('profile_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">profile.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: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">
+ <table class="memname">
+ <tr>
+ <td class="memname">profile_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>0</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="ab5d0246be0552e2182a585c1206d22a5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">profile_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/profile_8php.js b/doc/html/profile_8php.js
new file mode 100644
index 000000000..942cf9b3d
--- /dev/null
+++ b/doc/html/profile_8php.js
@@ -0,0 +1,6 @@
+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__advanced_8php.html b/doc/html/profile__advanced_8php.html
new file mode 100644
index 000000000..592a567cb
--- /dev/null
+++ b/doc/html/profile__advanced_8php.html
@@ -0,0 +1,139 @@
+<!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: include/profile_advanced.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="rhash-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('profile__advanced_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">profile_advanced.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:aa870d2c1f558cfd52bef05bc124e8fa4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile</a> (&amp;$a)</td></tr>
+<tr class="separator:aa870d2c1f558cfd52bef05bc124e8fa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa870d2c1f558cfd52bef05bc124e8fa4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">advanced_profile </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="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/profile__advanced_8php.js b/doc/html/profile__advanced_8php.js
new file mode 100644
index 000000000..505cbe36f
--- /dev/null
+++ b/doc/html/profile__advanced_8php.js
@@ -0,0 +1,4 @@
+var profile__advanced_8php =
+[
+ [ "advanced_profile", "profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4", null ]
+]; \ No newline at end of file
diff --git a/doc/html/profile__photo_8php.html b/doc/html/profile__photo_8php.html
new file mode 100644
index 000000000..f47e1be9f
--- /dev/null
+++ b/doc/html/profile__photo_8php.html
@@ -0,0 +1,173 @@
+<!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/profile_photo.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="rhash-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('profile__photo_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">profile_photo.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: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">
+ <table class="memname">
+ <tr>
+ <td class="memname">profile_photo_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="a4b80234074bd603221aa5364f330e479"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">profile_photo_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/profile__photo_8php.js b/doc/html/profile__photo_8php.js
new file mode 100644
index 000000000..c9a379a2e
--- /dev/null
+++ b/doc/html/profile__photo_8php.js
@@ -0,0 +1,6 @@
+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/profile__selectors_8php.html b/doc/html/profile__selectors_8php.html
new file mode 100644
index 000000000..4c010f5f1
--- /dev/null
+++ b/doc/html/profile__selectors_8php.html
@@ -0,0 +1,209 @@
+<!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: include/profile_selectors.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="rhash-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('profile__selectors_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">profile_selectors.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:ae2b2c087e6530c61c0b256fd26d52355"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355">gender_selector</a> ($current=&quot;&quot;, $suffix=&quot;&quot;)</td></tr>
+<tr class="separator:ae2b2c087e6530c61c0b256fd26d52355"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b50b3ea4ea4bdbebebfffc5d1b157c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7">sexpref_selector</a> ($current=&quot;&quot;, $suffix=&quot;&quot;)</td></tr>
+<tr class="separator:a3b50b3ea4ea4bdbebebfffc5d1b157c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7473dd095987e1cdcc79d4f0bb5e6798"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798">marital_selector</a> ($current=&quot;&quot;, $suffix=&quot;&quot;)</td></tr>
+<tr class="separator:a7473dd095987e1cdcc79d4f0bb5e6798"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ae2b2c087e6530c61c0b256fd26d52355"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">gender_selector </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$current</em> = <code>&quot;&quot;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$suffix</em> = <code>&quot;&quot;</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="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7473dd095987e1cdcc79d4f0bb5e6798"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">marital_selector </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$current</em> = <code>&quot;&quot;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$suffix</em> = <code>&quot;&quot;</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="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3b50b3ea4ea4bdbebebfffc5d1b157c7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">sexpref_selector </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$current</em> = <code>&quot;&quot;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$suffix</em> = <code>&quot;&quot;</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="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/profile__selectors_8php.js b/doc/html/profile__selectors_8php.js
new file mode 100644
index 000000000..608e0e77e
--- /dev/null
+++ b/doc/html/profile__selectors_8php.js
@@ -0,0 +1,6 @@
+var profile__selectors_8php =
+[
+ [ "gender_selector", "profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355", null ],
+ [ "marital_selector", "profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798", null ],
+ [ "sexpref_selector", "profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7", null ]
+]; \ No newline at end of file
diff --git a/doc/html/profiles_8php.html b/doc/html/profiles_8php.html
new file mode 100644
index 000000000..f8af843af
--- /dev/null
+++ b/doc/html/profiles_8php.html
@@ -0,0 +1,191 @@
+<!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/profiles.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="rhash-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('profiles_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">profiles.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: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">
+ <table class="memname">
+ <tr>
+ <td class="memname">profiles_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="a36f71405ad536228f8bb84a551b23f7e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">profiles_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="ab0362c81b1d3b0b12a772b9fac446e04"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">profiles_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/profiles_8php.js b/doc/html/profiles_8php.js
new file mode 100644
index 000000000..6bc83ad62
--- /dev/null
+++ b/doc/html/profiles_8php.js
@@ -0,0 +1,7 @@
+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 ]
+]; \ No newline at end of file
diff --git a/doc/html/profperm_8php.html b/doc/html/profperm_8php.html
new file mode 100644
index 000000000..ffb8dd4d5
--- /dev/null
+++ b/doc/html/profperm_8php.html
@@ -0,0 +1,173 @@
+<!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/profperm.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="rhash-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('profperm_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">profperm.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: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">
+ <table class="memname">
+ <tr>
+ <td class="memname">profperm_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="a17fb64ec05edee1dc94d95438807d6c6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">profperm_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/profperm_8php.js b/doc/html/profperm_8php.js
new file mode 100644
index 000000000..978df3252
--- /dev/null
+++ b/doc/html/profperm_8php.js
@@ -0,0 +1,6 @@
+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
new file mode 100644
index 000000000..46c645e55
--- /dev/null
+++ b/doc/html/pubsites_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/pubsites.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="rhash-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('pubsites_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">pubsites.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:af614e279aab54065345bda6b03eafdf0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content</a> (&amp;$a)</td></tr>
+<tr class="separator:af614e279aab54065345bda6b03eafdf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af614e279aab54065345bda6b03eafdf0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pubsites_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/pubsites_8php.js b/doc/html/pubsites_8php.js
new file mode 100644
index 000000000..fe78b19d4
--- /dev/null
+++ b/doc/html/pubsites_8php.js
@@ -0,0 +1,4 @@
+var pubsites_8php =
+[
+ [ "pubsites_content", "pubsites_8php.html#af614e279aab54065345bda6b03eafdf0", null ]
+]; \ No newline at end of file
diff --git a/doc/html/qsearch_8php.html b/doc/html/qsearch_8php.html
new file mode 100644
index 000000000..85db51091
--- /dev/null
+++ b/doc/html/qsearch_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/qsearch.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="rhash-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('qsearch_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">qsearch.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:a0501887b95bd8fa21018b2936a668894"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="qsearch_8php.html#a0501887b95bd8fa21018b2936a668894">qsearch_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a0501887b95bd8fa21018b2936a668894"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a0501887b95bd8fa21018b2936a668894"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">qsearch_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/qsearch_8php.js b/doc/html/qsearch_8php.js
new file mode 100644
index 000000000..a21b280be
--- /dev/null
+++ b/doc/html/qsearch_8php.js
@@ -0,0 +1,4 @@
+var qsearch_8php =
+[
+ [ "qsearch_init", "qsearch_8php.html#a0501887b95bd8fa21018b2936a668894", null ]
+]; \ No newline at end of file
diff --git a/doc/html/queue_8php.html b/doc/html/queue_8php.html
new file mode 100644
index 000000000..fe235bc6c
--- /dev/null
+++ b/doc/html/queue_8php.html
@@ -0,0 +1,147 @@
+<!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: include/queue.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="rhash-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('queue_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">queue.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:af8c93de86d866c3200174c8450a0f341"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
+<tr class="separator:af8c93de86d866c3200174c8450a0f341"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af8c93de86d866c3200174c8450a0f341"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">queue_run </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$argc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/queue_8php.js b/doc/html/queue_8php.js
new file mode 100644
index 000000000..e5a7830db
--- /dev/null
+++ b/doc/html/queue_8php.js
@@ -0,0 +1,4 @@
+var queue_8php =
+[
+ [ "queue_run", "queue_8php.html#af8c93de86d866c3200174c8450a0f341", null ]
+]; \ No newline at end of file
diff --git a/doc/html/queue__fn_8php.html b/doc/html/queue__fn_8php.html
new file mode 100644
index 000000000..cff4b21cd
--- /dev/null
+++ b/doc/html/queue__fn_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: include/queue_fn.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="rhash-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('queue__fn_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">queue_fn.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:a4c2876181f75a4a61e85b7f00dfdbba1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time</a> ($id)</td></tr>
+<tr class="separator:a4c2876181f75a4a61e85b7f00dfdbba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8fe71e981399bbf5d000a6ca42f57b24"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item</a> ($id)</td></tr>
+<tr class="separator:a8fe71e981399bbf5d000a6ca42f57b24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a8fe71e981399bbf5d000a6ca42f57b24"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">remove_queue_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4c2876181f75a4a61e85b7f00dfdbba1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">update_queue_time </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/queue__fn_8php.js b/doc/html/queue__fn_8php.js
new file mode 100644
index 000000000..2a3776960
--- /dev/null
+++ b/doc/html/queue__fn_8php.js
@@ -0,0 +1,5 @@
+var queue__fn_8php =
+[
+ [ "remove_queue_item", "queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24", null ],
+ [ "update_queue_time", "queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1", null ]
+]; \ No newline at end of file
diff --git a/doc/html/r!-64.png b/doc/html/r!-64.png
new file mode 100644
index 000000000..1fd1bc80c
--- /dev/null
+++ b/doc/html/r!-64.png
Binary files differ
diff --git a/doc/html/randprof_8php.html b/doc/html/randprof_8php.html
new file mode 100644
index 000000000..7913f0525
--- /dev/null
+++ b/doc/html/randprof_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/randprof.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="rhash-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('randprof_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">randprof.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:abf5dba3c608b9304cbf68327cd31b090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init</a> (&amp;$a)</td></tr>
+<tr class="separator:abf5dba3c608b9304cbf68327cd31b090"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="abf5dba3c608b9304cbf68327cd31b090"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">randprof_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/randprof_8php.js b/doc/html/randprof_8php.js
new file mode 100644
index 000000000..8cc765498
--- /dev/null
+++ b/doc/html/randprof_8php.js
@@ -0,0 +1,4 @@
+var randprof_8php =
+[
+ [ "randprof_init", "randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090", null ]
+]; \ No newline at end of file
diff --git a/doc/html/redbasic_2php_2style_8php.html b/doc/html/redbasic_2php_2style_8php.html
new file mode 100644
index 000000000..48c55f1de
--- /dev/null
+++ b/doc/html/redbasic_2php_2style_8php.html
@@ -0,0 +1,421 @@
+<!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: view/theme/redbasic/php/style.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="rhash-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('redbasic_2php_2style_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">style.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a109bbd7f4add27541707b191b73ef84a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a">$uid</a> = <a class="el" href="boot_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid</a>()</td></tr>
+<tr class="separator:a109bbd7f4add27541707b191b73ef84a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4c6bc3cd9cc92204f04cf6cb34b47dd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#ac4c6bc3cd9cc92204f04cf6cb34b47dd">if</a> ($uid) <a class="el" href="include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6">load_pconfig</a>($uid</td></tr>
+<tr class="separator:ac4c6bc3cd9cc92204f04cf6cb34b47dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4131d1765ee4deb28e83fc4527943ee0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0">$line_height</a> = false</td></tr>
+<tr class="separator:a4131d1765ee4deb28e83fc4527943ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addf42c3d02e53f8e4153f3bb9dabfcda"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda">$redbasic_font_size</a> = false</td></tr>
+<tr class="separator:addf42c3d02e53f8e4153f3bb9dabfcda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcfa918e05b5a98cbddc84bc3f1c15cc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc">$resolution</a> = false</td></tr>
+<tr class="separator:adcfa918e05b5a98cbddc84bc3f1c15cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4086b1a341b7c8462a47fb1b25fd49ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab">$colour</a> = false</td></tr>
+<tr class="separator:a4086b1a341b7c8462a47fb1b25fd49ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb3046ad9c01b7d60cde20f58d77c548"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548">$shadows</a> = false</td></tr>
+<tr class="separator:acb3046ad9c01b7d60cde20f58d77c548"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a938168352fd3cdaa1c10c16a34f5938a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a">$navcolour</a> = false</td></tr>
+<tr class="separator:a938168352fd3cdaa1c10c16a34f5938a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a232513bf4339fe34908c4c63cb93168b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b">$nav_bg_1</a> = &quot;f88&quot;</td></tr>
+<tr class="separator:a232513bf4339fe34908c4c63cb93168b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03a72942b7428fd9af1224770d20a8ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba">$nav_bg_2</a> = &quot;b00&quot;</td></tr>
+<tr class="separator:a03a72942b7428fd9af1224770d20a8ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc190405dda0a23a80551dee11c74c0c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c">$nav_bg_3</a> = &quot;f00&quot;</td></tr>
+<tr class="separator:acc190405dda0a23a80551dee11c74c0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef266cfcb27c6ddb3292584c945bab33"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33">$nav_bg_4</a> = &quot;b00&quot;</td></tr>
+<tr class="separator:aef266cfcb27c6ddb3292584c945bab33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa658152b727ea1233f6df6ded6437dad"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad">$displaystyle</a> = false</td></tr>
+<tr class="separator:aa658152b727ea1233f6df6ded6437dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6628a80911a6b37b464ef110ac8f6e42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42">$linkcolour</a> = false</td></tr>
+<tr class="separator:a6628a80911a6b37b464ef110ac8f6e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b942d36d8862908864e2ffa4521be70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70">$shiny</a> = false</td></tr>
+<tr class="separator:a0b942d36d8862908864e2ffa4521be70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6502bedd57105ad1fb2dee2be9cf6351"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a6502bedd57105ad1fb2dee2be9cf6351">$radius</a> = 5</td></tr>
+<tr class="separator:a6502bedd57105ad1fb2dee2be9cf6351"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8749837e08dfb3372662af9c33fa2a2e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e">$site_line_height</a> = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;,&quot;line_height&quot;)</td></tr>
+<tr class="separator:a8749837e08dfb3372662af9c33fa2a2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45e6fafa363bc4586fa91dce1786be4f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f">$site_redbasic_font_size</a> = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;, &quot;font_size&quot; )</td></tr>
+<tr class="separator:a45e6fafa363bc4586fa91dce1786be4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02d39b683a42fffbb27823d3860283bd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd">$site_colour</a> = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;, &quot;colour&quot; )</td></tr>
+<tr class="separator:a02d39b683a42fffbb27823d3860283bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3a16c5f0dd7a74cf9acf6a49fff73a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2style_8php.html#af3a16c5f0dd7a74cf9acf6a49fff73a7">$x</a> = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>('redbasic','radius')</td></tr>
+<tr class="separator:af3a16c5f0dd7a74cf9acf6a49fff73a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a4086b1a341b7c8462a47fb1b25fd49ab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$colour = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa658152b727ea1233f6df6ded6437dad"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$displaystyle = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4131d1765ee4deb28e83fc4527943ee0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$line_height = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6628a80911a6b37b464ef110ac8f6e42"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$linkcolour = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a232513bf4339fe34908c4c63cb93168b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_1 = &quot;f88&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a03a72942b7428fd9af1224770d20a8ba"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_2 = &quot;b00&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acc190405dda0a23a80551dee11c74c0c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_3 = &quot;f00&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aef266cfcb27c6ddb3292584c945bab33"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_4 = &quot;b00&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a938168352fd3cdaa1c10c16a34f5938a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$navcolour = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6502bedd57105ad1fb2dee2be9cf6351"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$radius = 5</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="addf42c3d02e53f8e4153f3bb9dabfcda"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$redbasic_font_size = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="adcfa918e05b5a98cbddc84bc3f1c15cc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$resolution = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acb3046ad9c01b7d60cde20f58d77c548"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$shadows = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">redbasic_form()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0b942d36d8862908864e2ffa4521be70"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$shiny = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a02d39b683a42fffbb27823d3860283bd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$site_colour = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;, &quot;colour&quot; )</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8749837e08dfb3372662af9c33fa2a2e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$site_line_height = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;,&quot;line_height&quot;)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a45e6fafa363bc4586fa91dce1786be4f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$site_redbasic_font_size = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;, &quot;font_size&quot; )</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a109bbd7f4add27541707b191b73ef84a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$uid = <a class="el" href="boot_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid</a>()</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="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="Contact_8php.html#a228fc01f90ae9bfdde4c2ad0772bd7dc">contacts_not_grouped()</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="boot_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#ab4d9e5b59f48787cb01baae5dc6c381f">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#ac382fdcdf990dcfa8f6528ab8fd280bd">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#a061b3db9426d4b074395f5824062cad4">tagadelic()</a>, <a class="el" href="taxonomy_8php.html#abdb698bc6921429df6d697f6c5dec96f">tagblock()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af3a16c5f0dd7a74cf9acf6a49fff73a7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a> = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>('redbasic','radius')</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">Template\_replcb_for()</a>, <a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">Template\_replcb_if()</a>, <a class="el" href="Contact_8php.html#a3eef54a5523e568a28257c1f9b1644d8">account_remove()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv()</a>, <a class="el" href="items_8php.html#abf7a1b73eb352d79acd36309b0dababd">array_sanitise()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca">autoname()</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="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_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="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, <a class="el" href="crepair_8php.html#acc4493e1ffd1462a605dd9b870034513">crepair_post()</a>, <a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">photo_gd\cropImage()</a>, <a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">photo_imagick\cropImage()</a>, <a class="el" href="datetime_8php.html#ac265b86f384ee094ed5479aae02aa5c8">datesel()</a>, <a class="el" href="datetime_8php.html#a5f29553799005b1fd4e9ce9d98ce05aa">datesel_format()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</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="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="include_2network_8php.html#a540420ff3675a72cb781ef9a7e8c2cd9">email_header_encode()</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="event_8php.html#a89ef533faf345db8d64a58d4856bde3a">event_store()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="text_8php.html#ace3c98538c63e09b70a363210b414112">find_xchan_in_array()</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="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="classphoto__gd.html#a44cedef376044018702d9355ddc813ce">photo_gd\flip()</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="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</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#a76d1b3435c067978d7b484c45f56472b">get_mentions()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1">get_terms_oftype()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</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#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">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="text_8php.html#a0271381208acfa2d4cff36da281e3e23">json_decode_plus()</a>, <a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">json_return_and_die()</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="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">legal_webbie()</a>, <a class="el" href="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</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="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2menu_8php.html#a890cc6237971e15f15702e6b2e88502e">menu_render()</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="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#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</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="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</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="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</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#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</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="tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3">print_template()</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="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</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="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</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="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="classApp.html#a123b903dfe5d3488cc68db3471d36fd2">App\set_widget()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms()</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="taxonomy_8php.html#a061b3db9426d4b074395f5824062cad4">tagadelic()</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="admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4">theme_status()</a>, <a class="el" href="datetime_8php.html#a36d3d6dff8d76b5f295bb3d9c535a5b1">timesel()</a>, <a class="el" href="admin_8php.html#af81f081851791cd15e49e8ff6722dc27">toggle_theme()</a>, <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>, <a class="el" href="plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d">upgrade_bool_message()</a>, <a class="el" href="plugin_8php.html#a901657dd078e070516cf97285e0bada7">upgrade_message()</a>, <a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">valid_email()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f">xchan_query()</a>, <a class="el" href="text_8php.html#aaed4413ed8918838b517e3b2fafaea0d">xmlify()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</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>
+<a class="anchor" id="ac4c6bc3cd9cc92204f04cf6cb34b47dd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">if ($colour===&quot;dark&quot;) if (($redbasic_font_size &gt;=8.0)&amp;&amp;($redbasic_font_size&lt;=20.0)) if (($line_height &gt;=1.0)&amp;&amp;($line_height&lt;=2.0)) if($shadows===&quot;true&quot;)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/redbasic_2php_2style_8php.js b/doc/html/redbasic_2php_2style_8php.js
new file mode 100644
index 000000000..d91c436d5
--- /dev/null
+++ b/doc/html/redbasic_2php_2style_8php.js
@@ -0,0 +1,23 @@
+var redbasic_2php_2style_8php =
+[
+ [ "$colour", "redbasic_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab", null ],
+ [ "$displaystyle", "redbasic_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad", null ],
+ [ "$line_height", "redbasic_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0", null ],
+ [ "$linkcolour", "redbasic_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42", null ],
+ [ "$nav_bg_1", "redbasic_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b", null ],
+ [ "$nav_bg_2", "redbasic_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba", null ],
+ [ "$nav_bg_3", "redbasic_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c", null ],
+ [ "$nav_bg_4", "redbasic_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33", null ],
+ [ "$navcolour", "redbasic_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a", null ],
+ [ "$radius", "redbasic_2php_2style_8php.html#a6502bedd57105ad1fb2dee2be9cf6351", null ],
+ [ "$redbasic_font_size", "redbasic_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda", null ],
+ [ "$resolution", "redbasic_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc", null ],
+ [ "$shadows", "redbasic_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548", null ],
+ [ "$shiny", "redbasic_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70", null ],
+ [ "$site_colour", "redbasic_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd", null ],
+ [ "$site_line_height", "redbasic_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e", null ],
+ [ "$site_redbasic_font_size", "redbasic_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f", null ],
+ [ "$uid", "redbasic_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a", null ],
+ [ "$x", "redbasic_2php_2style_8php.html#af3a16c5f0dd7a74cf9acf6a49fff73a7", null ],
+ [ "if", "redbasic_2php_2style_8php.html#ac4c6bc3cd9cc92204f04cf6cb34b47dd", null ]
+]; \ No newline at end of file
diff --git a/doc/html/redbasic_2php_2theme_8php.html b/doc/html/redbasic_2php_2theme_8php.html
new file mode 100644
index 000000000..dbbbd82df
--- /dev/null
+++ b/doc/html/redbasic_2php_2theme_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: view/theme/redbasic/php/theme.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="rhash-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('redbasic_2php_2theme_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">theme.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:af6eb813e9fc7e2d76ac1b82bc5c0ed9b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redbasic_2php_2theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b">redbasic_init</a> (&amp;$a)</td></tr>
+<tr class="separator:af6eb813e9fc7e2d76ac1b82bc5c0ed9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af6eb813e9fc7e2d76ac1b82bc5c0ed9b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">redbasic_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/redbasic_2php_2theme_8php.js b/doc/html/redbasic_2php_2theme_8php.js
new file mode 100644
index 000000000..ad2af9268
--- /dev/null
+++ b/doc/html/redbasic_2php_2theme_8php.js
@@ -0,0 +1,4 @@
+var redbasic_2php_2theme_8php =
+[
+ [ "redbasic_init", "redbasic_2php_2theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b", null ]
+]; \ No newline at end of file
diff --git a/doc/html/redir_8php.html b/doc/html/redir_8php.html
new file mode 100644
index 000000000..a77e53757
--- /dev/null
+++ b/doc/html/redir_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/redir.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="rhash-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('redir_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">redir.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:a9ac266c3f5cf0d94ef63e6d0f2edf1f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a9ac266c3f5cf0d94ef63e6d0f2edf1f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a9ac266c3f5cf0d94ef63e6d0f2edf1f5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">redir_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/redir_8php.js b/doc/html/redir_8php.js
new file mode 100644
index 000000000..8fb935d75
--- /dev/null
+++ b/doc/html/redir_8php.js
@@ -0,0 +1,4 @@
+var redir_8php =
+[
+ [ "redir_init", "redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5", null ]
+]; \ No newline at end of file
diff --git a/doc/html/redstrap_2php_2style_8php.html b/doc/html/redstrap_2php_2style_8php.html
new file mode 100644
index 000000000..e4501c0c5
--- /dev/null
+++ b/doc/html/redstrap_2php_2style_8php.html
@@ -0,0 +1,361 @@
+<!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: view/theme/redstrap/php/style.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="rhash-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('redstrap_2php_2style_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">style.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a4131d1765ee4deb28e83fc4527943ee0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0">$line_height</a> = false</td></tr>
+<tr class="separator:a4131d1765ee4deb28e83fc4527943ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addf42c3d02e53f8e4153f3bb9dabfcda"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda">$redbasic_font_size</a> = false</td></tr>
+<tr class="separator:addf42c3d02e53f8e4153f3bb9dabfcda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcfa918e05b5a98cbddc84bc3f1c15cc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc">$resolution</a> = false</td></tr>
+<tr class="separator:adcfa918e05b5a98cbddc84bc3f1c15cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4086b1a341b7c8462a47fb1b25fd49ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab">$colour</a> = false</td></tr>
+<tr class="separator:a4086b1a341b7c8462a47fb1b25fd49ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb3046ad9c01b7d60cde20f58d77c548"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548">$shadows</a> = false</td></tr>
+<tr class="separator:acb3046ad9c01b7d60cde20f58d77c548"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a938168352fd3cdaa1c10c16a34f5938a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a">$navcolour</a> = false</td></tr>
+<tr class="separator:a938168352fd3cdaa1c10c16a34f5938a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a232513bf4339fe34908c4c63cb93168b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b">$nav_bg_1</a> = &quot;f88&quot;</td></tr>
+<tr class="separator:a232513bf4339fe34908c4c63cb93168b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03a72942b7428fd9af1224770d20a8ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba">$nav_bg_2</a> = &quot;b00&quot;</td></tr>
+<tr class="separator:a03a72942b7428fd9af1224770d20a8ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc190405dda0a23a80551dee11c74c0c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c">$nav_bg_3</a> = &quot;f00&quot;</td></tr>
+<tr class="separator:acc190405dda0a23a80551dee11c74c0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef266cfcb27c6ddb3292584c945bab33"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33">$nav_bg_4</a> = &quot;b00&quot;</td></tr>
+<tr class="separator:aef266cfcb27c6ddb3292584c945bab33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa658152b727ea1233f6df6ded6437dad"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad">$displaystyle</a> = false</td></tr>
+<tr class="separator:aa658152b727ea1233f6df6ded6437dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6628a80911a6b37b464ef110ac8f6e42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42">$linkcolour</a> = false</td></tr>
+<tr class="separator:a6628a80911a6b37b464ef110ac8f6e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b942d36d8862908864e2ffa4521be70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70">$shiny</a> = false</td></tr>
+<tr class="separator:a0b942d36d8862908864e2ffa4521be70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8749837e08dfb3372662af9c33fa2a2e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e">$site_line_height</a> = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;,&quot;line_height&quot;)</td></tr>
+<tr class="separator:a8749837e08dfb3372662af9c33fa2a2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45e6fafa363bc4586fa91dce1786be4f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f">$site_redbasic_font_size</a> = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;, &quot;font_size&quot; )</td></tr>
+<tr class="separator:a45e6fafa363bc4586fa91dce1786be4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02d39b683a42fffbb27823d3860283bd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd">$site_colour</a> = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;, &quot;colour&quot; )</td></tr>
+<tr class="separator:a02d39b683a42fffbb27823d3860283bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c4684da834439885ae2285649d1aaea"><td class="memItemLeft" align="right" valign="top">if(<a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">local_user</a>()) if($line_height===false) <br class="typebreak"/>
+if($line_height===false) if($redbasic_font_size===false) <br class="typebreak"/>
+if($redbasic_font_size===false) <br class="typebreak"/>
+if($colour===false) if($colour===false) <br class="typebreak"/>
+if($navcolour===&quot;black&quot;)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (file_exists('view/theme/'.<a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme</a>(). '/css/style.css'))</td></tr>
+<tr class="separator:a0c4684da834439885ae2285649d1aaea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a4086b1a341b7c8462a47fb1b25fd49ab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$colour = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa658152b727ea1233f6df6ded6437dad"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$displaystyle = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4131d1765ee4deb28e83fc4527943ee0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$line_height = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6628a80911a6b37b464ef110ac8f6e42"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$linkcolour = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a232513bf4339fe34908c4c63cb93168b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_1 = &quot;f88&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a03a72942b7428fd9af1224770d20a8ba"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_2 = &quot;b00&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acc190405dda0a23a80551dee11c74c0c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_3 = &quot;f00&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aef266cfcb27c6ddb3292584c945bab33"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_4 = &quot;b00&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a938168352fd3cdaa1c10c16a34f5938a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$navcolour = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="addf42c3d02e53f8e4153f3bb9dabfcda"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$redbasic_font_size = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="adcfa918e05b5a98cbddc84bc3f1c15cc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$resolution = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acb3046ad9c01b7d60cde20f58d77c548"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$shadows = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0b942d36d8862908864e2ffa4521be70"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$shiny = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a02d39b683a42fffbb27823d3860283bd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$site_colour = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;, &quot;colour&quot; )</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8749837e08dfb3372662af9c33fa2a2e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$site_line_height = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;,&quot;line_height&quot;)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a45e6fafa363bc4586fa91dce1786be4f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$site_redbasic_font_size = <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config</a>(&quot;redbasic&quot;, &quot;font_size&quot; )</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0c4684da834439885ae2285649d1aaea"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">if (<a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">local_user</a>()) if ($line_height===false) if ($line_height===false) if ($redbasic_font_size===false) if ($redbasic_font_size===false) if ($colour===false) if ($colour===false) if ($navcolour===&quot;black&quot;) if(file_exists('view/theme/'.<a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme</a>(). '/css/style.css'))</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/redstrap_2php_2style_8php.js b/doc/html/redstrap_2php_2style_8php.js
new file mode 100644
index 000000000..b8f1b41e9
--- /dev/null
+++ b/doc/html/redstrap_2php_2style_8php.js
@@ -0,0 +1,20 @@
+var redstrap_2php_2style_8php =
+[
+ [ "$colour", "redstrap_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab", null ],
+ [ "$displaystyle", "redstrap_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad", null ],
+ [ "$line_height", "redstrap_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0", null ],
+ [ "$linkcolour", "redstrap_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42", null ],
+ [ "$nav_bg_1", "redstrap_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b", null ],
+ [ "$nav_bg_2", "redstrap_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba", null ],
+ [ "$nav_bg_3", "redstrap_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c", null ],
+ [ "$nav_bg_4", "redstrap_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33", null ],
+ [ "$navcolour", "redstrap_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a", null ],
+ [ "$redbasic_font_size", "redstrap_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda", null ],
+ [ "$resolution", "redstrap_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc", null ],
+ [ "$shadows", "redstrap_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548", null ],
+ [ "$shiny", "redstrap_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70", null ],
+ [ "$site_colour", "redstrap_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd", null ],
+ [ "$site_line_height", "redstrap_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e", null ],
+ [ "$site_redbasic_font_size", "redstrap_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f", null ],
+ [ "if", "redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea", null ]
+]; \ No newline at end of file
diff --git a/doc/html/redstrap_2php_2theme_8php.html b/doc/html/redstrap_2php_2theme_8php.html
new file mode 100644
index 000000000..7b6f14cd5
--- /dev/null
+++ b/doc/html/redstrap_2php_2theme_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: view/theme/redstrap/php/theme.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="rhash-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('redstrap_2php_2theme_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">theme.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:a4dac61d466b4261deca2846f548e484a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redstrap_2php_2theme_8php.html#a4dac61d466b4261deca2846f548e484a">redstrap_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a4dac61d466b4261deca2846f548e484a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a4dac61d466b4261deca2846f548e484a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">redstrap_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/redstrap_2php_2theme_8php.js b/doc/html/redstrap_2php_2theme_8php.js
new file mode 100644
index 000000000..7a42ce992
--- /dev/null
+++ b/doc/html/redstrap_2php_2theme_8php.js
@@ -0,0 +1,4 @@
+var redstrap_2php_2theme_8php =
+[
+ [ "redstrap_init", "redstrap_2php_2theme_8php.html#a4dac61d466b4261deca2846f548e484a", null ]
+]; \ No newline at end of file
diff --git a/doc/html/register_8php.html b/doc/html/register_8php.html
new file mode 100644
index 000000000..792200577
--- /dev/null
+++ b/doc/html/register_8php.html
@@ -0,0 +1,173 @@
+<!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/register.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="rhash-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('register_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">register.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:ae20c0cd40f738d6295de58b9202c83d5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ae20c0cd40f738d6295de58b9202c83d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51731dcc1917c58a790eb1c0f6132271"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a51731dcc1917c58a790eb1c0f6132271"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e91f57f111407ea8d3223a05022bb2a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a0e91f57f111407ea8d3223a05022bb2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a0e91f57f111407ea8d3223a05022bb2a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">register_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="ae20c0cd40f738d6295de58b9202c83d5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">register_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="a51731dcc1917c58a790eb1c0f6132271"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">register_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/register_8php.js b/doc/html/register_8php.js
new file mode 100644
index 000000000..7028ce8cc
--- /dev/null
+++ b/doc/html/register_8php.js
@@ -0,0 +1,6 @@
+var register_8php =
+[
+ [ "register_content", "register_8php.html#a0e91f57f111407ea8d3223a05022bb2a", null ],
+ [ "register_init", "register_8php.html#ae20c0cd40f738d6295de58b9202c83d5", null ],
+ [ "register_post", "register_8php.html#a51731dcc1917c58a790eb1c0f6132271", null ]
+]; \ No newline at end of file
diff --git a/doc/html/regmod_8php.html b/doc/html/regmod_8php.html
new file mode 100644
index 000000000..b001c82e8
--- /dev/null
+++ b/doc/html/regmod_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/regmod.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="rhash-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('regmod_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">regmod.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:a7953df4e32e63946565e90cdd5d50409"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a7953df4e32e63946565e90cdd5d50409"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a7953df4e32e63946565e90cdd5d50409"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">regmod_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/regmod_8php.js b/doc/html/regmod_8php.js
new file mode 100644
index 000000000..d19c87424
--- /dev/null
+++ b/doc/html/regmod_8php.js
@@ -0,0 +1,4 @@
+var regmod_8php =
+[
+ [ "regmod_content", "regmod_8php.html#a7953df4e32e63946565e90cdd5d50409", null ]
+]; \ No newline at end of file
diff --git a/doc/html/removeme_8php.html b/doc/html/removeme_8php.html
new file mode 100644
index 000000000..9223fcebb
--- /dev/null
+++ b/doc/html/removeme_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/removeme.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="rhash-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('removeme_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">removeme.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:a7be08738beca44bb98a79e01cdb2ee88"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a7be08738beca44bb98a79e01cdb2ee88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a065a589caa2aa84c60f7073a28f0ad9c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a065a589caa2aa84c60f7073a28f0ad9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a065a589caa2aa84c60f7073a28f0ad9c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">removeme_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="a7be08738beca44bb98a79e01cdb2ee88"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">removeme_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/removeme_8php.js b/doc/html/removeme_8php.js
new file mode 100644
index 000000000..ee5cd84d0
--- /dev/null
+++ b/doc/html/removeme_8php.js
@@ -0,0 +1,5 @@
+var removeme_8php =
+[
+ [ "removeme_content", "removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c", null ],
+ [ "removeme_post", "removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88", null ]
+]; \ No newline at end of file
diff --git a/doc/html/resize.js b/doc/html/resize.js
new file mode 100644
index 000000000..8365b253c
--- /dev/null
+++ b/doc/html/resize.js
@@ -0,0 +1,93 @@
+var cookie_namespace = 'doxygen';
+var sidenav,navtree,content,header;
+
+function readCookie(cookie)
+{
+ var myCookie = cookie_namespace+"_"+cookie+"=";
+ if (document.cookie)
+ {
+ var index = document.cookie.indexOf(myCookie);
+ if (index != -1)
+ {
+ var valStart = index + myCookie.length;
+ var valEnd = document.cookie.indexOf(";", valStart);
+ if (valEnd == -1)
+ {
+ valEnd = document.cookie.length;
+ }
+ var val = document.cookie.substring(valStart, valEnd);
+ return val;
+ }
+ }
+ return 0;
+}
+
+function writeCookie(cookie, val, expiration)
+{
+ if (val==undefined) return;
+ if (expiration == null)
+ {
+ var date = new Date();
+ date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
+ expiration = date.toGMTString();
+ }
+ document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/";
+}
+
+function resizeWidth()
+{
+ var windowWidth = $(window).width() + "px";
+ var sidenavWidth = $(sidenav).outerWidth();
+ content.css({marginLeft:parseInt(sidenavWidth)+6+"px"}); //account for 6px-wide handle-bar
+ writeCookie('width',sidenavWidth, null);
+}
+
+function restoreWidth(navWidth)
+{
+ var windowWidth = $(window).width() + "px";
+ content.css({marginLeft:parseInt(navWidth)+6+"px"});
+ sidenav.css({width:navWidth + "px"});
+}
+
+function resizeHeight()
+{
+ var headerHeight = header.outerHeight();
+ var footerHeight = footer.outerHeight();
+ var windowHeight = $(window).height() - headerHeight - footerHeight;
+ content.css({height:windowHeight + "px"});
+ navtree.css({height:windowHeight + "px"});
+ sidenav.css({height:windowHeight + "px",top: headerHeight+"px"});
+}
+
+function initResizable()
+{
+ header = $("#top");
+ sidenav = $("#side-nav");
+ content = $("#doc-content");
+ navtree = $("#nav-tree");
+ footer = $("#nav-path");
+ $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
+ $(window).resize(function() { resizeHeight(); });
+ var width = readCookie('width');
+ if (width) { restoreWidth(width); } else { resizeWidth(); }
+ resizeHeight();
+ var url = location.href;
+ var i=url.indexOf("#");
+ if (i>=0) window.location.hash=url.substr(i);
+ var _preventDefault = function(evt) { evt.preventDefault(); };
+ $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
+ $(document).bind('touchmove',function(e){
+ try {
+ var target = e.target;
+ while (target) {
+ if ($(target).css('-webkit-overflow-scrolling')=='touch') return;
+ target = target.parentNode;
+ }
+ e.preventDefault();
+ } catch(err) {
+ e.preventDefault();
+ }
+ });
+}
+
+
diff --git a/doc/html/rhash-64.png b/doc/html/rhash-64.png
new file mode 100644
index 000000000..2e8396760
--- /dev/null
+++ b/doc/html/rhash-64.png
Binary files differ
diff --git a/doc/html/rmagic_8php.html b/doc/html/rmagic_8php.html
new file mode 100644
index 000000000..55723768d
--- /dev/null
+++ b/doc/html/rmagic_8php.html
@@ -0,0 +1,173 @@
+<!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/rmagic.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="rhash-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('rmagic_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">rmagic.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:a95455edd43f1bff39446a57388cdde16"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a95455edd43f1bff39446a57388cdde16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a869de069d081b3c4e98b957d06bbf08f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a869de069d081b3c4e98b957d06bbf08f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e28db1e5cfa7e5c2617f90222c1caef"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a3e28db1e5cfa7e5c2617f90222c1caef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a3e28db1e5cfa7e5c2617f90222c1caef"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">rmagic_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="a95455edd43f1bff39446a57388cdde16"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">rmagic_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="a869de069d081b3c4e98b957d06bbf08f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">rmagic_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/rmagic_8php.js b/doc/html/rmagic_8php.js
new file mode 100644
index 000000000..ca44412be
--- /dev/null
+++ b/doc/html/rmagic_8php.js
@@ -0,0 +1,6 @@
+var rmagic_8php =
+[
+ [ "rmagic_content", "rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef", null ],
+ [ "rmagic_init", "rmagic_8php.html#a95455edd43f1bff39446a57388cdde16", null ],
+ [ "rmagic_post", "rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f", null ]
+]; \ No newline at end of file
diff --git a/doc/html/rsd__xml_8php.html b/doc/html/rsd__xml_8php.html
new file mode 100644
index 000000000..5012184b6
--- /dev/null
+++ b/doc/html/rsd__xml_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/rsd_xml.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="rhash-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('rsd__xml_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">rsd_xml.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:a740cd02fa15e5a53f8547fac73f0ab82"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82">rsd_xml_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a740cd02fa15e5a53f8547fac73f0ab82"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a740cd02fa15e5a53f8547fac73f0ab82"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">rsd_xml_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/rsd__xml_8php.js b/doc/html/rsd__xml_8php.js
new file mode 100644
index 000000000..36c85f86a
--- /dev/null
+++ b/doc/html/rsd__xml_8php.js
@@ -0,0 +1,4 @@
+var rsd__xml_8php =
+[
+ [ "rsd_xml_content", "rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82", null ]
+]; \ No newline at end of file
diff --git a/doc/html/search/all_24.html b/doc/html/search/all_24.html
new file mode 100644
index 000000000..46ab96a5b
--- /dev/null
+++ b/doc/html/search/all_24.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_24.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_24.js b/doc/html/search/all_24.js
new file mode 100644
index 000000000..9a60a349f
--- /dev/null
+++ b/doc/html/search/all_24.js
@@ -0,0 +1,144 @@
+var searchData=
+[
+ ['_24a',['$a',['../typo_8php.html#acebf83966ef6d7e5645a6b62ba368f9f',1,'typo.php']]],
+ ['_24account',['$account',['../classApp.html#a14bd4b1c29f3aff371fe5d4cb11aeea3',1,'App']]],
+ ['_24api',['$API',['../include_2api_8php.html#aeb2e7ad00ea666b4b6dfcf82008194f8',1,'api.php']]],
+ ['_24app',['$app',['../classBaseObject.html#a02cc4cd8fa26b6fc76d92fde54b4e4b1',1,'BaseObject']]],
+ ['_24apps',['$apps',['../classApp.html#a230e975296cf164da2fee35ef720964f',1,'App']]],
+ ['_24argc',['$argc',['../classApp.html#af58db526040829b1c8bd95561b329262',1,'App']]],
+ ['_24argv',['$argv',['../classApp.html#ab3da757abe5cb45bf88f07cc51a73b58',1,'App']]],
+ ['_24arr',['$arr',['../extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb',1,'extract.php']]],
+ ['_24baseurl',['$baseurl',['../classApp.html#ad5175536561021548ae8188e24c7b80c',1,'App']]],
+ ['_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()']]],
+ ['_24children',['$children',['../classItem.html#a80dcd0fb7673776c0967839d429c2a0f',1,'Item']]],
+ ['_24cid',['$cid',['../classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0',1,'App']]],
+ ['_24cmd',['$cmd',['../classApp.html#a495ec082c2719314e536070ca1ce073d',1,'App']]],
+ ['_24colour',['$colour',['../redbasic_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab',1,'$colour():&#160;style.php'],['../redstrap_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab',1,'$colour():&#160;style.php']]],
+ ['_24comment_5fbox_5ftemplate',['$comment_box_template',['../classItem.html#a90743c8348b13213275c223bb9333aa0',1,'Item']]],
+ ['_24commentable',['$commentable',['../classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6',1,'Conversation']]],
+ ['_24config',['$config',['../classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88',1,'App']]],
+ ['_24connected',['$connected',['../classdba__driver.html#a205f6535e399700b6fca2492f96f2229',1,'dba_driver']]],
+ ['_24contact',['$contact',['../classApp.html#a98ef4cfd36693a3457c879b76bc6d694',1,'App']]],
+ ['_24contacts',['$contacts',['../classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2',1,'App']]],
+ ['_24content',['$content',['../classApp.html#ac1d80a14492acc932715d54567d8a589',1,'App']]],
+ ['_24conversation',['$conversation',['../classItem.html#a007424e3e3171dcfb4312a02161da6cd',1,'Item']]],
+ ['_24css_5fsources',['$css_sources',['../classApp.html#a6f55d087e1ff4710132c1b0863faa2ee',1,'App']]],
+ ['_24curl_5fcode',['$curl_code',['../classApp.html#a256360c9184fed6d7556e0bc0a835d7f',1,'App']]],
+ ['_24curl_5fheaders',['$curl_headers',['../classApp.html#af5007c42a693afd9c4899c243b2e1363',1,'App']]],
+ ['_24d',['$d',['../classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38',1,'Template']]],
+ ['_24data',['$data',['../classApp.html#a0ce85be198e46570366cb3344f3c55b8',1,'App\$data()'],['../classItem.html#aec24e233f9098f902b1e57e60dcb2019',1,'Item\$data()']]],
+ ['_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']]],
+ ['_24dirs',['$dirs',['../typo_8php.html#a1b709c1d79631ebc8320b41bda028b54',1,'typo.php']]],
+ ['_24dirstack',['$dirstack',['../docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6',1,'docblox_errorchecker.php']]],
+ ['_24displaystyle',['$displaystyle',['../redbasic_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad',1,'$displaystyle():&#160;style.php'],['../redstrap_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad',1,'$displaystyle():&#160;style.php']]],
+ ['_24done',['$done',['../classTemplate.html#abda4c8d049f70553338eae7c905e9d5c',1,'Template']]],
+ ['_24error',['$error',['../classApp.html#ac1a8b2cd40609b231a560201a08852ba',1,'App\$error()'],['../classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c',1,'dba_driver\$error()']]],
+ ['_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']]],
+ ['_24force_5fmax_5fitems',['$force_max_items',['../classApp.html#ae3f47830543d0d902f66913def8db66b',1,'App']]],
+ ['_24gc_5fprobability',['$gc_probability',['../session_8php.html#a96b09cc763572f45280786a7b33feb7e',1,'session.php']]],
+ ['_24groups',['$groups',['../classApp.html#ac6e6b1c7d6df408580ff79977fcfa656',1,'App']]],
+ ['_24height',['$height',['../classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80',1,'photo_driver']]],
+ ['_24hooks',['$hooks',['../classApp.html#a3694aa1907aa103a2adbc71f926f0fa0',1,'App']]],
+ ['_24hostname',['$hostname',['../classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3',1,'App']]],
+ ['_24i',['$i',['../docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f',1,'docblox_errorchecker.php']]],
+ ['_24identities',['$identities',['../classApp.html#a7954862f44f606b0ff83d4c74d15e792',1,'App']]],
+ ['_24image',['$image',['../classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55',1,'photo_driver']]],
+ ['_24infile',['$infile',['../php2po_8php.html#a61f8ddeb5557d46ebc546cc355bda214',1,'php2po.php']]],
+ ['_24ink',['$ink',['../php2po_8php.html#a6b0b8ebd9ce811d1325ef2c129443bc0',1,'php2po.php']]],
+ ['_24install_5fwizard_5fpass',['$install_wizard_pass',['../setup_8php.html#addb24714bc2542aa4f4215e98fe48432',1,'setup.php']]],
+ ['_24interactive',['$interactive',['../classApp.html#a4c7cfc62d39508086cf300dc2e39c4df',1,'App']]],
+ ['_24js_5fsources',['$js_sources',['../classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d',1,'App']]],
+ ['_24k',['$k',['../php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178',1,'php2po.php']]],
+ ['_24lang',['$lang',['../classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8',1,'Template']]],
+ ['_24language',['$language',['../classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f',1,'App']]],
+ ['_24layout',['$layout',['../classApp.html#a58ac598544892ff7c32890291b72635e',1,'App']]],
+ ['_24ldelim',['$ldelim',['../classApp.html#a59dd4b665c70e7dbd80682c014ff7145',1,'App']]],
+ ['_24line_5fheight',['$line_height',['../redbasic_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0',1,'$line_height():&#160;style.php'],['../redstrap_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0',1,'$line_height():&#160;style.php']]],
+ ['_24linkcolour',['$linkcolour',['../redbasic_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42',1,'$linkcolour():&#160;style.php'],['../redstrap_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42',1,'$linkcolour():&#160;style.php']]],
+ ['_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()']]],
+ ['_24nav_5fbg_5f1',['$nav_bg_1',['../redbasic_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b',1,'$nav_bg_1():&#160;style.php'],['../redstrap_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b',1,'$nav_bg_1():&#160;style.php']]],
+ ['_24nav_5fbg_5f2',['$nav_bg_2',['../redbasic_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba',1,'$nav_bg_2():&#160;style.php'],['../redstrap_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba',1,'$nav_bg_2():&#160;style.php']]],
+ ['_24nav_5fbg_5f3',['$nav_bg_3',['../redbasic_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c',1,'$nav_bg_3():&#160;style.php'],['../redstrap_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c',1,'$nav_bg_3():&#160;style.php']]],
+ ['_24nav_5fbg_5f4',['$nav_bg_4',['../redbasic_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33',1,'$nav_bg_4():&#160;style.php'],['../redstrap_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33',1,'$nav_bg_4():&#160;style.php']]],
+ ['_24nav_5fsel',['$nav_sel',['../classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c',1,'App']]],
+ ['_24navcolour',['$navcolour',['../redbasic_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a',1,'$navcolour():&#160;style.php'],['../redstrap_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a',1,'$navcolour():&#160;style.php']]],
+ ['_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()']]],
+ ['_24out',['$out',['../php2po_8php.html#a48cb304902320d173a4eaa41543327b9',1,'php2po.php']]],
+ ['_24owner_5fname',['$owner_name',['../classItem.html#a9594df6014b0b6f45364ea7a34510130',1,'Item']]],
+ ['_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']]],
+ ['_24pager',['$pager',['../classApp.html#a6bcb19cdc4907077da72864686d5a780',1,'App']]],
+ ['_24parent',['$parent',['../classItem.html#a1a1e42877e6ac7af50286142ceb483d2',1,'Item']]],
+ ['_24path',['$path',['../classApp.html#acad5896b7a79ae31433ad8f89606c728',1,'App']]],
+ ['_24perms',['$perms',['../classApp.html#ab47de68fa39806d1fb0976407e188b77',1,'App']]],
+ ['_24phpath',['$phpath',['../typo_8php.html#a3ecd17ac846be1b35f3662f5c12ab6bd',1,'typo.php']]],
+ ['_24phpfile',['$phpfile',['../php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4',1,'php2po.php']]],
+ ['_24plugins',['$plugins',['../classApp.html#ae9f96338f32187d308b67b980eea0008',1,'App']]],
+ ['_24pofile',['$pofile',['../php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1',1,'php2po.php']]],
+ ['_24preview',['$preview',['../classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae',1,'Conversation']]],
+ ['_24profile',['$profile',['../classApp.html#a57d041fcc003d08c127dfa99a02bc192',1,'App']]],
+ ['_24profile_5fowner',['$profile_owner',['../classConversation.html#a2f12724ef0244e9049fe1bb9641b516d',1,'Conversation']]],
+ ['_24profile_5fuid',['$profile_uid',['../classApp.html#a08c24d6a6fc52fcc784b0f765f13b820',1,'App']]],
+ ['_24query_5fstring',['$query_string',['../classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f',1,'App']]],
+ ['_24r',['$r',['../classTemplate.html#aac9a4638f11271e1b1dcc9f247242718',1,'Template']]],
+ ['_24radius',['$radius',['../redbasic_2php_2style_8php.html#a6502bedd57105ad1fb2dee2be9cf6351',1,'style.php']]],
+ ['_24rdelim',['$rdelim',['../classApp.html#a244b2d53b21be269aad2269d23192f95',1,'App']]],
+ ['_24redbasic_5ffont_5fsize',['$redbasic_font_size',['../redbasic_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda',1,'$redbasic_font_size():&#160;style.php'],['../redstrap_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda',1,'$redbasic_font_size():&#160;style.php']]],
+ ['_24redirect_5furl',['$redirect_url',['../classItem.html#a5b561415861f5b89b0733aacfe0428d1',1,'Item']]],
+ ['_24replace',['$replace',['../classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10',1,'Template']]],
+ ['_24res',['$res',['../docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5',1,'docblox_errorchecker.php']]],
+ ['_24resolution',['$resolution',['../redbasic_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc',1,'$resolution():&#160;style.php'],['../redstrap_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc',1,'$resolution():&#160;style.php']]],
+ ['_24s',['$s',['../extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634',1,'extract.php']]],
+ ['_24scheme',['$scheme',['../classApp.html#ad082d63acc078e5bf23825a03bdd6a76',1,'App']]],
+ ['_24search',['$search',['../classTemplate.html#a317d535946dc065c35dd5cd38380e6c6',1,'Template']]],
+ ['_24session_5fexists',['$session_exists',['../session_8php.html#a62e4a6cb26b4bb1b8ddd8277b26090eb',1,'session.php']]],
+ ['_24session_5fexpire',['$session_expire',['../session_8php.html#af0100a2642a5268594bbd5742a03d885',1,'session.php']]],
+ ['_24shadows',['$shadows',['../redbasic_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548',1,'$shadows():&#160;style.php'],['../redstrap_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548',1,'$shadows():&#160;style.php']]],
+ ['_24shiny',['$shiny',['../redbasic_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70',1,'$shiny():&#160;style.php'],['../redstrap_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70',1,'$shiny():&#160;style.php']]],
+ ['_24site_5fcolour',['$site_colour',['../redbasic_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd',1,'$site_colour():&#160;style.php'],['../redstrap_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd',1,'$site_colour():&#160;style.php']]],
+ ['_24site_5fline_5fheight',['$site_line_height',['../redbasic_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e',1,'$site_line_height():&#160;style.php'],['../redstrap_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e',1,'$site_line_height():&#160;style.php']]],
+ ['_24site_5fredbasic_5ffont_5fsize',['$site_redbasic_font_size',['../redbasic_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f',1,'$site_redbasic_font_size():&#160;style.php'],['../redstrap_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f',1,'$site_redbasic_font_size():&#160;style.php']]],
+ ['_24sourcename',['$sourcename',['../classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11',1,'App']]],
+ ['_24stack',['$stack',['../classTemplate.html#a6f0efc256688c36110180b501067ff11',1,'Template']]],
+ ['_24str',['$str',['../typohelper_8php.html#a7542d95618011800c61773127fa625cf',1,'typohelper.php']]],
+ ['_24strings',['$strings',['../classApp.html#a5f64620473a9727a48ebe9cf6f335a98',1,'App']]],
+ ['_24template',['$template',['../classItem.html#a7f7bc059de377319282cb4ef4a828480',1,'Item']]],
+ ['_24template_5fengine_5finstance',['$template_engine_instance',['../classApp.html#a6844aedad10e201b8c3d80cfc9e876d3',1,'App']]],
+ ['_24template_5fengines',['$template_engines',['../classApp.html#a6859a4848a5c0049b4134cc4b34228b6',1,'App']]],
+ ['_24theme',['$theme',['../classApp.html#a764cc6cd7578132c21d2b4545de9301c',1,'App']]],
+ ['_24theme_5finfo',['$theme_info',['../classApp.html#aeca29fd4f7192ca07369b3c598c36e67',1,'App']]],
+ ['_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']]],
+ ['_24toplevel',['$toplevel',['../classItem.html#a5cfa6cf964f433a917a81cab079ff9d8',1,'Item']]],
+ ['_24type',['$type',['../classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03',1,'photo_driver']]],
+ ['_24types',['$types',['../classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03',1,'photo_driver']]],
+ ['_24uid',['$uid',['../redbasic_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a',1,'style.php']]],
+ ['_24user',['$user',['../classApp.html#a91fd3c8b89016113b05f3be24805ccff',1,'App']]],
+ ['_24valid',['$valid',['../classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9',1,'photo_driver']]],
+ ['_24videoheight',['$videoheight',['../classApp.html#a56b1a432c96aef8b1971f779c9d93c8c',1,'App']]],
+ ['_24videowidth',['$videowidth',['../classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8',1,'App']]],
+ ['_24visiting',['$visiting',['../classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8',1,'Item']]],
+ ['_24wall_5fto_5fwall',['$wall_to_wall',['../classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189',1,'Item']]],
+ ['_24widgetlist',['$widgetlist',['../classApp.html#a4833bee2eae4ad1691a04fa19e11a766',1,'App']]],
+ ['_24widgets',['$widgets',['../classApp.html#aa5a87c46ab3fee21362c466bf78042ef',1,'App']]],
+ ['_24width',['$width',['../classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1',1,'photo_driver']]],
+ ['_24writable',['$writable',['../classConversation.html#ae81221251307e315f566a11f921ce0a9',1,'Conversation']]],
+ ['_24x',['$x',['../redbasic_2php_2style_8php.html#af3a16c5f0dd7a74cf9acf6a49fff73a7',1,'style.php']]],
+ ['_24zones',['$zones',['../extract_8php.html#a0cbe524ffc9a496114fd7ba9f423ef44',1,'extract.php']]]
+];
diff --git a/doc/html/search/all_5f.html b/doc/html/search/all_5f.html
new file mode 100644
index 000000000..879d79268
--- /dev/null
+++ b/doc/html/search/all_5f.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_5f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_5f.js b/doc/html/search/all_5f.js
new file mode 100644
index 000000000..3095618eb
--- /dev/null
+++ b/doc/html/search/all_5f.js
@@ -0,0 +1,18 @@
+var searchData=
+[
+ ['_5f_5fconstruct',['__construct',['../classApp.html#af6d39f63fb7116bbeb04e51696f99474',1,'App\__construct()'],['../classConversation.html#a6b064d00c56a6b7dec359d4348711c84',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()']]],
+ ['_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']]],
+ ['_5fpop_5fstack',['_pop_stack',['../classTemplate.html#a35d599c9b53a02e2fe2232e5b7ed5da7',1,'Template']]],
+ ['_5fpreg_5ferror',['_preg_error',['../classTemplate.html#a37c15f6d1ade500943629f27a62808b7',1,'Template']]],
+ ['_5fpush_5fstack',['_push_stack',['../classTemplate.html#aa6a087e0b7b887dd1c98c9e0ecbd3b29',1,'Template']]],
+ ['_5freplcb',['_replcb',['../classTemplate.html#ae791766c3d055f7f1ba5a5e60d647934',1,'Template']]],
+ ['_5freplcb_5fdebug',['_replcb_debug',['../classTemplate.html#a4b933954086d9e01a1804b0b1c6ee93e',1,'Template']]],
+ ['_5freplcb_5ffor',['_replcb_for',['../classTemplate.html#abf71098c80fd1f218a59452b3408309e',1,'Template']]],
+ ['_5freplcb_5fif',['_replcb_if',['../classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228',1,'Template']]],
+ ['_5freplcb_5finc',['_replcb_inc',['../classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677',1,'Template']]],
+ ['_5freplcb_5fnode',['_replcb_node',['../classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee',1,'Template']]],
+ ['_5fwell_5fknown_2ephp',['_well_known.php',['../__well__known_8php.html',1,'']]],
+ ['_5fwell_5fknown_5finit',['_well_known_init',['../__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0',1,'_well_known.php']]]
+];
diff --git a/doc/html/search/all_61.html b/doc/html/search/all_61.html
new file mode 100644
index 000000000..f85089b55
--- /dev/null
+++ b/doc/html/search/all_61.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_61.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_61.js b/doc/html/search/all_61.js
new file mode 100644
index 000000000..b9a5cab49
--- /dev/null
+++ b/doc/html/search/all_61.js
@@ -0,0 +1,173 @@
+var searchData=
+[
+ ['abook_5fconnections',['abook_connections',['../Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e',1,'Contact.php']]],
+ ['abook_5fflag_5farchived',['ABOOK_FLAG_ARCHIVED',['../boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5',1,'boot.php']]],
+ ['abook_5fflag_5fblocked',['ABOOK_FLAG_BLOCKED',['../boot_8php.html#a52b599cd13e152ebc80d7e4413683195',1,'boot.php']]],
+ ['abook_5fflag_5fhidden',['ABOOK_FLAG_HIDDEN',['../boot_8php.html#a34c756469ebed32e2fc987bcde62d382',1,'boot.php']]],
+ ['abook_5fflag_5fignored',['ABOOK_FLAG_IGNORED',['../boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6',1,'boot.php']]],
+ ['abook_5fflag_5fpending',['ABOOK_FLAG_PENDING',['../boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155',1,'boot.php']]],
+ ['abook_5fflag_5fself',['ABOOK_FLAG_SELF',['../boot_8php.html#a0450389f24c632906fbc24347700a543',1,'boot.php']]],
+ ['abook_5fself',['abook_self',['../Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5',1,'Contact.php']]],
+ ['abook_5ftoggle_5fflag',['abook_toggle_flag',['../Contact_8php.html#a024919623a830e8703ac4f23496dd66c',1,'Contact.php']]],
+ ['absurl',['absurl',['../boot_8php.html#a081307d681d7d04f17b9ced2076e7c85',1,'boot.php']]],
+ ['access_5ffree',['ACCESS_FREE',['../boot_8php.html#afbb1fe1b2c8c730ec8e08da93b6512c4',1,'boot.php']]],
+ ['access_5fpaid',['ACCESS_PAID',['../boot_8php.html#a9c80420e5a063a4a87ce4831f086134d',1,'boot.php']]],
+ ['access_5fprivate',['ACCESS_PRIVATE',['../boot_8php.html#a7f3474fec541e261fc8dff47313c4017',1,'boot.php']]],
+ ['access_5ftoken_5fduration',['ACCESS_TOKEN_DURATION',['../oauth_8php.html#ad343cab37aa860d2d14dc86b7f5ca0c6',1,'oauth.php']]],
+ ['account_2ephp',['account.php',['../account_8php.html',1,'']]],
+ ['account_5fblocked',['ACCOUNT_BLOCKED',['../boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9',1,'boot.php']]],
+ ['account_5fexpired',['ACCOUNT_EXPIRED',['../boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a',1,'boot.php']]],
+ ['account_5fok',['ACCOUNT_OK',['../boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8',1,'boot.php']]],
+ ['account_5fpending',['ACCOUNT_PENDING',['../boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8',1,'boot.php']]],
+ ['account_5fremove',['account_remove',['../Contact_8php.html#a3eef54a5523e568a28257c1f9b1644d8',1,'Contact.php']]],
+ ['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_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']]],
+ ['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']]],
+ ['acl_5fselectors',['acl_selectors',['../namespaceacl__selectors.html',1,'']]],
+ ['acl_5fselectors_2ephp',['acl_selectors.php',['../acl__selectors_8php.html',1,'']]],
+ ['activities_2ephp',['activities.php',['../activities_8php.html',1,'']]],
+ ['activity_5fdislike',['ACTIVITY_DISLIKE',['../boot_8php.html#a0e57f846e6d47a308feced0f7274f178',1,'boot.php']]],
+ ['activity_5ffavorite',['ACTIVITY_FAVORITE',['../boot_8php.html#a3e2ea123d29a72012db1241f96280b0e',1,'boot.php']]],
+ ['activity_5ffollow',['ACTIVITY_FOLLOW',['../boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434',1,'boot.php']]],
+ ['activity_5ffriend',['ACTIVITY_FRIEND',['../boot_8php.html#a176664e78dcb9132e16be69418223eb2',1,'boot.php']]],
+ ['activity_5fjoin',['ACTIVITY_JOIN',['../boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3',1,'boot.php']]],
+ ['activity_5flike',['ACTIVITY_LIKE',['../boot_8php.html#abdcdfc873ace4e0902177bad934de0c0',1,'boot.php']]],
+ ['activity_5fmatch',['activity_match',['../text_8php.html#af8a3e3a66a7b862d4510f145d2e13186',1,'text.php']]],
+ ['activity_5fmood',['ACTIVITY_MOOD',['../boot_8php.html#a7aa57438db03834aaa0b468bdce773a6',1,'boot.php']]],
+ ['activity_5fobj_5falbum',['ACTIVITY_OBJ_ALBUM',['../boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14',1,'boot.php']]],
+ ['activity_5fobj_5fcomment',['ACTIVITY_OBJ_COMMENT',['../boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562',1,'boot.php']]],
+ ['activity_5fobj_5fevent',['ACTIVITY_OBJ_EVENT',['../boot_8php.html#a2e90096fede6acce16abf0da8cb2febe',1,'boot.php']]],
+ ['activity_5fobj_5fgroup',['ACTIVITY_OBJ_GROUP',['../boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3',1,'boot.php']]],
+ ['activity_5fobj_5fheart',['ACTIVITY_OBJ_HEART',['../boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f',1,'boot.php']]],
+ ['activity_5fobj_5fnote',['ACTIVITY_OBJ_NOTE',['../boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f',1,'boot.php']]],
+ ['activity_5fobj_5fp_5fphoto',['ACTIVITY_OBJ_P_PHOTO',['../boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab',1,'boot.php']]],
+ ['activity_5fobj_5fperson',['ACTIVITY_OBJ_PERSON',['../boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab',1,'boot.php']]],
+ ['activity_5fobj_5fphoto',['ACTIVITY_OBJ_PHOTO',['../boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966',1,'boot.php']]],
+ ['activity_5fobj_5fprofile',['ACTIVITY_OBJ_PROFILE',['../boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5',1,'boot.php']]],
+ ['activity_5fobj_5ftagterm',['ACTIVITY_OBJ_TAGTERM',['../boot_8php.html#a1da180f961f49a11573cac4ff6c62c05',1,'boot.php']]],
+ ['activity_5fobj_5fthing',['ACTIVITY_OBJ_THING',['../boot_8php.html#a0fb63e51c2a9814941842ae8f2f4dff8',1,'boot.php']]],
+ ['activity_5fpoke',['ACTIVITY_POKE',['../boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd',1,'boot.php']]],
+ ['activity_5fpost',['ACTIVITY_POST',['../boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4',1,'boot.php']]],
+ ['activity_5freq_5ffriend',['ACTIVITY_REQ_FRIEND',['../boot_8php.html#afe084c30a1810c10442edb4fbcbc0086',1,'boot.php']]],
+ ['activity_5fsanitise',['activity_sanitise',['../items_8php.html#a36e656667193c83aa2cc03a024fc131b',1,'items.php']]],
+ ['activity_5ftag',['ACTIVITY_TAG',['../boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5',1,'boot.php']]],
+ ['activity_5funfollow',['ACTIVITY_UNFOLLOW',['../boot_8php.html#a53e4bdb6f225da55115acb9277f75e53',1,'boot.php']]],
+ ['activity_5funfriend',['ACTIVITY_UNFRIEND',['../boot_8php.html#a29528a2544373cc19a378f350040c6a1',1,'boot.php']]],
+ ['activity_5fupdate',['ACTIVITY_UPDATE',['../boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866',1,'boot.php']]],
+ ['add_5fchild',['add_child',['../classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51',1,'Item']]],
+ ['add_5fchildren_5fto_5flist',['add_children_to_list',['../conversation_8php.html#ad3e1d4b15e7d6d026ee182edd58f692b',1,'conversation.php']]],
+ ['add_5ffcontact',['add_fcontact',['../include_2network_8php.html#a0bdc4b0bfc54797c249dc4eca25aeda4',1,'network.php']]],
+ ['add_5fthread',['add_thread',['../classConversation.html#a8335cdd43f1836e3c255638e61a09e16',1,'Conversation']]],
+ ['admin_2ephp',['admin.php',['../admin_8php.html',1,'']]],
+ ['admin_5fcontent',['admin_content',['../admin_8php.html#afef415e4011607fbb665610441595015',1,'admin.php']]],
+ ['admin_5fpage_5fdbsync',['admin_page_dbsync',['../admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade',1,'admin.php']]],
+ ['admin_5fpage_5flogs',['admin_page_logs',['../admin_8php.html#a1d1362698af14d209aa3a0fb655551dd',1,'admin.php']]],
+ ['admin_5fpage_5flogs_5fpost',['admin_page_logs_post',['../admin_8php.html#a233b7c8c31776b7020532003c6e44e1c',1,'admin.php']]],
+ ['admin_5fpage_5fplugins',['admin_page_plugins',['../admin_8php.html#a54128076986ba80c4a103de3fc3e19a8',1,'admin.php']]],
+ ['admin_5fpage_5fsite',['admin_page_site',['../admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e',1,'admin.php']]],
+ ['admin_5fpage_5fsite_5fpost',['admin_page_site_post',['../admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f',1,'admin.php']]],
+ ['admin_5fpage_5fsummary',['admin_page_summary',['../admin_8php.html#ac6e95b920b5abd030cc522964987087a',1,'admin.php']]],
+ ['admin_5fpage_5fthemes',['admin_page_themes',['../admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb',1,'admin.php']]],
+ ['admin_5fpage_5fusers',['admin_page_users',['../admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2',1,'admin.php']]],
+ ['admin_5fpage_5fusers_5fpost',['admin_page_users_post',['../admin_8php.html#a5a696706a3869800e65fb365214241b7',1,'admin.php']]],
+ ['admin_5fpost',['admin_post',['../admin_8php.html#acf51f5837a7427832144c2bf7308ada3',1,'admin.php']]],
+ ['advanced_5fprofile',['advanced_profile',['../profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4',1,'profile_advanced.php']]],
+ ['aes256cbc_5fdecrypt',['AES256CBC_decrypt',['../crypto_8php.html#ac852ee41392d1358c3a54d54935e0bf9',1,'crypto.php']]],
+ ['aes256cbc_5fencrypt',['AES256CBC_encrypt',['../crypto_8php.html#a5c61821d205f95f127114159cbffa764',1,'crypto.php']]],
+ ['aes_5fencapsulate',['aes_encapsulate',['../crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286',1,'crypto.php']]],
+ ['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']]],
+ ['alt_5fpager',['alt_pager',['../text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85',1,'text.php']]],
+ ['api_2ephp',['api.php',['../mod_2api_8php.html',1,'']]],
+ ['api_2ephp',['api.php',['../include_2api_8php.html',1,'']]],
+ ['api_5faccount_5flogout',['api_account_logout',['../include_2api_8php.html#a2e94eab9d6c164bfef7a1b2ab87b339b',1,'api.php']]],
+ ['api_5faccount_5frate_5flimit_5fstatus',['api_account_rate_limit_status',['../include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5',1,'api.php']]],
+ ['api_5faccount_5fverify_5fcredentials',['api_account_verify_credentials',['../include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad',1,'api.php']]],
+ ['api_5falbums',['api_albums',['../include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18',1,'api.php']]],
+ ['api_5fapply_5ftemplate',['api_apply_template',['../include_2api_8php.html#a5990101034e7abf6404feba3cd273629',1,'api.php']]],
+ ['api_5fcall',['api_call',['../include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5',1,'api.php']]],
+ ['api_5fchannel_5fstream',['api_channel_stream',['../include_2api_8php.html#a72bfecac1970bc29b853073e816388ff',1,'api.php']]],
+ ['api_5fcontent',['api_content',['../mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d',1,'api.php']]],
+ ['api_5fdate',['api_date',['../include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5fall',['api_direct_messages_all',['../include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5fbox',['api_direct_messages_box',['../include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5fconversation',['api_direct_messages_conversation',['../include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5finbox',['api_direct_messages_inbox',['../include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5fnew',['api_direct_messages_new',['../include_2api_8php.html#a0991f72554f821255397d615e76f3203',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5fsentbox',['api_direct_messages_sentbox',['../include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d',1,'api.php']]],
+ ['api_5fexport_5fbasic',['api_export_basic',['../include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53',1,'api.php']]],
+ ['api_5ffavorites',['api_favorites',['../include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f',1,'api.php']]],
+ ['api_5fff_5fids',['api_ff_ids',['../include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8',1,'api.php']]],
+ ['api_5ffollowers_5fids',['api_followers_ids',['../include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b',1,'api.php']]],
+ ['api_5fformat_5fas',['api_format_as',['../include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879',1,'api.php']]],
+ ['api_5fformat_5fitems',['api_format_items',['../include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea',1,'api.php']]],
+ ['api_5fformat_5fmessages',['api_format_messages',['../include_2api_8php.html#ae82608c317421f27446465aa6724733d',1,'api.php']]],
+ ['api_5ffriendica_5fversion',['api_friendica_version',['../include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74',1,'api.php']]],
+ ['api_5ffriends_5fids',['api_friends_ids',['../include_2api_8php.html#acafd2899309a005fcb725289173dc7fe',1,'api.php']]],
+ ['api_5fget_5fuser',['api_get_user',['../include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa',1,'api.php']]],
+ ['api_5fhelp_5ftest',['api_help_test',['../include_2api_8php.html#ac5a64cc81d70ff3cf866093ea9721d23',1,'api.php']]],
+ ['api_5fitem_5fget_5fuser',['api_item_get_user',['../include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1',1,'api.php']]],
+ ['api_5flogin',['api_login',['../include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73',1,'api.php']]],
+ ['api_5foauth_5faccess_5ftoken',['api_oauth_access_token',['../include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0',1,'api.php']]],
+ ['api_5foauth_5frequest_5ftoken',['api_oauth_request_token',['../include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3',1,'api.php']]],
+ ['api_5fphotos',['api_photos',['../include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f',1,'api.php']]],
+ ['api_5fpost',['api_post',['../mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2',1,'api.php']]],
+ ['api_5fregister_5ffunc',['api_register_func',['../include_2api_8php.html#ac2c2b18c426d697d11a830bca146be8a',1,'api.php']]],
+ ['api_5frss_5fextra',['api_rss_extra',['../include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f',1,'api.php']]],
+ ['api_5fstatus_5fshow',['api_status_show',['../include_2api_8php.html#a645397787618b5c548a31e8686e8cca4',1,'api.php']]],
+ ['api_5fstatuses_5fdestroy',['api_statuses_destroy',['../include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4',1,'api.php']]],
+ ['api_5fstatuses_5ff',['api_statuses_f',['../include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410',1,'api.php']]],
+ ['api_5fstatuses_5ffollowers',['api_statuses_followers',['../include_2api_8php.html#a6951c690d87775eb37e569c66011988e',1,'api.php']]],
+ ['api_5fstatuses_5ffriends',['api_statuses_friends',['../include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e',1,'api.php']]],
+ ['api_5fstatuses_5fhome_5ftimeline',['api_statuses_home_timeline',['../include_2api_8php.html#a528d8070ee74ea800102936ce73cf366',1,'api.php']]],
+ ['api_5fstatuses_5fmediap',['api_statuses_mediap',['../include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95',1,'api.php']]],
+ ['api_5fstatuses_5fmentions',['api_statuses_mentions',['../include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e',1,'api.php']]],
+ ['api_5fstatuses_5fpublic_5ftimeline',['api_statuses_public_timeline',['../include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22',1,'api.php']]],
+ ['api_5fstatuses_5frepeat',['api_statuses_repeat',['../include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8',1,'api.php']]],
+ ['api_5fstatuses_5fshow',['api_statuses_show',['../include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63',1,'api.php']]],
+ ['api_5fstatuses_5fupdate',['api_statuses_update',['../include_2api_8php.html#ad4d1634df6b35126552324683caaffa2',1,'api.php']]],
+ ['api_5fstatuses_5fuser_5ftimeline',['api_statuses_user_timeline',['../include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283',1,'api.php']]],
+ ['api_5fstatusnet_5fconfig',['api_statusnet_config',['../include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08',1,'api.php']]],
+ ['api_5fstatusnet_5fversion',['api_statusnet_version',['../include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d',1,'api.php']]],
+ ['api_5fuser',['api_user',['../include_2api_8php.html#afb99daa6b731bf497b81f2128084852c',1,'api.php']]],
+ ['api_5fusers_5fshow',['api_users_show',['../include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76',1,'api.php']]],
+ ['app',['App',['../classApp.html',1,'']]],
+ ['appdirpath',['appdirpath',['../boot_8php.html#a75a90b0eadd0df510f7e63210733634d',1,'boot.php']]],
+ ['apps_2ephp',['apps.php',['../apps_8php.html',1,'']]],
+ ['apps_5fcontent',['apps_content',['../apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c',1,'apps.php']]],
+ ['argc',['argc',['../boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7',1,'boot.php']]],
+ ['argv',['argv',['../boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006',1,'boot.php']]],
+ ['arr_5fadd_5fhashes',['arr_add_hashes',['../parse__url_8php.html#aa7dd8f961bea042d62726ed909e4a868',1,'parse_url.php']]],
+ ['array_5fsanitise',['array_sanitise',['../items_8php.html#abf7a1b73eb352d79acd36309b0dababd',1,'items.php']]],
+ ['array_5fxmlify',['array_xmlify',['../text_8php.html#acedb584f65114a33f389efb796172a91',1,'text.php']]],
+ ['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',['../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_5fcount_5ffiles',['attach_count_files',['../include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3',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']]],
+ ['attach_5flist_5ffiles',['attach_list_files',['../include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d',1,'attach.php']]],
+ ['attach_5fstore',['attach_store',['../include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f',1,'attach.php']]],
+ ['attribute_5fcontains',['attribute_contains',['../text_8php.html#a95fd2f8f23a1948414a03ebc963bac57',1,'text.php']]],
+ ['auth_2ephp',['auth.php',['../auth_8php.html',1,'']]],
+ ['authenticate_5fsuccess',['authenticate_success',['../security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733',1,'security.php']]],
+ ['autoname',['autoname',['../text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca',1,'text.php']]],
+ ['avatar_5fimg',['avatar_img',['../include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7',1,'network.php']]]
+];
diff --git a/doc/html/search/all_62.html b/doc/html/search/all_62.html
new file mode 100644
index 000000000..f25fa2c88
--- /dev/null
+++ b/doc/html/search/all_62.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_62.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_62.js b/doc/html/search/all_62.js
new file mode 100644
index 000000000..acdb7f4e1
--- /dev/null
+++ b/doc/html/search/all_62.js
@@ -0,0 +1,27 @@
+var searchData=
+[
+ ['base64url_5fdecode',['base64url_decode',['../text_8php.html#a13286f8a95d2de6b102966ecc270c8d6',1,'text.php']]],
+ ['base64url_5fencode',['base64url_encode',['../text_8php.html#a070384ec000fd65043fce11d5392d241',1,'text.php']]],
+ ['baseobject',['BaseObject',['../classBaseObject.html',1,'']]],
+ ['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_5fshareattributes',['bb_ShareAttributes',['../bbcode_8php.html#a52c45273fbb7ce5ec27094f7936856e1',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']]],
+ ['bb_5ftag_5fpreg_5freplace',['bb_tag_preg_replace',['../bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba',1,'bb2diaspora.php']]],
+ ['bb_5ftranslate_5fvideo',['bb_translate_video',['../text_8php.html#a3d2793d66db3345fd290b71e2eadf98e',1,'text.php']]],
+ ['bb_5funspacefy_5fand_5ftrim',['bb_unspacefy_and_trim',['../bbcode_8php.html#a064dcfd9767df6f53be1a0e11ceeb15d',1,'bbcode.php']]],
+ ['bbcode',['bbcode',['../bbcode_8php.html#a009f61aaf78771737ed0765c8463911b',1,'bbcode.php']]],
+ ['bbcode_2ephp',['bbcode.php',['../bbcode_8php.html',1,'']]],
+ ['bbtoevent',['bbtoevent',['../event_8php.html#a180cccd63c2a2f00ff432b03113531f3',1,'event.php']]],
+ ['bbtovcal',['bbtovcal',['../event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279',1,'event.php']]],
+ ['best_5flink_5furl',['best_link_url',['../conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7',1,'conversation.php']]],
+ ['blocks_2ephp',['blocks.php',['../blocks_8php.html',1,'']]],
+ ['blocks_5fcontent',['blocks_content',['../blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12',1,'blocks.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']]],
+ ['build_5fquerystring',['build_querystring',['../boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e',1,'boot.php']]],
+ ['build_5fsync_5fpacket',['build_sync_packet',['../zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7',1,'zot.php']]]
+];
diff --git a/doc/html/search/all_63.html b/doc/html/search/all_63.html
new file mode 100644
index 000000000..e7f34db58
--- /dev/null
+++ b/doc/html/search/all_63.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_63.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_63.js b/doc/html/search/all_63.js
new file mode 100644
index 000000000..dfa406698
--- /dev/null
+++ b/doc/html/search/all_63.js
@@ -0,0 +1,140 @@
+var searchData=
+[
+ ['cache',['Cache',['../classCache.html',1,'']]],
+ ['cache_2ephp',['cache.php',['../cache_8php.html',1,'']]],
+ ['cal',['cal',['../datetime_8php.html#aea356409ba69f9de412298c998595dd2',1,'datetime.php']]],
+ ['call_5fhooks',['call_hooks',['../plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c',1,'plugin.php']]],
+ ['can_5fcomment_5fon_5fpost',['can_comment_on_post',['../items_8php.html#a1e75047cf175aaee8dd16aa761913ff9',1,'items.php']]],
+ ['categories_5fwidget',['categories_widget',['../contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353',1,'contact_widgets.php']]],
+ ['change_5fchannel',['change_channel',['../security_8php.html#a8d23d2597aae380a3341872fe9513380',1,'security.php']]],
+ ['change_5fpermissions',['change_permissions',['../classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67',1,'ProtoDriver\change_permissions()'],['../classZotDriver.html#a6776935156accb0f170e2e24577133db',1,'ZotDriver\change_permissions()']]],
+ ['chanlink_5fcid',['chanlink_cid',['../text_8php.html#a85e3a4851c16674834010d8419a5d7ca',1,'text.php']]],
+ ['chanlink_5fhash',['chanlink_hash',['../text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0',1,'text.php']]],
+ ['chanlink_5furl',['chanlink_url',['../text_8php.html#a2e8d6c402603be3a1256a16605e09c2a',1,'text.php']]],
+ ['chanman_2ephp',['chanman.php',['../chanman_8php.html',1,'']]],
+ ['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#ad46ff6764f12b6d3ab45c49b797f98aa',1,'Contact.php']]],
+ ['channel_5ftotal',['channel_total',['../identity_8php.html#a77d2237f1846964634b1c99089c27c7d',1,'identity.php']]],
+ ['channelx_5fby_5fhash',['channelx_by_hash',['../Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258',1,'Contact.php']]],
+ ['channelx_5fby_5fn',['channelx_by_n',['../Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc',1,'Contact.php']]],
+ ['channelx_5fby_5fnick',['channelx_by_nick',['../Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e',1,'Contact.php']]],
+ ['chanview_2ephp',['chanview.php',['../chanview_8php.html',1,'']]],
+ ['chanview_5fcontent',['chanview_content',['../chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b',1,'chanview.php']]],
+ ['check_5faccount_5fadmin',['check_account_admin',['../account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f',1,'account.php']]],
+ ['check_5faccount_5femail',['check_account_email',['../account_8php.html#ae052bd5558847bd38e89c213561a9771',1,'account.php']]],
+ ['check_5faccount_5finvite',['check_account_invite',['../account_8php.html#aaff7720423417a4333697894ffd9ddeb',1,'account.php']]],
+ ['check_5faccount_5fpassword',['check_account_password',['../account_8php.html#a144b4891022567668375b58ea61cfff0',1,'account.php']]],
+ ['check_5fadd',['check_add',['../setup_8php.html#ae8e4d9279a61de74d5f39962cb7b6ca1',1,'setup.php']]],
+ ['check_5fconfig',['check_config',['../boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3',1,'boot.php']]],
+ ['check_5fform_5fsecurity_5fstd_5ferr_5fmsg',['check_form_security_std_err_msg',['../security_8php.html#a20f8b9851f23ee8894b8925584ef6821',1,'security.php']]],
+ ['check_5fform_5fsecurity_5ftoken',['check_form_security_token',['../security_8php.html#a9c6180e82150a5a9af91a1255d096b5c',1,'security.php']]],
+ ['check_5fform_5fsecurity_5ftoken_5fforbiddenonerr',['check_form_security_token_ForbiddenOnErr',['../security_8php.html#a444ac867dfa8c37cf0a7a226412bee28',1,'security.php']]],
+ ['check_5fform_5fsecurity_5ftoken_5fredirectonerr',['check_form_security_token_redirectOnErr',['../security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433',1,'security.php']]],
+ ['check_5ffuncs',['check_funcs',['../setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e',1,'setup.php']]],
+ ['check_5fhtaccess',['check_htaccess',['../setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4',1,'setup.php']]],
+ ['check_5fhtconfig',['check_htconfig',['../setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f',1,'setup.php']]],
+ ['check_5fkeys',['check_keys',['../setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76',1,'setup.php']]],
+ ['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_5fwall_5fto_5fwall',['check_wall_to_wall',['../classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8',1,'Item']]],
+ ['check_5fwebbie',['check_webbie',['../text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3',1,'text.php']]],
+ ['clean_5furls',['clean_urls',['../boot_8php.html#ab79b8b4555cae20d03f8200666d89d63',1,'boot.php']]],
+ ['clear',['clear',['../classCache.html#ab14d0f4bdf7116a94d545c574b38f568',1,'Cache']]],
+ ['cleardiv',['cleardiv',['../text_8php.html#afe18627c4983ee5f7c940a0992818cd5',1,'text.php']]],
+ ['cli_5fstartup',['cli_startup',['../cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b',1,'cli_startup.php']]],
+ ['cli_5fstartup_2ephp',['cli_startup.php',['../cli__startup_8php.html',1,'']]],
+ ['cli_5fsuggest_2ephp',['cli_suggest.php',['../cli__suggest_8php.html',1,'']]],
+ ['cli_5fsuggest_5frun',['cli_suggest_run',['../cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2',1,'cli_suggest.php']]],
+ ['client_5fmode_5fload',['CLIENT_MODE_LOAD',['../boot_8php.html#af6f6f6f40139f12fc09ec47373b30919',1,'boot.php']]],
+ ['client_5fmode_5fnormal',['CLIENT_MODE_NORMAL',['../boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731',1,'boot.php']]],
+ ['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()']]],
+ ['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']]],
+ ['collecturls',['collecturls',['../html2plain_8php.html#ae1c203d0f089d5678d73a6c64a395201',1,'html2plain.php']]],
+ ['comanche_2ephp',['comanche.php',['../comanche_8php.html',1,'']]],
+ ['comanche_5fblock',['comanche_block',['../comanche_8php.html#a5a7ab801717d38e91ac910b933973887',1,'comanche.php']]],
+ ['comanche_5fmenu',['comanche_menu',['../comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b',1,'comanche.php']]],
+ ['comanche_5fparser',['comanche_parser',['../comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922',1,'comanche.php']]],
+ ['comanche_5fregion',['comanche_region',['../comanche_8php.html#a5718daeda40bf835345fe061e8808cdf',1,'comanche.php']]],
+ ['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#a45900dd1d6101b53e3d063db40eafa5e',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']]],
+ ['common_5ffriends_5fzcid',['common_friends_zcid',['../socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9',1,'socgraph.php']]],
+ ['common_5finit',['common_init',['../common_8php.html#aca62f113655809f41f49042ce9b123c2',1,'common.php']]],
+ ['community_2ephp',['community.php',['../community_8php.html',1,'']]],
+ ['community_5fcontent',['community_content',['../community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a',1,'community.php']]],
+ ['community_5finit',['community_init',['../community_8php.html#a56c94ec978a38633c5628fa6f8e386d9',1,'community.php']]],
+ ['compare_5fpermissions',['compare_permissions',['../items_8php.html#a0790a4550b829e85504af548623002ca',1,'items.php']]],
+ ['completeurl',['completeurl',['../parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a',1,'parse_url.php']]],
+ ['config_2emd',['config.md',['../config_8md.html',1,'']]],
+ ['config_2ephp',['config.php',['../view_2theme_2redbasic_2php_2config_8php.html',1,'']]],
+ ['config_2ephp',['config.php',['../view_2theme_2redstrap_2php_2config_8php.html',1,'']]],
+ ['config_2ephp',['config.php',['../include_2config_8php.html',1,'']]],
+ ['connect',['connect',['../classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc',1,'dba_driver\connect()'],['../classdba__mysql.html#a1887338627ce0e28786839363014bd0b',1,'dba_mysql\connect()'],['../classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1',1,'dba_mysqli\connect()']]],
+ ['connect_2ephp',['connect.php',['../connect_8php.html',1,'']]],
+ ['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_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']]],
+ ['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']]],
+ ['construct_5fverb',['construct_verb',['../items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8',1,'items.php']]],
+ ['consume_5ffeed',['consume_feed',['../items_8php.html#a8794863cdf8ce1333040933d3a3f66bd',1,'items.php']]],
+ ['contact_2ephp',['Contact.php',['../Contact_8php.html',1,'']]],
+ ['contact_5fblock',['contact_block',['../text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784',1,'text.php']]],
+ ['contact_5fis_5ffollower',['CONTACT_IS_FOLLOWER',['../boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29',1,'boot.php']]],
+ ['contact_5fis_5ffriend',['CONTACT_IS_FRIEND',['../boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f',1,'boot.php']]],
+ ['contact_5fis_5fsharing',['CONTACT_IS_SHARING',['../boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9',1,'boot.php']]],
+ ['contact_5fpoll_5finterval',['contact_poll_interval',['../contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f',1,'contact_selectors.php']]],
+ ['contact_5fprofile_5fassign',['contact_profile_assign',['../contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75',1,'contact_selectors.php']]],
+ ['contact_5fremove',['contact_remove',['../Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6',1,'Contact.php']]],
+ ['contact_5freputation',['contact_reputation',['../contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53',1,'contact_selectors.php']]],
+ ['contact_5fselect',['contact_select',['../acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91',1,'acl_selectors.php']]],
+ ['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,'']]],
+ ['contactgroup_5fcontent',['contactgroup_content',['../contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3',1,'contactgroup.php']]],
+ ['contacts_5fnot_5fgrouped',['contacts_not_grouped',['../Contact_8php.html#a228fc01f90ae9bfdde4c2ad0772bd7dc',1,'Contact.php']]],
+ ['conv_5fsort',['conv_sort',['../conversation_8php.html#abed85a41f1160598de880b84021c9cf7',1,'conversation.php']]],
+ ['conversation',['Conversation',['../classConversation.html',1,'Conversation'],['../conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1',1,'conversation(&amp;$a, $items, $mode, $update, $page_mode= &apos;traditional&apos;):&#160;conversation.php']]],
+ ['conversation_2ephp',['conversation.php',['../conversation_8php.html',1,'']]],
+ ['conversationobject_2ephp',['ConversationObject.php',['../ConversationObject_8php.html',1,'']]],
+ ['convert',['convert',['../namespacefriendica-to-smarty-tpl.html#a38503e37fe68ac27c88cce91a9ac9efa',1,'friendica-to-smarty-tpl']]],
+ ['convert_5fxml_5felement_5fto_5farray',['convert_xml_element_to_array',['../include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246',1,'network.php']]],
+ ['count_5fall_5ffriends',['count_all_friends',['../socgraph_8php.html#af29d056beec10b4e38e5209c92452894',1,'socgraph.php']]],
+ ['count_5fcommon_5ffriends',['count_common_friends',['../socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84',1,'socgraph.php']]],
+ ['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']]],
+ ['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()']]],
+ ['crypto_2ephp',['crypto.php',['../crypto_8php.html',1,'']]],
+ ['curpageurl',['curPageURL',['../boot_8php.html#aa4221641e5c21db69fa52c426b9017f5',1,'boot.php']]],
+ ['current_5ftheme',['current_theme',['../boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13',1,'boot.php']]],
+ ['current_5ftheme_5furl',['current_theme_url',['../boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3',1,'boot.php']]],
+ ['cli_20config_20utility',['CLI config utility',['../md_config.html',1,'']]]
+];
diff --git a/doc/html/search/all_64.html b/doc/html/search/all_64.html
new file mode 100644
index 000000000..360601fa7
--- /dev/null
+++ b/doc/html/search/all_64.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_64.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_64.js b/doc/html/search/all_64.js
new file mode 100644
index 000000000..56988e68e
--- /dev/null
+++ b/doc/html/search/all_64.js
@@ -0,0 +1,75 @@
+var searchData=
+[
+ ['datesel',['datesel',['../datetime_8php.html#ac265b86f384ee094ed5479aae02aa5c8',1,'datetime.php']]],
+ ['datesel_5fformat',['datesel_format',['../datetime_8php.html#a5f29553799005b1fd4e9ce9d98ce05aa',1,'datetime.php']]],
+ ['datetime_2ephp',['datetime.php',['../datetime_8php.html',1,'']]],
+ ['datetime_5fconvert',['datetime_convert',['../datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226',1,'datetime.php']]],
+ ['day_5ftranslate',['day_translate',['../text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63',1,'text.php']]],
+ ['db_5fupdate_2ephp',['db_update.php',['../db__update_8php.html',1,'']]],
+ ['db_5fupdate_5fversion',['DB_UPDATE_VERSION',['../boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03',1,'boot.php']]],
+ ['dba_5fdriver',['dba_driver',['../classdba__driver.html',1,'']]],
+ ['dba_5fdriver_2ephp',['dba_driver.php',['../dba__driver_8php.html',1,'']]],
+ ['dba_5ffactory',['dba_factory',['../dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947',1,'dba_driver.php']]],
+ ['dba_5fmysql',['dba_mysql',['../classdba__mysql.html',1,'']]],
+ ['dba_5fmysql_2ephp',['dba_mysql.php',['../dba__mysql_8php.html',1,'']]],
+ ['dba_5fmysqli',['dba_mysqli',['../classdba__mysqli.html',1,'']]],
+ ['dba_5fmysqli_2ephp',['dba_mysqli.php',['../dba__mysqli_8php.html',1,'']]],
+ ['dba_5ftimer',['dba_timer',['../boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4',1,'boot.php']]],
+ ['dbesc',['dbesc',['../dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e',1,'dba_driver.php']]],
+ ['dbesc_5farray',['dbesc_array',['../dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4',1,'dba_driver.php']]],
+ ['dbesc_5farray_5fcb',['dbesc_array_cb',['../dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930',1,'dba_driver.php']]],
+ ['dbg',['dbg',['../classdba__driver.html#adcc1f8955120fec0708bce39202d0422',1,'dba_driver\dbg()'],['../dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb',1,'dbg():&#160;dba_driver.php']]],
+ ['dbq',['dbq',['../dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee',1,'dba_driver.php']]],
+ ['decode_5ftags',['decode_tags',['../items_8php.html#a56b2a4abcadfac71175cd50555528cc3',1,'items.php']]],
+ ['default_2ephp',['default.php',['../php_2default_8php.html',1,'']]],
+ ['default_2ephp',['default.php',['../theme_2redstrap_2php_2default_8php.html',1,'']]],
+ ['default_5fdb_5fengine',['DEFAULT_DB_ENGINE',['../boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d',1,'boot.php']]],
+ ['del_5fconfig',['del_config',['../include_2config_8php.html#a549910227348003efc3c05c9105c42da',1,'config.php']]],
+ ['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_2ephp',['delegate.php',['../delegate_8php.html',1,'']]],
+ ['delegate_5fcontent',['delegate_content',['../delegate_8php.html#a943eea8996ef348eb845c498f9f354dd',1,'delegate.php']]],
+ ['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']]],
+ ['deliver',['deliver',['../classProtoDriver.html#a85e9063f6d0c304410cd246f7900ea1b',1,'ProtoDriver\deliver()'],['../classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f',1,'ZotDriver\deliver()']]],
+ ['deliver_2ephp',['deliver.php',['../deliver_8php.html',1,'']]],
+ ['deliver_5fprivate',['deliver_private',['../classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181',1,'ProtoDriver\deliver_private()'],['../classZotDriver.html#afaaf9941169fc966e43e25b25e6daea6',1,'ZotDriver\deliver_private()']]],
+ ['deliver_5frun',['deliver_run',['../deliver_8php.html#a397afcb9afecf0c1816b0951189dd346',1,'deliver.php']]],
+ ['design_5ftools',['design_tools',['../text_8php.html#a87a3cefc603302c78982f1d8e1245265',1,'text.php']]],
+ ['destroy',['destroy',['../classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813',1,'photo_driver\destroy()'],['../classphoto__gd.html#a724703ecf71b1f1d04a80e86c76db6b1',1,'photo_gd\destroy()'],['../classphoto__imagick.html#afd49d64751ee3a298eac0c0ce0ba0207',1,'photo_imagick\destroy()']]],
+ ['detect_5flanguage',['detect_language',['../language_8php.html#a632da17c7ac0d2dc1a00a4706870194b',1,'language.php']]],
+ ['dfrn_5fdeliver',['dfrn_deliver',['../items_8php.html#a8395d189a36abfa0dfff81a2b0e70669',1,'items.php']]],
+ ['diaspora2bb',['diaspora2bb',['../bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6',1,'bb2diaspora.php']]],
+ ['diaspora_5fol',['diaspora_ol',['../bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4',1,'bb2diaspora.php']]],
+ ['diaspora_5ful',['diaspora_ul',['../bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc',1,'bb2diaspora.php']]],
+ ['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,'']]],
+ ['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']]],
+ ['directory_5fmode_5fnormal',['DIRECTORY_MODE_NORMAL',['../boot_8php.html#ab7d65a7e7417825a4db62906bb600729',1,'boot.php']]],
+ ['directory_5fmode_5fprimary',['DIRECTORY_MODE_PRIMARY',['../boot_8php.html#a8a60cc38bb567765fd926fef70205f16',1,'boot.php']]],
+ ['directory_5fmode_5fsecondary',['DIRECTORY_MODE_SECONDARY',['../boot_8php.html#aedfb9501ed408278667995524e0d15cf',1,'boot.php']]],
+ ['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']]],
+ ['dirfind_2ephp',['dirfind.php',['../dirfind_8php.html',1,'']]],
+ ['dirfind_5fcontent',['dirfind_content',['../dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee',1,'dirfind.php']]],
+ ['dirfind_5finit',['dirfind_init',['../dirfind_8php.html#ac689a812c84f161b3a0d42349f83981c',1,'dirfind.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']]],
+ ['discover',['discover',['../classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337',1,'ProtoDriver\discover()'],['../classZotDriver.html#a40d328ff9f6b0a238afe286dddee1514',1,'ZotDriver\discover()']]],
+ ['display_2ephp',['display.php',['../display_8php.html',1,'']]],
+ ['display_5fcontent',['display_content',['../display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0',1,'display.php']]],
+ ['dlogger',['dlogger',['../text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c',1,'text.php']]],
+ ['do',['do',['../docblox__errorchecker_8php.html#a721c6ff80a6d3e4ad4ffa52a04c60085',1,'docblox_errorchecker.php']]],
+ ['dob',['dob',['../datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8',1,'datetime.php']]],
+ ['docblox_5ferrorchecker_2ephp',['docblox_errorchecker.php',['../docblox__errorchecker_8php.html',1,'']]],
+ ['doscaleimage',['doScaleImage',['../classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f',1,'photo_driver\doScaleImage()'],['../classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754',1,'photo_gd\doScaleImage()'],['../classphoto__imagick.html#a3047c68bb4de7f66c2893fe451db2b66',1,'photo_imagick\doScaleImage()']]],
+ ['drop_5fitem',['drop_item',['../items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1',1,'items.php']]],
+ ['drop_5fitems',['drop_items',['../items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55',1,'items.php']]]
+];
diff --git a/doc/html/search/all_65.html b/doc/html/search/all_65.html
new file mode 100644
index 000000000..c2f4fcd94
--- /dev/null
+++ b/doc/html/search/all_65.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_65.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_65.js b/doc/html/search/all_65.js
new file mode 100644
index 000000000..1d34b9f5a
--- /dev/null
+++ b/doc/html/search/all_65.js
@@ -0,0 +1,40 @@
+var searchData=
+[
+ ['editblock_2ephp',['editblock.php',['../editblock_8php.html',1,'']]],
+ ['editblock_5fcontent',['editblock_content',['../editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6',1,'editblock.php']]],
+ ['editlayout_2ephp',['editlayout.php',['../editlayout_8php.html',1,'']]],
+ ['editlayout_5fcontent',['editlayout_content',['../editlayout_8php.html#aa877e4157a26b099de904164181dd386',1,'editlayout.php']]],
+ ['editpost_2ephp',['editpost.php',['../editpost_8php.html',1,'']]],
+ ['editpost_5fcontent',['editpost_content',['../editpost_8php.html#a34011690864d122680c802e9e748ccfb',1,'editpost.php']]],
+ ['editwebpage_2ephp',['editwebpage.php',['../editwebpage_8php.html',1,'']]],
+ ['editwebpage_5fcontent',['editwebpage_content',['../editwebpage_8php.html#a375e945255fad79a71036528f7480650',1,'editwebpage.php']]],
+ ['else',['else',['../auth_8php.html#a0950af7c2888ca1d4743fe5d0bff9ae5',1,'else():&#160;auth.php'],['../fpostit_8php.html#a501b5ca82f287509fc691c88524064c1',1,'else():&#160;fpostit.php'],['../tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c',1,'else():&#160;tpldebug.php']]],
+ ['email_5fheader_5fencode',['email_header_encode',['../include_2network_8php.html#a540420ff3675a72cb781ef9a7e8c2cd9',1,'network.php']]],
+ ['email_5fsend',['email_send',['../include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0',1,'network.php']]],
+ ['encode_5fitem',['encode_item',['../items_8php.html#a82955cc578f0fa600acec84475026194',1,'items.php']]],
+ ['encode_5fitem_5fflags',['encode_item_flags',['../items_8php.html#a5f690fc2484abec07840b4f9dd525bd9',1,'items.php']]],
+ ['encode_5fitem_5fterms',['encode_item_terms',['../items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a',1,'items.php']]],
+ ['encode_5fitem_5fxchan',['encode_item_xchan',['../items_8php.html#a566c601726697e044e75284af7fb6f17',1,'items.php']]],
+ ['encode_5fmail',['encode_mail',['../items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7',1,'items.php']]],
+ ['encode_5frel_5flinks',['encode_rel_links',['../items_8php.html#aa723c0571e314a1853a24c5854b4f54f',1,'items.php']]],
+ ['enotify',['enotify',['../classenotify.html',1,'']]],
+ ['enotify_2ephp',['enotify.php',['../enotify_8php.html',1,'']]],
+ ['enumerate_5fpermissions',['enumerate_permissions',['../items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67',1,'items.php']]],
+ ['eol',['EOL',['../boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b',1,'boot.php']]],
+ ['eot',['EOT',['../typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805',1,'typohelper.php']]],
+ ['escape',['escape',['../classdba__driver.html#afc95ffa103a3290581b537670cde5311',1,'dba_driver\escape()'],['../classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e',1,'dba_mysql\escape()'],['../classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64',1,'dba_mysqli\escape()']]],
+ ['escape_5ftags',['escape_tags',['../text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64',1,'text.php']]],
+ ['ev_5fcompare',['ev_compare',['../event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850',1,'event.php']]],
+ ['event_2ephp',['event.php',['../event_8php.html',1,'']]],
+ ['event_5fstore',['event_store',['../event_8php.html#a89ef533faf345db8d64a58d4856bde3a',1,'event.php']]],
+ ['events_2ephp',['events.php',['../events_8php.html',1,'']]],
+ ['events_5fcontent',['events_content',['../events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec',1,'events.php']]],
+ ['events_5fpost',['events_post',['../events_8php.html#ab3e8a8f901175f8e40a8089eea45c075',1,'events.php']]],
+ ['excludepaths',['excludepaths',['../namespaceupdatetpl.html#a988d937ed5d5c2b592b763036af5cf94',1,'updatetpl']]],
+ ['expand_5facl',['expand_acl',['../text_8php.html#ae4282a39492caa23ccbc2ce98e54f110',1,'text.php']]],
+ ['expand_5fgroups',['expand_groups',['../include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345',1,'group.php']]],
+ ['expire_2ephp',['expire.php',['../expire_8php.html',1,'']]],
+ ['expire_5frun',['expire_run',['../expire_8php.html#a444e45c9b67727b27db4c779fd51a298',1,'expire.php']]],
+ ['ext',['ext',['../namespacefriendica-to-smarty-tpl.html#aecf730e0884bb4ddc6c0deb1ef85f8eb',1,'friendica-to-smarty-tpl']]],
+ ['extract_2ephp',['extract.php',['../extract_8php.html',1,'']]]
+];
diff --git a/doc/html/search/all_66.html b/doc/html/search/all_66.html
new file mode 100644
index 000000000..a9ac881c0
--- /dev/null
+++ b/doc/html/search/all_66.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_66.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_66.js b/doc/html/search/all_66.js
new file mode 100644
index 000000000..8ba44eea7
--- /dev/null
+++ b/doc/html/search/all_66.js
@@ -0,0 +1,75 @@
+var searchData=
+[
+ ['f',['f',['../namespacefriendica-to-smarty-tpl.html#a965e1d6d6293654a56e029a7e454dec7',1,'friendica-to-smarty-tpl']]],
+ ['fbrowser_2ephp',['fbrowser.php',['../fbrowser_8php.html',1,'']]],
+ ['fbrowser_5fcontent',['fbrowser_content',['../fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4',1,'fbrowser.php']]],
+ ['feature_5fenabled',['feature_enabled',['../features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0',1,'features.php']]],
+ ['features_2ephp',['features.php',['../features_8php.html',1,'']]],
+ ['feed_2ephp',['feed.php',['../feed_8php.html',1,'']]],
+ ['feed_5fhublinks',['feed_hublinks',['../text_8php.html#a8d8c4a11e53461caca21181ebd72daca',1,'text.php']]],
+ ['feed_5finit',['feed_init',['../feed_8php.html#af86137700b56f33d1d5f25c8dec22c04',1,'feed.php']]],
+ ['feed_5fsalmonlinks',['feed_salmonlinks',['../text_8php.html#a89929fa6f70a8ba54d5273fcf622b665',1,'text.php']]],
+ ['fetch_5flrdd_5ftemplate',['fetch_lrdd_template',['../include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0',1,'network.php']]],
+ ['fetch_5fpost_5ftags',['fetch_post_tags',['../items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9',1,'items.php']]],
+ ['fetch_5furl',['fetch_url',['../include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a',1,'network.php']]],
+ ['fetch_5fxrd_5flinks',['fetch_xrd_links',['../include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d',1,'network.php']]],
+ ['field_5ftimezone',['field_timezone',['../datetime_8php.html#a03900dcf0f9e3c58793a031673a70326',1,'datetime.php']]],
+ ['file_5ftag_5fdecode',['file_tag_decode',['../taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6',1,'taxonomy.php']]],
+ ['file_5ftag_5fencode',['file_tag_encode',['../taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37',1,'taxonomy.php']]],
+ ['file_5ftag_5ffile_5fquery',['file_tag_file_query',['../taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1',1,'taxonomy.php']]],
+ ['fileas_5fwidget',['fileas_widget',['../contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b',1,'contact_widgets.php']]],
+ ['filename',['filename',['../namespacefriendica-to-smarty-tpl.html#a5f9bf7a67d955c0d6be70a82097611c5',1,'friendica-to-smarty-tpl']]],
+ ['filer_2ephp',['filer.php',['../filer_8php.html',1,'']]],
+ ['filer_5fcontent',['filer_content',['../filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274',1,'filer.php']]],
+ ['filerm_2ephp',['filerm.php',['../filerm_8php.html',1,'']]],
+ ['filerm_5fcontent',['filerm_content',['../filerm_8php.html#ae2eb28d2054fa2c37e38689882172208',1,'filerm.php']]],
+ ['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']]],
+ ['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']]],
+ ['findpeople_5fwidget',['findpeople_widget',['../contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6',1,'contact_widgets.php']]],
+ ['first_5fpost_5fdate',['first_post_date',['../items_8php.html#a0cf98bb619f07dd18f602683a55a5f59',1,'items.php']]],
+ ['fix_5fattached_5ffile_5fpermissions',['fix_attached_file_permissions',['../item_8php.html#a3daae7944f737bd30412a0d042207c0f',1,'item.php']]],
+ ['fix_5fattached_5fphoto_5fpermissions',['fix_attached_photo_permissions',['../item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10',1,'item.php']]],
+ ['fix_5fcontact_5fssl_5fpolicy',['fix_contact_ssl_policy',['../include_2network_8php.html#a2729d012410e470c527a62a3f777ded8',1,'network.php']]],
+ ['fix_5felement',['fix_element',['../namespacefriendica-to-smarty-tpl.html#a3719dd46e286a57d315e6adae1845854',1,'friendica-to-smarty-tpl']]],
+ ['fix_5fmce_5flf',['fix_mce_lf',['../text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28',1,'text.php']]],
+ ['fix_5fprivate_5fphotos',['fix_private_photos',['../items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87',1,'items.php']]],
+ ['fix_5fsystem_5furls',['fix_system_urls',['../boot_8php.html#aca5e42678e178c6b9034610d66666fd7',1,'boot.php']]],
+ ['fixacl',['fixacl',['../acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e',1,'acl_selectors.php']]],
+ ['fkoauth1',['FKOAuth1',['../classFKOAuth1.html',1,'']]],
+ ['fkoauthdatastore',['FKOAuthDataStore',['../classFKOAuthDataStore.html',1,'']]],
+ ['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()']]],
+ ['fnull',['fnull',['../namespaceupdatetpl.html#a79c20eb62d568c999b56eb08530355d3',1,'updatetpl']]],
+ ['follow_2ephp',['follow.php',['../mod_2follow_8php.html',1,'']]],
+ ['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_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']]],
+ ['format_5fevent_5fdiaspora',['format_event_diaspora',['../bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863',1,'bb2diaspora.php']]],
+ ['format_5fevent_5fhtml',['format_event_html',['../event_8php.html#a2ac9f1b08de03250ecd794f705781d17',1,'event.php']]],
+ ['format_5fjs_5fif_5fexists',['format_js_if_exists',['../plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f',1,'plugin.php']]],
+ ['format_5flike',['format_like',['../conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3',1,'conversation.php']]],
+ ['format_5flocation',['format_location',['../conversation_8php.html#a0891aaa4492cba2b51eda12fe01957f3',1,'conversation.php']]],
+ ['format_5fnotification',['format_notification',['../include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3',1,'notify.php']]],
+ ['format_5fterm_5ffor_5fdisplay',['format_term_for_display',['../taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1',1,'taxonomy.php']]],
+ ['fpostit_2ephp',['fpostit.php',['../fpostit_8php.html',1,'']]],
+ ['fresh_2emd',['fresh.md',['../fresh_8md.html',1,'']]],
+ ['friendica',['Friendica',['../namespaceFriendica.html',1,'']]],
+ ['friendica_2dto_2dsmarty_2dtpl',['friendica-to-smarty-tpl',['../namespacefriendica-to-smarty-tpl.html',1,'']]],
+ ['friendica_2dto_2dsmarty_2dtpl_2epy',['friendica-to-smarty-tpl.py',['../friendica-to-smarty-tpl_8py.html',1,'']]],
+ ['friendica_5fsmarty_2ephp',['friendica_smarty.php',['../friendica__smarty_8php.html',1,'']]],
+ ['friendicasmarty',['FriendicaSmarty',['../classFriendicaSmarty.html',1,'']]],
+ ['friendicasmartyengine',['FriendicaSmartyEngine',['../classFriendicaSmartyEngine.html',1,'']]],
+ ['fsuggest_2ephp',['fsuggest.php',['../fsuggest_8php.html',1,'']]],
+ ['fsuggest_5fcontent',['fsuggest_content',['../fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998',1,'fsuggest.php']]],
+ ['fsuggest_5fpost',['fsuggest_post',['../fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d',1,'fsuggest.php']]],
+ ['ftosmarty',['fToSmarty',['../namespacefriendica-to-smarty-tpl.html#a89388ea9b2826e8218ed480e917d8105',1,'friendica-to-smarty-tpl']]],
+ ['full_2ephp',['full.php',['../full_8php.html',1,'']]],
+ ['fresh_20_2d_20the_20freaking_20red_20shell',['Fresh - The Freaking REd Shell',['../md_fresh.html',1,'']]]
+];
diff --git a/doc/html/search/all_67.html b/doc/html/search/all_67.html
new file mode 100644
index 000000000..747fb512c
--- /dev/null
+++ b/doc/html/search/all_67.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_67.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_67.js b/doc/html/search/all_67.js
new file mode 100644
index 000000000..b57640f77
--- /dev/null
+++ b/doc/html/search/all_67.js
@@ -0,0 +1,113 @@
+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']]],
+ ['get',['get',['../classCache.html#a70392b109331897bf9fdd7f1960e21de',1,'Cache']]],
+ ['get_5faccount',['get_account',['../classApp.html#a08bc87aff64f39fbc084e9d6545cee4d',1,'App']]],
+ ['get_5faccount_5fid',['get_account_id',['../boot_8php.html#afe88b920aa285982edb817a0dd44eb37',1,'boot.php']]],
+ ['get_5fall_5fperms',['get_all_perms',['../permissions_8php.html#aeca9b280f3dc3358c89976d81d690008',1,'permissions.php']]],
+ ['get_5fapp',['get_app',['../classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2',1,'BaseObject\get_app()'],['../boot_8php.html#a0e6db7e365f2b041a828b93786f694bc',1,'get_app():&#160;boot.php']]],
+ ['get_5fapps',['get_apps',['../classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad',1,'App']]],
+ ['get_5fatom_5felements',['get_atom_elements',['../items_8php.html#a896c1809d58f2d7a42cfe14577958ddf',1,'items.php']]],
+ ['get_5fbaseurl',['get_baseurl',['../classApp.html#a604d659d6977a99de42a160343e5289a',1,'App']]],
+ ['get_5fbb_5ftag_5fpos',['get_bb_tag_pos',['../bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2',1,'bb2diaspora.php']]],
+ ['get_5fbest_5flanguage',['get_best_language',['../language_8php.html#a980dee1d8715a98ab02e36b59facf8ed',1,'language.php']]],
+ ['get_5fbirthdays',['get_birthdays',['../boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51',1,'boot.php']]],
+ ['get_5fbrowser_5flanguage',['get_browser_language',['../language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e',1,'language.php']]],
+ ['get_5fcapath',['get_capath',['../include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7',1,'network.php']]],
+ ['get_5fchannel',['get_channel',['../classApp.html#a084e03c77686d8c13390fef3f7428a2b',1,'App']]],
+ ['get_5fchild',['get_child',['../classItem.html#a632185dd25c5caf277067c76230a4320',1,'Item']]],
+ ['get_5fchildren',['get_children',['../classItem.html#aa0ee775ec94abccec6c798428835d001',1,'Item']]],
+ ['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']]],
+ ['get_5fconfig_5ffrom_5fstorage',['get_config_from_storage',['../include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74',1,'config.php']]],
+ ['get_5fconversation',['get_conversation',['../classItem.html#a0c301aaed2b7d682728d18db3a22afa3',1,'Item']]],
+ ['get_5fcurl_5fcode',['get_curl_code',['../classApp.html#ab410451f132910773d0a02e35d0dced9',1,'App']]],
+ ['get_5fcurl_5fheaders',['get_curl_headers',['../classApp.html#abaf2173711e861ae4aebf43a7f70157e',1,'App']]],
+ ['get_5fcustom_5fnav',['get_custom_nav',['../boot_8php.html#a899d24fd074594ceebbf72e1feff335f',1,'boot.php']]],
+ ['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_5fdim',['get_dim',['../datetime_8php.html#a7df24d72ea05922d3127363e2295174c',1,'datetime.php']]],
+ ['get_5fevents',['get_events',['../boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312',1,'boot.php']]],
+ ['get_5ffeatures',['get_features',['../features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c',1,'features.php']]],
+ ['get_5ffeed_5ffor',['get_feed_for',['../items_8php.html#a04a35b610acfe54434df08adec39c0c7',1,'items.php']]],
+ ['get_5ffirst_5fdim',['get_first_dim',['../datetime_8php.html#aba971b67f17fecf050813f1eba72367f',1,'datetime.php']]],
+ ['get_5fform_5fsecurity_5ftoken',['get_form_security_token',['../security_8php.html#acd06ef411116115c2f0a92633700db8a',1,'security.php']]],
+ ['get_5fformatsmap',['get_FormatsMap',['../classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4',1,'photo_imagick']]],
+ ['get_5fgroups',['get_groups',['../classApp.html#a4659785d13e4bac0bed50dbb1b0d4299',1,'App']]],
+ ['get_5fhostname',['get_hostname',['../classApp.html#a622eace13f8fc9f4b5672a68e2bc4396',1,'App']]],
+ ['get_5fid',['get_id',['../classItem.html#ac0f27e58532612f6e7a54c8a621b9b92',1,'Item']]],
+ ['get_5fintltext_5ftemplate',['get_intltext_template',['../classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118',1,'FriendicaSmartyEngine\get_intltext_template()'],['../plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295',1,'get_intltext_template():&#160;plugin.php']]],
+ ['get_5fitem_5fchildren',['get_item_children',['../conversation_8php.html#a7f6ef0dfa554bacf620e84c18d386e67',1,'conversation.php']]],
+ ['get_5fitem_5fcontact',['get_item_contact',['../items_8php.html#aab9c6bae4c40799867596bdaae9829fd',1,'items.php']]],
+ ['get_5fitem_5felements',['get_item_elements',['../items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361',1,'items.php']]],
+ ['get_5fmail_5felements',['get_mail_elements',['../items_8php.html#a94ddb1d6c8fa21dd7433677e85168037',1,'items.php']]],
+ ['get_5fmarkup_5ftemplate',['get_markup_template',['../classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88',1,'FriendicaSmartyEngine\get_markup_template()'],['../interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442',1,'ITemplateEngine\get_markup_template()'],['../classTemplate.html#afd97b4b1e7754a550e67c0ea79159059',1,'Template\get_markup_template()'],['../plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4',1,'get_markup_template():&#160;plugin.php']]],
+ ['get_5fmax_5fimport_5fsize',['get_max_import_size',['../boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90',1,'boot.php']]],
+ ['get_5fmentions',['get_mentions',['../text_8php.html#a76d1b3435c067978d7b484c45f56472b',1,'text.php']]],
+ ['get_5fmode',['get_mode',['../classConversation.html#a87a0d704d5f2b1a008cc2e9ce06a1bcd',1,'Conversation']]],
+ ['get_5fmood_5fverbs',['get_mood_verbs',['../text_8php.html#a736db13a966b8abaf8c9198faa35911a',1,'text.php']]],
+ ['get_5fmy_5faddress',['get_my_address',['../boot_8php.html#a490972c02fdb638c52ec0e012a30bfd2',1,'boot.php']]],
+ ['get_5fmy_5furl',['get_my_url',['../boot_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec',1,'boot.php']]],
+ ['get_5fobserver',['get_observer',['../classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2',1,'App\get_observer()'],['../classConversation.html#ae3d4190142e12b57051f11f2911f77a0',1,'Conversation\get_observer()']]],
+ ['get_5fobserver_5fhash',['get_observer_hash',['../boot_8php.html#a623e49c79943f3e7bdb770d021683cf7',1,'boot.php']]],
+ ['get_5fowner_5fname',['get_owner_name',['../classItem.html#a67892aa23d19f4431bb2e5f43c74000e',1,'Item']]],
+ ['get_5fowner_5fphoto',['get_owner_photo',['../classItem.html#aa541bc4290e51bfd688d6921bebabc73',1,'Item']]],
+ ['get_5fowner_5furl',['get_owner_url',['../classItem.html#a9f2d219da712390f59012fc32a342074',1,'Item']]],
+ ['get_5fparent',['get_parent',['../classItem.html#a4b92e3a9d6212c553aa2661489bd95d8',1,'Item']]],
+ ['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#a05b7f26dc2df78681f57eeade53040c6',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']]],
+ ['get_5fprofile_5fowner',['get_profile_owner',['../classConversation.html#a5effe8ad3007e01333df44b81432b813',1,'Conversation']]],
+ ['get_5fpublic_5ffeed',['get_public_feed',['../items_8php.html#a079e099e15d88d47aeb6ca6d60da7107',1,'items.php']]],
+ ['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_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()']]],
+ ['get_5ftemplate_5fengine',['get_template_engine',['../classApp.html#acb27e607fe4c82603444676e25c36b70',1,'App']]],
+ ['get_5ftemplate_5fldelim',['get_template_ldelim',['../classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a',1,'App']]],
+ ['get_5ftemplate_5frdelim',['get_template_rdelim',['../classApp.html#aab23c59172310fd30f2d60dc039d3eea',1,'App']]],
+ ['get_5fterms_5foftype',['get_terms_oftype',['../taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1',1,'taxonomy.php']]],
+ ['get_5ftheme_5fconfig_5ffile',['get_theme_config_file',['../settings_8php.html#a39abc76ff5459c57e3b957664f273f18',1,'settings.php']]],
+ ['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',['../boot_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3',1,'boot.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']]],
+ ['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()']]],
+ ['gettype',['getType',['../classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3',1,'photo_driver']]],
+ ['getwidth',['getWidth',['../classphoto__driver.html#acc30486acee9e89e32701f44a1738117',1,'photo_driver']]],
+ ['goaway',['goaway',['../boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1',1,'boot.php']]],
+ ['gprobe_2ephp',['gprobe.php',['../gprobe_8php.html',1,'']]],
+ ['gprobe_5frun',['gprobe_run',['../gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1',1,'gprobe.php']]],
+ ['gravity_5fcomment',['GRAVITY_COMMENT',['../boot_8php.html#a4a12ce5de39789b0361e308d89925a20',1,'boot.php']]],
+ ['gravity_5flike',['GRAVITY_LIKE',['../boot_8php.html#a1f5906598e90b5ea2b4245f682be4348',1,'boot.php']]],
+ ['gravity_5fparent',['GRAVITY_PARENT',['../boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3',1,'boot.php']]],
+ ['group_2ephp',['group.php',['../include_2group_8php.html',1,'']]],
+ ['group_2ephp',['group.php',['../mod_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']]],
+ ['group_5fpost',['group_post',['../mod_2group_8php.html#aed1f009b1221348021bb34761160ef35',1,'group.php']]],
+ ['group_5frec_5fbyhash',['group_rec_byhash',['../include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245',1,'group.php']]],
+ ['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']]],
+ ['groups_5fcontaining',['groups_containing',['../include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f',1,'group.php']]],
+ ['guess_5fimage_5ftype',['guess_image_type',['../photo__driver_8php.html#a7273b82b017fd96d29b2c57bab03aea6',1,'photo_driver.php']]]
+];
diff --git a/doc/html/search/all_68.html b/doc/html/search/all_68.html
new file mode 100644
index 000000000..dec41d62e
--- /dev/null
+++ b/doc/html/search/all_68.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_68.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_68.js b/doc/html/search/all_68.js
new file mode 100644
index 000000000..e09148866
--- /dev/null
+++ b/doc/html/search/all_68.js
@@ -0,0 +1,33 @@
+var searchData=
+[
+ ['handle_5ftag',['handle_tag',['../item_8php.html#abd0e603a6696051af16476eb968d52e7',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_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,'']]],
+ ['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']]],
+ ['html2bbcode',['html2bbcode',['../html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837',1,'html2bbcode.php']]],
+ ['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,'']]],
+ ['http_5fstatus_5fexit',['http_status_exit',['../include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2',1,'network.php']]],
+ ['hubloc_5fflags_5fprimary',['HUBLOC_FLAGS_PRIMARY',['../boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955',1,'boot.php']]],
+ ['hubloc_5fflags_5funverified',['HUBLOC_FLAGS_UNVERIFIED',['../boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764',1,'boot.php']]],
+ ['hubloc_5fnotused',['HUBLOC_NOTUSED',['../boot_8php.html#aa589421267f0c2f0d643f727792cce35',1,'boot.php']]],
+ ['hubloc_5foffline',['HUBLOC_OFFLINE',['../boot_8php.html#a845891f82bf6edd7fa2d578b66703112',1,'boot.php']]],
+ ['hubloc_5freceive_5ferror',['HUBLOC_RECEIVE_ERROR',['../boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1',1,'boot.php']]],
+ ['hubloc_5fsend_5ferror',['HUBLOC_SEND_ERROR',['../boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456',1,'boot.php']]],
+ ['hubloc_5fworks',['HUBLOC_WORKS',['../boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c',1,'boot.php']]]
+];
diff --git a/doc/html/search/all_69.html b/doc/html/search/all_69.html
new file mode 100644
index 000000000..192e4bab2
--- /dev/null
+++ b/doc/html/search/all_69.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_69.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_69.js b/doc/html/search/all_69.js
new file mode 100644
index 000000000..2ddd88cdc
--- /dev/null
+++ b/doc/html/search/all_69.js
@@ -0,0 +1,86 @@
+var searchData=
+[
+ ['identity_2ephp',['identity.php',['../identity_8php.html',1,'']]],
+ ['identity_5fbasic_5fexport',['identity_basic_export',['../identity_8php.html#a3570a4eb77332b292d394c4132cb8f03',1,'identity.php']]],
+ ['identity_5fbasic_5fimport',['identity_basic_import',['../identity_8php.html#a77ee7d66eb0758f7e7882f70ad0f9485',1,'identity.php']]],
+ ['identity_5fcheck_5fservice_5fclass',['identity_check_service_class',['../identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633',1,'identity.php']]],
+ ['ids_5fto_5fquerystr',['ids_to_querystr',['../text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a',1,'text.php']]],
+ ['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'],['../redbasic_2php_2style_8php.html#ac4c6bc3cd9cc92204f04cf6cb34b47dd',1,'if():&#160;style.php'],['../theme_2redstrap_2php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762',1,'if():&#160;default.php'],['../redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea',1,'if():&#160;style.php']]],
+ ['imagestring',['imageString',['../classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd',1,'photo_driver\imageString()'],['../classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00',1,'photo_gd\imageString()'],['../classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019',1,'photo_imagick\imageString()']]],
+ ['import_2ephp',['import.php',['../import_8php.html',1,'']]],
+ ['import_5fauthor_5fxchan',['import_author_xchan',['../items_8php.html#ae73794179b62d39bb597ff670ab1c1e5',1,'items.php']]],
+ ['import_5fchannel_5fphoto',['import_channel_photo',['../photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a',1,'photo_driver.php']]],
+ ['import_5fcontent',['import_content',['../import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184',1,'import.php']]],
+ ['import_5fdirectory_5fkeywords',['import_directory_keywords',['../zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a',1,'zot.php']]],
+ ['import_5fdirectory_5fprofile',['import_directory_profile',['../zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32',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_5fsite',['import_site',['../zot_8php.html#a2657e141d62d5f67ad3c87651b585299',1,'zot.php']]],
+ ['import_5fxchan',['import_xchan',['../zot_8php.html#ab0227978011d8601494a7651fa26acf0',1,'zot.php']]],
+ ['info',['info',['../boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498',1,'boot.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_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']]],
+ ['is_5ftoplevel',['is_toplevel',['../classItem.html#aa49e40f961dff66da32c5ae110e32993',1,'Item']]],
+ ['is_5fvalid',['is_valid',['../classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab',1,'photo_driver']]],
+ ['is_5fvisiting',['is_visiting',['../classItem.html#a97c7feeea7f26a73176cb19faa455e12',1,'Item']]],
+ ['is_5fwall_5fto_5fwall',['is_wall_to_wall',['../classItem.html#aabf87ded59c25b5fe2b2296678e70509',1,'Item']]],
+ ['is_5fwritable',['is_writable',['../classConversation.html#a5879199008b96bee7550b576d614e1c1',1,'Conversation']]],
+ ['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_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']]],
+ ['item_5fdelayed_5fpublish',['ITEM_DELAYED_PUBLISH',['../boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20',1,'boot.php']]],
+ ['item_5fdeleted',['ITEM_DELETED',['../boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49',1,'boot.php']]],
+ ['item_5fexpire',['item_expire',['../items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc',1,'items.php']]],
+ ['item_5fextract_5fimages',['item_extract_images',['../conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654',1,'conversation.php']]],
+ ['item_5fgetfeedattach',['item_getfeedattach',['../items_8php.html#a09d425596b9f8663472cf7474ad36d96',1,'items.php']]],
+ ['item_5fgetfeedtags',['item_getfeedtags',['../items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7',1,'items.php']]],
+ ['item_5fhidden',['ITEM_HIDDEN',['../boot_8php.html#ac99fc4d040764eac1736bec6973556fe',1,'boot.php']]],
+ ['item_5fmentionsme',['ITEM_MENTIONSME',['../boot_8php.html#a8da836617174eed9fc2ac8054125354b',1,'boot.php']]],
+ ['item_5fmessage_5fid',['item_message_id',['../text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e',1,'text.php']]],
+ ['item_5fmoderated',['ITEM_MODERATED',['../boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450',1,'boot.php']]],
+ ['item_5fnocomment',['ITEM_NOCOMMENT',['../boot_8php.html#a949116d9a295b214293006c060ca4848',1,'boot.php']]],
+ ['item_5fnotshown',['ITEM_NOTSHOWN',['../boot_8php.html#a8663f32171568489dbb2a01dd00371f8',1,'boot.php']]],
+ ['item_5fnsfw',['ITEM_NSFW',['../boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08',1,'boot.php']]],
+ ['item_5fobscured',['ITEM_OBSCURED',['../boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d',1,'boot.php']]],
+ ['item_5forigin',['ITEM_ORIGIN',['../boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7',1,'boot.php']]],
+ ['item_5fpdl',['ITEM_PDL',['../boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d',1,'boot.php']]],
+ ['item_5fpermissions_5fsql',['item_permissions_sql',['../security_8php.html#a9355488460ab11d6058656ff919e5cf9',1,'security.php']]],
+ ['item_5fphoto_5fmenu',['item_photo_menu',['../conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3',1,'conversation.php']]],
+ ['item_5fpost',['item_post',['../item_8php.html#a693cd09805755ab85bbb5ecae69a48c3',1,'item.php']]],
+ ['item_5fpost_5ftype',['item_post_type',['../text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e',1,'text.php']]],
+ ['item_5fredir_5fand_5freplace_5fimages',['item_redir_and_replace_images',['../conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533',1,'conversation.php']]],
+ ['item_5frelay',['ITEM_RELAY',['../boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221',1,'boot.php']]],
+ ['item_5fspam',['ITEM_SPAM',['../boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb',1,'boot.php']]],
+ ['item_5fstarred',['ITEM_STARRED',['../boot_8php.html#a7af107fab8d62b9a73801713b774ed30',1,'boot.php']]],
+ ['item_5fstore',['item_store',['../items_8php.html#a2541e6861a56d145c9281877cc501615',1,'items.php']]],
+ ['item_5fstore_5fupdate',['item_store_update',['../items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484',1,'items.php']]],
+ ['item_5fthread_5ftop',['ITEM_THREAD_TOP',['../boot_8php.html#a749144d8dd9c1366596a0213c277d050',1,'boot.php']]],
+ ['item_5funpublished',['ITEM_UNPUBLISHED',['../boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272',1,'boot.php']]],
+ ['item_5funseen',['ITEM_UNSEEN',['../boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0',1,'boot.php']]],
+ ['item_5fuplink',['ITEM_UPLINK',['../boot_8php.html#aefba06f1c0842036329033e7567ecf6d',1,'boot.php']]],
+ ['item_5fuplink_5fprv',['ITEM_UPLINK_PRV',['../boot_8php.html#aad33b494084f729b6ee3b0bc457718a1',1,'boot.php']]],
+ ['item_5fvisible',['ITEM_VISIBLE',['../boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf',1,'boot.php']]],
+ ['item_5fwall',['ITEM_WALL',['../boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322',1,'boot.php']]],
+ ['item_5fwebpage',['ITEM_WEBPAGE',['../boot_8php.html#af489d0c3166551b93e63a79ff2c9be35',1,'boot.php']]],
+ ['itemobject_2ephp',['ItemObject.php',['../ItemObject_8php.html',1,'']]],
+ ['itemplateengine',['ITemplateEngine',['../interfaceITemplateEngine.html',1,'']]],
+ ['itemplateengine_2ephp',['ITemplateEngine.php',['../ITemplateEngine_8php.html',1,'']]],
+ ['items_2ephp',['items.php',['../items_8php.html',1,'']]],
+ ['items_5ffetch',['items_fetch',['../items_8php.html#a756738301f2ed96be50232500677d58a',1,'items.php']]]
+];
diff --git a/doc/html/search/all_6a.html b/doc/html/search/all_6a.html
new file mode 100644
index 000000000..6d8c91cd3
--- /dev/null
+++ b/doc/html/search/all_6a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_6a.js b/doc/html/search/all_6a.js
new file mode 100644
index 000000000..4c01dbd84
--- /dev/null
+++ b/doc/html/search/all_6a.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['jindent',['jindent',['../text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8',1,'text.php']]],
+ ['jpeg_5fquality',['JPEG_QUALITY',['../boot_8php.html#a3475ff6c2e575f946ea0ee377e944173',1,'boot.php']]],
+ ['json_5fdecode_5fplus',['json_decode_plus',['../text_8php.html#a0271381208acfa2d4cff36da281e3e23',1,'text.php']]],
+ ['json_5freturn_5fand_5fdie',['json_return_and_die',['../include_2network_8php.html#a4c5d50079e089168d9248427018fffd4',1,'network.php']]]
+];
diff --git a/doc/html/search/all_6b.html b/doc/html/search/all_6b.html
new file mode 100644
index 000000000..d70dca016
--- /dev/null
+++ b/doc/html/search/all_6b.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_6b.js b/doc/html/search/all_6b.js
new file mode 100644
index 000000000..cb620eeee
--- /dev/null
+++ b/doc/html/search/all_6b.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['key_5fnot_5fexists',['KEY_NOT_EXISTS',['../template__processor_8php.html#a797745996c7839a93b2ab1af456631ab',1,'template_processor.php']]],
+ ['killme',['killme',['../boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c',1,'boot.php']]]
+];
diff --git a/doc/html/search/all_6c.html b/doc/html/search/all_6c.html
new file mode 100644
index 000000000..ae8bc48da
--- /dev/null
+++ b/doc/html/search/all_6c.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_6c.js b/doc/html/search/all_6c.js
new file mode 100644
index 000000000..357e87efc
--- /dev/null
+++ b/doc/html/search/all_6c.js
@@ -0,0 +1,54 @@
+var searchData=
+[
+ ['lang_5fselector',['lang_selector',['../text_8php.html#a71f6952243d3fe1c5a8154f78027e29c',1,'text.php']]],
+ ['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']]],
+ ['ldelim',['ldelim',['../namespacefriendica-to-smarty-tpl.html#a0b4cf73d1a8d201a28d269eeb62a5d5c',1,'friendica-to-smarty-tpl']]],
+ ['legal_5fwebbie',['legal_webbie',['../text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728',1,'text.php']]],
+ ['like_2ephp',['like.php',['../like_8php.html',1,'']]],
+ ['like_5fcontent',['like_content',['../like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538',1,'like.php']]],
+ ['like_5fpuller',['like_puller',['../conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0',1,'conversation.php']]],
+ ['limit_5fbody_5fsize',['limit_body_size',['../items_8php.html#af94c281016c6c912d06e064113336c5c',1,'items.php']]],
+ ['link_5fcompare',['link_compare',['../text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285',1,'text.php']]],
+ ['linkify',['linkify',['../text_8php.html#a11255c8c4e5245b6c24f97684826aa54',1,'text.php']]],
+ ['list_5fpublic_5fsites',['list_public_sites',['../dirsearch_8php.html#a985d410a170549429857af6ff2673149',1,'dirsearch.php']]],
+ ['load',['load',['../classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712',1,'photo_driver\load()'],['../classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9',1,'photo_gd\load()'],['../classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8',1,'photo_imagick\load()']]],
+ ['load_5fconfig',['load_config',['../include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1',1,'config.php']]],
+ ['load_5fcontact_5flinks',['load_contact_links',['../boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6',1,'boot.php']]],
+ ['load_5fdatabase',['load_database',['../setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a',1,'setup.php']]],
+ ['load_5fdatabase_5frem',['load_database_rem',['../setup_8php.html#a2b375ddc555140236fc500135de99371',1,'setup.php']]],
+ ['load_5fhooks',['load_hooks',['../plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813',1,'plugin.php']]],
+ ['load_5fpconfig',['load_pconfig',['../include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6',1,'config.php']]],
+ ['load_5fplugin',['load_plugin',['../plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d',1,'plugin.php']]],
+ ['load_5ftranslation_5ftable',['load_translation_table',['../language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05',1,'language.php']]],
+ ['load_5fxconfig',['load_xconfig',['../include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33',1,'config.php']]],
+ ['local_5fuser',['local_user',['../boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44',1,'boot.php']]],
+ ['localize_5fitem',['localize_item',['../conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c',1,'conversation.php']]],
+ ['lockview_2ephp',['lockview.php',['../lockview_8php.html',1,'']]],
+ ['lockview_5fcontent',['lockview_content',['../lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44',1,'lockview.php']]],
+ ['logger',['logger',['../text_8php.html#a030fa5ecc64168af0c4f44897a9bce63',1,'text.php']]],
+ ['logger_5fall',['LOGGER_ALL',['../boot_8php.html#afe63ae69ba55299f813766e54df06ede',1,'boot.php']]],
+ ['logger_5fdata',['LOGGER_DATA',['../boot_8php.html#a6969947145a139ec374ce098224d8e81',1,'boot.php']]],
+ ['logger_5fdebug',['LOGGER_DEBUG',['../boot_8php.html#a93823d15ae07548a4c49de88d325cd26',1,'boot.php']]],
+ ['logger_5fnormal',['LOGGER_NORMAL',['../boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805',1,'boot.php']]],
+ ['logger_5ftrace',['LOGGER_TRACE',['../boot_8php.html#a022cea669f9f13ef7c6268b63884c57f',1,'boot.php']]],
+ ['login',['login',['../boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4',1,'boot.php']]],
+ ['login_2ephp',['login.php',['../login_8php.html',1,'']]],
+ ['login_5fcontent',['login_content',['../login_8php.html#a1d69ca88eb9005a7026e128b9a645904',1,'login.php']]],
+ ['loginuser',['loginUser',['../classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f',1,'FKOAuth1']]],
+ ['lookup_5fconsumer',['lookup_consumer',['../classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1',1,'FKOAuthDataStore']]],
+ ['lookup_5fnonce',['lookup_nonce',['../classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599',1,'FKOAuthDataStore']]],
+ ['lookup_5ftoken',['lookup_token',['../classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab',1,'FKOAuthDataStore']]],
+ ['lostpass_2ephp',['lostpass.php',['../lostpass_8php.html',1,'']]],
+ ['lostpass_5fcontent',['lostpass_content',['../lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3',1,'lostpass.php']]],
+ ['lostpass_5fpost',['lostpass_post',['../lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc',1,'lostpass.php']]],
+ ['lrdd',['lrdd',['../include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041',1,'network.php']]]
+];
diff --git a/doc/html/search/all_6d.html b/doc/html/search/all_6d.html
new file mode 100644
index 000000000..ee90718ff
--- /dev/null
+++ b/doc/html/search/all_6d.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_6d.js b/doc/html/search/all_6d.js
new file mode 100644
index 000000000..f037c3653
--- /dev/null
+++ b/doc/html/search/all_6d.js
@@ -0,0 +1,62 @@
+var searchData=
+[
+ ['magic_2ephp',['magic.php',['../magic_8php.html',1,'']]],
+ ['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_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_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']]],
+ ['mail_5fstore',['mail_store',['../items_8php.html#a77da7ce9a117601d49ac4a67c71b514f',1,'items.php']]],
+ ['manage_2ephp',['manage.php',['../manage_8php.html',1,'']]],
+ ['manage_5fcontent',['manage_content',['../manage_8php.html#a2bca247b5296827638959138367db4f5',1,'manage.php']]],
+ ['manual_5fconfig',['manual_config',['../setup_8php.html#abe405d227ba7232971964a706d4f3bce',1,'setup.php']]],
+ ['map_5fscope',['map_scope',['../items_8php.html#ac1fcf621dce7370515b420a7753f4726',1,'items.php']]],
+ ['marital_5fselector',['marital_selector',['../profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798',1,'profile_selectors.php']]],
+ ['match_2ephp',['match.php',['../match_8php.html',1,'']]],
+ ['match_5fcontent',['match_content',['../match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d',1,'match.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']]],
+ ['member_5fof',['member_of',['../include_2group_8php.html#a048f6892bfd28852de1b76470df411de',1,'group.php']]],
+ ['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_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']]],
+ ['menu_5fdelete',['menu_delete',['../include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8',1,'menu.php']]],
+ ['menu_5fdelete_5fid',['menu_delete_id',['../include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804',1,'menu.php']]],
+ ['menu_5fedit',['menu_edit',['../include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571',1,'menu.php']]],
+ ['menu_5fedit_5fitem',['menu_edit_item',['../include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa',1,'menu.php']]],
+ ['menu_5ffetch',['menu_fetch',['../include_2menu_8php.html#a68ebbf492470c930f652013656f9071d',1,'menu.php']]],
+ ['menu_5ffetch_5fid',['menu_fetch_id',['../include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7',1,'menu.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_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,'']]],
+ ['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']]],
+ ['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#ab4d9e5b59f48787cb01baae5dc6c381f',1,'group.php']]],
+ ['minimal_2ephp',['minimal.php',['../minimal_8php.html',1,'']]],
+ ['mitem_2ephp',['mitem.php',['../mitem_8php.html',1,'']]],
+ ['mitem_5fcontent',['mitem_content',['../mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e',1,'mitem.php']]],
+ ['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']]],
+ ['msearch_2ephp',['msearch.php',['../msearch_8php.html',1,'']]],
+ ['msearch_5fpost',['msearch_post',['../msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8',1,'msearch.php']]]
+];
diff --git a/doc/html/search/all_6e.html b/doc/html/search/all_6e.html
new file mode 100644
index 000000000..e0fd7653a
--- /dev/null
+++ b/doc/html/search/all_6e.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_6e.js b/doc/html/search/all_6e.js
new file mode 100644
index 000000000..5fc653c57
--- /dev/null
+++ b/doc/html/search/all_6e.js
@@ -0,0 +1,85 @@
+var searchData=
+[
+ ['n',['n',['../php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b',1,'php2po.php']]],
+ ['names',['names',['../namespaceupdatetpl.html#ab42dd79af65ee82201fd6f04715f62f6',1,'updatetpl']]],
+ ['nameslist',['namesList',['../docblox__errorchecker_8php.html#a2b767cfc461fdd5061fffc9e4a806d5b',1,'docblox_errorchecker.php']]],
+ ['namespace_5factivity',['NAMESPACE_ACTIVITY',['../boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2',1,'boot.php']]],
+ ['namespace_5factivity_5fschema',['NAMESPACE_ACTIVITY_SCHEMA',['../boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133',1,'boot.php']]],
+ ['namespace_5fatom1',['NAMESPACE_ATOM1',['../boot_8php.html#a444ce608ce34efb82ee11852f36e825f',1,'boot.php']]],
+ ['namespace_5fdfrn',['NAMESPACE_DFRN',['../boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028',1,'boot.php']]],
+ ['namespace_5ffeed',['NAMESPACE_FEED',['../boot_8php.html#ac195fc9003298923ea81f144388e24b1',1,'boot.php']]],
+ ['namespace_5fgeorss',['NAMESPACE_GEORSS',['../boot_8php.html#a03d19251c245587de7ed959300b87bdf',1,'boot.php']]],
+ ['namespace_5fmedia',['NAMESPACE_MEDIA',['../boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16',1,'boot.php']]],
+ ['namespace_5fostatus',['NAMESPACE_OSTATUS',['../boot_8php.html#acca19aae62e1a6951a856b945de20d67',1,'boot.php']]],
+ ['namespace_5fostatussub',['NAMESPACE_OSTATUSSUB',['../boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd',1,'boot.php']]],
+ ['namespace_5fpoco',['NAMESPACE_POCO',['../boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a',1,'boot.php']]],
+ ['namespace_5fsalmon_5fme',['NAMESPACE_SALMON_ME',['../boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67',1,'boot.php']]],
+ ['namespace_5fstatusnet',['NAMESPACE_STATUSNET',['../boot_8php.html#afaf93b7026f784b113b4f8921745891e',1,'boot.php']]],
+ ['namespace_5fthread',['NAMESPACE_THREAD',['../boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86',1,'boot.php']]],
+ ['namespace_5ftomb',['NAMESPACE_TOMB',['../boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e',1,'boot.php']]],
+ ['namespace_5fzot',['NAMESPACE_ZOT',['../boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47',1,'boot.php']]],
+ ['nav',['nav',['../nav_8php.html#a43be0df73b90647ea70947ce004e231e',1,'nav.php']]],
+ ['nav_2ephp',['nav.php',['../nav_8php.html',1,'']]],
+ ['nav_5fset_5fselected',['nav_set_selected',['../nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a',1,'nav.php']]],
+ ['navbar_5fcomplete',['navbar_complete',['../acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f',1,'acl.php']]],
+ ['network_2ephp',['network.php',['../include_2network_8php.html',1,'']]],
+ ['network_2ephp',['network.php',['../mod_2network_8php.html',1,'']]],
+ ['network_5fcontent',['network_content',['../mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4',1,'network.php']]],
+ ['network_5fdfrn',['NETWORK_DFRN',['../boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e',1,'boot.php']]],
+ ['network_5fdiaspora',['NETWORK_DIASPORA',['../boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa',1,'boot.php']]],
+ ['network_5ffacebook',['NETWORK_FACEBOOK',['../boot_8php.html#af3905ea8f8568d0236db13fca40514e3',1,'boot.php']]],
+ ['network_5ffeed',['NETWORK_FEED',['../boot_8php.html#ab4bddb41a0cf407178ec5278b950c393',1,'boot.php']]],
+ ['network_5fgplus',['NETWORK_GPLUS',['../boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701',1,'boot.php']]],
+ ['network_5finit',['network_init',['../mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec',1,'network.php']]],
+ ['network_5flinkedin',['NETWORK_LINKEDIN',['../boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa',1,'boot.php']]],
+ ['network_5fmail',['NETWORK_MAIL',['../boot_8php.html#a7236b2cdcf59f02a42302e893a99013b',1,'boot.php']]],
+ ['network_5fmail2',['NETWORK_MAIL2',['../boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42',1,'boot.php']]],
+ ['network_5fmyspace',['NETWORK_MYSPACE',['../boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95',1,'boot.php']]],
+ ['network_5fostatus',['NETWORK_OSTATUS',['../boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d',1,'boot.php']]],
+ ['network_5fphantom',['NETWORK_PHANTOM',['../boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f',1,'boot.php']]],
+ ['network_5fquery_5fget_5fsel_5ftab',['network_query_get_sel_tab',['../mod_2network_8php.html#aeaa518c1a317516a3da337b88d358666',1,'network.php']]],
+ ['network_5fto_5fname',['network_to_name',['../contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be',1,'contact_selectors.php']]],
+ ['network_5fxmpp',['NETWORK_XMPP',['../boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e',1,'boot.php']]],
+ ['network_5fzot',['NETWORK_ZOT',['../boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0',1,'boot.php']]],
+ ['new_5faccess_5ftoken',['new_access_token',['../classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934',1,'FKOAuthDataStore']]],
+ ['new_5fchannel_2ephp',['new_channel.php',['../new__channel_8php.html',1,'']]],
+ ['new_5fchannel_5fcontent',['new_channel_content',['../new__channel_8php.html#ae585191610f79da129492482ce8e2fee',1,'new_channel.php']]],
+ ['new_5fchannel_5finit',['new_channel_init',['../new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164',1,'new_channel.php']]],
+ ['new_5fchannel_5fpost',['new_channel_post',['../new__channel_8php.html#a180b0646957db8290482f02454ad7f23',1,'new_channel.php']]],
+ ['new_5fcontact',['new_contact',['../include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7',1,'follow.php']]],
+ ['new_5fcookie',['new_cookie',['../session_8php.html#a4c0ead624f95483e386bc80abf570a8f',1,'session.php']]],
+ ['new_5fkeypair',['new_keypair',['../crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a',1,'crypto.php']]],
+ ['new_5frequest_5ftoken',['new_request_token',['../classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050',1,'FKOAuthDataStore']]],
+ ['newfilename',['newfilename',['../namespacefriendica-to-smarty-tpl.html#ad9ef87ccb2c9960501f5e02424a22d80',1,'friendica-to-smarty-tpl']]],
+ ['node2bbcode',['node2bbcode',['../html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8',1,'html2bbcode.php']]],
+ ['node2bbcodesub',['node2bbcodesub',['../html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7',1,'html2bbcode.php']]],
+ ['nogroup_2ephp',['nogroup.php',['../nogroup_8php.html',1,'']]],
+ ['nogroup_5fcontent',['nogroup_content',['../nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30',1,'nogroup.php']]],
+ ['nogroup_5finit',['nogroup_init',['../nogroup_8php.html#a099cb353bf62e8453069ce107b763212',1,'nogroup.php']]],
+ ['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']]],
+ ['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,'']]],
+ ['notifications_5fcontent',['notifications_content',['../notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62',1,'notifications.php']]],
+ ['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',['../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']]],
+ ['notify_5finit',['notify_init',['../mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae',1,'notify.php']]],
+ ['notify_5fintro',['NOTIFY_INTRO',['../boot_8php.html#a56fd673eaa7014150297ce1162502db5',1,'boot.php']]],
+ ['notify_5fmail',['NOTIFY_MAIL',['../boot_8php.html#a285732e7889fa7f333cbe431111e1029',1,'boot.php']]],
+ ['notify_5fpoke',['NOTIFY_POKE',['../boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8',1,'boot.php']]],
+ ['notify_5fprofile',['NOTIFY_PROFILE',['../boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b',1,'boot.php']]],
+ ['notify_5fsuggest',['NOTIFY_SUGGEST',['../boot_8php.html#a9d01ef178b72b145016cca1393415bc4',1,'boot.php']]],
+ ['notify_5fsystem',['NOTIFY_SYSTEM',['../boot_8php.html#a14d44d4a00223dc3db4ea962325db192',1,'boot.php']]],
+ ['notify_5ftagself',['NOTIFY_TAGSELF',['../boot_8php.html#ab724491497ab2618b23a01d5da60aec0',1,'boot.php']]],
+ ['notify_5ftagshare',['NOTIFY_TAGSHARE',['../boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461',1,'boot.php']]],
+ ['notify_5fwall',['NOTIFY_WALL',['../boot_8php.html#a505410c7edc5f5bb5fa227b98359793e',1,'boot.php']]],
+ ['nuke_5fsession',['nuke_session',['../auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a',1,'auth.php']]]
+];
diff --git a/doc/html/search/all_6f.html b/doc/html/search/all_6f.html
new file mode 100644
index 000000000..5e86b030d
--- /dev/null
+++ b/doc/html/search/all_6f.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_6f.js b/doc/html/search/all_6f.js
new file mode 100644
index 000000000..095330fe4
--- /dev/null
+++ b/doc/html/search/all_6f.js
@@ -0,0 +1,28 @@
+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_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']]],
+ ['oembed_2ephp',['oembed.php',['../include_2oembed_8php.html',1,'']]],
+ ['oembed_2ephp',['oembed.php',['../mod_2oembed_8php.html',1,'']]],
+ ['oembed_5fbbcode2html',['oembed_bbcode2html',['../include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2',1,'oembed.php']]],
+ ['oembed_5ffetch_5furl',['oembed_fetch_url',['../include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2',1,'oembed.php']]],
+ ['oembed_5fformat_5fobject',['oembed_format_object',['../include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3',1,'oembed.php']]],
+ ['oembed_5fhtml2bbcode',['oembed_html2bbcode',['../include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172',1,'oembed.php']]],
+ ['oembed_5fiframe',['oembed_iframe',['../include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a',1,'oembed.php']]],
+ ['oembed_5finit',['oembed_init',['../mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014',1,'oembed.php']]],
+ ['oembed_5freplacecb',['oembed_replacecb',['../include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0',1,'oembed.php']]],
+ ['oexchange_2ephp',['oexchange.php',['../oexchange_8php.html',1,'']]],
+ ['oexchange_5fcontent',['oexchange_content',['../oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26',1,'oexchange.php']]],
+ ['oexchange_5finit',['oexchange_init',['../oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59',1,'oexchange.php']]],
+ ['onepoll_2ephp',['onepoll.php',['../onepoll_8php.html',1,'']]],
+ ['onepoll_5frun',['onepoll_run',['../onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d',1,'onepoll.php']]],
+ ['opensearch_2ephp',['opensearch.php',['../opensearch_8php.html',1,'']]],
+ ['opensearch_5finit',['opensearch_init',['../opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9',1,'opensearch.php']]],
+ ['orient',['orient',['../classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d',1,'photo_driver']]],
+ ['outf',['outf',['../namespacefriendica-to-smarty-tpl.html#a87182a9bab47640428bd0b2b9946bef9',1,'friendica-to-smarty-tpl']]],
+ ['outpath',['outpath',['../namespacefriendica-to-smarty-tpl.html#a005c1b7a69cac31fad72a941974ba7bb',1,'friendica-to-smarty-tpl']]]
+];
diff --git a/doc/html/search/all_70.html b/doc/html/search/all_70.html
new file mode 100644
index 000000000..799c1a277
--- /dev/null
+++ b/doc/html/search/all_70.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_70.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_70.js b/doc/html/search/all_70.js
new file mode 100644
index 000000000..6c8ce271c
--- /dev/null
+++ b/doc/html/search/all_70.js
@@ -0,0 +1,162 @@
+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_2ephp',['page.php',['../page_8php.html',1,'']]],
+ ['page_5fapplication',['PAGE_APPLICATION',['../boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed',1,'boot.php']]],
+ ['page_5fautoconnect',['PAGE_AUTOCONNECT',['../boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9',1,'boot.php']]],
+ ['page_5fcontent',['page_content',['../page_8php.html#a91a5f649f68406149108bded1dc90b22',1,'page.php']]],
+ ['page_5fdirectory_5fchannel',['PAGE_DIRECTORY_CHANNEL',['../boot_8php.html#a5b8484922918946d041e5e0515dbe718',1,'boot.php']]],
+ ['page_5fhidden',['PAGE_HIDDEN',['../boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640',1,'boot.php']]],
+ ['page_5finit',['page_init',['../page_8php.html#a4d89800c0366a239191b1692c09635cf',1,'page.php']]],
+ ['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_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']]],
+ ['parse_5furl_2ephp',['parse_url.php',['../parse__url_8php.html',1,'']]],
+ ['parse_5furl_5fcontent',['parse_url_content',['../parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b',1,'parse_url.php']]],
+ ['parse_5fxml_5fstring',['parse_xml_string',['../include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6',1,'network.php']]],
+ ['parsed',['parsed',['../classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9',1,'FriendicaSmarty']]],
+ ['parseurl_5fgetsiteinfo',['parseurl_getsiteinfo',['../parse__url_8php.html#a25635549f2c22955d72465f4d2e58993',1,'parse_url.php']]],
+ ['path',['path',['../namespacefriendica-to-smarty-tpl.html#a68d15934660cd1f4301ce251b1646f09',1,'friendica-to-smarty-tpl.path()'],['../namespaceupdatetpl.html#ae694f5e1f25f8a92a945eb90c432dfe6',1,'updatetpl.path()']]],
+ ['pdl_5fselector',['pdl_selector',['../comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e',1,'comanche.php']]],
+ ['perm_5fis_5fallowed',['perm_is_allowed',['../permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835',1,'permissions.php']]],
+ ['permissions_2ephp',['permissions.php',['../permissions_8php.html',1,'']]],
+ ['permissions_5fsql',['permissions_sql',['../security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f',1,'security.php']]],
+ ['perms2str',['perms2str',['../text_8php.html#a98fd99dee3da8cf4c148dc04efe782ee',1,'text.php']]],
+ ['perms_5fa_5fdelegate',['PERMS_A_DELEGATE',['../boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b',1,'boot.php']]],
+ ['perms_5fcontacts',['PERMS_CONTACTS',['../boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6',1,'boot.php']]],
+ ['perms_5fnetwork',['PERMS_NETWORK',['../boot_8php.html#a6df1102664f64b274810db85197c2755',1,'boot.php']]],
+ ['perms_5fpublic',['PERMS_PUBLIC',['../boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7',1,'boot.php']]],
+ ['perms_5fr_5fabook',['PERMS_R_ABOOK',['../boot_8php.html#a3d6d4fc5fafcc9156811669158541caf',1,'boot.php']]],
+ ['perms_5fr_5fpages',['PERMS_R_PAGES',['../boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e',1,'boot.php']]],
+ ['perms_5fr_5fphotos',['PERMS_R_PHOTOS',['../boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62',1,'boot.php']]],
+ ['perms_5fr_5fprofile',['PERMS_R_PROFILE',['../boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137',1,'boot.php']]],
+ ['perms_5fr_5fstorage',['PERMS_R_STORAGE',['../boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc',1,'boot.php']]],
+ ['perms_5fr_5fstream',['PERMS_R_STREAM',['../boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4',1,'boot.php']]],
+ ['perms_5fsite',['PERMS_SITE',['../boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f',1,'boot.php']]],
+ ['perms_5fspecific',['PERMS_SPECIFIC',['../boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964',1,'boot.php']]],
+ ['perms_5fw_5fchat',['PERMS_W_CHAT',['../boot_8php.html#acd877c405b06b348b37b6f7e62a211e9',1,'boot.php']]],
+ ['perms_5fw_5fcomment',['PERMS_W_COMMENT',['../boot_8php.html#a32df13fec0e43281da5979e1f5579aa8',1,'boot.php']]],
+ ['perms_5fw_5fmail',['PERMS_W_MAIL',['../boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf',1,'boot.php']]],
+ ['perms_5fw_5fpages',['PERMS_W_PAGES',['../boot_8php.html#aa9244fc9cc221980c07a20cc534111be',1,'boot.php']]],
+ ['perms_5fw_5fphotos',['PERMS_W_PHOTOS',['../boot_8php.html#a57eee7352714c004d36c26dda74af73e',1,'boot.php']]],
+ ['perms_5fw_5fstorage',['PERMS_W_STORAGE',['../boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115',1,'boot.php']]],
+ ['perms_5fw_5fstream',['PERMS_W_STREAM',['../boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55',1,'boot.php']]],
+ ['perms_5fw_5ftagwall',['PERMS_W_TAGWALL',['../boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777',1,'boot.php']]],
+ ['perms_5fw_5fwall',['PERMS_W_WALL',['../boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2',1,'boot.php']]],
+ ['photo_2ephp',['photo.php',['../photo_8php.html',1,'']]],
+ ['photo_5fdriver',['photo_driver',['../classphoto__driver.html',1,'']]],
+ ['photo_5fdriver_2ephp',['photo_driver.php',['../photo__driver_8php.html',1,'']]],
+ ['photo_5ffactory',['photo_factory',['../photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035',1,'photo_driver.php']]],
+ ['photo_5fgd',['photo_gd',['../classphoto__gd.html',1,'']]],
+ ['photo_5fgd_2ephp',['photo_gd.php',['../photo__gd_8php.html',1,'']]],
+ ['photo_5fimagick',['photo_imagick',['../classphoto__imagick.html',1,'']]],
+ ['photo_5fimagick_2ephp',['photo_imagick.php',['../photo__imagick_8php.html',1,'']]],
+ ['photo_5finit',['photo_init',['../photo_8php.html#a582779d24882b0d31ee909a91d70a448',1,'photo.php']]],
+ ['photo_5fnew_5fresource',['photo_new_resource',['../text_8php.html#aa5528f41533927e1bd2da3618a74a6d7',1,'text.php']]],
+ ['photo_5fnormal',['PHOTO_NORMAL',['../boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4',1,'boot.php']]],
+ ['photo_5fprofile',['PHOTO_PROFILE',['../boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0',1,'boot.php']]],
+ ['photo_5fthing',['PHOTO_THING',['../boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383',1,'boot.php']]],
+ ['photo_5fupload',['photo_upload',['../include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109',1,'photos.php']]],
+ ['photo_5fxchan',['PHOTO_XCHAN',['../boot_8php.html#ac43182e0d8bae7576a30b603774974f8',1,'boot.php']]],
+ ['photos_2ephp',['photos.php',['../mod_2photos_8php.html',1,'']]],
+ ['photos_2ephp',['photos.php',['../include_2photos_8php.html',1,'']]],
+ ['photos_5falbum_5fexists',['photos_album_exists',['../include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35',1,'photos.php']]],
+ ['photos_5falbum_5fget_5fdb_5fidstr',['photos_album_get_db_idstr',['../include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe',1,'photos.php']]],
+ ['photos_5falbum_5frename',['photos_album_rename',['../include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab',1,'photos.php']]],
+ ['photos_5falbum_5fwidget',['photos_album_widget',['../include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979',1,'photos.php']]],
+ ['photos_5falbums_5flist',['photos_albums_list',['../include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9',1,'photos.php']]],
+ ['photos_5fcontent',['photos_content',['../mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812',1,'photos.php']]],
+ ['photos_5fcreate_5fitem',['photos_create_item',['../include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274',1,'photos.php']]],
+ ['photos_5finit',['photos_init',['../mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014',1,'photos.php']]],
+ ['photos_5flist_5fphotos',['photos_list_photos',['../include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51',1,'photos.php']]],
+ ['photos_5fpost',['photos_post',['../mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080',1,'photos.php']]],
+ ['php_2ephp',['php.php',['../php_8php.html',1,'']]],
+ ['php2po_2ephp',['php2po.php',['../php2po_8php.html',1,'']]],
+ ['php_5finit',['php_init',['../php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6',1,'php.php']]],
+ ['php_5ftpl',['php_tpl',['../namespacefriendica-to-smarty-tpl.html#a5dfc21ab8282dda8e3a7dff43cd0e283',1,'friendica-to-smarty-tpl']]],
+ ['ping_2ephp',['ping.php',['../ping_8php.html',1,'']]],
+ ['ping_5finit',['ping_init',['../ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1',1,'ping.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,'']]],
+ ['png_5fquality',['PNG_QUALITY',['../boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce',1,'boot.php']]],
+ ['po2php_2ephp',['po2php.php',['../po2php_8php.html',1,'']]],
+ ['po2php_5frun',['po2php_run',['../po2php_8php.html#a3b75e36f913198299e99559b175cd8b4',1,'po2php.php']]],
+ ['poco_2ephp',['poco.php',['../poco_8php.html',1,'']]],
+ ['poco_5finit',['poco_init',['../poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498',1,'poco.php']]],
+ ['poco_5fload',['poco_load',['../socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6',1,'socgraph.php']]],
+ ['poke_2ephp',['poke.php',['../poke_8php.html',1,'']]],
+ ['poke_5fcontent',['poke_content',['../poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993',1,'poke.php']]],
+ ['poke_5finit',['poke_init',['../poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b',1,'poke.php']]],
+ ['poll_5fmultiple_5fchoice',['POLL_MULTIPLE_CHOICE',['../boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86',1,'boot.php']]],
+ ['poll_5foverwrite',['POLL_OVERWRITE',['../boot_8php.html#a2b525996e4426bdddbcec277778bde08',1,'boot.php']]],
+ ['poll_5fsimple_5frating',['POLL_SIMPLE_RATING',['../boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5',1,'boot.php']]],
+ ['poll_5ftenscale',['POLL_TENSCALE',['../boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc',1,'boot.php']]],
+ ['poller_2ephp',['poller.php',['../poller_8php.html',1,'']]],
+ ['poller_5frun',['poller_run',['../poller_8php.html#a5f12df3a4738124b6c039971e87e76da',1,'poller.php']]],
+ ['pop_5flang',['pop_lang',['../language_8php.html#a78bd204955ec4cc3a9ac651285a1689d',1,'language.php']]],
+ ['populate_5facl',['populate_acl',['../acl__selectors_8php.html#a51f2ec7a143d5a5b38e35efd5f3d6e2c',1,'acl_selectors.php']]],
+ ['post_2ephp',['post.php',['../post_8php.html',1,'']]],
+ ['post_5factivity_5fitem',['post_activity_item',['../items_8php.html#a410f9c743877c125ca06312373346903',1,'items.php']]],
+ ['post_5finit',['post_init',['../post_8php.html#af4b48181ce773ef0cdfc972441445c34',1,'post.php']]],
+ ['post_5fpost',['post_post',['../post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75',1,'post.php']]],
+ ['post_5furl',['post_url',['../include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e',1,'network.php']]],
+ ['posted_5fdate_5fwidget',['posted_date_widget',['../items_8php.html#abe695dd89e1e10ed042c26b80114f0ed',1,'items.php']]],
+ ['posted_5fdates',['posted_dates',['../items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0',1,'items.php']]],
+ ['preg_5fheart',['preg_heart',['../text_8php.html#ac19d2b33a58372a357a43d51eed19162',1,'text.php']]],
+ ['prepare_5fbody',['prepare_body',['../text_8php.html#ae4df74296fbe55051ed3c035e55205e5',1,'text.php']]],
+ ['prepare_5fpage',['prepare_page',['../conversation_8php.html#a4b0888b0f26e1c284a4341fe5fd04f0c',1,'conversation.php']]],
+ ['prepare_5ftext',['prepare_text',['../text_8php.html#afe54312607d92f7ce9593f5760831f80',1,'text.php']]],
+ ['pretheme_2ephp',['pretheme.php',['../pretheme_8php.html',1,'']]],
+ ['pretheme_5finit',['pretheme_init',['../pretheme_8php.html#af5660943ee99db5fd75182316522eafe',1,'pretheme.php']]],
+ ['print_5ftemplate',['print_template',['../tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3',1,'tpldebug.php']]],
+ ['printable',['printable',['../dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249',1,'dba_driver.php']]],
+ ['private_5fmessages_5fdrop',['private_messages_drop',['../include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1',1,'message.php']]],
+ ['private_5fmessages_5ffetch_5fconversation',['private_messages_fetch_conversation',['../include_2message_8php.html#a5f8de9847e203329e317ac38dc646898',1,'message.php']]],
+ ['private_5fmessages_5ffetch_5fmessage',['private_messages_fetch_message',['../include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091',1,'message.php']]],
+ ['private_5fmessages_5flist',['private_messages_list',['../include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e',1,'message.php']]],
+ ['probe_2ephp',['probe.php',['../probe_8php.html',1,'']]],
+ ['probe_5fcontent',['probe_content',['../probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99',1,'probe.php']]],
+ ['proc_5frun',['proc_run',['../boot_8php.html#ab346a2ece14993861f3e4206befa94f0',1,'boot.php']]],
+ ['process_5fchannel_5fsync_5fdelivery',['process_channel_sync_delivery',['../zot_8php.html#ac301c67864917c35922257950ae0f95c',1,'zot.php']]],
+ ['process_5fdelivery',['process_delivery',['../zot_8php.html#a37ec13b18057634eadb071f05297f5e1',1,'zot.php']]],
+ ['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_2ephp',['profile.php',['../profile_8php.html',1,'']]],
+ ['profile_5factivity',['profile_activity',['../activities_8php.html#a80134e807719b3c54aba971958d2e132',1,'activities.php']]],
+ ['profile_5fadvanced_2ephp',['profile_advanced.php',['../profile__advanced_8php.html',1,'']]],
+ ['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',['../boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620',1,'boot.php']]],
+ ['profile_5finit',['profile_init',['../profile_8php.html#ab5d0246be0552e2182a585c1206d22a5',1,'profile.php']]],
+ ['profile_5fload',['profile_load',['../boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68',1,'boot.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,'']]],
+ ['profile_5fsidebar',['profile_sidebar',['../boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc',1,'boot.php']]],
+ ['profile_5ftabs',['profile_tabs',['../boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273',1,'boot.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']]],
+ ['protodriver',['ProtoDriver',['../classProtoDriver.html',1,'']]],
+ ['protodriver_2ephp',['ProtoDriver.php',['../ProtoDriver_8php.html',1,'']]],
+ ['public_5fpermissions_5fsql',['public_permissions_sql',['../security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01',1,'security.php']]],
+ ['public_5frecips',['public_recips',['../zot_8php.html#a083aec6c900d244e1bfc1406f9461465',1,'zot.php']]],
+ ['pubsites_2ephp',['pubsites.php',['../pubsites_8php.html',1,'']]],
+ ['pubsites_5fcontent',['pubsites_content',['../pubsites_8php.html#af614e279aab54065345bda6b03eafdf0',1,'pubsites.php']]],
+ ['purify_5fhtml',['purify_html',['../text_8php.html#a4841df5beabdd1bdd1ed56781a915d61',1,'text.php']]],
+ ['push_5flang',['push_lang',['../language_8php.html#ac9142ef1d01a235c760deb0f16643f5a',1,'language.php']]]
+];
diff --git a/doc/html/search/all_71.html b/doc/html/search/all_71.html
new file mode 100644
index 000000000..e9d391f66
--- /dev/null
+++ b/doc/html/search/all_71.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_71.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_71.js b/doc/html/search/all_71.js
new file mode 100644
index 000000000..9a1ee9bc1
--- /dev/null
+++ b/doc/html/search/all_71.js
@@ -0,0 +1,11 @@
+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']]],
+ ['quotelevel',['quotelevel',['../html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0',1,'html2plain.php']]]
+];
diff --git a/doc/html/search/all_72.html b/doc/html/search/all_72.html
new file mode 100644
index 000000000..347b9f666
--- /dev/null
+++ b/doc/html/search/all_72.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_72.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_72.js b/doc/html/search/all_72.js
new file mode 100644
index 000000000..258013f98
--- /dev/null
+++ b/doc/html/search/all_72.js
@@ -0,0 +1,68 @@
+var searchData=
+[
+ ['redstrap_20theme',['Redstrap theme',['../md_README.html',1,'']]],
+ ['random_5fprofile',['random_profile',['../Contact_8php.html#a91281b5d4bbbb2ed468e27ec82ca083c',1,'Contact.php']]],
+ ['random_5fstring',['random_string',['../text_8php.html#a9d6a5ee1290de7a8b483fe78585daade',1,'text.php']]],
+ ['random_5fstring_5fhex',['RANDOM_STRING_HEX',['../text_8php.html#aad557c054cf2ed915633701018fc7e3f',1,'text.php']]],
+ ['random_5fstring_5ftext',['RANDOM_STRING_TEXT',['../text_8php.html#a2ffd79c60cc87cec24ef76447b905187',1,'text.php']]],
+ ['randprof_2ephp',['randprof.php',['../randprof_8php.html',1,'']]],
+ ['randprof_5finit',['randprof_init',['../randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090',1,'randprof.php']]],
+ ['rconnect_5furl',['rconnect_url',['../Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91',1,'Contact.php']]],
+ ['rdelim',['rdelim',['../namespacefriendica-to-smarty-tpl.html#a8540514fb7c4aa18ad2dffa2a975036b',1,'friendica-to-smarty-tpl']]],
+ ['readme_2emd',['README.md',['../README_8md.html',1,'']]],
+ ['rebuild_5ftheme_5ftable',['rebuild_theme_table',['../admin_8php.html#ae46311a3fefc21abc838a26e91789de6',1,'admin.php']]],
+ ['red_5fplatform',['RED_PLATFORM',['../boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4',1,'boot.php']]],
+ ['red_5fversion',['RED_VERSION',['../boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3',1,'boot.php']]],
+ ['red_5fzrl_5fcallback',['red_zrl_callback',['../items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b',1,'items.php']]],
+ ['redbasic_5fform',['redbasic_form',['../view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2',1,'redbasic_form(&amp;$a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $displaystyle, $linkcolour, $iconset, $shiny, $colour_scheme, $radius):&#160;config.php'],['../view_2theme_2redstrap_2php_2config_8php.html#af58e97b437c1e98a5e434886494cc70e',1,'redbasic_form(&amp;$a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $displaystyle, $linkcolour, $iconset, $shiny):&#160;config.php']]],
+ ['redbasic_5finit',['redbasic_init',['../redbasic_2php_2theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b',1,'theme.php']]],
+ ['redir_2ephp',['redir.php',['../redir_8php.html',1,'']]],
+ ['redir_5finit',['redir_init',['../redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5',1,'redir.php']]],
+ ['redstrap_5finit',['redstrap_init',['../redstrap_2php_2theme_8php.html#a4dac61d466b4261deca2846f548e484a',1,'theme.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']]],
+ ['ref_5fsession_5fgc',['ref_session_gc',['../session_8php.html#ac95373f4966862a028033dd2f94d4da1',1,'session.php']]],
+ ['ref_5fsession_5fopen',['ref_session_open',['../session_8php.html#a26fa1042356d555023cbf15ddd4f8507',1,'session.php']]],
+ ['ref_5fsession_5fread',['ref_session_read',['../session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e',1,'session.php']]],
+ ['ref_5fsession_5fwrite',['ref_session_write',['../session_8php.html#ac4461c1984543d3553e73dba2771568f',1,'session.php']]],
+ ['register_2ephp',['register.php',['../register_8php.html',1,'']]],
+ ['register_5fapprove',['REGISTER_APPROVE',['../boot_8php.html#a7176c0f9f1c98421b97735d892cf6252',1,'boot.php']]],
+ ['register_5fclosed',['REGISTER_CLOSED',['../boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1',1,'boot.php']]],
+ ['register_5fcontent',['register_content',['../register_8php.html#a0e91f57f111407ea8d3223a05022bb2a',1,'register.php']]],
+ ['register_5fhook',['register_hook',['../plugin_8php.html#a425472c5f3afc137268b2ad45652b209',1,'plugin.php']]],
+ ['register_5finit',['register_init',['../register_8php.html#ae20c0cd40f738d6295de58b9202c83d5',1,'register.php']]],
+ ['register_5fopen',['REGISTER_OPEN',['../boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63',1,'boot.php']]],
+ ['register_5fpost',['register_post',['../register_8php.html#a51731dcc1917c58a790eb1c0f6132271',1,'register.php']]],
+ ['register_5ftemplate_5fengine',['register_template_engine',['../classApp.html#abf46a653d8499e7c253cc1be894a6d83',1,'App']]],
+ ['regmod_2ephp',['regmod.php',['../regmod_8php.html',1,'']]],
+ ['regmod_5fcontent',['regmod_content',['../regmod_8php.html#a7953df4e32e63946565e90cdd5d50409',1,'regmod.php']]],
+ ['relative_5fdate',['relative_date',['../datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82',1,'datetime.php']]],
+ ['reload_5fplugins',['reload_plugins',['../plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025',1,'plugin.php']]],
+ ['reltoabs',['reltoabs',['../text_8php.html#ad855a32bee22c3f3b9734e3a334b96f2',1,'text.php']]],
+ ['remote_5fuser',['remote_user',['../boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209',1,'boot.php']]],
+ ['remove_5fall_5fxchan_5fresources',['remove_all_xchan_resources',['../Contact_8php.html#acc12cda999c88c4d6185cca967c15125',1,'Contact.php']]],
+ ['remove_5fchild',['remove_child',['../classItem.html#a2ce70ef63f9f4d86a09c351678806925',1,'Item']]],
+ ['remove_5fcommunity_5ftag',['remove_community_tag',['../zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10',1,'zot.php']]],
+ ['remove_5fparent',['remove_parent',['../classItem.html#aa452b5bcd8dea12119b09212c615cb41',1,'Item']]],
+ ['remove_5fqueue_5fitem',['remove_queue_item',['../queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24',1,'queue_fn.php']]],
+ ['removeme_2ephp',['removeme.php',['../removeme_8php.html',1,'']]],
+ ['removeme_5fcontent',['removeme_content',['../removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c',1,'removeme.php']]],
+ ['removeme_5fpost',['removeme_post',['../removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88',1,'removeme.php']]],
+ ['render_5flocation_5fdefault',['render_location_default',['../conversation_8php.html#a40b9b5e7825bc73932a32e667f05e6f2',1,'conversation.php']]],
+ ['replace',['replace',['../classTemplate.html#a285b5b2007dbbf733476273df3fed4ef',1,'Template']]],
+ ['replace_5fmacros',['replace_macros',['../classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2',1,'FriendicaSmartyEngine\replace_macros()'],['../interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243',1,'ITemplateEngine\replace_macros()'],['../classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b',1,'Template\replace_macros()'],['../text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09',1,'replace_macros():&#160;text.php']]],
+ ['request_5ftoken_5fduration',['REQUEST_TOKEN_DURATION',['../oauth_8php.html#a7a32a5990f113ac9465b03b29175cf16',1,'oauth.php']]],
+ ['requestdata',['requestdata',['../include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e',1,'api.php']]],
+ ['return_5fbytes',['return_bytes',['../text_8php.html#ae2126da85966da0e79c6bcbac63b0bda',1,'text.php']]],
+ ['rmagic_2ephp',['rmagic.php',['../rmagic_8php.html',1,'']]],
+ ['rmagic_5fcontent',['rmagic_content',['../rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef',1,'rmagic.php']]],
+ ['rmagic_5finit',['rmagic_init',['../rmagic_8php.html#a95455edd43f1bff39446a57388cdde16',1,'rmagic.php']]],
+ ['rmagic_5fpost',['rmagic_post',['../rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f',1,'rmagic.php']]],
+ ['rotate',['rotate',['../classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec',1,'photo_driver\rotate()'],['../classphoto__gd.html#a77f87730b11093b76980c541159df37d',1,'photo_gd\rotate()'],['../classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f',1,'photo_imagick\rotate()']]],
+ ['rsa_5fsign',['rsa_sign',['../crypto_8php.html#a920e5f222d0020f47556033d8b2b6552',1,'crypto.php']]],
+ ['rsa_5fverify',['rsa_verify',['../crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96',1,'crypto.php']]],
+ ['rsd_5fxml_2ephp',['rsd_xml.php',['../rsd__xml_8php.html',1,'']]],
+ ['rsd_5fxml_5fcontent',['rsd_xml_content',['../rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82',1,'rsd_xml.php']]],
+ ['runs',['runs',['../docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec',1,'docblox_errorchecker.php']]]
+];
diff --git a/doc/html/search/all_73.html b/doc/html/search/all_73.html
new file mode 100644
index 000000000..9abac91a9
--- /dev/null
+++ b/doc/html/search/all_73.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_73.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_73.js b/doc/html/search/all_73.js
new file mode 100644
index 000000000..b8c8f7800
--- /dev/null
+++ b/doc/html/search/all_73.js
@@ -0,0 +1,112 @@
+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']]],
+ ['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']]],
+ ['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']]],
+ ['send_5fmessage',['send_message',['../include_2message_8php.html#ac382fdcdf990dcfa8f6528ab8fd280bd',1,'message.php']]],
+ ['send_5freg_5fapproval_5femail',['send_reg_approval_email',['../account_8php.html#a014de2d5d5c9785de5bf547a485822fa',1,'account.php']]],
+ ['send_5fstatus_5fnotifications',['send_status_notifications',['../items_8php.html#aab9e0c58247427126de0699c729c3b6c',1,'items.php']]],
+ ['send_5fverification_5femail',['send_verification_email',['../account_8php.html#aa9c29c497c17d8f9344dce8631ad8761',1,'account.php']]],
+ ['service_5fclass_5fallows',['service_class_allows',['../plugin_8php.html#a030cec6793b909c439c0336ba39b1571',1,'plugin.php']]],
+ ['service_5fclass_5ffetch',['service_class_fetch',['../plugin_8php.html#a905b54e10704b283ac64680a8abc0971',1,'plugin.php']]],
+ ['session_2ephp',['session.php',['../session_8php.html',1,'']]],
+ ['set',['set',['../classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce',1,'Cache']]],
+ ['set_5faccount',['set_account',['../classApp.html#aeb1fe1c8ad9aa639909bd183ce578536',1,'App']]],
+ ['set_5fapp',['set_app',['../classBaseObject.html#a0a9acda12d751692834cf6999f889223',1,'BaseObject']]],
+ ['set_5fapps',['set_apps',['../classApp.html#abea5a4f77dcd53c928dc4eed86616637',1,'App']]],
+ ['set_5fbaseurl',['set_baseurl',['../classApp.html#a78788f6e9d8b713b138f81e457c5cd08',1,'App']]],
+ ['set_5fchannel',['set_channel',['../classApp.html#a89e9feb2bfb5253883a9720beaffe876',1,'App']]],
+ ['set_5fconfig',['set_config',['../include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a',1,'config.php']]],
+ ['set_5fconversation',['set_conversation',['../classItem.html#aa8b1bbc4236890694635295e46d7fd72',1,'Item']]],
+ ['set_5fcurl_5fcode',['set_curl_code',['../classApp.html#a5e6a6bd641e4d9909df56f0283c03821',1,'App']]],
+ ['set_5fcurl_5fheaders',['set_curl_headers',['../classApp.html#a9632092d9e8fdaa82a9fc4586433fd31',1,'App']]],
+ ['set_5fdefault_5flogin_5fidentity',['set_default_login_identity',['../identity_8php.html#a78151baf4407a8482d2681a91a9c486b',1,'identity.php']]],
+ ['set_5fgroups',['set_groups',['../classApp.html#a3d84af5e42082098672531cd1a618853',1,'App']]],
+ ['set_5fhostname',['set_hostname',['../classApp.html#a344d2b7dc2f276648d521aee4da1731c',1,'App']]],
+ ['set_5fmode',['set_mode',['../classConversation.html#a66f121ca4026246f86a732e5faa0682c',1,'Conversation']]],
+ ['set_5fobserver',['set_observer',['../classApp.html#a4776d9322edea17fae56afa5d01a323e',1,'App']]],
+ ['set_5fpager_5fitemspage',['set_pager_itemspage',['../classApp.html#a4bdd7bfed62f50515fce652127bf481b',1,'App']]],
+ ['set_5fpager_5ftotal',['set_pager_total',['../classApp.html#a560189f048d3db2f526841963cc43e97',1,'App']]],
+ ['set_5fparent',['set_parent',['../classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7',1,'Item']]],
+ ['set_5fpath',['set_path',['../classApp.html#adb060d5c7f35a521ec7ec0effbe08097',1,'App']]],
+ ['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_5fengine',['set_template_engine',['../classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7',1,'App']]],
+ ['set_5fwidget',['set_widget',['../classApp.html#a123b903dfe5d3488cc68db3471d36fd2',1,'App']]],
+ ['set_5fxconfig',['set_xconfig',['../include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e',1,'config.php']]],
+ ['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()']]],
+ ['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,'']]],
+ ['setup_5fcontent',['setup_content',['../setup_8php.html#a88247384a96e14516f474d7af6a465c1',1,'setup.php']]],
+ ['setup_5finit',['setup_init',['../setup_8php.html#a267555abd17290e659b4bf44b885e4e0',1,'setup.php']]],
+ ['setup_5fpost',['setup_post',['../setup_8php.html#a13cf286774149a0a7bd8adb8179cec75',1,'setup.php']]],
+ ['sexpref_5fselector',['sexpref_selector',['../profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7',1,'profile_selectors.php']]],
+ ['share_2ephp',['share.php',['../share_8php.html',1,'']]],
+ ['share_5finit',['share_init',['../share_8php.html#afeb26046bdd02567ecd29ab5f188b249',1,'share.php']]],
+ ['showform',['showForm',['../fpostit_8php.html#a3f3ae3ae61578b5671673914fd894443',1,'fpostit.php']]],
+ ['site_5fdefault_5fperms',['site_default_perms',['../permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d',1,'permissions.php']]],
+ ['siteinfo_2ephp',['siteinfo.php',['../siteinfo_8php.html',1,'']]],
+ ['siteinfo_5fcontent',['siteinfo_content',['../siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656',1,'siteinfo.php']]],
+ ['siteinfo_5finit',['siteinfo_init',['../siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0',1,'siteinfo.php']]],
+ ['sitelist_2ephp',['sitelist.php',['../sitelist_8php.html',1,'']]],
+ ['sitelist_5finit',['sitelist_init',['../sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1',1,'sitelist.php']]],
+ ['smile_5fdecode',['smile_decode',['../text_8php.html#aca0f589be74fab1a460c57e88dad9779',1,'text.php']]],
+ ['smile_5fencode',['smile_encode',['../text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6',1,'text.php']]],
+ ['smilies',['smilies',['../text_8php.html#a3d225b253bb9e0f2498c11647d927b0b',1,'text.php']]],
+ ['smilies_2ephp',['smilies.php',['../smilies_8php.html',1,'']]],
+ ['smilies_5fcontent',['smilies_content',['../smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f',1,'smilies.php']]],
+ ['socgraph_2ephp',['socgraph.php',['../socgraph_8php.html',1,'']]],
+ ['sort_5fby_5fdate',['sort_by_date',['../event_8php.html#a018ea4484910a873a7c1eaa126de9b1a',1,'event.php']]],
+ ['sort_5fitem_5fchildren',['sort_item_children',['../conversation_8php.html#ae996eb116d397a2c6396c312d7b98664',1,'conversation.php']]],
+ ['sort_5fthr_5fcommented',['sort_thr_commented',['../conversation_8php.html#a9f909b8885259b79c6ac8da93afd8f11',1,'conversation.php']]],
+ ['sort_5fthr_5fcreated',['sort_thr_created',['../conversation_8php.html#ac55e070f65f46fcc8e269f7896be4c7d',1,'conversation.php']]],
+ ['sort_5fthr_5fcreated_5frev',['sort_thr_created_rev',['../conversation_8php.html#a9cc2a679606da9e535a06433f9f553a0',1,'conversation.php']]],
+ ['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']]],
+ ['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']]],
+ ['status_5feditor',['status_editor',['../conversation_8php.html#a2a7d541854bba755eb8ada59af7dcb1a',1,'conversation.php']]],
+ ['store',['store',['../classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b',1,'photo_driver']]],
+ ['store_5fitem_5ftag',['store_item_tag',['../taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd',1,'taxonomy.php']]],
+ ['stream_5fperms_5fapi_5fuids',['stream_perms_api_uids',['../security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809',1,'security.php']]],
+ ['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',['../redstrap_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']]],
+ ['supportedtypes',['supportedTypes',['../classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da',1,'photo_driver\supportedTypes()'],['../classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd',1,'photo_gd\supportedTypes()'],['../classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7',1,'photo_imagick\supportedTypes()']]],
+ ['sync_5fdirectories',['sync_directories',['../dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6',1,'dir_fns.php']]],
+ ['syncdirs',['syncdirs',['../dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a',1,'dir_fns.php']]],
+ ['system_5fdown',['system_down',['../system__unavailable_8php.html#a73751a6bcc17ad3ca503496e2fb020fa',1,'system_unavailable.php']]],
+ ['system_5funavailable',['system_unavailable',['../boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0',1,'boot.php']]],
+ ['system_5funavailable_2ephp',['system_unavailable.php',['../system__unavailable_8php.html',1,'']]]
+];
diff --git a/doc/html/search/all_74.html b/doc/html/search/all_74.html
new file mode 100644
index 000000000..c646aeffc
--- /dev/null
+++ b/doc/html/search/all_74.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_74.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_74.js b/doc/html/search/all_74.js
new file mode 100644
index 000000000..220469521
--- /dev/null
+++ b/doc/html/search/all_74.js
@@ -0,0 +1,61 @@
+var searchData=
+[
+ ['t',['t',['../language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04',1,'language.php']]],
+ ['tag_5fdeliver',['tag_deliver',['../items_8php.html#ab1bce4261bcf75ad62753b498a144d17',1,'items.php']]],
+ ['tagadelic',['tagadelic',['../taxonomy_8php.html#a061b3db9426d4b074395f5824062cad4',1,'taxonomy.php']]],
+ ['tagblock',['tagblock',['../taxonomy_8php.html#abdb698bc6921429df6d697f6c5dec96f',1,'taxonomy.php']]],
+ ['tagger_2ephp',['tagger.php',['../tagger_8php.html',1,'']]],
+ ['tagger_5fcontent',['tagger_content',['../tagger_8php.html#a0e4a3eb177d1684553c547503d67161c',1,'tagger.php']]],
+ ['tagrm_2ephp',['tagrm.php',['../tagrm_8php.html',1,'']]],
+ ['tagrm_5fcontent',['tagrm_content',['../tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a',1,'tagrm.php']]],
+ ['tagrm_5fpost',['tagrm_post',['../tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78',1,'tagrm.php']]],
+ ['tags_5fsort',['tags_sort',['../taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43',1,'taxonomy.php']]],
+ ['taxonomy_2ephp',['taxonomy.php',['../taxonomy_8php.html',1,'']]],
+ ['template',['Template',['../classTemplate.html',1,'']]],
+ ['template_5fengine',['template_engine',['../classApp.html#a94a1ed2dc493c58612d17035b74ae736',1,'App']]],
+ ['template_5fescape',['template_escape',['../template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5',1,'template_processor.php']]],
+ ['template_5fprocessor_2ephp',['template_processor.php',['../template__processor_8php.html',1,'']]],
+ ['template_5funescape',['template_unescape',['../template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e',1,'template_processor.php']]],
+ ['term_5fcategory',['TERM_CATEGORY',['../boot_8php.html#af33d1b2e98a1e21af672005525d46dfe',1,'boot.php']]],
+ ['term_5ffile',['TERM_FILE',['../boot_8php.html#afb97615e985a013799839b68b99018d7',1,'boot.php']]],
+ ['term_5fhashtag',['TERM_HASHTAG',['../boot_8php.html#a2750985ec445617d7e82ae3098c91e3f',1,'boot.php']]],
+ ['term_5fmention',['TERM_MENTION',['../boot_8php.html#ae37444eaa42705185080ccf3e670cbc2',1,'boot.php']]],
+ ['term_5fobj_5fchannel',['TERM_OBJ_CHANNEL',['../boot_8php.html#a8892374789fd261eb32a7969d934a14a',1,'boot.php']]],
+ ['term_5fobj_5fobject',['TERM_OBJ_OBJECT',['../boot_8php.html#a882b666adfe21f035a0f8c02806066d6',1,'boot.php']]],
+ ['term_5fobj_5fphoto',['TERM_OBJ_PHOTO',['../boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd',1,'boot.php']]],
+ ['term_5fobj_5fpost',['TERM_OBJ_POST',['../boot_8php.html#a9eeb8989272d5ff804a616898bb13659',1,'boot.php']]],
+ ['term_5fobj_5fprofile',['TERM_OBJ_PROFILE',['../boot_8php.html#aead84fa27d7516b855220fe004964a45',1,'boot.php']]],
+ ['term_5fobj_5fthing',['TERM_OBJ_THING',['../boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe',1,'boot.php']]],
+ ['term_5fpcategory',['TERM_PCATEGORY',['../boot_8php.html#a45b12aefab9675baffc7a07a09486db8',1,'boot.php']]],
+ ['term_5fquery',['term_query',['../taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c',1,'taxonomy.php']]],
+ ['term_5fsavedsearch',['TERM_SAVEDSEARCH',['../boot_8php.html#abd7bb40da9cc073297e49736b338ca07',1,'boot.php']]],
+ ['term_5fthing',['TERM_THING',['../boot_8php.html#a0d877df1e20bae765e1708be50f6b503',1,'boot.php']]],
+ ['term_5funknown',['TERM_UNKNOWN',['../boot_8php.html#a0c59dde058efebbc66520d136cbd1631',1,'boot.php']]],
+ ['terminate_5ffriendship',['terminate_friendship',['../Contact_8php.html#a38daa1c210b78385307123450ca9a1fc',1,'Contact.php']]],
+ ['termtype',['termtype',['../items_8php.html#ad34827ed330898456783fb14c7b46154',1,'items.php']]],
+ ['text_2ephp',['text.php',['../text_8php.html',1,'']]],
+ ['tgroup_5fcheck',['tgroup_check',['../items_8php.html#a88c6cf7649ac836fbbed82a7a0315110',1,'items.php']]],
+ ['theme_2ephp',['theme.php',['../redbasic_2php_2theme_8php.html',1,'']]],
+ ['theme_2ephp',['theme.php',['../redstrap_2php_2theme_8php.html',1,'']]],
+ ['theme_5fcontent',['theme_content',['../view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php'],['../view_2theme_2redstrap_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php']]],
+ ['theme_5finclude',['theme_include',['../plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2',1,'plugin.php']]],
+ ['theme_5finit_2ephp',['theme_init.php',['../php_2theme__init_8php.html',1,'']]],
+ ['theme_5finit_2ephp',['theme_init.php',['../theme_2redstrap_2php_2theme__init_8php.html',1,'']]],
+ ['theme_5fpost',['theme_post',['../view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php'],['../view_2theme_2redstrap_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php']]],
+ ['theme_5fstatus',['theme_status',['../admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4',1,'admin.php']]],
+ ['thing_2ephp',['thing.php',['../thing_8php.html',1,'']]],
+ ['thing_5fcontent',['thing_content',['../thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b',1,'thing.php']]],
+ ['thing_5finit',['thing_init',['../thing_8php.html#a8be23b1d475ec3d9291999221c674c80',1,'thing.php']]],
+ ['timesel',['timesel',['../datetime_8php.html#a36d3d6dff8d76b5f295bb3d9c535a5b1',1,'datetime.php']]],
+ ['timezone_5fcmp',['timezone_cmp',['../datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865',1,'datetime.php']]],
+ ['title_5fis_5fbody',['title_is_body',['../items_8php.html#aa371905f0a211b307cb3f7188c6cba04',1,'items.php']]],
+ ['toggle_5fmobile_2ephp',['toggle_mobile.php',['../toggle__mobile_8php.html',1,'']]],
+ ['toggle_5fmobile_5finit',['toggle_mobile_init',['../toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254',1,'toggle_mobile.php']]],
+ ['toggle_5ftheme',['toggle_theme',['../admin_8php.html#af81f081851791cd15e49e8ff6722dc27',1,'admin.php']]],
+ ['tpldebug_2ephp',['tpldebug.php',['../tpldebug_8php.html',1,'']]],
+ ['tplpaths',['tplpaths',['../namespaceupdatetpl.html#a52a85ffa6b6d63d840b185a133478c12',1,'updatetpl']]],
+ ['tryoembed',['tryoembed',['../bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7',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.html b/doc/html/search/all_75.html
new file mode 100644
index 000000000..550133a97
--- /dev/null
+++ b/doc/html/search/all_75.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_75.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_75.js b/doc/html/search/all_75.js
new file mode 100644
index 000000000..19215dc42
--- /dev/null
+++ b/doc/html/search/all_75.js
@@ -0,0 +1,37 @@
+var searchData=
+[
+ ['uexport_2ephp',['uexport.php',['../uexport_8php.html',1,'']]],
+ ['uexport_5finit',['uexport_init',['../uexport_8php.html#a118920137dedebe0581623a2e57e7b0d',1,'uexport.php']]],
+ ['unamp',['unamp',['../text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7',1,'text.php']]],
+ ['undo_5fpost_5ftagging',['undo_post_tagging',['../text_8php.html#a740ad03e00459039a2c0992246c4e727',1,'text.php']]],
+ ['unescape_5funderscores_5fin_5flinks',['unescape_underscores_in_links',['../bb2diaspora_8php.html#a599428bceb6f6d82a6a78cb66811f747',1,'bb2diaspora.php']]],
+ ['uninstall_5fplugin',['uninstall_plugin',['../plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76',1,'plugin.php']]],
+ ['unload_5fplugin',['unload_plugin',['../plugin_8php.html#a90538627db68605aeb6db17a8ead6523',1,'plugin.php']]],
+ ['unregister_5fhook',['unregister_hook',['../plugin_8php.html#a56f71fe5adf9586ce950523d8180443e',1,'plugin.php']]],
+ ['unxmlify',['unxmlify',['../text_8php.html#a1360fed7f918d859daaca1c9f384f9af',1,'text.php']]],
+ ['update_5fchannel_2ephp',['update_channel.php',['../update__channel_8php.html',1,'']]],
+ ['update_5fchannel_5fcontent',['update_channel_content',['../update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba',1,'update_channel.php']]],
+ ['update_5fcommunity_2ephp',['update_community.php',['../update__community_8php.html',1,'']]],
+ ['update_5fcommunity_5fcontent',['update_community_content',['../update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1',1,'update_community.php']]],
+ ['update_5fdisplay_2ephp',['update_display.php',['../update__display_8php.html',1,'']]],
+ ['update_5fdisplay_5fcontent',['update_display_content',['../update__display_8php.html#aa36ac524059e209d5d75a03c16206246',1,'update_display.php']]],
+ ['update_5ffailed',['UPDATE_FAILED',['../boot_8php.html#a75fc600186b13c3b25e661afefb5eac8',1,'boot.php']]],
+ ['update_5fimported_5fitem',['update_imported_item',['../zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df',1,'zot.php']]],
+ ['update_5fmodtime',['update_modtime',['../zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63',1,'zot.php']]],
+ ['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_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']]],
+ ['update_5fsuggestions',['update_suggestions',['../socgraph_8php.html#a790690bb1a1d02483fe31632a160144d',1,'socgraph.php']]],
+ ['updatetpl',['updatetpl',['../namespaceupdatetpl.html',1,'']]],
+ ['updatetpl_2epy',['updatetpl.py',['../updatetpl_8py.html',1,'']]],
+ ['upgrade_5fbool_5fmessage',['upgrade_bool_message',['../plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d',1,'plugin.php']]],
+ ['upgrade_5flink',['upgrade_link',['../plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040',1,'plugin.php']]],
+ ['upgrade_5fmessage',['upgrade_message',['../plugin_8php.html#a901657dd078e070516cf97285e0bada7',1,'plugin.php']]],
+ ['user_5fallow',['user_allow',['../account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1',1,'account.php']]],
+ ['user_5fdeny',['user_deny',['../account_8php.html#ac1653efba62493b9d87513e1b6c04c83',1,'account.php']]],
+ ['user_5fremove',['user_remove',['../Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15',1,'Contact.php']]],
+ ['util',['util',['../namespaceutil.html',1,'']]]
+];
diff --git a/doc/html/search/all_76.html b/doc/html/search/all_76.html
new file mode 100644
index 000000000..50b86daa0
--- /dev/null
+++ b/doc/html/search/all_76.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_76.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_76.js b/doc/html/search/all_76.js
new file mode 100644
index 000000000..a91749bcf
--- /dev/null
+++ b/doc/html/search/all_76.js
@@ -0,0 +1,22 @@
+var searchData=
+[
+ ['valid_5femail',['valid_email',['../text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb',1,'text.php']]],
+ ['validate_5fchannelname',['validate_channelname',['../identity_8php.html#af2802bc13a00a17b867bba7978ba8f58',1,'identity.php']]],
+ ['validate_5femail',['validate_email',['../include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02',1,'network.php']]],
+ ['validate_5furl',['validate_url',['../include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2',1,'network.php']]],
+ ['var_5freplace',['var_replace',['../classTemplate.html#abbc484016ddf5d818f55b823cae6feb0',1,'Template']]],
+ ['vcard_5ffrom_5fxchan',['vcard_from_xchan',['../Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960',1,'Contact.php']]],
+ ['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,'']]],
+ ['viewsrc_5fcontent',['viewsrc_content',['../viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4',1,'viewsrc.php']]],
+ ['visible_5factivity',['visible_activity',['../conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3',1,'conversation.php']]],
+ ['vote_2ephp',['vote.php',['../vote_8php.html',1,'']]],
+ ['vote_5fcontent',['vote_content',['../vote_8php.html#a6aa67489bf458ca5e3206e46dac68596',1,'vote.php']]],
+ ['vote_5finit',['vote_init',['../vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2',1,'vote.php']]],
+ ['vote_5fpost',['vote_post',['../vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2',1,'vote.php']]]
+];
diff --git a/doc/html/search/all_77.html b/doc/html/search/all_77.html
new file mode 100644
index 000000000..55d714292
--- /dev/null
+++ b/doc/html/search/all_77.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_77.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_77.js b/doc/html/search/all_77.js
new file mode 100644
index 000000000..7e76e44f1
--- /dev/null
+++ b/doc/html/search/all_77.js
@@ -0,0 +1,19 @@
+var searchData=
+[
+ ['wall_5fattach_2ephp',['wall_attach.php',['../wall__attach_8php.html',1,'']]],
+ ['wall_5fattach_5fpost',['wall_attach_post',['../wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653',1,'wall_attach.php']]],
+ ['wall_5fupload_2ephp',['wall_upload.php',['../wall__upload_8php.html',1,'']]],
+ ['wall_5fupload_5fpost',['wall_upload_post',['../wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f',1,'wall_upload.php']]],
+ ['webfinger',['webfinger',['../include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5',1,'network.php']]],
+ ['webfinger_2ephp',['webfinger.php',['../webfinger_8php.html',1,'']]],
+ ['webfinger_5fcontent',['webfinger_content',['../webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3',1,'webfinger.php']]],
+ ['webfinger_5fdfrn',['webfinger_dfrn',['../include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335',1,'network.php']]],
+ ['webpages_2ephp',['webpages.php',['../webpages_8php.html',1,'']]],
+ ['webpages_5fcontent',['webpages_content',['../webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d',1,'webpages.php']]],
+ ['wfinger_2ephp',['wfinger.php',['../wfinger_8php.html',1,'']]],
+ ['wfinger_5finit',['wfinger_init',['../wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3',1,'wfinger.php']]],
+ ['what_5fnext',['what_next',['../setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58',1,'setup.php']]],
+ ['while',['while',['../docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d',1,'docblox_errorchecker.php']]],
+ ['widget_5fprofile',['widget_profile',['../comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923',1,'comanche.php']]],
+ ['writepages_5fwidget',['writepages_widget',['../page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f',1,'page_widgets.php']]]
+];
diff --git a/doc/html/search/all_78.html b/doc/html/search/all_78.html
new file mode 100644
index 000000000..39075d44e
--- /dev/null
+++ b/doc/html/search/all_78.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_78.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_78.js b/doc/html/search/all_78.js
new file mode 100644
index 000000000..a87d8e871
--- /dev/null
+++ b/doc/html/search/all_78.js
@@ -0,0 +1,15 @@
+var searchData=
+[
+ ['x',['x',['../boot_8php.html#a01353c9abebc3544ea080ac161729632',1,'boot.php']]],
+ ['xchan_2ephp',['xchan.php',['../xchan_8php.html',1,'']]],
+ ['xchan_5fcontent',['xchan_content',['../xchan_8php.html#a9853348bf1a35c644460221ba75edc2d',1,'xchan.php']]],
+ ['xchan_5fflags_5fhidden',['XCHAN_FLAGS_HIDDEN',['../boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2',1,'boot.php']]],
+ ['xchan_5fflags_5forphan',['XCHAN_FLAGS_ORPHAN',['../boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f',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']]],
+ ['xml_5fstatus',['xml_status',['../include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6',1,'network.php']]],
+ ['xmlify',['xmlify',['../text_8php.html#aaed4413ed8918838b517e3b2fafaea0d',1,'text.php']]],
+ ['xrd_2ephp',['xrd.php',['../xrd_8php.html',1,'']]],
+ ['xrd_5finit',['xrd_init',['../xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270',1,'xrd.php']]]
+];
diff --git a/doc/html/search/all_7a.html b/doc/html/search/all_7a.html
new file mode 100644
index 000000000..5d99ff761
--- /dev/null
+++ b/doc/html/search/all_7a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_7a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/all_7a.js b/doc/html/search/all_7a.js
new file mode 100644
index 000000000..f8fd43e4a
--- /dev/null
+++ b/doc/html/search/all_7a.js
@@ -0,0 +1,38 @@
+var searchData=
+[
+ ['z_5fbirthday',['z_birthday',['../boot_8php.html#ab55e545b72ec8c097e052ea7d373491f',1,'boot.php']]],
+ ['z_5ffetch_5furl',['z_fetch_url',['../include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37',1,'network.php']]],
+ ['z_5finput_5ffilter',['z_input_filter',['../text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f',1,'text.php']]],
+ ['z_5fmime_5fcontent_5ftype',['z_mime_content_type',['../include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a',1,'attach.php']]],
+ ['z_5fpath',['z_path',['../boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda',1,'boot.php']]],
+ ['z_5fpost_5furl',['z_post_url',['../include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc',1,'network.php']]],
+ ['z_5freaddir',['z_readdir',['../include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909',1,'attach.php']]],
+ ['z_5froot',['z_root',['../boot_8php.html#add517a0958ac684792c62142a3877f81',1,'boot.php']]],
+ ['zcurl_5ftimeout',['ZCURL_TIMEOUT',['../boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af',1,'boot.php']]],
+ ['zfinger_2ephp',['zfinger.php',['../zfinger_8php.html',1,'']]],
+ ['zfinger_5finit',['zfinger_init',['../zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0',1,'zfinger.php']]],
+ ['zid',['zid',['../boot_8php.html#a5b815330f3d177ab383af37a6c12e532',1,'boot.php']]],
+ ['zid_5finit',['zid_init',['../boot_8php.html#a680fbafc2db023c5b1309e0180e81315',1,'boot.php']]],
+ ['zidify_5fcallback',['zidify_callback',['../text_8php.html#a405afe814a23f3bd94d826101aa168ab',1,'text.php']]],
+ ['zidify_5fimg_5fcallback',['zidify_img_callback',['../text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4',1,'text.php']]],
+ ['zidify_5flinks',['zidify_links',['../text_8php.html#a29988052f3944111def3b6aaf2c7a8f6',1,'text.php']]],
+ ['zot_2ephp',['zot.php',['../zot_8php.html',1,'']]],
+ ['zot_5fbuild_5fpacket',['zot_build_packet',['../zot_8php.html#a3862b3161b2c8557dc1a95020179bd81',1,'zot.php']]],
+ ['zot_5ffeed',['zot_feed',['../items_8php.html#a004e89d86b0f29b2c4da20108ecc4091',1,'items.php']]],
+ ['zot_5ffetch',['zot_fetch',['../zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea',1,'zot.php']]],
+ ['zot_5ffinger',['zot_finger',['../zot_8php.html#a77720d6b59894e9b609af89c310c8a4d',1,'zot.php']]],
+ ['zot_5fget_5fhubloc',['zot_get_hubloc',['../zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e',1,'zot.php']]],
+ ['zot_5fgethub',['zot_gethub',['../zot_8php.html#a55056e863a7860bc0cf922e78fcce073',1,'zot.php']]],
+ ['zot_5fimport',['zot_import',['../zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c',1,'zot.php']]],
+ ['zot_5fnew_5fuid',['zot_new_uid',['../zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7',1,'zot.php']]],
+ ['zot_5fprocess_5fresponse',['zot_process_response',['../zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03',1,'zot.php']]],
+ ['zot_5frefresh',['zot_refresh',['../zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d',1,'zot.php']]],
+ ['zot_5fregister_5fhub',['zot_register_hub',['../zot_8php.html#a5bcdfef419b16075a0eca990956223dc',1,'zot.php']]],
+ ['zot_5frevision',['ZOT_REVISION',['../boot_8php.html#a36b31575f992a10b5927b76efba9362e',1,'boot.php']]],
+ ['zot_5fzot',['zot_zot',['../zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142',1,'zot.php']]],
+ ['zotdriver',['ZotDriver',['../classZotDriver.html',1,'']]],
+ ['zotfeed_2ephp',['zotfeed.php',['../zotfeed_8php.html',1,'']]],
+ ['zotfeed_5finit',['zotfeed_init',['../zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac',1,'zotfeed.php']]],
+ ['zping_2ephp',['zping.php',['../zping_8php.html',1,'']]],
+ ['zping_5fcontent',['zping_content',['../zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75',1,'zping.php']]]
+];
diff --git a/doc/html/search/classes_61.html b/doc/html/search/classes_61.html
new file mode 100644
index 000000000..a4c07d590
--- /dev/null
+++ b/doc/html/search/classes_61.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_61.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/classes_61.js b/doc/html/search/classes_61.js
new file mode 100644
index 000000000..9703f2f97
--- /dev/null
+++ b/doc/html/search/classes_61.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['app',['App',['../classApp.html',1,'']]]
+];
diff --git a/doc/html/search/classes_62.html b/doc/html/search/classes_62.html
new file mode 100644
index 000000000..04a59d2ef
--- /dev/null
+++ b/doc/html/search/classes_62.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_62.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/classes_62.js b/doc/html/search/classes_62.js
new file mode 100644
index 000000000..1aa035405
--- /dev/null
+++ b/doc/html/search/classes_62.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['baseobject',['BaseObject',['../classBaseObject.html',1,'']]]
+];
diff --git a/doc/html/search/classes_63.html b/doc/html/search/classes_63.html
new file mode 100644
index 000000000..def37a7e1
--- /dev/null
+++ b/doc/html/search/classes_63.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_63.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/classes_63.js b/doc/html/search/classes_63.js
new file mode 100644
index 000000000..56b080754
--- /dev/null
+++ b/doc/html/search/classes_63.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['cache',['Cache',['../classCache.html',1,'']]],
+ ['conversation',['Conversation',['../classConversation.html',1,'']]]
+];
diff --git a/doc/html/search/classes_64.html b/doc/html/search/classes_64.html
new file mode 100644
index 000000000..4092564e3
--- /dev/null
+++ b/doc/html/search/classes_64.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_64.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/classes_64.js b/doc/html/search/classes_64.js
new file mode 100644
index 000000000..c52174855
--- /dev/null
+++ b/doc/html/search/classes_64.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['dba_5fdriver',['dba_driver',['../classdba__driver.html',1,'']]],
+ ['dba_5fmysql',['dba_mysql',['../classdba__mysql.html',1,'']]],
+ ['dba_5fmysqli',['dba_mysqli',['../classdba__mysqli.html',1,'']]]
+];
diff --git a/doc/html/search/classes_65.html b/doc/html/search/classes_65.html
new file mode 100644
index 000000000..4f441f9de
--- /dev/null
+++ b/doc/html/search/classes_65.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_65.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/classes_65.js b/doc/html/search/classes_65.js
new file mode 100644
index 000000000..ad80724c8
--- /dev/null
+++ b/doc/html/search/classes_65.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['enotify',['enotify',['../classenotify.html',1,'']]]
+];
diff --git a/doc/html/search/classes_66.html b/doc/html/search/classes_66.html
new file mode 100644
index 000000000..b83e5933f
--- /dev/null
+++ b/doc/html/search/classes_66.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_66.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/classes_66.js b/doc/html/search/classes_66.js
new file mode 100644
index 000000000..b7fd611b8
--- /dev/null
+++ b/doc/html/search/classes_66.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['fkoauth1',['FKOAuth1',['../classFKOAuth1.html',1,'']]],
+ ['fkoauthdatastore',['FKOAuthDataStore',['../classFKOAuthDataStore.html',1,'']]],
+ ['friendicasmarty',['FriendicaSmarty',['../classFriendicaSmarty.html',1,'']]],
+ ['friendicasmartyengine',['FriendicaSmartyEngine',['../classFriendicaSmartyEngine.html',1,'']]]
+];
diff --git a/doc/html/search/classes_69.html b/doc/html/search/classes_69.html
new file mode 100644
index 000000000..7a0d01368
--- /dev/null
+++ b/doc/html/search/classes_69.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_69.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/classes_69.js b/doc/html/search/classes_69.js
new file mode 100644
index 000000000..b0394186f
--- /dev/null
+++ b/doc/html/search/classes_69.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['item',['Item',['../classItem.html',1,'']]],
+ ['itemplateengine',['ITemplateEngine',['../interfaceITemplateEngine.html',1,'']]]
+];
diff --git a/doc/html/search/classes_70.html b/doc/html/search/classes_70.html
new file mode 100644
index 000000000..7c5b3e595
--- /dev/null
+++ b/doc/html/search/classes_70.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_70.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/classes_70.js b/doc/html/search/classes_70.js
new file mode 100644
index 000000000..f59cd1115
--- /dev/null
+++ b/doc/html/search/classes_70.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['photo_5fdriver',['photo_driver',['../classphoto__driver.html',1,'']]],
+ ['photo_5fgd',['photo_gd',['../classphoto__gd.html',1,'']]],
+ ['photo_5fimagick',['photo_imagick',['../classphoto__imagick.html',1,'']]],
+ ['protodriver',['ProtoDriver',['../classProtoDriver.html',1,'']]]
+];
diff --git a/doc/html/search/classes_74.html b/doc/html/search/classes_74.html
new file mode 100644
index 000000000..4b0fdaa16
--- /dev/null
+++ b/doc/html/search/classes_74.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_74.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/classes_74.js b/doc/html/search/classes_74.js
new file mode 100644
index 000000000..a8854d502
--- /dev/null
+++ b/doc/html/search/classes_74.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['template',['Template',['../classTemplate.html',1,'']]]
+];
diff --git a/doc/html/search/classes_7a.html b/doc/html/search/classes_7a.html
new file mode 100644
index 000000000..d9534cdbc
--- /dev/null
+++ b/doc/html/search/classes_7a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_7a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/classes_7a.js b/doc/html/search/classes_7a.js
new file mode 100644
index 000000000..1b4744a16
--- /dev/null
+++ b/doc/html/search/classes_7a.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['zotdriver',['ZotDriver',['../classZotDriver.html',1,'']]]
+];
diff --git a/doc/html/search/close.png b/doc/html/search/close.png
new file mode 100644
index 000000000..9342d3dfe
--- /dev/null
+++ b/doc/html/search/close.png
Binary files differ
diff --git a/doc/html/search/files_5f.html b/doc/html/search/files_5f.html
new file mode 100644
index 000000000..b6c444603
--- /dev/null
+++ b/doc/html/search/files_5f.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_5f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_5f.js b/doc/html/search/files_5f.js
new file mode 100644
index 000000000..2dbe8fc3a
--- /dev/null
+++ b/doc/html/search/files_5f.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['_5fwell_5fknown_2ephp',['_well_known.php',['../__well__known_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_61.html b/doc/html/search/files_61.html
new file mode 100644
index 000000000..0aa6beb10
--- /dev/null
+++ b/doc/html/search/files_61.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_61.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_61.js b/doc/html/search/files_61.js
new file mode 100644
index 000000000..6ad1b427b
--- /dev/null
+++ b/doc/html/search/files_61.js
@@ -0,0 +1,15 @@
+var searchData=
+[
+ ['account_2ephp',['account.php',['../account_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,'']]],
+ ['auth_2ephp',['auth.php',['../auth_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_62.html b/doc/html/search/files_62.html
new file mode 100644
index 000000000..86dfe39e6
--- /dev/null
+++ b/doc/html/search/files_62.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_62.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_62.js b/doc/html/search/files_62.js
new file mode 100644
index 000000000..693ae9abd
--- /dev/null
+++ b/doc/html/search/files_62.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['baseobject_2ephp',['BaseObject.php',['../BaseObject_8php.html',1,'']]],
+ ['bb2diaspora_2ephp',['bb2diaspora.php',['../bb2diaspora_8php.html',1,'']]],
+ ['bbcode_2ephp',['bbcode.php',['../bbcode_8php.html',1,'']]],
+ ['blocks_2ephp',['blocks.php',['../blocks_8php.html',1,'']]],
+ ['boot_2ephp',['boot.php',['../boot_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_63.html b/doc/html/search/files_63.html
new file mode 100644
index 000000000..788d523a8
--- /dev/null
+++ b/doc/html/search/files_63.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_63.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_63.js b/doc/html/search/files_63.js
new file mode 100644
index 000000000..284cdea03
--- /dev/null
+++ b/doc/html/search/files_63.js
@@ -0,0 +1,27 @@
+var searchData=
+[
+ ['cache_2ephp',['cache.php',['../cache_8php.html',1,'']]],
+ ['chanman_2ephp',['chanman.php',['../chanman_8php.html',1,'']]],
+ ['channel_2ephp',['channel.php',['../channel_8php.html',1,'']]],
+ ['chanview_2ephp',['chanview.php',['../chanview_8php.html',1,'']]],
+ ['cli_5fstartup_2ephp',['cli_startup.php',['../cli__startup_8php.html',1,'']]],
+ ['cli_5fsuggest_2ephp',['cli_suggest.php',['../cli__suggest_8php.html',1,'']]],
+ ['comanche_2ephp',['comanche.php',['../comanche_8php.html',1,'']]],
+ ['common_2ephp',['common.php',['../common_8php.html',1,'']]],
+ ['community_2ephp',['community.php',['../community_8php.html',1,'']]],
+ ['config_2emd',['config.md',['../config_8md.html',1,'']]],
+ ['config_2ephp',['config.php',['../include_2config_8php.html',1,'']]],
+ ['config_2ephp',['config.php',['../view_2theme_2redbasic_2php_2config_8php.html',1,'']]],
+ ['config_2ephp',['config.php',['../view_2theme_2redstrap_2php_2config_8php.html',1,'']]],
+ ['connect_2ephp',['connect.php',['../connect_8php.html',1,'']]],
+ ['connections_2ephp',['connections.php',['../connections_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.html b/doc/html/search/files_64.html
new file mode 100644
index 000000000..175a900cc
--- /dev/null
+++ b/doc/html/search/files_64.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_64.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_64.js b/doc/html/search/files_64.js
new file mode 100644
index 000000000..4f27cb5a8
--- /dev/null
+++ b/doc/html/search/files_64.js
@@ -0,0 +1,19 @@
+var searchData=
+[
+ ['datetime_2ephp',['datetime.php',['../datetime_8php.html',1,'']]],
+ ['db_5fupdate_2ephp',['db_update.php',['../db__update_8php.html',1,'']]],
+ ['dba_5fdriver_2ephp',['dba_driver.php',['../dba__driver_8php.html',1,'']]],
+ ['dba_5fmysql_2ephp',['dba_mysql.php',['../dba__mysql_8php.html',1,'']]],
+ ['dba_5fmysqli_2ephp',['dba_mysqli.php',['../dba__mysqli_8php.html',1,'']]],
+ ['default_2ephp',['default.php',['../theme_2redstrap_2php_2default_8php.html',1,'']]],
+ ['default_2ephp',['default.php',['../php_2default_8php.html',1,'']]],
+ ['delegate_2ephp',['delegate.php',['../delegate_8php.html',1,'']]],
+ ['deliver_2ephp',['deliver.php',['../deliver_8php.html',1,'']]],
+ ['dir_5ffns_2ephp',['dir_fns.php',['../dir__fns_8php.html',1,'']]],
+ ['directory_2ephp',['directory.php',['../include_2directory_8php.html',1,'']]],
+ ['directory_2ephp',['directory.php',['../mod_2directory_8php.html',1,'']]],
+ ['dirfind_2ephp',['dirfind.php',['../dirfind_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_65.html b/doc/html/search/files_65.html
new file mode 100644
index 000000000..2347de991
--- /dev/null
+++ b/doc/html/search/files_65.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_65.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_65.js b/doc/html/search/files_65.js
new file mode 100644
index 000000000..26c3ac164
--- /dev/null
+++ b/doc/html/search/files_65.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['editblock_2ephp',['editblock.php',['../editblock_8php.html',1,'']]],
+ ['editlayout_2ephp',['editlayout.php',['../editlayout_8php.html',1,'']]],
+ ['editpost_2ephp',['editpost.php',['../editpost_8php.html',1,'']]],
+ ['editwebpage_2ephp',['editwebpage.php',['../editwebpage_8php.html',1,'']]],
+ ['enotify_2ephp',['enotify.php',['../enotify_8php.html',1,'']]],
+ ['event_2ephp',['event.php',['../event_8php.html',1,'']]],
+ ['events_2ephp',['events.php',['../events_8php.html',1,'']]],
+ ['expire_2ephp',['expire.php',['../expire_8php.html',1,'']]],
+ ['extract_2ephp',['extract.php',['../extract_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_66.html b/doc/html/search/files_66.html
new file mode 100644
index 000000000..70873b352
--- /dev/null
+++ b/doc/html/search/files_66.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_66.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_66.js b/doc/html/search/files_66.js
new file mode 100644
index 000000000..aba1883e1
--- /dev/null
+++ b/doc/html/search/files_66.js
@@ -0,0 +1,17 @@
+var searchData=
+[
+ ['fbrowser_2ephp',['fbrowser.php',['../fbrowser_8php.html',1,'']]],
+ ['features_2ephp',['features.php',['../features_8php.html',1,'']]],
+ ['feed_2ephp',['feed.php',['../feed_8php.html',1,'']]],
+ ['filer_2ephp',['filer.php',['../filer_8php.html',1,'']]],
+ ['filerm_2ephp',['filerm.php',['../filerm_8php.html',1,'']]],
+ ['filestorage_2ephp',['filestorage.php',['../filestorage_8php.html',1,'']]],
+ ['follow_2ephp',['follow.php',['../mod_2follow_8php.html',1,'']]],
+ ['follow_2ephp',['follow.php',['../include_2follow_8php.html',1,'']]],
+ ['fpostit_2ephp',['fpostit.php',['../fpostit_8php.html',1,'']]],
+ ['fresh_2emd',['fresh.md',['../fresh_8md.html',1,'']]],
+ ['friendica_2dto_2dsmarty_2dtpl_2epy',['friendica-to-smarty-tpl.py',['../friendica-to-smarty-tpl_8py.html',1,'']]],
+ ['friendica_5fsmarty_2ephp',['friendica_smarty.php',['../friendica__smarty_8php.html',1,'']]],
+ ['fsuggest_2ephp',['fsuggest.php',['../fsuggest_8php.html',1,'']]],
+ ['full_2ephp',['full.php',['../full_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_67.html b/doc/html/search/files_67.html
new file mode 100644
index 000000000..65d69ddc0
--- /dev/null
+++ b/doc/html/search/files_67.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_67.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_67.js b/doc/html/search/files_67.js
new file mode 100644
index 000000000..f9924735e
--- /dev/null
+++ b/doc/html/search/files_67.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['gprobe_2ephp',['gprobe.php',['../gprobe_8php.html',1,'']]],
+ ['group_2ephp',['group.php',['../include_2group_8php.html',1,'']]],
+ ['group_2ephp',['group.php',['../mod_2group_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_68.html b/doc/html/search/files_68.html
new file mode 100644
index 000000000..35734d1fc
--- /dev/null
+++ b/doc/html/search/files_68.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_68.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_68.js b/doc/html/search/files_68.js
new file mode 100644
index 000000000..4377d15af
--- /dev/null
+++ b/doc/html/search/files_68.js
@@ -0,0 +1,9 @@
+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,'']]],
+ ['html2bbcode_2ephp',['html2bbcode.php',['../html2bbcode_8php.html',1,'']]],
+ ['html2plain_2ephp',['html2plain.php',['../html2plain_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_69.html b/doc/html/search/files_69.html
new file mode 100644
index 000000000..4e0baee7a
--- /dev/null
+++ b/doc/html/search/files_69.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_69.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_69.js b/doc/html/search/files_69.js
new file mode 100644
index 000000000..1ac9204d9
--- /dev/null
+++ b/doc/html/search/files_69.js
@@ -0,0 +1,11 @@
+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,'']]],
+ ['itemplateengine_2ephp',['ITemplateEngine.php',['../ITemplateEngine_8php.html',1,'']]],
+ ['items_2ephp',['items.php',['../items_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_6c.html b/doc/html/search/files_6c.html
new file mode 100644
index 000000000..088b17f00
--- /dev/null
+++ b/doc/html/search/files_6c.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_6c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_6c.js b/doc/html/search/files_6c.js
new file mode 100644
index 000000000..663f102d3
--- /dev/null
+++ b/doc/html/search/files_6c.js
@@ -0,0 +1,10 @@
+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,'']]],
+ ['login_2ephp',['login.php',['../login_8php.html',1,'']]],
+ ['lostpass_2ephp',['lostpass.php',['../lostpass_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_6d.html b/doc/html/search/files_6d.html
new file mode 100644
index 000000000..5796e5280
--- /dev/null
+++ b/doc/html/search/files_6d.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_6d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_6d.js b/doc/html/search/files_6d.js
new file mode 100644
index 000000000..f834737b3
--- /dev/null
+++ b/doc/html/search/files_6d.js
@@ -0,0 +1,17 @@
+var searchData=
+[
+ ['magic_2ephp',['magic.php',['../magic_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,'']]],
+ ['minimal_2ephp',['minimal.php',['../minimal_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.html b/doc/html/search/files_6e.html
new file mode 100644
index 000000000..def03fe7d
--- /dev/null
+++ b/doc/html/search/files_6e.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_6e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_6e.js b/doc/html/search/files_6e.js
new file mode 100644
index 000000000..1d6cb6c17
--- /dev/null
+++ b/doc/html/search/files_6e.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['nav_2ephp',['nav.php',['../nav_8php.html',1,'']]],
+ ['network_2ephp',['network.php',['../include_2network_8php.html',1,'']]],
+ ['network_2ephp',['network.php',['../mod_2network_8php.html',1,'']]],
+ ['new_5fchannel_2ephp',['new_channel.php',['../new__channel_8php.html',1,'']]],
+ ['nogroup_2ephp',['nogroup.php',['../nogroup_8php.html',1,'']]],
+ ['notifications_2ephp',['notifications.php',['../notifications_8php.html',1,'']]],
+ ['notifier_2ephp',['notifier.php',['../notifier_8php.html',1,'']]],
+ ['notify_2ephp',['notify.php',['../mod_2notify_8php.html',1,'']]],
+ ['notify_2ephp',['notify.php',['../include_2notify_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_6f.html b/doc/html/search/files_6f.html
new file mode 100644
index 000000000..4f9b7bbdb
--- /dev/null
+++ b/doc/html/search/files_6f.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_6f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_6f.js b/doc/html/search/files_6f.js
new file mode 100644
index 000000000..85c779ba1
--- /dev/null
+++ b/doc/html/search/files_6f.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['oauth_2ephp',['oauth.php',['../oauth_8php.html',1,'']]],
+ ['oembed_2ephp',['oembed.php',['../include_2oembed_8php.html',1,'']]],
+ ['oembed_2ephp',['oembed.php',['../mod_2oembed_8php.html',1,'']]],
+ ['oexchange_2ephp',['oexchange.php',['../oexchange_8php.html',1,'']]],
+ ['onepoll_2ephp',['onepoll.php',['../onepoll_8php.html',1,'']]],
+ ['opensearch_2ephp',['opensearch.php',['../opensearch_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_70.html b/doc/html/search/files_70.html
new file mode 100644
index 000000000..e159ceaae
--- /dev/null
+++ b/doc/html/search/files_70.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_70.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_70.js b/doc/html/search/files_70.js
new file mode 100644
index 000000000..a05a85c69
--- /dev/null
+++ b/doc/html/search/files_70.js
@@ -0,0 +1,32 @@
+var searchData=
+[
+ ['page_2ephp',['page.php',['../page_8php.html',1,'']]],
+ ['page_5fwidgets_2ephp',['page_widgets.php',['../page__widgets_8php.html',1,'']]],
+ ['parse_5furl_2ephp',['parse_url.php',['../parse__url_8php.html',1,'']]],
+ ['permissions_2ephp',['permissions.php',['../permissions_8php.html',1,'']]],
+ ['photo_2ephp',['photo.php',['../photo_8php.html',1,'']]],
+ ['photo_5fdriver_2ephp',['photo_driver.php',['../photo__driver_8php.html',1,'']]],
+ ['photo_5fgd_2ephp',['photo_gd.php',['../photo__gd_8php.html',1,'']]],
+ ['photo_5fimagick_2ephp',['photo_imagick.php',['../photo__imagick_8php.html',1,'']]],
+ ['photos_2ephp',['photos.php',['../mod_2photos_8php.html',1,'']]],
+ ['photos_2ephp',['photos.php',['../include_2photos_8php.html',1,'']]],
+ ['php_2ephp',['php.php',['../php_8php.html',1,'']]],
+ ['php2po_2ephp',['php2po.php',['../php2po_8php.html',1,'']]],
+ ['ping_2ephp',['ping.php',['../ping_8php.html',1,'']]],
+ ['plugin_2ephp',['plugin.php',['../plugin_8php.html',1,'']]],
+ ['po2php_2ephp',['po2php.php',['../po2php_8php.html',1,'']]],
+ ['poco_2ephp',['poco.php',['../poco_8php.html',1,'']]],
+ ['poke_2ephp',['poke.php',['../poke_8php.html',1,'']]],
+ ['poller_2ephp',['poller.php',['../poller_8php.html',1,'']]],
+ ['post_2ephp',['post.php',['../post_8php.html',1,'']]],
+ ['pretheme_2ephp',['pretheme.php',['../pretheme_8php.html',1,'']]],
+ ['probe_2ephp',['probe.php',['../probe_8php.html',1,'']]],
+ ['profile_2ephp',['profile.php',['../profile_8php.html',1,'']]],
+ ['profile_5fadvanced_2ephp',['profile_advanced.php',['../profile__advanced_8php.html',1,'']]],
+ ['profile_5fphoto_2ephp',['profile_photo.php',['../profile__photo_8php.html',1,'']]],
+ ['profile_5fselectors_2ephp',['profile_selectors.php',['../profile__selectors_8php.html',1,'']]],
+ ['profiles_2ephp',['profiles.php',['../profiles_8php.html',1,'']]],
+ ['profperm_2ephp',['profperm.php',['../profperm_8php.html',1,'']]],
+ ['protodriver_2ephp',['ProtoDriver.php',['../ProtoDriver_8php.html',1,'']]],
+ ['pubsites_2ephp',['pubsites.php',['../pubsites_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_71.html b/doc/html/search/files_71.html
new file mode 100644
index 000000000..a417eff53
--- /dev/null
+++ b/doc/html/search/files_71.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_71.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_71.js b/doc/html/search/files_71.js
new file mode 100644
index 000000000..1da0b5b3f
--- /dev/null
+++ b/doc/html/search/files_71.js
@@ -0,0 +1,6 @@
+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.html b/doc/html/search/files_72.html
new file mode 100644
index 000000000..573ec112d
--- /dev/null
+++ b/doc/html/search/files_72.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_72.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_72.js b/doc/html/search/files_72.js
new file mode 100644
index 000000000..7d644d884
--- /dev/null
+++ b/doc/html/search/files_72.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+ ['randprof_2ephp',['randprof.php',['../randprof_8php.html',1,'']]],
+ ['readme_2emd',['README.md',['../README_8md.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,'']]],
+ ['rmagic_2ephp',['rmagic.php',['../rmagic_8php.html',1,'']]],
+ ['rsd_5fxml_2ephp',['rsd_xml.php',['../rsd__xml_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_73.html b/doc/html/search/files_73.html
new file mode 100644
index 000000000..bcc9ae6ee
--- /dev/null
+++ b/doc/html/search/files_73.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_73.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_73.js b/doc/html/search/files_73.js
new file mode 100644
index 000000000..30dd66773
--- /dev/null
+++ b/doc/html/search/files_73.js
@@ -0,0 +1,20 @@
+var searchData=
+[
+ ['search_2ephp',['search.php',['../search_8php.html',1,'']]],
+ ['search_5fac_2ephp',['search_ac.php',['../search__ac_8php.html',1,'']]],
+ ['security_2ephp',['security.php',['../security_8php.html',1,'']]],
+ ['session_2ephp',['session.php',['../session_8php.html',1,'']]],
+ ['settings_2ephp',['settings.php',['../settings_8php.html',1,'']]],
+ ['setup_2ephp',['setup.php',['../setup_8php.html',1,'']]],
+ ['share_2ephp',['share.php',['../share_8php.html',1,'']]],
+ ['siteinfo_2ephp',['siteinfo.php',['../siteinfo_8php.html',1,'']]],
+ ['sitelist_2ephp',['sitelist.php',['../sitelist_8php.html',1,'']]],
+ ['smilies_2ephp',['smilies.php',['../smilies_8php.html',1,'']]],
+ ['socgraph_2ephp',['socgraph.php',['../socgraph_8php.html',1,'']]],
+ ['starred_2ephp',['starred.php',['../starred_8php.html',1,'']]],
+ ['style_2ephp',['style.php',['../redbasic_2php_2style_8php.html',1,'']]],
+ ['style_2ephp',['style.php',['../redstrap_2php_2style_8php.html',1,'']]],
+ ['subthread_2ephp',['subthread.php',['../subthread_8php.html',1,'']]],
+ ['suggest_2ephp',['suggest.php',['../suggest_8php.html',1,'']]],
+ ['system_5funavailable_2ephp',['system_unavailable.php',['../system__unavailable_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_74.html b/doc/html/search/files_74.html
new file mode 100644
index 000000000..985db8690
--- /dev/null
+++ b/doc/html/search/files_74.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_74.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_74.js b/doc/html/search/files_74.js
new file mode 100644
index 000000000..8c09d38e2
--- /dev/null
+++ b/doc/html/search/files_74.js
@@ -0,0 +1,17 @@
+var searchData=
+[
+ ['tagger_2ephp',['tagger.php',['../tagger_8php.html',1,'']]],
+ ['tagrm_2ephp',['tagrm.php',['../tagrm_8php.html',1,'']]],
+ ['taxonomy_2ephp',['taxonomy.php',['../taxonomy_8php.html',1,'']]],
+ ['template_5fprocessor_2ephp',['template_processor.php',['../template__processor_8php.html',1,'']]],
+ ['text_2ephp',['text.php',['../text_8php.html',1,'']]],
+ ['theme_2ephp',['theme.php',['../redbasic_2php_2theme_8php.html',1,'']]],
+ ['theme_2ephp',['theme.php',['../redstrap_2php_2theme_8php.html',1,'']]],
+ ['theme_5finit_2ephp',['theme_init.php',['../theme_2redstrap_2php_2theme__init_8php.html',1,'']]],
+ ['theme_5finit_2ephp',['theme_init.php',['../php_2theme__init_8php.html',1,'']]],
+ ['thing_2ephp',['thing.php',['../thing_8php.html',1,'']]],
+ ['toggle_5fmobile_2ephp',['toggle_mobile.php',['../toggle__mobile_8php.html',1,'']]],
+ ['tpldebug_2ephp',['tpldebug.php',['../tpldebug_8php.html',1,'']]],
+ ['typo_2ephp',['typo.php',['../typo_8php.html',1,'']]],
+ ['typohelper_2ephp',['typohelper.php',['../typohelper_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_75.html b/doc/html/search/files_75.html
new file mode 100644
index 000000000..70607dd35
--- /dev/null
+++ b/doc/html/search/files_75.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_75.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_75.js b/doc/html/search/files_75.js
new file mode 100644
index 000000000..4a330b239
--- /dev/null
+++ b/doc/html/search/files_75.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['uexport_2ephp',['uexport.php',['../uexport_8php.html',1,'']]],
+ ['update_5fchannel_2ephp',['update_channel.php',['../update__channel_8php.html',1,'']]],
+ ['update_5fcommunity_2ephp',['update_community.php',['../update__community_8php.html',1,'']]],
+ ['update_5fdisplay_2ephp',['update_display.php',['../update__display_8php.html',1,'']]],
+ ['update_5fnetwork_2ephp',['update_network.php',['../update__network_8php.html',1,'']]],
+ ['update_5fsearch_2ephp',['update_search.php',['../update__search_8php.html',1,'']]],
+ ['updatetpl_2epy',['updatetpl.py',['../updatetpl_8py.html',1,'']]]
+];
diff --git a/doc/html/search/files_76.html b/doc/html/search/files_76.html
new file mode 100644
index 000000000..174dedb49
--- /dev/null
+++ b/doc/html/search/files_76.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_76.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_76.js b/doc/html/search/files_76.js
new file mode 100644
index 000000000..c3a52655e
--- /dev/null
+++ b/doc/html/search/files_76.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['view_2ephp',['view.php',['../view_8php.html',1,'']]],
+ ['viewconnections_2ephp',['viewconnections.php',['../viewconnections_8php.html',1,'']]],
+ ['viewsrc_2ephp',['viewsrc.php',['../viewsrc_8php.html',1,'']]],
+ ['vote_2ephp',['vote.php',['../vote_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_77.html b/doc/html/search/files_77.html
new file mode 100644
index 000000000..63bf92c09
--- /dev/null
+++ b/doc/html/search/files_77.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_77.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_77.js b/doc/html/search/files_77.js
new file mode 100644
index 000000000..11332f668
--- /dev/null
+++ b/doc/html/search/files_77.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['wall_5fattach_2ephp',['wall_attach.php',['../wall__attach_8php.html',1,'']]],
+ ['wall_5fupload_2ephp',['wall_upload.php',['../wall__upload_8php.html',1,'']]],
+ ['webfinger_2ephp',['webfinger.php',['../webfinger_8php.html',1,'']]],
+ ['webpages_2ephp',['webpages.php',['../webpages_8php.html',1,'']]],
+ ['wfinger_2ephp',['wfinger.php',['../wfinger_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_78.html b/doc/html/search/files_78.html
new file mode 100644
index 000000000..d1e306db2
--- /dev/null
+++ b/doc/html/search/files_78.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_78.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_78.js b/doc/html/search/files_78.js
new file mode 100644
index 000000000..cd29e0cce
--- /dev/null
+++ b/doc/html/search/files_78.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['xchan_2ephp',['xchan.php',['../xchan_8php.html',1,'']]],
+ ['xrd_2ephp',['xrd.php',['../xrd_8php.html',1,'']]]
+];
diff --git a/doc/html/search/files_7a.html b/doc/html/search/files_7a.html
new file mode 100644
index 000000000..935df7f2d
--- /dev/null
+++ b/doc/html/search/files_7a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_7a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/files_7a.js b/doc/html/search/files_7a.js
new file mode 100644
index 000000000..eafeb05f5
--- /dev/null
+++ b/doc/html/search/files_7a.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['zfinger_2ephp',['zfinger.php',['../zfinger_8php.html',1,'']]],
+ ['zot_2ephp',['zot.php',['../zot_8php.html',1,'']]],
+ ['zotfeed_2ephp',['zotfeed.php',['../zotfeed_8php.html',1,'']]],
+ ['zping_2ephp',['zping.php',['../zping_8php.html',1,'']]]
+];
diff --git a/doc/html/search/functions_5f.html b/doc/html/search/functions_5f.html
new file mode 100644
index 000000000..2946e1e69
--- /dev/null
+++ b/doc/html/search/functions_5f.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_5f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_5f.js b/doc/html/search/functions_5f.js
new file mode 100644
index 000000000..b33809fbe
--- /dev/null
+++ b/doc/html/search/functions_5f.js
@@ -0,0 +1,17 @@
+var searchData=
+[
+ ['_5f_5fconstruct',['__construct',['../classApp.html#af6d39f63fb7116bbeb04e51696f99474',1,'App\__construct()'],['../classConversation.html#a6b064d00c56a6b7dec359d4348711c84',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()']]],
+ ['_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']]],
+ ['_5fpop_5fstack',['_pop_stack',['../classTemplate.html#a35d599c9b53a02e2fe2232e5b7ed5da7',1,'Template']]],
+ ['_5fpreg_5ferror',['_preg_error',['../classTemplate.html#a37c15f6d1ade500943629f27a62808b7',1,'Template']]],
+ ['_5fpush_5fstack',['_push_stack',['../classTemplate.html#aa6a087e0b7b887dd1c98c9e0ecbd3b29',1,'Template']]],
+ ['_5freplcb',['_replcb',['../classTemplate.html#ae791766c3d055f7f1ba5a5e60d647934',1,'Template']]],
+ ['_5freplcb_5fdebug',['_replcb_debug',['../classTemplate.html#a4b933954086d9e01a1804b0b1c6ee93e',1,'Template']]],
+ ['_5freplcb_5ffor',['_replcb_for',['../classTemplate.html#abf71098c80fd1f218a59452b3408309e',1,'Template']]],
+ ['_5freplcb_5fif',['_replcb_if',['../classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228',1,'Template']]],
+ ['_5freplcb_5finc',['_replcb_inc',['../classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677',1,'Template']]],
+ ['_5freplcb_5fnode',['_replcb_node',['../classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee',1,'Template']]],
+ ['_5fwell_5fknown_5finit',['_well_known_init',['../__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0',1,'_well_known.php']]]
+];
diff --git a/doc/html/search/functions_61.html b/doc/html/search/functions_61.html
new file mode 100644
index 000000000..d68c74892
--- /dev/null
+++ b/doc/html/search/functions_61.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_61.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_61.js b/doc/html/search/functions_61.js
new file mode 100644
index 000000000..4213da29b
--- /dev/null
+++ b/doc/html/search/functions_61.js
@@ -0,0 +1,112 @@
+var searchData=
+[
+ ['abook_5fconnections',['abook_connections',['../Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e',1,'Contact.php']]],
+ ['abook_5fself',['abook_self',['../Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5',1,'Contact.php']]],
+ ['abook_5ftoggle_5fflag',['abook_toggle_flag',['../Contact_8php.html#a024919623a830e8703ac4f23496dd66c',1,'Contact.php']]],
+ ['absurl',['absurl',['../boot_8php.html#a081307d681d7d04f17b9ced2076e7c85',1,'boot.php']]],
+ ['account_5fremove',['account_remove',['../Contact_8php.html#a3eef54a5523e568a28257c1f9b1644d8',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']]],
+ ['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']]],
+ ['activity_5fsanitise',['activity_sanitise',['../items_8php.html#a36e656667193c83aa2cc03a024fc131b',1,'items.php']]],
+ ['add_5fchild',['add_child',['../classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51',1,'Item']]],
+ ['add_5fchildren_5fto_5flist',['add_children_to_list',['../conversation_8php.html#ad3e1d4b15e7d6d026ee182edd58f692b',1,'conversation.php']]],
+ ['add_5ffcontact',['add_fcontact',['../include_2network_8php.html#a0bdc4b0bfc54797c249dc4eca25aeda4',1,'network.php']]],
+ ['add_5fthread',['add_thread',['../classConversation.html#a8335cdd43f1836e3c255638e61a09e16',1,'Conversation']]],
+ ['admin_5fcontent',['admin_content',['../admin_8php.html#afef415e4011607fbb665610441595015',1,'admin.php']]],
+ ['admin_5fpage_5fdbsync',['admin_page_dbsync',['../admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade',1,'admin.php']]],
+ ['admin_5fpage_5flogs',['admin_page_logs',['../admin_8php.html#a1d1362698af14d209aa3a0fb655551dd',1,'admin.php']]],
+ ['admin_5fpage_5flogs_5fpost',['admin_page_logs_post',['../admin_8php.html#a233b7c8c31776b7020532003c6e44e1c',1,'admin.php']]],
+ ['admin_5fpage_5fplugins',['admin_page_plugins',['../admin_8php.html#a54128076986ba80c4a103de3fc3e19a8',1,'admin.php']]],
+ ['admin_5fpage_5fsite',['admin_page_site',['../admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e',1,'admin.php']]],
+ ['admin_5fpage_5fsite_5fpost',['admin_page_site_post',['../admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f',1,'admin.php']]],
+ ['admin_5fpage_5fsummary',['admin_page_summary',['../admin_8php.html#ac6e95b920b5abd030cc522964987087a',1,'admin.php']]],
+ ['admin_5fpage_5fthemes',['admin_page_themes',['../admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb',1,'admin.php']]],
+ ['admin_5fpage_5fusers',['admin_page_users',['../admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2',1,'admin.php']]],
+ ['admin_5fpage_5fusers_5fpost',['admin_page_users_post',['../admin_8php.html#a5a696706a3869800e65fb365214241b7',1,'admin.php']]],
+ ['admin_5fpost',['admin_post',['../admin_8php.html#acf51f5837a7427832144c2bf7308ada3',1,'admin.php']]],
+ ['advanced_5fprofile',['advanced_profile',['../profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4',1,'profile_advanced.php']]],
+ ['aes256cbc_5fdecrypt',['AES256CBC_decrypt',['../crypto_8php.html#ac852ee41392d1358c3a54d54935e0bf9',1,'crypto.php']]],
+ ['aes256cbc_5fencrypt',['AES256CBC_encrypt',['../crypto_8php.html#a5c61821d205f95f127114159cbffa764',1,'crypto.php']]],
+ ['aes_5fencapsulate',['aes_encapsulate',['../crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286',1,'crypto.php']]],
+ ['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']]],
+ ['alt_5fpager',['alt_pager',['../text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85',1,'text.php']]],
+ ['api_5faccount_5flogout',['api_account_logout',['../include_2api_8php.html#a2e94eab9d6c164bfef7a1b2ab87b339b',1,'api.php']]],
+ ['api_5faccount_5frate_5flimit_5fstatus',['api_account_rate_limit_status',['../include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5',1,'api.php']]],
+ ['api_5faccount_5fverify_5fcredentials',['api_account_verify_credentials',['../include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad',1,'api.php']]],
+ ['api_5falbums',['api_albums',['../include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18',1,'api.php']]],
+ ['api_5fapply_5ftemplate',['api_apply_template',['../include_2api_8php.html#a5990101034e7abf6404feba3cd273629',1,'api.php']]],
+ ['api_5fcall',['api_call',['../include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5',1,'api.php']]],
+ ['api_5fchannel_5fstream',['api_channel_stream',['../include_2api_8php.html#a72bfecac1970bc29b853073e816388ff',1,'api.php']]],
+ ['api_5fcontent',['api_content',['../mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d',1,'api.php']]],
+ ['api_5fdate',['api_date',['../include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5fall',['api_direct_messages_all',['../include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5fbox',['api_direct_messages_box',['../include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5fconversation',['api_direct_messages_conversation',['../include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5finbox',['api_direct_messages_inbox',['../include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5fnew',['api_direct_messages_new',['../include_2api_8php.html#a0991f72554f821255397d615e76f3203',1,'api.php']]],
+ ['api_5fdirect_5fmessages_5fsentbox',['api_direct_messages_sentbox',['../include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d',1,'api.php']]],
+ ['api_5fexport_5fbasic',['api_export_basic',['../include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53',1,'api.php']]],
+ ['api_5ffavorites',['api_favorites',['../include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f',1,'api.php']]],
+ ['api_5fff_5fids',['api_ff_ids',['../include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8',1,'api.php']]],
+ ['api_5ffollowers_5fids',['api_followers_ids',['../include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b',1,'api.php']]],
+ ['api_5fformat_5fas',['api_format_as',['../include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879',1,'api.php']]],
+ ['api_5fformat_5fitems',['api_format_items',['../include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea',1,'api.php']]],
+ ['api_5fformat_5fmessages',['api_format_messages',['../include_2api_8php.html#ae82608c317421f27446465aa6724733d',1,'api.php']]],
+ ['api_5ffriendica_5fversion',['api_friendica_version',['../include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74',1,'api.php']]],
+ ['api_5ffriends_5fids',['api_friends_ids',['../include_2api_8php.html#acafd2899309a005fcb725289173dc7fe',1,'api.php']]],
+ ['api_5fget_5fuser',['api_get_user',['../include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa',1,'api.php']]],
+ ['api_5fhelp_5ftest',['api_help_test',['../include_2api_8php.html#ac5a64cc81d70ff3cf866093ea9721d23',1,'api.php']]],
+ ['api_5fitem_5fget_5fuser',['api_item_get_user',['../include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1',1,'api.php']]],
+ ['api_5flogin',['api_login',['../include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73',1,'api.php']]],
+ ['api_5foauth_5faccess_5ftoken',['api_oauth_access_token',['../include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0',1,'api.php']]],
+ ['api_5foauth_5frequest_5ftoken',['api_oauth_request_token',['../include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3',1,'api.php']]],
+ ['api_5fphotos',['api_photos',['../include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f',1,'api.php']]],
+ ['api_5fpost',['api_post',['../mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2',1,'api.php']]],
+ ['api_5fregister_5ffunc',['api_register_func',['../include_2api_8php.html#ac2c2b18c426d697d11a830bca146be8a',1,'api.php']]],
+ ['api_5frss_5fextra',['api_rss_extra',['../include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f',1,'api.php']]],
+ ['api_5fstatus_5fshow',['api_status_show',['../include_2api_8php.html#a645397787618b5c548a31e8686e8cca4',1,'api.php']]],
+ ['api_5fstatuses_5fdestroy',['api_statuses_destroy',['../include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4',1,'api.php']]],
+ ['api_5fstatuses_5ff',['api_statuses_f',['../include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410',1,'api.php']]],
+ ['api_5fstatuses_5ffollowers',['api_statuses_followers',['../include_2api_8php.html#a6951c690d87775eb37e569c66011988e',1,'api.php']]],
+ ['api_5fstatuses_5ffriends',['api_statuses_friends',['../include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e',1,'api.php']]],
+ ['api_5fstatuses_5fhome_5ftimeline',['api_statuses_home_timeline',['../include_2api_8php.html#a528d8070ee74ea800102936ce73cf366',1,'api.php']]],
+ ['api_5fstatuses_5fmediap',['api_statuses_mediap',['../include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95',1,'api.php']]],
+ ['api_5fstatuses_5fmentions',['api_statuses_mentions',['../include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e',1,'api.php']]],
+ ['api_5fstatuses_5fpublic_5ftimeline',['api_statuses_public_timeline',['../include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22',1,'api.php']]],
+ ['api_5fstatuses_5frepeat',['api_statuses_repeat',['../include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8',1,'api.php']]],
+ ['api_5fstatuses_5fshow',['api_statuses_show',['../include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63',1,'api.php']]],
+ ['api_5fstatuses_5fupdate',['api_statuses_update',['../include_2api_8php.html#ad4d1634df6b35126552324683caaffa2',1,'api.php']]],
+ ['api_5fstatuses_5fuser_5ftimeline',['api_statuses_user_timeline',['../include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283',1,'api.php']]],
+ ['api_5fstatusnet_5fconfig',['api_statusnet_config',['../include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08',1,'api.php']]],
+ ['api_5fstatusnet_5fversion',['api_statusnet_version',['../include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d',1,'api.php']]],
+ ['api_5fuser',['api_user',['../include_2api_8php.html#afb99daa6b731bf497b81f2128084852c',1,'api.php']]],
+ ['api_5fusers_5fshow',['api_users_show',['../include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76',1,'api.php']]],
+ ['appdirpath',['appdirpath',['../boot_8php.html#a75a90b0eadd0df510f7e63210733634d',1,'boot.php']]],
+ ['apps_5fcontent',['apps_content',['../apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c',1,'apps.php']]],
+ ['argc',['argc',['../boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7',1,'boot.php']]],
+ ['argv',['argv',['../boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006',1,'boot.php']]],
+ ['arr_5fadd_5fhashes',['arr_add_hashes',['../parse__url_8php.html#aa7dd8f961bea042d62726ed909e4a868',1,'parse_url.php']]],
+ ['array_5fsanitise',['array_sanitise',['../items_8php.html#abf7a1b73eb352d79acd36309b0dababd',1,'items.php']]],
+ ['array_5fxmlify',['array_xmlify',['../text_8php.html#acedb584f65114a33f389efb796172a91',1,'text.php']]],
+ ['atom_5fauthor',['atom_author',['../items_8php.html#a016dd86c827d08db89061ea81d15c6cb',1,'items.php']]],
+ ['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_5fcount_5ffiles',['attach_count_files',['../include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3',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_5fstore',['attach_store',['../include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f',1,'attach.php']]],
+ ['attribute_5fcontains',['attribute_contains',['../text_8php.html#a95fd2f8f23a1948414a03ebc963bac57',1,'text.php']]],
+ ['authenticate_5fsuccess',['authenticate_success',['../security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733',1,'security.php']]],
+ ['autoname',['autoname',['../text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca',1,'text.php']]],
+ ['avatar_5fimg',['avatar_img',['../include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7',1,'network.php']]]
+];
diff --git a/doc/html/search/functions_62.html b/doc/html/search/functions_62.html
new file mode 100644
index 000000000..5134d2d29
--- /dev/null
+++ b/doc/html/search/functions_62.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_62.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_62.js b/doc/html/search/functions_62.js
new file mode 100644
index 000000000..ee238c6ee
--- /dev/null
+++ b/doc/html/search/functions_62.js
@@ -0,0 +1,21 @@
+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_5fshareattributes',['bb_ShareAttributes',['../bbcode_8php.html#a52c45273fbb7ce5ec27094f7936856e1',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']]],
+ ['bb_5ftag_5fpreg_5freplace',['bb_tag_preg_replace',['../bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba',1,'bb2diaspora.php']]],
+ ['bb_5ftranslate_5fvideo',['bb_translate_video',['../text_8php.html#a3d2793d66db3345fd290b71e2eadf98e',1,'text.php']]],
+ ['bb_5funspacefy_5fand_5ftrim',['bb_unspacefy_and_trim',['../bbcode_8php.html#a064dcfd9767df6f53be1a0e11ceeb15d',1,'bbcode.php']]],
+ ['bbcode',['bbcode',['../bbcode_8php.html#a009f61aaf78771737ed0765c8463911b',1,'bbcode.php']]],
+ ['bbtoevent',['bbtoevent',['../event_8php.html#a180cccd63c2a2f00ff432b03113531f3',1,'event.php']]],
+ ['bbtovcal',['bbtovcal',['../event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279',1,'event.php']]],
+ ['best_5flink_5furl',['best_link_url',['../conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7',1,'conversation.php']]],
+ ['blocks_5fcontent',['blocks_content',['../blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12',1,'blocks.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']]],
+ ['build_5fsync_5fpacket',['build_sync_packet',['../zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7',1,'zot.php']]]
+];
diff --git a/doc/html/search/functions_63.html b/doc/html/search/functions_63.html
new file mode 100644
index 000000000..9114d820c
--- /dev/null
+++ b/doc/html/search/functions_63.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_63.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_63.js b/doc/html/search/functions_63.js
new file mode 100644
index 000000000..ce0937bbc
--- /dev/null
+++ b/doc/html/search/functions_63.js
@@ -0,0 +1,108 @@
+var searchData=
+[
+ ['cal',['cal',['../datetime_8php.html#aea356409ba69f9de412298c998595dd2',1,'datetime.php']]],
+ ['call_5fhooks',['call_hooks',['../plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c',1,'plugin.php']]],
+ ['can_5fcomment_5fon_5fpost',['can_comment_on_post',['../items_8php.html#a1e75047cf175aaee8dd16aa761913ff9',1,'items.php']]],
+ ['categories_5fwidget',['categories_widget',['../contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353',1,'contact_widgets.php']]],
+ ['change_5fchannel',['change_channel',['../security_8php.html#a8d23d2597aae380a3341872fe9513380',1,'security.php']]],
+ ['change_5fpermissions',['change_permissions',['../classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67',1,'ProtoDriver\change_permissions()'],['../classZotDriver.html#a6776935156accb0f170e2e24577133db',1,'ZotDriver\change_permissions()']]],
+ ['chanlink_5fcid',['chanlink_cid',['../text_8php.html#a85e3a4851c16674834010d8419a5d7ca',1,'text.php']]],
+ ['chanlink_5fhash',['chanlink_hash',['../text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0',1,'text.php']]],
+ ['chanlink_5furl',['chanlink_url',['../text_8php.html#a2e8d6c402603be3a1256a16605e09c2a',1,'text.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#ad46ff6764f12b6d3ab45c49b797f98aa',1,'Contact.php']]],
+ ['channel_5ftotal',['channel_total',['../identity_8php.html#a77d2237f1846964634b1c99089c27c7d',1,'identity.php']]],
+ ['channelx_5fby_5fhash',['channelx_by_hash',['../Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258',1,'Contact.php']]],
+ ['channelx_5fby_5fn',['channelx_by_n',['../Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc',1,'Contact.php']]],
+ ['channelx_5fby_5fnick',['channelx_by_nick',['../Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e',1,'Contact.php']]],
+ ['chanview_5fcontent',['chanview_content',['../chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b',1,'chanview.php']]],
+ ['check_5faccount_5fadmin',['check_account_admin',['../account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f',1,'account.php']]],
+ ['check_5faccount_5femail',['check_account_email',['../account_8php.html#ae052bd5558847bd38e89c213561a9771',1,'account.php']]],
+ ['check_5faccount_5finvite',['check_account_invite',['../account_8php.html#aaff7720423417a4333697894ffd9ddeb',1,'account.php']]],
+ ['check_5faccount_5fpassword',['check_account_password',['../account_8php.html#a144b4891022567668375b58ea61cfff0',1,'account.php']]],
+ ['check_5fadd',['check_add',['../setup_8php.html#ae8e4d9279a61de74d5f39962cb7b6ca1',1,'setup.php']]],
+ ['check_5fconfig',['check_config',['../boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3',1,'boot.php']]],
+ ['check_5fform_5fsecurity_5fstd_5ferr_5fmsg',['check_form_security_std_err_msg',['../security_8php.html#a20f8b9851f23ee8894b8925584ef6821',1,'security.php']]],
+ ['check_5fform_5fsecurity_5ftoken',['check_form_security_token',['../security_8php.html#a9c6180e82150a5a9af91a1255d096b5c',1,'security.php']]],
+ ['check_5fform_5fsecurity_5ftoken_5fforbiddenonerr',['check_form_security_token_ForbiddenOnErr',['../security_8php.html#a444ac867dfa8c37cf0a7a226412bee28',1,'security.php']]],
+ ['check_5fform_5fsecurity_5ftoken_5fredirectonerr',['check_form_security_token_redirectOnErr',['../security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433',1,'security.php']]],
+ ['check_5ffuncs',['check_funcs',['../setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e',1,'setup.php']]],
+ ['check_5fhtaccess',['check_htaccess',['../setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4',1,'setup.php']]],
+ ['check_5fhtconfig',['check_htconfig',['../setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f',1,'setup.php']]],
+ ['check_5fkeys',['check_keys',['../setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76',1,'setup.php']]],
+ ['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_5fwall_5fto_5fwall',['check_wall_to_wall',['../classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8',1,'Item']]],
+ ['check_5fwebbie',['check_webbie',['../text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3',1,'text.php']]],
+ ['clean_5furls',['clean_urls',['../boot_8php.html#ab79b8b4555cae20d03f8200666d89d63',1,'boot.php']]],
+ ['clear',['clear',['../classCache.html#ab14d0f4bdf7116a94d545c574b38f568',1,'Cache']]],
+ ['cleardiv',['cleardiv',['../text_8php.html#afe18627c4983ee5f7c940a0992818cd5',1,'text.php']]],
+ ['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()']]],
+ ['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']]],
+ ['collecturls',['collecturls',['../html2plain_8php.html#ae1c203d0f089d5678d73a6c64a395201',1,'html2plain.php']]],
+ ['comanche_5fblock',['comanche_block',['../comanche_8php.html#a5a7ab801717d38e91ac910b933973887',1,'comanche.php']]],
+ ['comanche_5fmenu',['comanche_menu',['../comanche_8php.html#a1fe339e1454803aa502ac89379c17f5b',1,'comanche.php']]],
+ ['comanche_5fparser',['comanche_parser',['../comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922',1,'comanche.php']]],
+ ['comanche_5fregion',['comanche_region',['../comanche_8php.html#a5718daeda40bf835345fe061e8808cdf',1,'comanche.php']]],
+ ['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#a45900dd1d6101b53e3d063db40eafa5e',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']]],
+ ['common_5ffriends_5fzcid',['common_friends_zcid',['../socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9',1,'socgraph.php']]],
+ ['common_5finit',['common_init',['../common_8php.html#aca62f113655809f41f49042ce9b123c2',1,'common.php']]],
+ ['community_5fcontent',['community_content',['../community_8php.html#a1197aafd6a6b540dbb4a0c04ade3a25a',1,'community.php']]],
+ ['community_5finit',['community_init',['../community_8php.html#a56c94ec978a38633c5628fa6f8e386d9',1,'community.php']]],
+ ['compare_5fpermissions',['compare_permissions',['../items_8php.html#a0790a4550b829e85504af548623002ca',1,'items.php']]],
+ ['completeurl',['completeurl',['../parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a',1,'parse_url.php']]],
+ ['connect',['connect',['../classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc',1,'dba_driver\connect()'],['../classdba__mysql.html#a1887338627ce0e28786839363014bd0b',1,'dba_mysql\connect()'],['../classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1',1,'dba_mysqli\connect()']]],
+ ['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']]],
+ ['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']]],
+ ['construct_5fverb',['construct_verb',['../items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8',1,'items.php']]],
+ ['consume_5ffeed',['consume_feed',['../items_8php.html#a8794863cdf8ce1333040933d3a3f66bd',1,'items.php']]],
+ ['contact_5fblock',['contact_block',['../text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784',1,'text.php']]],
+ ['contact_5fpoll_5finterval',['contact_poll_interval',['../contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f',1,'contact_selectors.php']]],
+ ['contact_5fprofile_5fassign',['contact_profile_assign',['../contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75',1,'contact_selectors.php']]],
+ ['contact_5fremove',['contact_remove',['../Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6',1,'Contact.php']]],
+ ['contact_5freputation',['contact_reputation',['../contact__selectors_8php.html#ae499960d6467bd30c78607b1018baf53',1,'contact_selectors.php']]],
+ ['contact_5fselect',['contact_select',['../acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91',1,'acl_selectors.php']]],
+ ['contactgroup_5fcontent',['contactgroup_content',['../contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3',1,'contactgroup.php']]],
+ ['contacts_5fnot_5fgrouped',['contacts_not_grouped',['../Contact_8php.html#a228fc01f90ae9bfdde4c2ad0772bd7dc',1,'Contact.php']]],
+ ['conv_5fsort',['conv_sort',['../conversation_8php.html#abed85a41f1160598de880b84021c9cf7',1,'conversation.php']]],
+ ['conversation',['conversation',['../conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1',1,'conversation.php']]],
+ ['convert',['convert',['../namespacefriendica-to-smarty-tpl.html#a38503e37fe68ac27c88cce91a9ac9efa',1,'friendica-to-smarty-tpl']]],
+ ['convert_5fxml_5felement_5fto_5farray',['convert_xml_element_to_array',['../include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246',1,'network.php']]],
+ ['count_5fall_5ffriends',['count_all_friends',['../socgraph_8php.html#af29d056beec10b4e38e5209c92452894',1,'socgraph.php']]],
+ ['count_5fcommon_5ffriends',['count_common_friends',['../socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84',1,'socgraph.php']]],
+ ['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']]],
+ ['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()']]],
+ ['curpageurl',['curPageURL',['../boot_8php.html#aa4221641e5c21db69fa52c426b9017f5',1,'boot.php']]],
+ ['current_5ftheme',['current_theme',['../boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13',1,'boot.php']]],
+ ['current_5ftheme_5furl',['current_theme_url',['../boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3',1,'boot.php']]]
+];
diff --git a/doc/html/search/functions_64.html b/doc/html/search/functions_64.html
new file mode 100644
index 000000000..17149308a
--- /dev/null
+++ b/doc/html/search/functions_64.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_64.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_64.js b/doc/html/search/functions_64.js
new file mode 100644
index 000000000..db2f68646
--- /dev/null
+++ b/doc/html/search/functions_64.js
@@ -0,0 +1,47 @@
+var searchData=
+[
+ ['datesel',['datesel',['../datetime_8php.html#ac265b86f384ee094ed5479aae02aa5c8',1,'datetime.php']]],
+ ['datesel_5fformat',['datesel_format',['../datetime_8php.html#a5f29553799005b1fd4e9ce9d98ce05aa',1,'datetime.php']]],
+ ['datetime_5fconvert',['datetime_convert',['../datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226',1,'datetime.php']]],
+ ['day_5ftranslate',['day_translate',['../text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63',1,'text.php']]],
+ ['dba_5ffactory',['dba_factory',['../dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947',1,'dba_driver.php']]],
+ ['dba_5ftimer',['dba_timer',['../boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4',1,'boot.php']]],
+ ['dbesc',['dbesc',['../dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e',1,'dba_driver.php']]],
+ ['dbesc_5farray',['dbesc_array',['../dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4',1,'dba_driver.php']]],
+ ['dbesc_5farray_5fcb',['dbesc_array_cb',['../dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930',1,'dba_driver.php']]],
+ ['dbg',['dbg',['../classdba__driver.html#adcc1f8955120fec0708bce39202d0422',1,'dba_driver\dbg()'],['../dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb',1,'dbg():&#160;dba_driver.php']]],
+ ['dbq',['dbq',['../dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee',1,'dba_driver.php']]],
+ ['decode_5ftags',['decode_tags',['../items_8php.html#a56b2a4abcadfac71175cd50555528cc3',1,'items.php']]],
+ ['del_5fconfig',['del_config',['../include_2config_8php.html#a549910227348003efc3c05c9105c42da',1,'config.php']]],
+ ['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_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']]],
+ ['deliver',['deliver',['../classProtoDriver.html#a85e9063f6d0c304410cd246f7900ea1b',1,'ProtoDriver\deliver()'],['../classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f',1,'ZotDriver\deliver()']]],
+ ['deliver_5fprivate',['deliver_private',['../classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181',1,'ProtoDriver\deliver_private()'],['../classZotDriver.html#afaaf9941169fc966e43e25b25e6daea6',1,'ZotDriver\deliver_private()']]],
+ ['deliver_5frun',['deliver_run',['../deliver_8php.html#a397afcb9afecf0c1816b0951189dd346',1,'deliver.php']]],
+ ['design_5ftools',['design_tools',['../text_8php.html#a87a3cefc603302c78982f1d8e1245265',1,'text.php']]],
+ ['destroy',['destroy',['../classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813',1,'photo_driver\destroy()'],['../classphoto__gd.html#a724703ecf71b1f1d04a80e86c76db6b1',1,'photo_gd\destroy()'],['../classphoto__imagick.html#afd49d64751ee3a298eac0c0ce0ba0207',1,'photo_imagick\destroy()']]],
+ ['detect_5flanguage',['detect_language',['../language_8php.html#a632da17c7ac0d2dc1a00a4706870194b',1,'language.php']]],
+ ['dfrn_5fdeliver',['dfrn_deliver',['../items_8php.html#a8395d189a36abfa0dfff81a2b0e70669',1,'items.php']]],
+ ['diaspora2bb',['diaspora2bb',['../bb2diaspora_8php.html#a26c09c218413610e62e60754c579f6c6',1,'bb2diaspora.php']]],
+ ['diaspora_5fol',['diaspora_ol',['../bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4',1,'bb2diaspora.php']]],
+ ['diaspora_5ful',['diaspora_ul',['../bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc',1,'bb2diaspora.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']]],
+ ['dirfind_5fcontent',['dirfind_content',['../dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee',1,'dirfind.php']]],
+ ['dirfind_5finit',['dirfind_init',['../dirfind_8php.html#ac689a812c84f161b3a0d42349f83981c',1,'dirfind.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()']]],
+ ['display_5fcontent',['display_content',['../display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0',1,'display.php']]],
+ ['dlogger',['dlogger',['../text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c',1,'text.php']]],
+ ['dob',['dob',['../datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8',1,'datetime.php']]],
+ ['doscaleimage',['doScaleImage',['../classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f',1,'photo_driver\doScaleImage()'],['../classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754',1,'photo_gd\doScaleImage()'],['../classphoto__imagick.html#a3047c68bb4de7f66c2893fe451db2b66',1,'photo_imagick\doScaleImage()']]],
+ ['drop_5fitem',['drop_item',['../items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1',1,'items.php']]],
+ ['drop_5fitems',['drop_items',['../items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55',1,'items.php']]]
+];
diff --git a/doc/html/search/functions_65.html b/doc/html/search/functions_65.html
new file mode 100644
index 000000000..13260cf25
--- /dev/null
+++ b/doc/html/search/functions_65.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_65.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_65.js b/doc/html/search/functions_65.js
new file mode 100644
index 000000000..2b67cb573
--- /dev/null
+++ b/doc/html/search/functions_65.js
@@ -0,0 +1,25 @@
+var searchData=
+[
+ ['editblock_5fcontent',['editblock_content',['../editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6',1,'editblock.php']]],
+ ['editlayout_5fcontent',['editlayout_content',['../editlayout_8php.html#aa877e4157a26b099de904164181dd386',1,'editlayout.php']]],
+ ['editpost_5fcontent',['editpost_content',['../editpost_8php.html#a34011690864d122680c802e9e748ccfb',1,'editpost.php']]],
+ ['editwebpage_5fcontent',['editwebpage_content',['../editwebpage_8php.html#a375e945255fad79a71036528f7480650',1,'editwebpage.php']]],
+ ['email_5fheader_5fencode',['email_header_encode',['../include_2network_8php.html#a540420ff3675a72cb781ef9a7e8c2cd9',1,'network.php']]],
+ ['email_5fsend',['email_send',['../include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0',1,'network.php']]],
+ ['encode_5fitem',['encode_item',['../items_8php.html#a82955cc578f0fa600acec84475026194',1,'items.php']]],
+ ['encode_5fitem_5fflags',['encode_item_flags',['../items_8php.html#a5f690fc2484abec07840b4f9dd525bd9',1,'items.php']]],
+ ['encode_5fitem_5fterms',['encode_item_terms',['../items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a',1,'items.php']]],
+ ['encode_5fitem_5fxchan',['encode_item_xchan',['../items_8php.html#a566c601726697e044e75284af7fb6f17',1,'items.php']]],
+ ['encode_5fmail',['encode_mail',['../items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7',1,'items.php']]],
+ ['encode_5frel_5flinks',['encode_rel_links',['../items_8php.html#aa723c0571e314a1853a24c5854b4f54f',1,'items.php']]],
+ ['enumerate_5fpermissions',['enumerate_permissions',['../items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67',1,'items.php']]],
+ ['escape',['escape',['../classdba__driver.html#afc95ffa103a3290581b537670cde5311',1,'dba_driver\escape()'],['../classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e',1,'dba_mysql\escape()'],['../classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64',1,'dba_mysqli\escape()']]],
+ ['escape_5ftags',['escape_tags',['../text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64',1,'text.php']]],
+ ['ev_5fcompare',['ev_compare',['../event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850',1,'event.php']]],
+ ['event_5fstore',['event_store',['../event_8php.html#a89ef533faf345db8d64a58d4856bde3a',1,'event.php']]],
+ ['events_5fcontent',['events_content',['../events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec',1,'events.php']]],
+ ['events_5fpost',['events_post',['../events_8php.html#ab3e8a8f901175f8e40a8089eea45c075',1,'events.php']]],
+ ['expand_5facl',['expand_acl',['../text_8php.html#ae4282a39492caa23ccbc2ce98e54f110',1,'text.php']]],
+ ['expand_5fgroups',['expand_groups',['../include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345',1,'group.php']]],
+ ['expire_5frun',['expire_run',['../expire_8php.html#a444e45c9b67727b27db4c779fd51a298',1,'expire.php']]]
+];
diff --git a/doc/html/search/functions_66.html b/doc/html/search/functions_66.html
new file mode 100644
index 000000000..12565e3b2
--- /dev/null
+++ b/doc/html/search/functions_66.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_66.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_66.js b/doc/html/search/functions_66.js
new file mode 100644
index 000000000..0f35442fc
--- /dev/null
+++ b/doc/html/search/functions_66.js
@@ -0,0 +1,49 @@
+var searchData=
+[
+ ['fbrowser_5fcontent',['fbrowser_content',['../fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4',1,'fbrowser.php']]],
+ ['feature_5fenabled',['feature_enabled',['../features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0',1,'features.php']]],
+ ['feed_5fhublinks',['feed_hublinks',['../text_8php.html#a8d8c4a11e53461caca21181ebd72daca',1,'text.php']]],
+ ['feed_5finit',['feed_init',['../feed_8php.html#af86137700b56f33d1d5f25c8dec22c04',1,'feed.php']]],
+ ['feed_5fsalmonlinks',['feed_salmonlinks',['../text_8php.html#a89929fa6f70a8ba54d5273fcf622b665',1,'text.php']]],
+ ['fetch_5flrdd_5ftemplate',['fetch_lrdd_template',['../include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0',1,'network.php']]],
+ ['fetch_5fpost_5ftags',['fetch_post_tags',['../items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9',1,'items.php']]],
+ ['fetch_5furl',['fetch_url',['../include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a',1,'network.php']]],
+ ['fetch_5fxrd_5flinks',['fetch_xrd_links',['../include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d',1,'network.php']]],
+ ['field_5ftimezone',['field_timezone',['../datetime_8php.html#a03900dcf0f9e3c58793a031673a70326',1,'datetime.php']]],
+ ['file_5ftag_5fdecode',['file_tag_decode',['../taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6',1,'taxonomy.php']]],
+ ['file_5ftag_5fencode',['file_tag_encode',['../taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37',1,'taxonomy.php']]],
+ ['file_5ftag_5ffile_5fquery',['file_tag_file_query',['../taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1',1,'taxonomy.php']]],
+ ['fileas_5fwidget',['fileas_widget',['../contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b',1,'contact_widgets.php']]],
+ ['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']]],
+ ['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']]],
+ ['findpeople_5fwidget',['findpeople_widget',['../contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6',1,'contact_widgets.php']]],
+ ['first_5fpost_5fdate',['first_post_date',['../items_8php.html#a0cf98bb619f07dd18f602683a55a5f59',1,'items.php']]],
+ ['fix_5fattached_5ffile_5fpermissions',['fix_attached_file_permissions',['../item_8php.html#a3daae7944f737bd30412a0d042207c0f',1,'item.php']]],
+ ['fix_5fattached_5fphoto_5fpermissions',['fix_attached_photo_permissions',['../item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10',1,'item.php']]],
+ ['fix_5fcontact_5fssl_5fpolicy',['fix_contact_ssl_policy',['../include_2network_8php.html#a2729d012410e470c527a62a3f777ded8',1,'network.php']]],
+ ['fix_5felement',['fix_element',['../namespacefriendica-to-smarty-tpl.html#a3719dd46e286a57d315e6adae1845854',1,'friendica-to-smarty-tpl']]],
+ ['fix_5fmce_5flf',['fix_mce_lf',['../text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28',1,'text.php']]],
+ ['fix_5fprivate_5fphotos',['fix_private_photos',['../items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87',1,'items.php']]],
+ ['fix_5fsystem_5furls',['fix_system_urls',['../boot_8php.html#aca5e42678e178c6b9034610d66666fd7',1,'boot.php']]],
+ ['fixacl',['fixacl',['../acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e',1,'acl_selectors.php']]],
+ ['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_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']]],
+ ['format_5fevent_5fdiaspora',['format_event_diaspora',['../bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863',1,'bb2diaspora.php']]],
+ ['format_5fevent_5fhtml',['format_event_html',['../event_8php.html#a2ac9f1b08de03250ecd794f705781d17',1,'event.php']]],
+ ['format_5fjs_5fif_5fexists',['format_js_if_exists',['../plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f',1,'plugin.php']]],
+ ['format_5flike',['format_like',['../conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3',1,'conversation.php']]],
+ ['format_5flocation',['format_location',['../conversation_8php.html#a0891aaa4492cba2b51eda12fe01957f3',1,'conversation.php']]],
+ ['format_5fnotification',['format_notification',['../include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3',1,'notify.php']]],
+ ['format_5fterm_5ffor_5fdisplay',['format_term_for_display',['../taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1',1,'taxonomy.php']]],
+ ['fsuggest_5fcontent',['fsuggest_content',['../fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998',1,'fsuggest.php']]],
+ ['fsuggest_5fpost',['fsuggest_post',['../fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d',1,'fsuggest.php']]],
+ ['ftosmarty',['fToSmarty',['../namespacefriendica-to-smarty-tpl.html#a89388ea9b2826e8218ed480e917d8105',1,'friendica-to-smarty-tpl']]]
+];
diff --git a/doc/html/search/functions_67.html b/doc/html/search/functions_67.html
new file mode 100644
index 000000000..53d4a096f
--- /dev/null
+++ b/doc/html/search/functions_67.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_67.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_67.js b/doc/html/search/functions_67.js
new file mode 100644
index 000000000..3f7009f9e
--- /dev/null
+++ b/doc/html/search/functions_67.js
@@ -0,0 +1,107 @@
+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']]],
+ ['get',['get',['../classCache.html#a70392b109331897bf9fdd7f1960e21de',1,'Cache']]],
+ ['get_5faccount',['get_account',['../classApp.html#a08bc87aff64f39fbc084e9d6545cee4d',1,'App']]],
+ ['get_5faccount_5fid',['get_account_id',['../boot_8php.html#afe88b920aa285982edb817a0dd44eb37',1,'boot.php']]],
+ ['get_5fall_5fperms',['get_all_perms',['../permissions_8php.html#aeca9b280f3dc3358c89976d81d690008',1,'permissions.php']]],
+ ['get_5fapp',['get_app',['../classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2',1,'BaseObject\get_app()'],['../boot_8php.html#a0e6db7e365f2b041a828b93786f694bc',1,'get_app():&#160;boot.php']]],
+ ['get_5fapps',['get_apps',['../classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad',1,'App']]],
+ ['get_5fatom_5felements',['get_atom_elements',['../items_8php.html#a896c1809d58f2d7a42cfe14577958ddf',1,'items.php']]],
+ ['get_5fbaseurl',['get_baseurl',['../classApp.html#a604d659d6977a99de42a160343e5289a',1,'App']]],
+ ['get_5fbb_5ftag_5fpos',['get_bb_tag_pos',['../bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2',1,'bb2diaspora.php']]],
+ ['get_5fbest_5flanguage',['get_best_language',['../language_8php.html#a980dee1d8715a98ab02e36b59facf8ed',1,'language.php']]],
+ ['get_5fbirthdays',['get_birthdays',['../boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51',1,'boot.php']]],
+ ['get_5fbrowser_5flanguage',['get_browser_language',['../language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e',1,'language.php']]],
+ ['get_5fcapath',['get_capath',['../include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7',1,'network.php']]],
+ ['get_5fchannel',['get_channel',['../classApp.html#a084e03c77686d8c13390fef3f7428a2b',1,'App']]],
+ ['get_5fchild',['get_child',['../classItem.html#a632185dd25c5caf277067c76230a4320',1,'Item']]],
+ ['get_5fchildren',['get_children',['../classItem.html#aa0ee775ec94abccec6c798428835d001',1,'Item']]],
+ ['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']]],
+ ['get_5fconfig_5ffrom_5fstorage',['get_config_from_storage',['../include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74',1,'config.php']]],
+ ['get_5fconversation',['get_conversation',['../classItem.html#a0c301aaed2b7d682728d18db3a22afa3',1,'Item']]],
+ ['get_5fcurl_5fcode',['get_curl_code',['../classApp.html#ab410451f132910773d0a02e35d0dced9',1,'App']]],
+ ['get_5fcurl_5fheaders',['get_curl_headers',['../classApp.html#abaf2173711e861ae4aebf43a7f70157e',1,'App']]],
+ ['get_5fcustom_5fnav',['get_custom_nav',['../boot_8php.html#a899d24fd074594ceebbf72e1feff335f',1,'boot.php']]],
+ ['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_5fdim',['get_dim',['../datetime_8php.html#a7df24d72ea05922d3127363e2295174c',1,'datetime.php']]],
+ ['get_5fevents',['get_events',['../boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312',1,'boot.php']]],
+ ['get_5ffeatures',['get_features',['../features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c',1,'features.php']]],
+ ['get_5ffeed_5ffor',['get_feed_for',['../items_8php.html#a04a35b610acfe54434df08adec39c0c7',1,'items.php']]],
+ ['get_5ffirst_5fdim',['get_first_dim',['../datetime_8php.html#aba971b67f17fecf050813f1eba72367f',1,'datetime.php']]],
+ ['get_5fform_5fsecurity_5ftoken',['get_form_security_token',['../security_8php.html#acd06ef411116115c2f0a92633700db8a',1,'security.php']]],
+ ['get_5fformatsmap',['get_FormatsMap',['../classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4',1,'photo_imagick']]],
+ ['get_5fgroups',['get_groups',['../classApp.html#a4659785d13e4bac0bed50dbb1b0d4299',1,'App']]],
+ ['get_5fhostname',['get_hostname',['../classApp.html#a622eace13f8fc9f4b5672a68e2bc4396',1,'App']]],
+ ['get_5fid',['get_id',['../classItem.html#ac0f27e58532612f6e7a54c8a621b9b92',1,'Item']]],
+ ['get_5fintltext_5ftemplate',['get_intltext_template',['../classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118',1,'FriendicaSmartyEngine\get_intltext_template()'],['../plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295',1,'get_intltext_template():&#160;plugin.php']]],
+ ['get_5fitem_5fchildren',['get_item_children',['../conversation_8php.html#a7f6ef0dfa554bacf620e84c18d386e67',1,'conversation.php']]],
+ ['get_5fitem_5fcontact',['get_item_contact',['../items_8php.html#aab9c6bae4c40799867596bdaae9829fd',1,'items.php']]],
+ ['get_5fitem_5felements',['get_item_elements',['../items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361',1,'items.php']]],
+ ['get_5fmail_5felements',['get_mail_elements',['../items_8php.html#a94ddb1d6c8fa21dd7433677e85168037',1,'items.php']]],
+ ['get_5fmarkup_5ftemplate',['get_markup_template',['../classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88',1,'FriendicaSmartyEngine\get_markup_template()'],['../interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442',1,'ITemplateEngine\get_markup_template()'],['../classTemplate.html#afd97b4b1e7754a550e67c0ea79159059',1,'Template\get_markup_template()'],['../plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4',1,'get_markup_template():&#160;plugin.php']]],
+ ['get_5fmax_5fimport_5fsize',['get_max_import_size',['../boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90',1,'boot.php']]],
+ ['get_5fmentions',['get_mentions',['../text_8php.html#a76d1b3435c067978d7b484c45f56472b',1,'text.php']]],
+ ['get_5fmode',['get_mode',['../classConversation.html#a87a0d704d5f2b1a008cc2e9ce06a1bcd',1,'Conversation']]],
+ ['get_5fmood_5fverbs',['get_mood_verbs',['../text_8php.html#a736db13a966b8abaf8c9198faa35911a',1,'text.php']]],
+ ['get_5fmy_5faddress',['get_my_address',['../boot_8php.html#a490972c02fdb638c52ec0e012a30bfd2',1,'boot.php']]],
+ ['get_5fmy_5furl',['get_my_url',['../boot_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec',1,'boot.php']]],
+ ['get_5fobserver',['get_observer',['../classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2',1,'App\get_observer()'],['../classConversation.html#ae3d4190142e12b57051f11f2911f77a0',1,'Conversation\get_observer()']]],
+ ['get_5fobserver_5fhash',['get_observer_hash',['../boot_8php.html#a623e49c79943f3e7bdb770d021683cf7',1,'boot.php']]],
+ ['get_5fowner_5fname',['get_owner_name',['../classItem.html#a67892aa23d19f4431bb2e5f43c74000e',1,'Item']]],
+ ['get_5fowner_5fphoto',['get_owner_photo',['../classItem.html#aa541bc4290e51bfd688d6921bebabc73',1,'Item']]],
+ ['get_5fowner_5furl',['get_owner_url',['../classItem.html#a9f2d219da712390f59012fc32a342074',1,'Item']]],
+ ['get_5fparent',['get_parent',['../classItem.html#a4b92e3a9d6212c553aa2661489bd95d8',1,'Item']]],
+ ['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#a05b7f26dc2df78681f57eeade53040c6',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']]],
+ ['get_5fprofile_5fowner',['get_profile_owner',['../classConversation.html#a5effe8ad3007e01333df44b81432b813',1,'Conversation']]],
+ ['get_5fpublic_5ffeed',['get_public_feed',['../items_8php.html#a079e099e15d88d47aeb6ca6d60da7107',1,'items.php']]],
+ ['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_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()']]],
+ ['get_5ftemplate_5fengine',['get_template_engine',['../classApp.html#acb27e607fe4c82603444676e25c36b70',1,'App']]],
+ ['get_5ftemplate_5fldelim',['get_template_ldelim',['../classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a',1,'App']]],
+ ['get_5ftemplate_5frdelim',['get_template_rdelim',['../classApp.html#aab23c59172310fd30f2d60dc039d3eea',1,'App']]],
+ ['get_5fterms_5foftype',['get_terms_oftype',['../taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1',1,'taxonomy.php']]],
+ ['get_5ftheme_5fconfig_5ffile',['get_theme_config_file',['../settings_8php.html#a39abc76ff5459c57e3b957664f273f18',1,'settings.php']]],
+ ['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',['../boot_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3',1,'boot.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']]],
+ ['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()']]],
+ ['gettype',['getType',['../classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3',1,'photo_driver']]],
+ ['getwidth',['getWidth',['../classphoto__driver.html#acc30486acee9e89e32701f44a1738117',1,'photo_driver']]],
+ ['goaway',['goaway',['../boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1',1,'boot.php']]],
+ ['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']]],
+ ['group_5fpost',['group_post',['../mod_2group_8php.html#aed1f009b1221348021bb34761160ef35',1,'group.php']]],
+ ['group_5frec_5fbyhash',['group_rec_byhash',['../include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245',1,'group.php']]],
+ ['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']]],
+ ['groups_5fcontaining',['groups_containing',['../include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f',1,'group.php']]],
+ ['guess_5fimage_5ftype',['guess_image_type',['../photo__driver_8php.html#a7273b82b017fd96d29b2c57bab03aea6',1,'photo_driver.php']]]
+];
diff --git a/doc/html/search/functions_68.html b/doc/html/search/functions_68.html
new file mode 100644
index 000000000..77d37fe1a
--- /dev/null
+++ b/doc/html/search/functions_68.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_68.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_68.js b/doc/html/search/functions_68.js
new file mode 100644
index 000000000..2fcb45ed0
--- /dev/null
+++ b/doc/html/search/functions_68.js
@@ -0,0 +1,20 @@
+var searchData=
+[
+ ['handle_5ftag',['handle_tag',['../item_8php.html#abd0e603a6696051af16476eb968d52e7',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_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']]],
+ ['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']]],
+ ['http_5fstatus_5fexit',['http_status_exit',['../include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2',1,'network.php']]]
+];
diff --git a/doc/html/search/functions_69.html b/doc/html/search/functions_69.html
new file mode 100644
index 000000000..9edd1a1c1
--- /dev/null
+++ b/doc/html/search/functions_69.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_69.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_69.js b/doc/html/search/functions_69.js
new file mode 100644
index 000000000..07da17f5e
--- /dev/null
+++ b/doc/html/search/functions_69.js
@@ -0,0 +1,51 @@
+var searchData=
+[
+ ['identity_5fbasic_5fexport',['identity_basic_export',['../identity_8php.html#a3570a4eb77332b292d394c4132cb8f03',1,'identity.php']]],
+ ['identity_5fbasic_5fimport',['identity_basic_import',['../identity_8php.html#a77ee7d66eb0758f7e7882f70ad0f9485',1,'identity.php']]],
+ ['identity_5fcheck_5fservice_5fclass',['identity_check_service_class',['../identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633',1,'identity.php']]],
+ ['ids_5fto_5fquerystr',['ids_to_querystr',['../text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a',1,'text.php']]],
+ ['imagestring',['imageString',['../classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd',1,'photo_driver\imageString()'],['../classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00',1,'photo_gd\imageString()'],['../classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019',1,'photo_imagick\imageString()']]],
+ ['import_5fauthor_5fxchan',['import_author_xchan',['../items_8php.html#ae73794179b62d39bb597ff670ab1c1e5',1,'items.php']]],
+ ['import_5fchannel_5fphoto',['import_channel_photo',['../photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a',1,'photo_driver.php']]],
+ ['import_5fcontent',['import_content',['../import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184',1,'import.php']]],
+ ['import_5fdirectory_5fkeywords',['import_directory_keywords',['../zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a',1,'zot.php']]],
+ ['import_5fdirectory_5fprofile',['import_directory_profile',['../zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32',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_5fsite',['import_site',['../zot_8php.html#a2657e141d62d5f67ad3c87651b585299',1,'zot.php']]],
+ ['import_5fxchan',['import_xchan',['../zot_8php.html#ab0227978011d8601494a7651fa26acf0',1,'zot.php']]],
+ ['info',['info',['../boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498',1,'boot.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_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']]],
+ ['is_5ftoplevel',['is_toplevel',['../classItem.html#aa49e40f961dff66da32c5ae110e32993',1,'Item']]],
+ ['is_5fvalid',['is_valid',['../classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab',1,'photo_driver']]],
+ ['is_5fvisiting',['is_visiting',['../classItem.html#a97c7feeea7f26a73176cb19faa455e12',1,'Item']]],
+ ['is_5fwall_5fto_5fwall',['is_wall_to_wall',['../classItem.html#aabf87ded59c25b5fe2b2296678e70509',1,'Item']]],
+ ['is_5fwritable',['is_writable',['../classConversation.html#a5879199008b96bee7550b576d614e1c1',1,'Conversation']]],
+ ['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']]],
+ ['item_5fexpire',['item_expire',['../items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc',1,'items.php']]],
+ ['item_5fextract_5fimages',['item_extract_images',['../conversation_8php.html#a0ee05f15255fb1cc3d89f30bc378a654',1,'conversation.php']]],
+ ['item_5fgetfeedattach',['item_getfeedattach',['../items_8php.html#a09d425596b9f8663472cf7474ad36d96',1,'items.php']]],
+ ['item_5fgetfeedtags',['item_getfeedtags',['../items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7',1,'items.php']]],
+ ['item_5fmessage_5fid',['item_message_id',['../text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e',1,'text.php']]],
+ ['item_5fpermissions_5fsql',['item_permissions_sql',['../security_8php.html#a9355488460ab11d6058656ff919e5cf9',1,'security.php']]],
+ ['item_5fphoto_5fmenu',['item_photo_menu',['../conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3',1,'conversation.php']]],
+ ['item_5fpost',['item_post',['../item_8php.html#a693cd09805755ab85bbb5ecae69a48c3',1,'item.php']]],
+ ['item_5fpost_5ftype',['item_post_type',['../text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e',1,'text.php']]],
+ ['item_5fredir_5fand_5freplace_5fimages',['item_redir_and_replace_images',['../conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533',1,'conversation.php']]],
+ ['item_5fstore',['item_store',['../items_8php.html#a2541e6861a56d145c9281877cc501615',1,'items.php']]],
+ ['item_5fstore_5fupdate',['item_store_update',['../items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484',1,'items.php']]],
+ ['items_5ffetch',['items_fetch',['../items_8php.html#a756738301f2ed96be50232500677d58a',1,'items.php']]]
+];
diff --git a/doc/html/search/functions_6a.html b/doc/html/search/functions_6a.html
new file mode 100644
index 000000000..948495f1b
--- /dev/null
+++ b/doc/html/search/functions_6a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_6a.js b/doc/html/search/functions_6a.js
new file mode 100644
index 000000000..d6a51a5d9
--- /dev/null
+++ b/doc/html/search/functions_6a.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['jindent',['jindent',['../text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8',1,'text.php']]],
+ ['json_5fdecode_5fplus',['json_decode_plus',['../text_8php.html#a0271381208acfa2d4cff36da281e3e23',1,'text.php']]],
+ ['json_5freturn_5fand_5fdie',['json_return_and_die',['../include_2network_8php.html#a4c5d50079e089168d9248427018fffd4',1,'network.php']]]
+];
diff --git a/doc/html/search/functions_6b.html b/doc/html/search/functions_6b.html
new file mode 100644
index 000000000..a0d07a92d
--- /dev/null
+++ b/doc/html/search/functions_6b.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_6b.js b/doc/html/search/functions_6b.js
new file mode 100644
index 000000000..d29bcec09
--- /dev/null
+++ b/doc/html/search/functions_6b.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['killme',['killme',['../boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c',1,'boot.php']]]
+];
diff --git a/doc/html/search/functions_6c.html b/doc/html/search/functions_6c.html
new file mode 100644
index 000000000..33c0d6dd1
--- /dev/null
+++ b/doc/html/search/functions_6c.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_6c.js b/doc/html/search/functions_6c.js
new file mode 100644
index 000000000..1464690de
--- /dev/null
+++ b/doc/html/search/functions_6c.js
@@ -0,0 +1,39 @@
+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']]],
+ ['like_5fcontent',['like_content',['../like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538',1,'like.php']]],
+ ['like_5fpuller',['like_puller',['../conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0',1,'conversation.php']]],
+ ['limit_5fbody_5fsize',['limit_body_size',['../items_8php.html#af94c281016c6c912d06e064113336c5c',1,'items.php']]],
+ ['link_5fcompare',['link_compare',['../text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285',1,'text.php']]],
+ ['linkify',['linkify',['../text_8php.html#a11255c8c4e5245b6c24f97684826aa54',1,'text.php']]],
+ ['list_5fpublic_5fsites',['list_public_sites',['../dirsearch_8php.html#a985d410a170549429857af6ff2673149',1,'dirsearch.php']]],
+ ['load',['load',['../classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712',1,'photo_driver\load()'],['../classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9',1,'photo_gd\load()'],['../classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8',1,'photo_imagick\load()']]],
+ ['load_5fconfig',['load_config',['../include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1',1,'config.php']]],
+ ['load_5fcontact_5flinks',['load_contact_links',['../boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6',1,'boot.php']]],
+ ['load_5fdatabase',['load_database',['../setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a',1,'setup.php']]],
+ ['load_5fdatabase_5frem',['load_database_rem',['../setup_8php.html#a2b375ddc555140236fc500135de99371',1,'setup.php']]],
+ ['load_5fhooks',['load_hooks',['../plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813',1,'plugin.php']]],
+ ['load_5fpconfig',['load_pconfig',['../include_2config_8php.html#ac543813a980b3841cc5a277fcd4a24a6',1,'config.php']]],
+ ['load_5fplugin',['load_plugin',['../plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d',1,'plugin.php']]],
+ ['load_5ftranslation_5ftable',['load_translation_table',['../language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05',1,'language.php']]],
+ ['load_5fxconfig',['load_xconfig',['../include_2config_8php.html#a55bbed9a014c9109c767486834f3ca33',1,'config.php']]],
+ ['local_5fuser',['local_user',['../boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44',1,'boot.php']]],
+ ['localize_5fitem',['localize_item',['../conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c',1,'conversation.php']]],
+ ['lockview_5fcontent',['lockview_content',['../lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44',1,'lockview.php']]],
+ ['logger',['logger',['../text_8php.html#a030fa5ecc64168af0c4f44897a9bce63',1,'text.php']]],
+ ['login',['login',['../boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4',1,'boot.php']]],
+ ['login_5fcontent',['login_content',['../login_8php.html#a1d69ca88eb9005a7026e128b9a645904',1,'login.php']]],
+ ['loginuser',['loginUser',['../classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f',1,'FKOAuth1']]],
+ ['lookup_5fconsumer',['lookup_consumer',['../classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1',1,'FKOAuthDataStore']]],
+ ['lookup_5fnonce',['lookup_nonce',['../classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599',1,'FKOAuthDataStore']]],
+ ['lookup_5ftoken',['lookup_token',['../classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab',1,'FKOAuthDataStore']]],
+ ['lostpass_5fcontent',['lostpass_content',['../lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3',1,'lostpass.php']]],
+ ['lostpass_5fpost',['lostpass_post',['../lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc',1,'lostpass.php']]],
+ ['lrdd',['lrdd',['../include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041',1,'network.php']]]
+];
diff --git a/doc/html/search/functions_6d.html b/doc/html/search/functions_6d.html
new file mode 100644
index 000000000..73fecffde
--- /dev/null
+++ b/doc/html/search/functions_6d.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_6d.js b/doc/html/search/functions_6d.js
new file mode 100644
index 000000000..61dd6cb2e
--- /dev/null
+++ b/doc/html/search/functions_6d.js
@@ -0,0 +1,38 @@
+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_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']]],
+ ['map_5fscope',['map_scope',['../items_8php.html#ac1fcf621dce7370515b420a7753f4726',1,'items.php']]],
+ ['marital_5fselector',['marital_selector',['../profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798',1,'profile_selectors.php']]],
+ ['match_5fcontent',['match_content',['../match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d',1,'match.php']]],
+ ['member_5fof',['member_of',['../include_2group_8php.html#a048f6892bfd28852de1b76470df411de',1,'group.php']]],
+ ['menu_5fadd_5fitem',['menu_add_item',['../include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8',1,'menu.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']]],
+ ['menu_5fdelete',['menu_delete',['../include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8',1,'menu.php']]],
+ ['menu_5fdelete_5fid',['menu_delete_id',['../include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804',1,'menu.php']]],
+ ['menu_5fedit',['menu_edit',['../include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571',1,'menu.php']]],
+ ['menu_5fedit_5fitem',['menu_edit_item',['../include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa',1,'menu.php']]],
+ ['menu_5ffetch',['menu_fetch',['../include_2menu_8php.html#a68ebbf492470c930f652013656f9071d',1,'menu.php']]],
+ ['menu_5ffetch_5fid',['menu_fetch_id',['../include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7',1,'menu.php']]],
+ ['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']]],
+ ['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#ab4d9e5b59f48787cb01baae5dc6c381f',1,'group.php']]],
+ ['mitem_5fcontent',['mitem_content',['../mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e',1,'mitem.php']]],
+ ['mitem_5finit',['mitem_init',['../mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518',1,'mitem.php']]],
+ ['mitem_5fpost',['mitem_post',['../mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1',1,'mitem.php']]],
+ ['mood_5fcontent',['mood_content',['../mood_8php.html#a721b9b6703b3234a005641c92d409b8f',1,'mood.php']]],
+ ['mood_5finit',['mood_init',['../mood_8php.html#a7ae136dd7476865b4828136175db5022',1,'mood.php']]],
+ ['msearch_5fpost',['msearch_post',['../msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8',1,'msearch.php']]]
+];
diff --git a/doc/html/search/functions_6e.html b/doc/html/search/functions_6e.html
new file mode 100644
index 000000000..5e54741d4
--- /dev/null
+++ b/doc/html/search/functions_6e.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_6e.js b/doc/html/search/functions_6e.js
new file mode 100644
index 000000000..6bdcef685
--- /dev/null
+++ b/doc/html/search/functions_6e.js
@@ -0,0 +1,34 @@
+var searchData=
+[
+ ['nameslist',['namesList',['../docblox__errorchecker_8php.html#a2b767cfc461fdd5061fffc9e4a806d5b',1,'docblox_errorchecker.php']]],
+ ['nav',['nav',['../nav_8php.html#a43be0df73b90647ea70947ce004e231e',1,'nav.php']]],
+ ['nav_5fset_5fselected',['nav_set_selected',['../nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a',1,'nav.php']]],
+ ['navbar_5fcomplete',['navbar_complete',['../acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f',1,'acl.php']]],
+ ['network_5fcontent',['network_content',['../mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4',1,'network.php']]],
+ ['network_5finit',['network_init',['../mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec',1,'network.php']]],
+ ['network_5fquery_5fget_5fsel_5ftab',['network_query_get_sel_tab',['../mod_2network_8php.html#aeaa518c1a317516a3da337b88d358666',1,'network.php']]],
+ ['network_5fto_5fname',['network_to_name',['../contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be',1,'contact_selectors.php']]],
+ ['new_5faccess_5ftoken',['new_access_token',['../classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934',1,'FKOAuthDataStore']]],
+ ['new_5fchannel_5fcontent',['new_channel_content',['../new__channel_8php.html#ae585191610f79da129492482ce8e2fee',1,'new_channel.php']]],
+ ['new_5fchannel_5finit',['new_channel_init',['../new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164',1,'new_channel.php']]],
+ ['new_5fchannel_5fpost',['new_channel_post',['../new__channel_8php.html#a180b0646957db8290482f02454ad7f23',1,'new_channel.php']]],
+ ['new_5fcontact',['new_contact',['../include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7',1,'follow.php']]],
+ ['new_5fcookie',['new_cookie',['../session_8php.html#a4c0ead624f95483e386bc80abf570a8f',1,'session.php']]],
+ ['new_5fkeypair',['new_keypair',['../crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a',1,'crypto.php']]],
+ ['new_5frequest_5ftoken',['new_request_token',['../classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050',1,'FKOAuthDataStore']]],
+ ['node2bbcode',['node2bbcode',['../html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8',1,'html2bbcode.php']]],
+ ['node2bbcodesub',['node2bbcodesub',['../html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7',1,'html2bbcode.php']]],
+ ['nogroup_5fcontent',['nogroup_content',['../nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30',1,'nogroup.php']]],
+ ['nogroup_5finit',['nogroup_init',['../nogroup_8php.html#a099cb353bf62e8453069ce107b763212',1,'nogroup.php']]],
+ ['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']]],
+ ['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']]],
+ ['notifications_5fpost',['notifications_post',['../notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33',1,'notifications.php']]],
+ ['notifier_5frun',['notifier_run',['../notifier_8php.html#a568c502f626cff95e344c0748938b85d',1,'notifier.php']]],
+ ['notify_5fcontent',['notify_content',['../mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3',1,'notify.php']]],
+ ['notify_5finit',['notify_init',['../mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae',1,'notify.php']]],
+ ['nuke_5fsession',['nuke_session',['../auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a',1,'auth.php']]]
+];
diff --git a/doc/html/search/functions_6f.html b/doc/html/search/functions_6f.html
new file mode 100644
index 000000000..9d6926417
--- /dev/null
+++ b/doc/html/search/functions_6f.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_6f.js b/doc/html/search/functions_6f.js
new file mode 100644
index 000000000..e9dff92d6
--- /dev/null
+++ b/doc/html/search/functions_6f.js
@@ -0,0 +1,20 @@
+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_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']]],
+ ['oembed_5fbbcode2html',['oembed_bbcode2html',['../include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2',1,'oembed.php']]],
+ ['oembed_5ffetch_5furl',['oembed_fetch_url',['../include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2',1,'oembed.php']]],
+ ['oembed_5fformat_5fobject',['oembed_format_object',['../include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3',1,'oembed.php']]],
+ ['oembed_5fhtml2bbcode',['oembed_html2bbcode',['../include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172',1,'oembed.php']]],
+ ['oembed_5fiframe',['oembed_iframe',['../include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a',1,'oembed.php']]],
+ ['oembed_5finit',['oembed_init',['../mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014',1,'oembed.php']]],
+ ['oembed_5freplacecb',['oembed_replacecb',['../include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0',1,'oembed.php']]],
+ ['oexchange_5fcontent',['oexchange_content',['../oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26',1,'oexchange.php']]],
+ ['oexchange_5finit',['oexchange_init',['../oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59',1,'oexchange.php']]],
+ ['onepoll_5frun',['onepoll_run',['../onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d',1,'onepoll.php']]],
+ ['opensearch_5finit',['opensearch_init',['../opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9',1,'opensearch.php']]],
+ ['orient',['orient',['../classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d',1,'photo_driver']]]
+];
diff --git a/doc/html/search/functions_70.html b/doc/html/search/functions_70.html
new file mode 100644
index 000000000..8ef7fb962
--- /dev/null
+++ b/doc/html/search/functions_70.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_70.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_70.js b/doc/html/search/functions_70.js
new file mode 100644
index 000000000..d9f5ca8ce
--- /dev/null
+++ b/doc/html/search/functions_70.js
@@ -0,0 +1,89 @@
+var searchData=
+[
+ ['page_5fcontent',['page_content',['../page_8php.html#a91a5f649f68406149108bded1dc90b22',1,'page.php']]],
+ ['page_5finit',['page_init',['../page_8php.html#a4d89800c0366a239191b1692c09635cf',1,'page.php']]],
+ ['pagelist_5fwidget',['pagelist_widget',['../page__widgets_8php.html#ad82011c1ed90d9de8b9f34c12af5c6f0',1,'page_widgets.php']]],
+ ['paginate',['paginate',['../text_8php.html#afe9f178d264d44a94dc1292aaf0fd585',1,'text.php']]],
+ ['parse_5furl_5fcontent',['parse_url_content',['../parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b',1,'parse_url.php']]],
+ ['parse_5fxml_5fstring',['parse_xml_string',['../include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6',1,'network.php']]],
+ ['parsed',['parsed',['../classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9',1,'FriendicaSmarty']]],
+ ['parseurl_5fgetsiteinfo',['parseurl_getsiteinfo',['../parse__url_8php.html#a25635549f2c22955d72465f4d2e58993',1,'parse_url.php']]],
+ ['pdl_5fselector',['pdl_selector',['../comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e',1,'comanche.php']]],
+ ['perm_5fis_5fallowed',['perm_is_allowed',['../permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835',1,'permissions.php']]],
+ ['permissions_5fsql',['permissions_sql',['../security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f',1,'security.php']]],
+ ['perms2str',['perms2str',['../text_8php.html#a98fd99dee3da8cf4c148dc04efe782ee',1,'text.php']]],
+ ['photo_5ffactory',['photo_factory',['../photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035',1,'photo_driver.php']]],
+ ['photo_5finit',['photo_init',['../photo_8php.html#a582779d24882b0d31ee909a91d70a448',1,'photo.php']]],
+ ['photo_5fnew_5fresource',['photo_new_resource',['../text_8php.html#aa5528f41533927e1bd2da3618a74a6d7',1,'text.php']]],
+ ['photo_5fupload',['photo_upload',['../include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109',1,'photos.php']]],
+ ['photos_5falbum_5fexists',['photos_album_exists',['../include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35',1,'photos.php']]],
+ ['photos_5falbum_5fget_5fdb_5fidstr',['photos_album_get_db_idstr',['../include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe',1,'photos.php']]],
+ ['photos_5falbum_5frename',['photos_album_rename',['../include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab',1,'photos.php']]],
+ ['photos_5falbum_5fwidget',['photos_album_widget',['../include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979',1,'photos.php']]],
+ ['photos_5falbums_5flist',['photos_albums_list',['../include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9',1,'photos.php']]],
+ ['photos_5fcontent',['photos_content',['../mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812',1,'photos.php']]],
+ ['photos_5fcreate_5fitem',['photos_create_item',['../include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274',1,'photos.php']]],
+ ['photos_5finit',['photos_init',['../mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014',1,'photos.php']]],
+ ['photos_5flist_5fphotos',['photos_list_photos',['../include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51',1,'photos.php']]],
+ ['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']]],
+ ['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']]],
+ ['poco_5finit',['poco_init',['../poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498',1,'poco.php']]],
+ ['poco_5fload',['poco_load',['../socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6',1,'socgraph.php']]],
+ ['poke_5fcontent',['poke_content',['../poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993',1,'poke.php']]],
+ ['poke_5finit',['poke_init',['../poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b',1,'poke.php']]],
+ ['poller_5frun',['poller_run',['../poller_8php.html#a5f12df3a4738124b6c039971e87e76da',1,'poller.php']]],
+ ['pop_5flang',['pop_lang',['../language_8php.html#a78bd204955ec4cc3a9ac651285a1689d',1,'language.php']]],
+ ['populate_5facl',['populate_acl',['../acl__selectors_8php.html#a51f2ec7a143d5a5b38e35efd5f3d6e2c',1,'acl_selectors.php']]],
+ ['post_5factivity_5fitem',['post_activity_item',['../items_8php.html#a410f9c743877c125ca06312373346903',1,'items.php']]],
+ ['post_5finit',['post_init',['../post_8php.html#af4b48181ce773ef0cdfc972441445c34',1,'post.php']]],
+ ['post_5fpost',['post_post',['../post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75',1,'post.php']]],
+ ['post_5furl',['post_url',['../include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e',1,'network.php']]],
+ ['posted_5fdate_5fwidget',['posted_date_widget',['../items_8php.html#abe695dd89e1e10ed042c26b80114f0ed',1,'items.php']]],
+ ['posted_5fdates',['posted_dates',['../items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0',1,'items.php']]],
+ ['preg_5fheart',['preg_heart',['../text_8php.html#ac19d2b33a58372a357a43d51eed19162',1,'text.php']]],
+ ['prepare_5fbody',['prepare_body',['../text_8php.html#ae4df74296fbe55051ed3c035e55205e5',1,'text.php']]],
+ ['prepare_5fpage',['prepare_page',['../conversation_8php.html#a4b0888b0f26e1c284a4341fe5fd04f0c',1,'conversation.php']]],
+ ['prepare_5ftext',['prepare_text',['../text_8php.html#afe54312607d92f7ce9593f5760831f80',1,'text.php']]],
+ ['pretheme_5finit',['pretheme_init',['../pretheme_8php.html#af5660943ee99db5fd75182316522eafe',1,'pretheme.php']]],
+ ['print_5ftemplate',['print_template',['../tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3',1,'tpldebug.php']]],
+ ['printable',['printable',['../dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249',1,'dba_driver.php']]],
+ ['private_5fmessages_5fdrop',['private_messages_drop',['../include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1',1,'message.php']]],
+ ['private_5fmessages_5ffetch_5fconversation',['private_messages_fetch_conversation',['../include_2message_8php.html#a5f8de9847e203329e317ac38dc646898',1,'message.php']]],
+ ['private_5fmessages_5ffetch_5fmessage',['private_messages_fetch_message',['../include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091',1,'message.php']]],
+ ['private_5fmessages_5flist',['private_messages_list',['../include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e',1,'message.php']]],
+ ['probe_5fcontent',['probe_content',['../probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99',1,'probe.php']]],
+ ['proc_5frun',['proc_run',['../boot_8php.html#ab346a2ece14993861f3e4206befa94f0',1,'boot.php']]],
+ ['process_5fchannel_5fsync_5fdelivery',['process_channel_sync_delivery',['../zot_8php.html#ac301c67864917c35922257950ae0f95c',1,'zot.php']]],
+ ['process_5fdelivery',['process_delivery',['../zot_8php.html#a37ec13b18057634eadb071f05297f5e1',1,'zot.php']]],
+ ['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',['../boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620',1,'boot.php']]],
+ ['profile_5finit',['profile_init',['../profile_8php.html#ab5d0246be0552e2182a585c1206d22a5',1,'profile.php']]],
+ ['profile_5fload',['profile_load',['../boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68',1,'boot.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',['../boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc',1,'boot.php']]],
+ ['profile_5ftabs',['profile_tabs',['../boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273',1,'boot.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']]],
+ ['public_5fpermissions_5fsql',['public_permissions_sql',['../security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01',1,'security.php']]],
+ ['public_5frecips',['public_recips',['../zot_8php.html#a083aec6c900d244e1bfc1406f9461465',1,'zot.php']]],
+ ['pubsites_5fcontent',['pubsites_content',['../pubsites_8php.html#af614e279aab54065345bda6b03eafdf0',1,'pubsites.php']]],
+ ['purify_5fhtml',['purify_html',['../text_8php.html#a4841df5beabdd1bdd1ed56781a915d61',1,'text.php']]],
+ ['push_5flang',['push_lang',['../language_8php.html#ac9142ef1d01a235c760deb0f16643f5a',1,'language.php']]]
+];
diff --git a/doc/html/search/functions_71.html b/doc/html/search/functions_71.html
new file mode 100644
index 000000000..d8d7e7358
--- /dev/null
+++ b/doc/html/search/functions_71.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_71.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_71.js b/doc/html/search/functions_71.js
new file mode 100644
index 000000000..64b6af3a9
--- /dev/null
+++ b/doc/html/search/functions_71.js
@@ -0,0 +1,8 @@
+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.html b/doc/html/search/functions_72.html
new file mode 100644
index 000000000..71f58bbd1
--- /dev/null
+++ b/doc/html/search/functions_72.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_72.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_72.js b/doc/html/search/functions_72.js
new file mode 100644
index 000000000..012c67ade
--- /dev/null
+++ b/doc/html/search/functions_72.js
@@ -0,0 +1,50 @@
+var searchData=
+[
+ ['random_5fprofile',['random_profile',['../Contact_8php.html#a91281b5d4bbbb2ed468e27ec82ca083c',1,'Contact.php']]],
+ ['random_5fstring',['random_string',['../text_8php.html#a9d6a5ee1290de7a8b483fe78585daade',1,'text.php']]],
+ ['randprof_5finit',['randprof_init',['../randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090',1,'randprof.php']]],
+ ['rconnect_5furl',['rconnect_url',['../Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91',1,'Contact.php']]],
+ ['rebuild_5ftheme_5ftable',['rebuild_theme_table',['../admin_8php.html#ae46311a3fefc21abc838a26e91789de6',1,'admin.php']]],
+ ['red_5fzrl_5fcallback',['red_zrl_callback',['../items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b',1,'items.php']]],
+ ['redbasic_5fform',['redbasic_form',['../view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2',1,'redbasic_form(&amp;$a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $displaystyle, $linkcolour, $iconset, $shiny, $colour_scheme, $radius):&#160;config.php'],['../view_2theme_2redstrap_2php_2config_8php.html#af58e97b437c1e98a5e434886494cc70e',1,'redbasic_form(&amp;$a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $displaystyle, $linkcolour, $iconset, $shiny):&#160;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']]],
+ ['redstrap_5finit',['redstrap_init',['../redstrap_2php_2theme_8php.html#a4dac61d466b4261deca2846f548e484a',1,'theme.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']]],
+ ['ref_5fsession_5fgc',['ref_session_gc',['../session_8php.html#ac95373f4966862a028033dd2f94d4da1',1,'session.php']]],
+ ['ref_5fsession_5fopen',['ref_session_open',['../session_8php.html#a26fa1042356d555023cbf15ddd4f8507',1,'session.php']]],
+ ['ref_5fsession_5fread',['ref_session_read',['../session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e',1,'session.php']]],
+ ['ref_5fsession_5fwrite',['ref_session_write',['../session_8php.html#ac4461c1984543d3553e73dba2771568f',1,'session.php']]],
+ ['register_5fcontent',['register_content',['../register_8php.html#a0e91f57f111407ea8d3223a05022bb2a',1,'register.php']]],
+ ['register_5fhook',['register_hook',['../plugin_8php.html#a425472c5f3afc137268b2ad45652b209',1,'plugin.php']]],
+ ['register_5finit',['register_init',['../register_8php.html#ae20c0cd40f738d6295de58b9202c83d5',1,'register.php']]],
+ ['register_5fpost',['register_post',['../register_8php.html#a51731dcc1917c58a790eb1c0f6132271',1,'register.php']]],
+ ['register_5ftemplate_5fengine',['register_template_engine',['../classApp.html#abf46a653d8499e7c253cc1be894a6d83',1,'App']]],
+ ['regmod_5fcontent',['regmod_content',['../regmod_8php.html#a7953df4e32e63946565e90cdd5d50409',1,'regmod.php']]],
+ ['relative_5fdate',['relative_date',['../datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82',1,'datetime.php']]],
+ ['reload_5fplugins',['reload_plugins',['../plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025',1,'plugin.php']]],
+ ['reltoabs',['reltoabs',['../text_8php.html#ad855a32bee22c3f3b9734e3a334b96f2',1,'text.php']]],
+ ['remote_5fuser',['remote_user',['../boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209',1,'boot.php']]],
+ ['remove_5fall_5fxchan_5fresources',['remove_all_xchan_resources',['../Contact_8php.html#acc12cda999c88c4d6185cca967c15125',1,'Contact.php']]],
+ ['remove_5fchild',['remove_child',['../classItem.html#a2ce70ef63f9f4d86a09c351678806925',1,'Item']]],
+ ['remove_5fcommunity_5ftag',['remove_community_tag',['../zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10',1,'zot.php']]],
+ ['remove_5fparent',['remove_parent',['../classItem.html#aa452b5bcd8dea12119b09212c615cb41',1,'Item']]],
+ ['remove_5fqueue_5fitem',['remove_queue_item',['../queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24',1,'queue_fn.php']]],
+ ['removeme_5fcontent',['removeme_content',['../removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c',1,'removeme.php']]],
+ ['removeme_5fpost',['removeme_post',['../removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88',1,'removeme.php']]],
+ ['render_5flocation_5fdefault',['render_location_default',['../conversation_8php.html#a40b9b5e7825bc73932a32e667f05e6f2',1,'conversation.php']]],
+ ['replace',['replace',['../classTemplate.html#a285b5b2007dbbf733476273df3fed4ef',1,'Template']]],
+ ['replace_5fmacros',['replace_macros',['../classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2',1,'FriendicaSmartyEngine\replace_macros()'],['../interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243',1,'ITemplateEngine\replace_macros()'],['../classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b',1,'Template\replace_macros()'],['../text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09',1,'replace_macros():&#160;text.php']]],
+ ['requestdata',['requestdata',['../include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e',1,'api.php']]],
+ ['return_5fbytes',['return_bytes',['../text_8php.html#ae2126da85966da0e79c6bcbac63b0bda',1,'text.php']]],
+ ['rmagic_5fcontent',['rmagic_content',['../rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef',1,'rmagic.php']]],
+ ['rmagic_5finit',['rmagic_init',['../rmagic_8php.html#a95455edd43f1bff39446a57388cdde16',1,'rmagic.php']]],
+ ['rmagic_5fpost',['rmagic_post',['../rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f',1,'rmagic.php']]],
+ ['rotate',['rotate',['../classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec',1,'photo_driver\rotate()'],['../classphoto__gd.html#a77f87730b11093b76980c541159df37d',1,'photo_gd\rotate()'],['../classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f',1,'photo_imagick\rotate()']]],
+ ['rsa_5fsign',['rsa_sign',['../crypto_8php.html#a920e5f222d0020f47556033d8b2b6552',1,'crypto.php']]],
+ ['rsa_5fverify',['rsa_verify',['../crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96',1,'crypto.php']]],
+ ['rsd_5fxml_5fcontent',['rsd_xml_content',['../rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82',1,'rsd_xml.php']]],
+ ['runs',['runs',['../docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec',1,'docblox_errorchecker.php']]]
+];
diff --git a/doc/html/search/functions_73.html b/doc/html/search/functions_73.html
new file mode 100644
index 000000000..c80660e8c
--- /dev/null
+++ b/doc/html/search/functions_73.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_73.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_73.js b/doc/html/search/functions_73.js
new file mode 100644
index 000000000..208720a2c
--- /dev/null
+++ b/doc/html/search/functions_73.js
@@ -0,0 +1,92 @@
+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']]],
+ ['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']]],
+ ['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#ac382fdcdf990dcfa8f6528ab8fd280bd',1,'message.php']]],
+ ['send_5freg_5fapproval_5femail',['send_reg_approval_email',['../account_8php.html#a014de2d5d5c9785de5bf547a485822fa',1,'account.php']]],
+ ['send_5fstatus_5fnotifications',['send_status_notifications',['../items_8php.html#aab9e0c58247427126de0699c729c3b6c',1,'items.php']]],
+ ['send_5fverification_5femail',['send_verification_email',['../account_8php.html#aa9c29c497c17d8f9344dce8631ad8761',1,'account.php']]],
+ ['service_5fclass_5fallows',['service_class_allows',['../plugin_8php.html#a030cec6793b909c439c0336ba39b1571',1,'plugin.php']]],
+ ['service_5fclass_5ffetch',['service_class_fetch',['../plugin_8php.html#a905b54e10704b283ac64680a8abc0971',1,'plugin.php']]],
+ ['set',['set',['../classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce',1,'Cache']]],
+ ['set_5faccount',['set_account',['../classApp.html#aeb1fe1c8ad9aa639909bd183ce578536',1,'App']]],
+ ['set_5fapp',['set_app',['../classBaseObject.html#a0a9acda12d751692834cf6999f889223',1,'BaseObject']]],
+ ['set_5fapps',['set_apps',['../classApp.html#abea5a4f77dcd53c928dc4eed86616637',1,'App']]],
+ ['set_5fbaseurl',['set_baseurl',['../classApp.html#a78788f6e9d8b713b138f81e457c5cd08',1,'App']]],
+ ['set_5fchannel',['set_channel',['../classApp.html#a89e9feb2bfb5253883a9720beaffe876',1,'App']]],
+ ['set_5fconfig',['set_config',['../include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a',1,'config.php']]],
+ ['set_5fconversation',['set_conversation',['../classItem.html#aa8b1bbc4236890694635295e46d7fd72',1,'Item']]],
+ ['set_5fcurl_5fcode',['set_curl_code',['../classApp.html#a5e6a6bd641e4d9909df56f0283c03821',1,'App']]],
+ ['set_5fcurl_5fheaders',['set_curl_headers',['../classApp.html#a9632092d9e8fdaa82a9fc4586433fd31',1,'App']]],
+ ['set_5fdefault_5flogin_5fidentity',['set_default_login_identity',['../identity_8php.html#a78151baf4407a8482d2681a91a9c486b',1,'identity.php']]],
+ ['set_5fgroups',['set_groups',['../classApp.html#a3d84af5e42082098672531cd1a618853',1,'App']]],
+ ['set_5fhostname',['set_hostname',['../classApp.html#a344d2b7dc2f276648d521aee4da1731c',1,'App']]],
+ ['set_5fmode',['set_mode',['../classConversation.html#a66f121ca4026246f86a732e5faa0682c',1,'Conversation']]],
+ ['set_5fobserver',['set_observer',['../classApp.html#a4776d9322edea17fae56afa5d01a323e',1,'App']]],
+ ['set_5fpager_5fitemspage',['set_pager_itemspage',['../classApp.html#a4bdd7bfed62f50515fce652127bf481b',1,'App']]],
+ ['set_5fpager_5ftotal',['set_pager_total',['../classApp.html#a560189f048d3db2f526841963cc43e97',1,'App']]],
+ ['set_5fparent',['set_parent',['../classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7',1,'Item']]],
+ ['set_5fpath',['set_path',['../classApp.html#adb060d5c7f35a521ec7ec0effbe08097',1,'App']]],
+ ['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_5fengine',['set_template_engine',['../classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7',1,'App']]],
+ ['set_5fwidget',['set_widget',['../classApp.html#a123b903dfe5d3488cc68db3471d36fd2',1,'App']]],
+ ['set_5fxconfig',['set_xconfig',['../include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e',1,'config.php']]],
+ ['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()']]],
+ ['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_5fcontent',['setup_content',['../setup_8php.html#a88247384a96e14516f474d7af6a465c1',1,'setup.php']]],
+ ['setup_5finit',['setup_init',['../setup_8php.html#a267555abd17290e659b4bf44b885e4e0',1,'setup.php']]],
+ ['setup_5fpost',['setup_post',['../setup_8php.html#a13cf286774149a0a7bd8adb8179cec75',1,'setup.php']]],
+ ['sexpref_5fselector',['sexpref_selector',['../profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7',1,'profile_selectors.php']]],
+ ['share_5finit',['share_init',['../share_8php.html#afeb26046bdd02567ecd29ab5f188b249',1,'share.php']]],
+ ['showform',['showForm',['../fpostit_8php.html#a3f3ae3ae61578b5671673914fd894443',1,'fpostit.php']]],
+ ['site_5fdefault_5fperms',['site_default_perms',['../permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d',1,'permissions.php']]],
+ ['siteinfo_5fcontent',['siteinfo_content',['../siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656',1,'siteinfo.php']]],
+ ['siteinfo_5finit',['siteinfo_init',['../siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0',1,'siteinfo.php']]],
+ ['sitelist_5finit',['sitelist_init',['../sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1',1,'sitelist.php']]],
+ ['smile_5fdecode',['smile_decode',['../text_8php.html#aca0f589be74fab1a460c57e88dad9779',1,'text.php']]],
+ ['smile_5fencode',['smile_encode',['../text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6',1,'text.php']]],
+ ['smilies',['smilies',['../text_8php.html#a3d225b253bb9e0f2498c11647d927b0b',1,'text.php']]],
+ ['smilies_5fcontent',['smilies_content',['../smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f',1,'smilies.php']]],
+ ['sort_5fby_5fdate',['sort_by_date',['../event_8php.html#a018ea4484910a873a7c1eaa126de9b1a',1,'event.php']]],
+ ['sort_5fitem_5fchildren',['sort_item_children',['../conversation_8php.html#ae996eb116d397a2c6396c312d7b98664',1,'conversation.php']]],
+ ['sort_5fthr_5fcommented',['sort_thr_commented',['../conversation_8php.html#a9f909b8885259b79c6ac8da93afd8f11',1,'conversation.php']]],
+ ['sort_5fthr_5fcreated',['sort_thr_created',['../conversation_8php.html#ac55e070f65f46fcc8e269f7896be4c7d',1,'conversation.php']]],
+ ['sort_5fthr_5fcreated_5frev',['sort_thr_created_rev',['../conversation_8php.html#a9cc2a679606da9e535a06433f9f553a0',1,'conversation.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']]],
+ ['store',['store',['../classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b',1,'photo_driver']]],
+ ['store_5fitem_5ftag',['store_item_tag',['../taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd',1,'taxonomy.php']]],
+ ['stream_5fperms_5fapi_5fuids',['stream_perms_api_uids',['../security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809',1,'security.php']]],
+ ['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']]],
+ ['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']]],
+ ['supportedtypes',['supportedTypes',['../classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da',1,'photo_driver\supportedTypes()'],['../classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd',1,'photo_gd\supportedTypes()'],['../classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7',1,'photo_imagick\supportedTypes()']]],
+ ['sync_5fdirectories',['sync_directories',['../dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6',1,'dir_fns.php']]],
+ ['syncdirs',['syncdirs',['../dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a',1,'dir_fns.php']]],
+ ['system_5fdown',['system_down',['../system__unavailable_8php.html#a73751a6bcc17ad3ca503496e2fb020fa',1,'system_unavailable.php']]],
+ ['system_5funavailable',['system_unavailable',['../boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0',1,'boot.php']]]
+];
diff --git a/doc/html/search/functions_74.html b/doc/html/search/functions_74.html
new file mode 100644
index 000000000..1605901ee
--- /dev/null
+++ b/doc/html/search/functions_74.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_74.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_74.js b/doc/html/search/functions_74.js
new file mode 100644
index 000000000..8bf65fac0
--- /dev/null
+++ b/doc/html/search/functions_74.js
@@ -0,0 +1,31 @@
+var searchData=
+[
+ ['t',['t',['../language_8php.html#aae0c3638fb476ae1e31f8d242f5dac04',1,'language.php']]],
+ ['tag_5fdeliver',['tag_deliver',['../items_8php.html#ab1bce4261bcf75ad62753b498a144d17',1,'items.php']]],
+ ['tagadelic',['tagadelic',['../taxonomy_8php.html#a061b3db9426d4b074395f5824062cad4',1,'taxonomy.php']]],
+ ['tagblock',['tagblock',['../taxonomy_8php.html#abdb698bc6921429df6d697f6c5dec96f',1,'taxonomy.php']]],
+ ['tagger_5fcontent',['tagger_content',['../tagger_8php.html#a0e4a3eb177d1684553c547503d67161c',1,'tagger.php']]],
+ ['tagrm_5fcontent',['tagrm_content',['../tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a',1,'tagrm.php']]],
+ ['tagrm_5fpost',['tagrm_post',['../tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78',1,'tagrm.php']]],
+ ['tags_5fsort',['tags_sort',['../taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43',1,'taxonomy.php']]],
+ ['template_5fengine',['template_engine',['../classApp.html#a94a1ed2dc493c58612d17035b74ae736',1,'App']]],
+ ['template_5fescape',['template_escape',['../template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5',1,'template_processor.php']]],
+ ['template_5funescape',['template_unescape',['../template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e',1,'template_processor.php']]],
+ ['term_5fquery',['term_query',['../taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c',1,'taxonomy.php']]],
+ ['terminate_5ffriendship',['terminate_friendship',['../Contact_8php.html#a38daa1c210b78385307123450ca9a1fc',1,'Contact.php']]],
+ ['termtype',['termtype',['../items_8php.html#ad34827ed330898456783fb14c7b46154',1,'items.php']]],
+ ['tgroup_5fcheck',['tgroup_check',['../items_8php.html#a88c6cf7649ac836fbbed82a7a0315110',1,'items.php']]],
+ ['theme_5fcontent',['theme_content',['../view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php'],['../view_2theme_2redstrap_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php']]],
+ ['theme_5finclude',['theme_include',['../plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2',1,'plugin.php']]],
+ ['theme_5fpost',['theme_post',['../view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php'],['../view_2theme_2redstrap_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php']]],
+ ['theme_5fstatus',['theme_status',['../admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4',1,'admin.php']]],
+ ['thing_5fcontent',['thing_content',['../thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b',1,'thing.php']]],
+ ['thing_5finit',['thing_init',['../thing_8php.html#a8be23b1d475ec3d9291999221c674c80',1,'thing.php']]],
+ ['timesel',['timesel',['../datetime_8php.html#a36d3d6dff8d76b5f295bb3d9c535a5b1',1,'datetime.php']]],
+ ['timezone_5fcmp',['timezone_cmp',['../datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865',1,'datetime.php']]],
+ ['title_5fis_5fbody',['title_is_body',['../items_8php.html#aa371905f0a211b307cb3f7188c6cba04',1,'items.php']]],
+ ['toggle_5fmobile_5finit',['toggle_mobile_init',['../toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254',1,'toggle_mobile.php']]],
+ ['toggle_5ftheme',['toggle_theme',['../admin_8php.html#af81f081851791cd15e49e8ff6722dc27',1,'admin.php']]],
+ ['tryoembed',['tryoembed',['../bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7',1,'bbcode.php']]],
+ ['tt',['tt',['../language_8php.html#ae310fb3880484ee1cc4faefe0c63c06d',1,'language.php']]]
+];
diff --git a/doc/html/search/functions_75.html b/doc/html/search/functions_75.html
new file mode 100644
index 000000000..a6c28fa65
--- /dev/null
+++ b/doc/html/search/functions_75.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_75.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_75.js b/doc/html/search/functions_75.js
new file mode 100644
index 000000000..0aef15599
--- /dev/null
+++ b/doc/html/search/functions_75.js
@@ -0,0 +1,26 @@
+var searchData=
+[
+ ['uexport_5finit',['uexport_init',['../uexport_8php.html#a118920137dedebe0581623a2e57e7b0d',1,'uexport.php']]],
+ ['unamp',['unamp',['../text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7',1,'text.php']]],
+ ['undo_5fpost_5ftagging',['undo_post_tagging',['../text_8php.html#a740ad03e00459039a2c0992246c4e727',1,'text.php']]],
+ ['unescape_5funderscores_5fin_5flinks',['unescape_underscores_in_links',['../bb2diaspora_8php.html#a599428bceb6f6d82a6a78cb66811f747',1,'bb2diaspora.php']]],
+ ['uninstall_5fplugin',['uninstall_plugin',['../plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76',1,'plugin.php']]],
+ ['unload_5fplugin',['unload_plugin',['../plugin_8php.html#a90538627db68605aeb6db17a8ead6523',1,'plugin.php']]],
+ ['unregister_5fhook',['unregister_hook',['../plugin_8php.html#a56f71fe5adf9586ce950523d8180443e',1,'plugin.php']]],
+ ['unxmlify',['unxmlify',['../text_8php.html#a1360fed7f918d859daaca1c9f384f9af',1,'text.php']]],
+ ['update_5fchannel_5fcontent',['update_channel_content',['../update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba',1,'update_channel.php']]],
+ ['update_5fcommunity_5fcontent',['update_community_content',['../update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1',1,'update_community.php']]],
+ ['update_5fdisplay_5fcontent',['update_display_content',['../update__display_8php.html#aa36ac524059e209d5d75a03c16206246',1,'update_display.php']]],
+ ['update_5fimported_5fitem',['update_imported_item',['../zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df',1,'zot.php']]],
+ ['update_5fmodtime',['update_modtime',['../zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63',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_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']]],
+ ['upgrade_5flink',['upgrade_link',['../plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040',1,'plugin.php']]],
+ ['upgrade_5fmessage',['upgrade_message',['../plugin_8php.html#a901657dd078e070516cf97285e0bada7',1,'plugin.php']]],
+ ['user_5fallow',['user_allow',['../account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1',1,'account.php']]],
+ ['user_5fdeny',['user_deny',['../account_8php.html#ac1653efba62493b9d87513e1b6c04c83',1,'account.php']]],
+ ['user_5fremove',['user_remove',['../Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15',1,'Contact.php']]]
+];
diff --git a/doc/html/search/functions_76.html b/doc/html/search/functions_76.html
new file mode 100644
index 000000000..e5263cc30
--- /dev/null
+++ b/doc/html/search/functions_76.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_76.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_76.js b/doc/html/search/functions_76.js
new file mode 100644
index 000000000..1a8b0574f
--- /dev/null
+++ b/doc/html/search/functions_76.js
@@ -0,0 +1,18 @@
+var searchData=
+[
+ ['valid_5femail',['valid_email',['../text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb',1,'text.php']]],
+ ['validate_5fchannelname',['validate_channelname',['../identity_8php.html#af2802bc13a00a17b867bba7978ba8f58',1,'identity.php']]],
+ ['validate_5femail',['validate_email',['../include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02',1,'network.php']]],
+ ['validate_5furl',['validate_url',['../include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2',1,'network.php']]],
+ ['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']]],
+ ['visible_5factivity',['visible_activity',['../conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3',1,'conversation.php']]],
+ ['vote_5fcontent',['vote_content',['../vote_8php.html#a6aa67489bf458ca5e3206e46dac68596',1,'vote.php']]],
+ ['vote_5finit',['vote_init',['../vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2',1,'vote.php']]],
+ ['vote_5fpost',['vote_post',['../vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2',1,'vote.php']]]
+];
diff --git a/doc/html/search/functions_77.html b/doc/html/search/functions_77.html
new file mode 100644
index 000000000..add7295de
--- /dev/null
+++ b/doc/html/search/functions_77.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_77.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_77.js b/doc/html/search/functions_77.js
new file mode 100644
index 000000000..c2752ebb3
--- /dev/null
+++ b/doc/html/search/functions_77.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+ ['wall_5fattach_5fpost',['wall_attach_post',['../wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653',1,'wall_attach.php']]],
+ ['wall_5fupload_5fpost',['wall_upload_post',['../wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f',1,'wall_upload.php']]],
+ ['webfinger',['webfinger',['../include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5',1,'network.php']]],
+ ['webfinger_5fcontent',['webfinger_content',['../webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3',1,'webfinger.php']]],
+ ['webfinger_5fdfrn',['webfinger_dfrn',['../include_2network_8php.html#adf6008b38c555e98e7ed10da9ede2335',1,'network.php']]],
+ ['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_5fprofile',['widget_profile',['../comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923',1,'comanche.php']]],
+ ['writepages_5fwidget',['writepages_widget',['../page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f',1,'page_widgets.php']]]
+];
diff --git a/doc/html/search/functions_78.html b/doc/html/search/functions_78.html
new file mode 100644
index 000000000..7f647970f
--- /dev/null
+++ b/doc/html/search/functions_78.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_78.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_78.js b/doc/html/search/functions_78.js
new file mode 100644
index 000000000..0f98f99b9
--- /dev/null
+++ b/doc/html/search/functions_78.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+ ['x',['x',['../boot_8php.html#a01353c9abebc3544ea080ac161729632',1,'boot.php']]],
+ ['xchan_5fcontent',['xchan_content',['../xchan_8php.html#a9853348bf1a35c644460221ba75edc2d',1,'xchan.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']]],
+ ['xml_5fstatus',['xml_status',['../include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6',1,'network.php']]],
+ ['xmlify',['xmlify',['../text_8php.html#aaed4413ed8918838b517e3b2fafaea0d',1,'text.php']]],
+ ['xrd_5finit',['xrd_init',['../xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270',1,'xrd.php']]]
+];
diff --git a/doc/html/search/functions_7a.html b/doc/html/search/functions_7a.html
new file mode 100644
index 000000000..e23b42fb0
--- /dev/null
+++ b/doc/html/search/functions_7a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_7a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/functions_7a.js b/doc/html/search/functions_7a.js
new file mode 100644
index 000000000..9b194afe1
--- /dev/null
+++ b/doc/html/search/functions_7a.js
@@ -0,0 +1,31 @@
+var searchData=
+[
+ ['z_5fbirthday',['z_birthday',['../boot_8php.html#ab55e545b72ec8c097e052ea7d373491f',1,'boot.php']]],
+ ['z_5ffetch_5furl',['z_fetch_url',['../include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37',1,'network.php']]],
+ ['z_5finput_5ffilter',['z_input_filter',['../text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f',1,'text.php']]],
+ ['z_5fmime_5fcontent_5ftype',['z_mime_content_type',['../include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a',1,'attach.php']]],
+ ['z_5fpath',['z_path',['../boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda',1,'boot.php']]],
+ ['z_5fpost_5furl',['z_post_url',['../include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc',1,'network.php']]],
+ ['z_5freaddir',['z_readdir',['../include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909',1,'attach.php']]],
+ ['z_5froot',['z_root',['../boot_8php.html#add517a0958ac684792c62142a3877f81',1,'boot.php']]],
+ ['zfinger_5finit',['zfinger_init',['../zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0',1,'zfinger.php']]],
+ ['zid',['zid',['../boot_8php.html#a5b815330f3d177ab383af37a6c12e532',1,'boot.php']]],
+ ['zid_5finit',['zid_init',['../boot_8php.html#a680fbafc2db023c5b1309e0180e81315',1,'boot.php']]],
+ ['zidify_5fcallback',['zidify_callback',['../text_8php.html#a405afe814a23f3bd94d826101aa168ab',1,'text.php']]],
+ ['zidify_5fimg_5fcallback',['zidify_img_callback',['../text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4',1,'text.php']]],
+ ['zidify_5flinks',['zidify_links',['../text_8php.html#a29988052f3944111def3b6aaf2c7a8f6',1,'text.php']]],
+ ['zot_5fbuild_5fpacket',['zot_build_packet',['../zot_8php.html#a3862b3161b2c8557dc1a95020179bd81',1,'zot.php']]],
+ ['zot_5ffeed',['zot_feed',['../items_8php.html#a004e89d86b0f29b2c4da20108ecc4091',1,'items.php']]],
+ ['zot_5ffetch',['zot_fetch',['../zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea',1,'zot.php']]],
+ ['zot_5ffinger',['zot_finger',['../zot_8php.html#a77720d6b59894e9b609af89c310c8a4d',1,'zot.php']]],
+ ['zot_5fget_5fhubloc',['zot_get_hubloc',['../zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e',1,'zot.php']]],
+ ['zot_5fgethub',['zot_gethub',['../zot_8php.html#a55056e863a7860bc0cf922e78fcce073',1,'zot.php']]],
+ ['zot_5fimport',['zot_import',['../zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c',1,'zot.php']]],
+ ['zot_5fnew_5fuid',['zot_new_uid',['../zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7',1,'zot.php']]],
+ ['zot_5fprocess_5fresponse',['zot_process_response',['../zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03',1,'zot.php']]],
+ ['zot_5frefresh',['zot_refresh',['../zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d',1,'zot.php']]],
+ ['zot_5fregister_5fhub',['zot_register_hub',['../zot_8php.html#a5bcdfef419b16075a0eca990956223dc',1,'zot.php']]],
+ ['zot_5fzot',['zot_zot',['../zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142',1,'zot.php']]],
+ ['zotfeed_5finit',['zotfeed_init',['../zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac',1,'zotfeed.php']]],
+ ['zping_5fcontent',['zping_content',['../zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75',1,'zping.php']]]
+];
diff --git a/doc/html/search/mag_sel.png b/doc/html/search/mag_sel.png
new file mode 100644
index 000000000..81f6040a2
--- /dev/null
+++ b/doc/html/search/mag_sel.png
Binary files differ
diff --git a/doc/html/search/namespaces_61.html b/doc/html/search/namespaces_61.html
new file mode 100644
index 000000000..05b64569f
--- /dev/null
+++ b/doc/html/search/namespaces_61.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_61.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/namespaces_61.js b/doc/html/search/namespaces_61.js
new file mode 100644
index 000000000..3e7051957
--- /dev/null
+++ b/doc/html/search/namespaces_61.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['acl_5fselectors',['acl_selectors',['../namespaceacl__selectors.html',1,'']]]
+];
diff --git a/doc/html/search/namespaces_66.html b/doc/html/search/namespaces_66.html
new file mode 100644
index 000000000..eeb821dc9
--- /dev/null
+++ b/doc/html/search/namespaces_66.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_66.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/namespaces_66.js b/doc/html/search/namespaces_66.js
new file mode 100644
index 000000000..e9fe2106c
--- /dev/null
+++ b/doc/html/search/namespaces_66.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['friendica',['Friendica',['../namespaceFriendica.html',1,'']]],
+ ['friendica_2dto_2dsmarty_2dtpl',['friendica-to-smarty-tpl',['../namespacefriendica-to-smarty-tpl.html',1,'']]]
+];
diff --git a/doc/html/search/namespaces_75.html b/doc/html/search/namespaces_75.html
new file mode 100644
index 000000000..185eb0b07
--- /dev/null
+++ b/doc/html/search/namespaces_75.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_75.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/namespaces_75.js b/doc/html/search/namespaces_75.js
new file mode 100644
index 000000000..677307359
--- /dev/null
+++ b/doc/html/search/namespaces_75.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['updatetpl',['updatetpl',['../namespaceupdatetpl.html',1,'']]],
+ ['util',['util',['../namespaceutil.html',1,'']]]
+];
diff --git a/doc/html/search/nomatches.html b/doc/html/search/nomatches.html
new file mode 100644
index 000000000..b1ded27e9
--- /dev/null
+++ b/doc/html/search/nomatches.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/pages_63.html b/doc/html/search/pages_63.html
new file mode 100644
index 000000000..8a7aaf9e2
--- /dev/null
+++ b/doc/html/search/pages_63.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_63.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/pages_63.js b/doc/html/search/pages_63.js
new file mode 100644
index 000000000..85cc4ab15
--- /dev/null
+++ b/doc/html/search/pages_63.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['cli_20config_20utility',['CLI config utility',['../md_config.html',1,'']]]
+];
diff --git a/doc/html/search/pages_66.html b/doc/html/search/pages_66.html
new file mode 100644
index 000000000..b5d700d10
--- /dev/null
+++ b/doc/html/search/pages_66.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_66.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/pages_66.js b/doc/html/search/pages_66.js
new file mode 100644
index 000000000..3bc9f4b01
--- /dev/null
+++ b/doc/html/search/pages_66.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['fresh_20_2d_20the_20freaking_20red_20shell',['Fresh - The Freaking REd Shell',['../md_fresh.html',1,'']]]
+];
diff --git a/doc/html/search/pages_72.html b/doc/html/search/pages_72.html
new file mode 100644
index 000000000..5e9722171
--- /dev/null
+++ b/doc/html/search/pages_72.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_72.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/pages_72.js b/doc/html/search/pages_72.js
new file mode 100644
index 000000000..6d650d56f
--- /dev/null
+++ b/doc/html/search/pages_72.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['redstrap_20theme',['Redstrap theme',['../md_README.html',1,'']]]
+];
diff --git a/doc/html/search/search.css b/doc/html/search/search.css
new file mode 100644
index 000000000..5b208eddd
--- /dev/null
+++ b/doc/html/search/search.css
@@ -0,0 +1,271 @@
+/*---------------- Search Box */
+
+#FSearchBox {
+ float: left;
+}
+
+#MSearchBox {
+ white-space : nowrap;
+ position: absolute;
+ float: none;
+ display: inline;
+ margin-top: 8px;
+ right: 0px;
+ width: 170px;
+ z-index: 102;
+ background-color: white;
+}
+
+#MSearchBox .left
+{
+ display:block;
+ position:absolute;
+ left:10px;
+ width:20px;
+ height:19px;
+ background:url('search_l.png') no-repeat;
+ background-position:right;
+}
+
+#MSearchSelect {
+ display:block;
+ position:absolute;
+ width:20px;
+ height:19px;
+}
+
+.left #MSearchSelect {
+ left:4px;
+}
+
+.right #MSearchSelect {
+ right:5px;
+}
+
+#MSearchField {
+ display:block;
+ position:absolute;
+ height:19px;
+ background:url('search_m.png') repeat-x;
+ border:none;
+ width:116px;
+ margin-left:20px;
+ padding-left:4px;
+ color: #909090;
+ outline: none;
+ font: 9pt Arial, Verdana, sans-serif;
+}
+
+#FSearchBox #MSearchField {
+ margin-left:15px;
+}
+
+#MSearchBox .right {
+ display:block;
+ position:absolute;
+ right:10px;
+ top:0px;
+ width:20px;
+ height:19px;
+ background:url('search_r.png') no-repeat;
+ background-position:left;
+}
+
+#MSearchClose {
+ display: none;
+ position: absolute;
+ top: 4px;
+ background : none;
+ border: none;
+ margin: 0px 4px 0px 0px;
+ padding: 0px 0px;
+ outline: none;
+}
+
+.left #MSearchClose {
+ left: 6px;
+}
+
+.right #MSearchClose {
+ right: 2px;
+}
+
+.MSearchBoxActive #MSearchField {
+ color: #000000;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #90A5CE;
+ background-color: #F9FAFC;
+ z-index: 1;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+ font: 8pt Arial, Verdana, sans-serif;
+ padding-left: 2px;
+ padding-right: 12px;
+ border: 0px;
+}
+
+span.SelectionMark {
+ margin-right: 4px;
+ font-family: monospace;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem {
+ display: block;
+ outline-style: none;
+ color: #000000;
+ text-decoration: none;
+ padding-left: 6px;
+ padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+ color: #000000;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem:hover {
+ color: #FFFFFF;
+ background-color: #3D578C;
+ outline-style: none;
+ text-decoration: none;
+ cursor: pointer;
+ display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+ width: 60ex;
+ height: 15em;
+}
+
+#MSearchResultsWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #000;
+ background-color: #EEF1F7;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+ clear:both;
+ padding-bottom: 15px;
+}
+
+.SREntry {
+ font-size: 10pt;
+ padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+ font-size: 8pt;
+ padding: 1px 5px;
+}
+
+body.SRPage {
+ margin: 5px 2px;
+}
+
+.SRChildren {
+ padding-left: 3ex; padding-bottom: .5em
+}
+
+.SRPage .SRChildren {
+ display: none;
+}
+
+.SRSymbol {
+ font-weight: bold;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRScope {
+ display: block;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+ text-decoration: underline;
+}
+
+span.SRScope {
+ padding-left: 4px;
+}
+
+.SRPage .SRStatus {
+ padding: 2px 5px;
+ font-size: 8pt;
+ font-style: italic;
+}
+
+.SRResult {
+ display: none;
+}
+
+DIV.searchresults {
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.searchresult {
+ background-color: #F0F3F8;
+}
+
+.pages b {
+ color: white;
+ padding: 5px 5px 3px 5px;
+ background-image: url("../tab_a.png");
+ background-repeat: repeat-x;
+ text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+ line-height: 17px;
+ margin-left: 4px;
+ text-decoration: none;
+}
+
+.hl {
+ font-weight: bold;
+}
+
+#searchresults {
+ margin-bottom: 20px;
+}
+
+.searchpages {
+ margin-top: 10px;
+}
+
diff --git a/doc/html/search/search.js b/doc/html/search/search.js
new file mode 100644
index 000000000..42a2bc1b1
--- /dev/null
+++ b/doc/html/search/search.js
@@ -0,0 +1,807 @@
+// Search script generated by doxygen
+// Copyright (C) 2009 by Dimitri van Heesch.
+
+// The code in this file is loosly based on main.js, part of Natural Docs,
+// which is Copyright (C) 2003-2008 Greg Valure
+// Natural Docs is licensed under the GPL.
+
+var indexSectionsWithContent =
+{
+ 0: "0000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000010111111111111111111111111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111001000000100010000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010111111111001111111111111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010111111111111111111111111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ 5: "0000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000101111111111111101111011010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ 6: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+};
+
+var indexSectionNames =
+{
+ 0: "all",
+ 1: "classes",
+ 2: "namespaces",
+ 3: "files",
+ 4: "functions",
+ 5: "variables",
+ 6: "pages"
+};
+
+function convertToId(search)
+{
+ var result = '';
+ for (i=0;i<search.length;i++)
+ {
+ var c = search.charAt(i);
+ var cn = c.charCodeAt(0);
+ if (c.match(/[a-z0-9]/))
+ {
+ result+=c;
+ }
+ else if (cn<16)
+ {
+ result+="_0"+cn.toString(16);
+ }
+ else
+ {
+ result+="_"+cn.toString(16);
+ }
+ }
+ return result;
+}
+
+function getXPos(item)
+{
+ var x = 0;
+ if (item.offsetWidth)
+ {
+ while (item && item!=document.body)
+ {
+ x += item.offsetLeft;
+ item = item.offsetParent;
+ }
+ }
+ return x;
+}
+
+function getYPos(item)
+{
+ var y = 0;
+ if (item.offsetWidth)
+ {
+ while (item && item!=document.body)
+ {
+ y += item.offsetTop;
+ item = item.offsetParent;
+ }
+ }
+ return y;
+}
+
+/* A class handling everything associated with the search panel.
+
+ Parameters:
+ name - The name of the global variable that will be
+ storing this instance. Is needed to be able to set timeouts.
+ resultPath - path to use for external files
+*/
+function SearchBox(name, resultsPath, inFrame, label)
+{
+ if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
+
+ // ---------- Instance variables
+ this.name = name;
+ this.resultsPath = resultsPath;
+ this.keyTimeout = 0;
+ this.keyTimeoutLength = 500;
+ this.closeSelectionTimeout = 300;
+ this.lastSearchValue = "";
+ this.lastResultsPage = "";
+ this.hideTimeout = 0;
+ this.searchIndex = 0;
+ this.searchActive = false;
+ this.insideFrame = inFrame;
+ this.searchLabel = label;
+
+ // ----------- DOM Elements
+
+ this.DOMSearchField = function()
+ { return document.getElementById("MSearchField"); }
+
+ this.DOMSearchSelect = function()
+ { return document.getElementById("MSearchSelect"); }
+
+ this.DOMSearchSelectWindow = function()
+ { return document.getElementById("MSearchSelectWindow"); }
+
+ this.DOMPopupSearchResults = function()
+ { return document.getElementById("MSearchResults"); }
+
+ this.DOMPopupSearchResultsWindow = function()
+ { return document.getElementById("MSearchResultsWindow"); }
+
+ this.DOMSearchClose = function()
+ { return document.getElementById("MSearchClose"); }
+
+ this.DOMSearchBox = function()
+ { return document.getElementById("MSearchBox"); }
+
+ // ------------ Event Handlers
+
+ // Called when focus is added or removed from the search field.
+ this.OnSearchFieldFocus = function(isActive)
+ {
+ this.Activate(isActive);
+ }
+
+ this.OnSearchSelectShow = function()
+ {
+ var searchSelectWindow = this.DOMSearchSelectWindow();
+ var searchField = this.DOMSearchSelect();
+
+ if (this.insideFrame)
+ {
+ var left = getXPos(searchField);
+ var top = getYPos(searchField);
+ left += searchField.offsetWidth + 6;
+ top += searchField.offsetHeight;
+
+ // show search selection popup
+ searchSelectWindow.style.display='block';
+ left -= searchSelectWindow.offsetWidth;
+ searchSelectWindow.style.left = left + 'px';
+ searchSelectWindow.style.top = top + 'px';
+ }
+ else
+ {
+ var left = getXPos(searchField);
+ var top = getYPos(searchField);
+ top += searchField.offsetHeight;
+
+ // show search selection popup
+ searchSelectWindow.style.display='block';
+ searchSelectWindow.style.left = left + 'px';
+ searchSelectWindow.style.top = top + 'px';
+ }
+
+ // stop selection hide timer
+ if (this.hideTimeout)
+ {
+ clearTimeout(this.hideTimeout);
+ this.hideTimeout=0;
+ }
+ return false; // to avoid "image drag" default event
+ }
+
+ this.OnSearchSelectHide = function()
+ {
+ this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
+ this.closeSelectionTimeout);
+ }
+
+ // Called when the content of the search field is changed.
+ this.OnSearchFieldChange = function(evt)
+ {
+ if (this.keyTimeout) // kill running timer
+ {
+ clearTimeout(this.keyTimeout);
+ this.keyTimeout = 0;
+ }
+
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==40 || e.keyCode==13)
+ {
+ if (e.shiftKey==1)
+ {
+ this.OnSearchSelectShow();
+ var win=this.DOMSearchSelectWindow();
+ for (i=0;i<win.childNodes.length;i++)
+ {
+ var child = win.childNodes[i]; // get span within a
+ if (child.className=='SelectItem')
+ {
+ child.focus();
+ return;
+ }
+ }
+ return;
+ }
+ else if (window.frames.MSearchResults.searchResults)
+ {
+ var elem = window.frames.MSearchResults.searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+ }
+ else if (e.keyCode==27) // Escape out of the search field
+ {
+ this.DOMSearchField().blur();
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.lastSearchValue = '';
+ this.Activate(false);
+ return;
+ }
+
+ // strip whitespaces
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+ if (searchValue != this.lastSearchValue) // search value has changed
+ {
+ if (searchValue != "") // non-empty search
+ {
+ // set timer for search update
+ this.keyTimeout = setTimeout(this.name + '.Search()',
+ this.keyTimeoutLength);
+ }
+ else // empty search field
+ {
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.lastSearchValue = '';
+ }
+ }
+ }
+
+ this.SelectItemCount = function(id)
+ {
+ var count=0;
+ var win=this.DOMSearchSelectWindow();
+ for (i=0;i<win.childNodes.length;i++)
+ {
+ var child = win.childNodes[i]; // get span within a
+ if (child.className=='SelectItem')
+ {
+ count++;
+ }
+ }
+ return count;
+ }
+
+ this.SelectItemSet = function(id)
+ {
+ var i,j=0;
+ var win=this.DOMSearchSelectWindow();
+ for (i=0;i<win.childNodes.length;i++)
+ {
+ var child = win.childNodes[i]; // get span within a
+ if (child.className=='SelectItem')
+ {
+ var node = child.firstChild;
+ if (j==id)
+ {
+ node.innerHTML='&#8226;';
+ }
+ else
+ {
+ node.innerHTML='&#160;';
+ }
+ j++;
+ }
+ }
+ }
+
+ // Called when an search filter selection is made.
+ // set item with index id as the active item
+ this.OnSelectItem = function(id)
+ {
+ this.searchIndex = id;
+ this.SelectItemSet(id);
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+ if (searchValue!="" && this.searchActive) // something was found -> do a search
+ {
+ this.Search();
+ }
+ }
+
+ this.OnSearchSelectKey = function(evt)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
+ {
+ this.searchIndex++;
+ this.OnSelectItem(this.searchIndex);
+ }
+ else if (e.keyCode==38 && this.searchIndex>0) // Up
+ {
+ this.searchIndex--;
+ this.OnSelectItem(this.searchIndex);
+ }
+ else if (e.keyCode==13 || e.keyCode==27)
+ {
+ this.OnSelectItem(this.searchIndex);
+ this.CloseSelectionWindow();
+ this.DOMSearchField().focus();
+ }
+ return false;
+ }
+
+ // --------- Actions
+
+ // Closes the results window.
+ this.CloseResultsWindow = function()
+ {
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.Activate(false);
+ }
+
+ this.CloseSelectionWindow = function()
+ {
+ this.DOMSearchSelectWindow().style.display = 'none';
+ }
+
+ // Performs a search.
+ this.Search = function()
+ {
+ this.keyTimeout = 0;
+
+ // strip leading whitespace
+ var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+ var code = searchValue.toLowerCase().charCodeAt(0);
+ var hexCode;
+ if (code<16)
+ {
+ hexCode="0"+code.toString(16);
+ }
+ else
+ {
+ hexCode=code.toString(16);
+ }
+
+ var resultsPage;
+ var resultsPageWithSearch;
+ var hasResultsPage;
+
+ if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1')
+ {
+ resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
+ resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+ hasResultsPage = true;
+ }
+ else // nothing available for this search term
+ {
+ resultsPage = this.resultsPath + '/nomatches.html';
+ resultsPageWithSearch = resultsPage;
+ hasResultsPage = false;
+ }
+
+ window.frames.MSearchResults.location = resultsPageWithSearch;
+ var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+ if (domPopupSearchResultsWindow.style.display!='block')
+ {
+ var domSearchBox = this.DOMSearchBox();
+ this.DOMSearchClose().style.display = 'inline';
+ if (this.insideFrame)
+ {
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ domPopupSearchResultsWindow.style.position = 'relative';
+ domPopupSearchResultsWindow.style.display = 'block';
+ var width = document.body.clientWidth - 8; // the -8 is for IE :-(
+ domPopupSearchResultsWindow.style.width = width + 'px';
+ domPopupSearchResults.style.width = width + 'px';
+ }
+ else
+ {
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+ var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
+ domPopupSearchResultsWindow.style.display = 'block';
+ left -= domPopupSearchResults.offsetWidth;
+ domPopupSearchResultsWindow.style.top = top + 'px';
+ domPopupSearchResultsWindow.style.left = left + 'px';
+ }
+ }
+
+ this.lastSearchValue = searchValue;
+ this.lastResultsPage = resultsPage;
+ }
+
+ // -------- Activation Functions
+
+ // Activates or deactivates the search panel, resetting things to
+ // their default values if necessary.
+ this.Activate = function(isActive)
+ {
+ if (isActive || // open it
+ this.DOMPopupSearchResultsWindow().style.display == 'block'
+ )
+ {
+ this.DOMSearchBox().className = 'MSearchBoxActive';
+
+ var searchField = this.DOMSearchField();
+
+ if (searchField.value == this.searchLabel) // clear "Search" term upon entry
+ {
+ searchField.value = '';
+ this.searchActive = true;
+ }
+ }
+ else if (!isActive) // directly remove the panel
+ {
+ this.DOMSearchBox().className = 'MSearchBoxInactive';
+ this.DOMSearchField().value = this.searchLabel;
+ this.searchActive = false;
+ this.lastSearchValue = ''
+ this.lastResultsPage = '';
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+ // The number of matches from the last run of <Search()>.
+ this.lastMatchCount = 0;
+ this.lastKey = 0;
+ this.repeatOn = false;
+
+ // Toggles the visibility of the passed element ID.
+ this.FindChildElement = function(id)
+ {
+ var parentElement = document.getElementById(id);
+ var element = parentElement.firstChild;
+
+ while (element && element!=parentElement)
+ {
+ if (element.nodeName == 'DIV' && element.className == 'SRChildren')
+ {
+ return element;
+ }
+
+ if (element.nodeName == 'DIV' && element.hasChildNodes())
+ {
+ element = element.firstChild;
+ }
+ else if (element.nextSibling)
+ {
+ element = element.nextSibling;
+ }
+ else
+ {
+ do
+ {
+ element = element.parentNode;
+ }
+ while (element && element!=parentElement && !element.nextSibling);
+
+ if (element && element!=parentElement)
+ {
+ element = element.nextSibling;
+ }
+ }
+ }
+ }
+
+ this.Toggle = function(id)
+ {
+ var element = this.FindChildElement(id);
+ if (element)
+ {
+ if (element.style.display == 'block')
+ {
+ element.style.display = 'none';
+ }
+ else
+ {
+ element.style.display = 'block';
+ }
+ }
+ }
+
+ // Searches for the passed string. If there is no parameter,
+ // it takes it from the URL query.
+ //
+ // Always returns true, since other documents may try to call it
+ // and that may or may not be possible.
+ this.Search = function(search)
+ {
+ if (!search) // get search word from URL
+ {
+ search = window.location.search;
+ search = search.substring(1); // Remove the leading '?'
+ search = unescape(search);
+ }
+
+ search = search.replace(/^ +/, ""); // strip leading spaces
+ search = search.replace(/ +$/, ""); // strip trailing spaces
+ search = search.toLowerCase();
+ search = convertToId(search);
+
+ var resultRows = document.getElementsByTagName("div");
+ var matches = 0;
+
+ var i = 0;
+ while (i < resultRows.length)
+ {
+ var row = resultRows.item(i);
+ if (row.className == "SRResult")
+ {
+ var rowMatchName = row.id.toLowerCase();
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+ if (search.length<=rowMatchName.length &&
+ rowMatchName.substr(0, search.length)==search)
+ {
+ row.style.display = 'block';
+ matches++;
+ }
+ else
+ {
+ row.style.display = 'none';
+ }
+ }
+ i++;
+ }
+ document.getElementById("Searching").style.display='none';
+ if (matches == 0) // no results
+ {
+ document.getElementById("NoMatches").style.display='block';
+ }
+ else // at least one result
+ {
+ document.getElementById("NoMatches").style.display='none';
+ }
+ this.lastMatchCount = matches;
+ return true;
+ }
+
+ // return the first item with index index or higher that is visible
+ this.NavNext = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index++;
+ }
+ return focusItem;
+ }
+
+ this.NavPrev = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index--;
+ }
+ return focusItem;
+ }
+
+ this.ProcessKeys = function(e)
+ {
+ if (e.type == "keydown")
+ {
+ this.repeatOn = false;
+ this.lastKey = e.keyCode;
+ }
+ else if (e.type == "keypress")
+ {
+ if (!this.repeatOn)
+ {
+ if (this.lastKey) this.repeatOn = true;
+ return false; // ignore first keypress after keydown
+ }
+ }
+ else if (e.type == "keyup")
+ {
+ this.lastKey = 0;
+ this.repeatOn = false;
+ }
+ return this.lastKey!=0;
+ }
+
+ this.Nav = function(evt,itemIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ var newIndex = itemIndex-1;
+ var focusItem = this.NavPrev(newIndex);
+ if (focusItem)
+ {
+ var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+ if (child && child.style.display == 'block') // children visible
+ {
+ var n=0;
+ var tmpElem;
+ while (1) // search for last child
+ {
+ tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+ if (tmpElem)
+ {
+ focusItem = tmpElem;
+ }
+ else // found it!
+ {
+ break;
+ }
+ n++;
+ }
+ }
+ }
+ if (focusItem)
+ {
+ focusItem.focus();
+ }
+ else // return focus to search field
+ {
+ parent.document.getElementById("MSearchField").focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = itemIndex+1;
+ var focusItem;
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem && elem.style.display == 'block') // children visible
+ {
+ focusItem = document.getElementById('Item'+itemIndex+'_c0');
+ }
+ if (!focusItem) focusItem = this.NavNext(newIndex);
+ if (focusItem) focusItem.focus();
+ }
+ else if (this.lastKey==39) // Right
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'block';
+ }
+ else if (this.lastKey==37) // Left
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'none';
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+
+ this.NavChild = function(evt,itemIndex,childIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ if (childIndex>0)
+ {
+ var newIndex = childIndex-1;
+ document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+ }
+ else // already at first child, jump to parent
+ {
+ document.getElementById('Item'+itemIndex).focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = childIndex+1;
+ var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+ if (!elem) // last child, jump to parent next parent
+ {
+ elem = this.NavNext(itemIndex+1);
+ }
+ if (elem)
+ {
+ elem.focus();
+ }
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+}
+
+function setKeyActions(elem,action)
+{
+ elem.setAttribute('onkeydown',action);
+ elem.setAttribute('onkeypress',action);
+ elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+ elem.setAttribute('class',attr);
+ elem.setAttribute('className',attr);
+}
+
+function createResults()
+{
+ var results = document.getElementById("SRResults");
+ for (var e=0; e<searchData.length; e++)
+ {
+ var id = searchData[e][0];
+ var srResult = document.createElement('div');
+ srResult.setAttribute('id','SR_'+id);
+ setClassAttr(srResult,'SRResult');
+ var srEntry = document.createElement('div');
+ setClassAttr(srEntry,'SREntry');
+ var srLink = document.createElement('a');
+ srLink.setAttribute('id','Item'+e);
+ setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
+ setClassAttr(srLink,'SRSymbol');
+ srLink.innerHTML = searchData[e][1][0];
+ srEntry.appendChild(srLink);
+ if (searchData[e][1].length==2) // single result
+ {
+ srLink.setAttribute('href',searchData[e][1][1][0]);
+ if (searchData[e][1][1][1])
+ {
+ srLink.setAttribute('target','_parent');
+ }
+ var srScope = document.createElement('span');
+ setClassAttr(srScope,'SRScope');
+ srScope.innerHTML = searchData[e][1][1][2];
+ srEntry.appendChild(srScope);
+ }
+ else // multiple results
+ {
+ srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
+ var srChildren = document.createElement('div');
+ setClassAttr(srChildren,'SRChildren');
+ for (var c=0; c<searchData[e][1].length-1; c++)
+ {
+ var srChild = document.createElement('a');
+ srChild.setAttribute('id','Item'+e+'_c'+c);
+ setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
+ setClassAttr(srChild,'SRScope');
+ srChild.setAttribute('href',searchData[e][1][c+1][0]);
+ if (searchData[e][1][c+1][1])
+ {
+ srChild.setAttribute('target','_parent');
+ }
+ srChild.innerHTML = searchData[e][1][c+1][2];
+ srChildren.appendChild(srChild);
+ }
+ srEntry.appendChild(srChildren);
+ }
+ srResult.appendChild(srEntry);
+ results.appendChild(srResult);
+ }
+}
+
diff --git a/doc/html/search/search_l.png b/doc/html/search/search_l.png
new file mode 100644
index 000000000..c872f4da4
--- /dev/null
+++ b/doc/html/search/search_l.png
Binary files differ
diff --git a/doc/html/search/search_m.png b/doc/html/search/search_m.png
new file mode 100644
index 000000000..b429a16ba
--- /dev/null
+++ b/doc/html/search/search_m.png
Binary files differ
diff --git a/doc/html/search/search_r.png b/doc/html/search/search_r.png
new file mode 100644
index 000000000..97ee8b439
--- /dev/null
+++ b/doc/html/search/search_r.png
Binary files differ
diff --git a/doc/html/search/variables_24.html b/doc/html/search/variables_24.html
new file mode 100644
index 000000000..eb6f68ee2
--- /dev/null
+++ b/doc/html/search/variables_24.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_24.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_24.js b/doc/html/search/variables_24.js
new file mode 100644
index 000000000..9a60a349f
--- /dev/null
+++ b/doc/html/search/variables_24.js
@@ -0,0 +1,144 @@
+var searchData=
+[
+ ['_24a',['$a',['../typo_8php.html#acebf83966ef6d7e5645a6b62ba368f9f',1,'typo.php']]],
+ ['_24account',['$account',['../classApp.html#a14bd4b1c29f3aff371fe5d4cb11aeea3',1,'App']]],
+ ['_24api',['$API',['../include_2api_8php.html#aeb2e7ad00ea666b4b6dfcf82008194f8',1,'api.php']]],
+ ['_24app',['$app',['../classBaseObject.html#a02cc4cd8fa26b6fc76d92fde54b4e4b1',1,'BaseObject']]],
+ ['_24apps',['$apps',['../classApp.html#a230e975296cf164da2fee35ef720964f',1,'App']]],
+ ['_24argc',['$argc',['../classApp.html#af58db526040829b1c8bd95561b329262',1,'App']]],
+ ['_24argv',['$argv',['../classApp.html#ab3da757abe5cb45bf88f07cc51a73b58',1,'App']]],
+ ['_24arr',['$arr',['../extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb',1,'extract.php']]],
+ ['_24baseurl',['$baseurl',['../classApp.html#ad5175536561021548ae8188e24c7b80c',1,'App']]],
+ ['_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()']]],
+ ['_24children',['$children',['../classItem.html#a80dcd0fb7673776c0967839d429c2a0f',1,'Item']]],
+ ['_24cid',['$cid',['../classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0',1,'App']]],
+ ['_24cmd',['$cmd',['../classApp.html#a495ec082c2719314e536070ca1ce073d',1,'App']]],
+ ['_24colour',['$colour',['../redbasic_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab',1,'$colour():&#160;style.php'],['../redstrap_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab',1,'$colour():&#160;style.php']]],
+ ['_24comment_5fbox_5ftemplate',['$comment_box_template',['../classItem.html#a90743c8348b13213275c223bb9333aa0',1,'Item']]],
+ ['_24commentable',['$commentable',['../classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6',1,'Conversation']]],
+ ['_24config',['$config',['../classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88',1,'App']]],
+ ['_24connected',['$connected',['../classdba__driver.html#a205f6535e399700b6fca2492f96f2229',1,'dba_driver']]],
+ ['_24contact',['$contact',['../classApp.html#a98ef4cfd36693a3457c879b76bc6d694',1,'App']]],
+ ['_24contacts',['$contacts',['../classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2',1,'App']]],
+ ['_24content',['$content',['../classApp.html#ac1d80a14492acc932715d54567d8a589',1,'App']]],
+ ['_24conversation',['$conversation',['../classItem.html#a007424e3e3171dcfb4312a02161da6cd',1,'Item']]],
+ ['_24css_5fsources',['$css_sources',['../classApp.html#a6f55d087e1ff4710132c1b0863faa2ee',1,'App']]],
+ ['_24curl_5fcode',['$curl_code',['../classApp.html#a256360c9184fed6d7556e0bc0a835d7f',1,'App']]],
+ ['_24curl_5fheaders',['$curl_headers',['../classApp.html#af5007c42a693afd9c4899c243b2e1363',1,'App']]],
+ ['_24d',['$d',['../classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38',1,'Template']]],
+ ['_24data',['$data',['../classApp.html#a0ce85be198e46570366cb3344f3c55b8',1,'App\$data()'],['../classItem.html#aec24e233f9098f902b1e57e60dcb2019',1,'Item\$data()']]],
+ ['_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']]],
+ ['_24dirs',['$dirs',['../typo_8php.html#a1b709c1d79631ebc8320b41bda028b54',1,'typo.php']]],
+ ['_24dirstack',['$dirstack',['../docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6',1,'docblox_errorchecker.php']]],
+ ['_24displaystyle',['$displaystyle',['../redbasic_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad',1,'$displaystyle():&#160;style.php'],['../redstrap_2php_2style_8php.html#aa658152b727ea1233f6df6ded6437dad',1,'$displaystyle():&#160;style.php']]],
+ ['_24done',['$done',['../classTemplate.html#abda4c8d049f70553338eae7c905e9d5c',1,'Template']]],
+ ['_24error',['$error',['../classApp.html#ac1a8b2cd40609b231a560201a08852ba',1,'App\$error()'],['../classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c',1,'dba_driver\$error()']]],
+ ['_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']]],
+ ['_24force_5fmax_5fitems',['$force_max_items',['../classApp.html#ae3f47830543d0d902f66913def8db66b',1,'App']]],
+ ['_24gc_5fprobability',['$gc_probability',['../session_8php.html#a96b09cc763572f45280786a7b33feb7e',1,'session.php']]],
+ ['_24groups',['$groups',['../classApp.html#ac6e6b1c7d6df408580ff79977fcfa656',1,'App']]],
+ ['_24height',['$height',['../classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80',1,'photo_driver']]],
+ ['_24hooks',['$hooks',['../classApp.html#a3694aa1907aa103a2adbc71f926f0fa0',1,'App']]],
+ ['_24hostname',['$hostname',['../classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3',1,'App']]],
+ ['_24i',['$i',['../docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f',1,'docblox_errorchecker.php']]],
+ ['_24identities',['$identities',['../classApp.html#a7954862f44f606b0ff83d4c74d15e792',1,'App']]],
+ ['_24image',['$image',['../classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55',1,'photo_driver']]],
+ ['_24infile',['$infile',['../php2po_8php.html#a61f8ddeb5557d46ebc546cc355bda214',1,'php2po.php']]],
+ ['_24ink',['$ink',['../php2po_8php.html#a6b0b8ebd9ce811d1325ef2c129443bc0',1,'php2po.php']]],
+ ['_24install_5fwizard_5fpass',['$install_wizard_pass',['../setup_8php.html#addb24714bc2542aa4f4215e98fe48432',1,'setup.php']]],
+ ['_24interactive',['$interactive',['../classApp.html#a4c7cfc62d39508086cf300dc2e39c4df',1,'App']]],
+ ['_24js_5fsources',['$js_sources',['../classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d',1,'App']]],
+ ['_24k',['$k',['../php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178',1,'php2po.php']]],
+ ['_24lang',['$lang',['../classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8',1,'Template']]],
+ ['_24language',['$language',['../classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f',1,'App']]],
+ ['_24layout',['$layout',['../classApp.html#a58ac598544892ff7c32890291b72635e',1,'App']]],
+ ['_24ldelim',['$ldelim',['../classApp.html#a59dd4b665c70e7dbd80682c014ff7145',1,'App']]],
+ ['_24line_5fheight',['$line_height',['../redbasic_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0',1,'$line_height():&#160;style.php'],['../redstrap_2php_2style_8php.html#a4131d1765ee4deb28e83fc4527943ee0',1,'$line_height():&#160;style.php']]],
+ ['_24linkcolour',['$linkcolour',['../redbasic_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42',1,'$linkcolour():&#160;style.php'],['../redstrap_2php_2style_8php.html#a6628a80911a6b37b464ef110ac8f6e42',1,'$linkcolour():&#160;style.php']]],
+ ['_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()']]],
+ ['_24nav_5fbg_5f1',['$nav_bg_1',['../redbasic_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b',1,'$nav_bg_1():&#160;style.php'],['../redstrap_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b',1,'$nav_bg_1():&#160;style.php']]],
+ ['_24nav_5fbg_5f2',['$nav_bg_2',['../redbasic_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba',1,'$nav_bg_2():&#160;style.php'],['../redstrap_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba',1,'$nav_bg_2():&#160;style.php']]],
+ ['_24nav_5fbg_5f3',['$nav_bg_3',['../redbasic_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c',1,'$nav_bg_3():&#160;style.php'],['../redstrap_2php_2style_8php.html#acc190405dda0a23a80551dee11c74c0c',1,'$nav_bg_3():&#160;style.php']]],
+ ['_24nav_5fbg_5f4',['$nav_bg_4',['../redbasic_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33',1,'$nav_bg_4():&#160;style.php'],['../redstrap_2php_2style_8php.html#aef266cfcb27c6ddb3292584c945bab33',1,'$nav_bg_4():&#160;style.php']]],
+ ['_24nav_5fsel',['$nav_sel',['../classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c',1,'App']]],
+ ['_24navcolour',['$navcolour',['../redbasic_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a',1,'$navcolour():&#160;style.php'],['../redstrap_2php_2style_8php.html#a938168352fd3cdaa1c10c16a34f5938a',1,'$navcolour():&#160;style.php']]],
+ ['_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()']]],
+ ['_24out',['$out',['../php2po_8php.html#a48cb304902320d173a4eaa41543327b9',1,'php2po.php']]],
+ ['_24owner_5fname',['$owner_name',['../classItem.html#a9594df6014b0b6f45364ea7a34510130',1,'Item']]],
+ ['_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']]],
+ ['_24pager',['$pager',['../classApp.html#a6bcb19cdc4907077da72864686d5a780',1,'App']]],
+ ['_24parent',['$parent',['../classItem.html#a1a1e42877e6ac7af50286142ceb483d2',1,'Item']]],
+ ['_24path',['$path',['../classApp.html#acad5896b7a79ae31433ad8f89606c728',1,'App']]],
+ ['_24perms',['$perms',['../classApp.html#ab47de68fa39806d1fb0976407e188b77',1,'App']]],
+ ['_24phpath',['$phpath',['../typo_8php.html#a3ecd17ac846be1b35f3662f5c12ab6bd',1,'typo.php']]],
+ ['_24phpfile',['$phpfile',['../php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4',1,'php2po.php']]],
+ ['_24plugins',['$plugins',['../classApp.html#ae9f96338f32187d308b67b980eea0008',1,'App']]],
+ ['_24pofile',['$pofile',['../php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1',1,'php2po.php']]],
+ ['_24preview',['$preview',['../classConversation.html#ae9937f9e0f3d927acc2bed46cc72e9ae',1,'Conversation']]],
+ ['_24profile',['$profile',['../classApp.html#a57d041fcc003d08c127dfa99a02bc192',1,'App']]],
+ ['_24profile_5fowner',['$profile_owner',['../classConversation.html#a2f12724ef0244e9049fe1bb9641b516d',1,'Conversation']]],
+ ['_24profile_5fuid',['$profile_uid',['../classApp.html#a08c24d6a6fc52fcc784b0f765f13b820',1,'App']]],
+ ['_24query_5fstring',['$query_string',['../classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f',1,'App']]],
+ ['_24r',['$r',['../classTemplate.html#aac9a4638f11271e1b1dcc9f247242718',1,'Template']]],
+ ['_24radius',['$radius',['../redbasic_2php_2style_8php.html#a6502bedd57105ad1fb2dee2be9cf6351',1,'style.php']]],
+ ['_24rdelim',['$rdelim',['../classApp.html#a244b2d53b21be269aad2269d23192f95',1,'App']]],
+ ['_24redbasic_5ffont_5fsize',['$redbasic_font_size',['../redbasic_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda',1,'$redbasic_font_size():&#160;style.php'],['../redstrap_2php_2style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda',1,'$redbasic_font_size():&#160;style.php']]],
+ ['_24redirect_5furl',['$redirect_url',['../classItem.html#a5b561415861f5b89b0733aacfe0428d1',1,'Item']]],
+ ['_24replace',['$replace',['../classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10',1,'Template']]],
+ ['_24res',['$res',['../docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5',1,'docblox_errorchecker.php']]],
+ ['_24resolution',['$resolution',['../redbasic_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc',1,'$resolution():&#160;style.php'],['../redstrap_2php_2style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc',1,'$resolution():&#160;style.php']]],
+ ['_24s',['$s',['../extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634',1,'extract.php']]],
+ ['_24scheme',['$scheme',['../classApp.html#ad082d63acc078e5bf23825a03bdd6a76',1,'App']]],
+ ['_24search',['$search',['../classTemplate.html#a317d535946dc065c35dd5cd38380e6c6',1,'Template']]],
+ ['_24session_5fexists',['$session_exists',['../session_8php.html#a62e4a6cb26b4bb1b8ddd8277b26090eb',1,'session.php']]],
+ ['_24session_5fexpire',['$session_expire',['../session_8php.html#af0100a2642a5268594bbd5742a03d885',1,'session.php']]],
+ ['_24shadows',['$shadows',['../redbasic_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548',1,'$shadows():&#160;style.php'],['../redstrap_2php_2style_8php.html#acb3046ad9c01b7d60cde20f58d77c548',1,'$shadows():&#160;style.php']]],
+ ['_24shiny',['$shiny',['../redbasic_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70',1,'$shiny():&#160;style.php'],['../redstrap_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70',1,'$shiny():&#160;style.php']]],
+ ['_24site_5fcolour',['$site_colour',['../redbasic_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd',1,'$site_colour():&#160;style.php'],['../redstrap_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd',1,'$site_colour():&#160;style.php']]],
+ ['_24site_5fline_5fheight',['$site_line_height',['../redbasic_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e',1,'$site_line_height():&#160;style.php'],['../redstrap_2php_2style_8php.html#a8749837e08dfb3372662af9c33fa2a2e',1,'$site_line_height():&#160;style.php']]],
+ ['_24site_5fredbasic_5ffont_5fsize',['$site_redbasic_font_size',['../redbasic_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f',1,'$site_redbasic_font_size():&#160;style.php'],['../redstrap_2php_2style_8php.html#a45e6fafa363bc4586fa91dce1786be4f',1,'$site_redbasic_font_size():&#160;style.php']]],
+ ['_24sourcename',['$sourcename',['../classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11',1,'App']]],
+ ['_24stack',['$stack',['../classTemplate.html#a6f0efc256688c36110180b501067ff11',1,'Template']]],
+ ['_24str',['$str',['../typohelper_8php.html#a7542d95618011800c61773127fa625cf',1,'typohelper.php']]],
+ ['_24strings',['$strings',['../classApp.html#a5f64620473a9727a48ebe9cf6f335a98',1,'App']]],
+ ['_24template',['$template',['../classItem.html#a7f7bc059de377319282cb4ef4a828480',1,'Item']]],
+ ['_24template_5fengine_5finstance',['$template_engine_instance',['../classApp.html#a6844aedad10e201b8c3d80cfc9e876d3',1,'App']]],
+ ['_24template_5fengines',['$template_engines',['../classApp.html#a6859a4848a5c0049b4134cc4b34228b6',1,'App']]],
+ ['_24theme',['$theme',['../classApp.html#a764cc6cd7578132c21d2b4545de9301c',1,'App']]],
+ ['_24theme_5finfo',['$theme_info',['../classApp.html#aeca29fd4f7192ca07369b3c598c36e67',1,'App']]],
+ ['_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']]],
+ ['_24toplevel',['$toplevel',['../classItem.html#a5cfa6cf964f433a917a81cab079ff9d8',1,'Item']]],
+ ['_24type',['$type',['../classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03',1,'photo_driver']]],
+ ['_24types',['$types',['../classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03',1,'photo_driver']]],
+ ['_24uid',['$uid',['../redbasic_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a',1,'style.php']]],
+ ['_24user',['$user',['../classApp.html#a91fd3c8b89016113b05f3be24805ccff',1,'App']]],
+ ['_24valid',['$valid',['../classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9',1,'photo_driver']]],
+ ['_24videoheight',['$videoheight',['../classApp.html#a56b1a432c96aef8b1971f779c9d93c8c',1,'App']]],
+ ['_24videowidth',['$videowidth',['../classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8',1,'App']]],
+ ['_24visiting',['$visiting',['../classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8',1,'Item']]],
+ ['_24wall_5fto_5fwall',['$wall_to_wall',['../classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189',1,'Item']]],
+ ['_24widgetlist',['$widgetlist',['../classApp.html#a4833bee2eae4ad1691a04fa19e11a766',1,'App']]],
+ ['_24widgets',['$widgets',['../classApp.html#aa5a87c46ab3fee21362c466bf78042ef',1,'App']]],
+ ['_24width',['$width',['../classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1',1,'photo_driver']]],
+ ['_24writable',['$writable',['../classConversation.html#ae81221251307e315f566a11f921ce0a9',1,'Conversation']]],
+ ['_24x',['$x',['../redbasic_2php_2style_8php.html#af3a16c5f0dd7a74cf9acf6a49fff73a7',1,'style.php']]],
+ ['_24zones',['$zones',['../extract_8php.html#a0cbe524ffc9a496114fd7ba9f423ef44',1,'extract.php']]]
+];
diff --git a/doc/html/search/variables_61.html b/doc/html/search/variables_61.html
new file mode 100644
index 000000000..a0de7a473
--- /dev/null
+++ b/doc/html/search/variables_61.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_61.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_61.js b/doc/html/search/variables_61.js
new file mode 100644
index 000000000..476b99065
--- /dev/null
+++ b/doc/html/search/variables_61.js
@@ -0,0 +1,50 @@
+var searchData=
+[
+ ['abook_5fflag_5farchived',['ABOOK_FLAG_ARCHIVED',['../boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5',1,'boot.php']]],
+ ['abook_5fflag_5fblocked',['ABOOK_FLAG_BLOCKED',['../boot_8php.html#a52b599cd13e152ebc80d7e4413683195',1,'boot.php']]],
+ ['abook_5fflag_5fhidden',['ABOOK_FLAG_HIDDEN',['../boot_8php.html#a34c756469ebed32e2fc987bcde62d382',1,'boot.php']]],
+ ['abook_5fflag_5fignored',['ABOOK_FLAG_IGNORED',['../boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6',1,'boot.php']]],
+ ['abook_5fflag_5fpending',['ABOOK_FLAG_PENDING',['../boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155',1,'boot.php']]],
+ ['abook_5fflag_5fself',['ABOOK_FLAG_SELF',['../boot_8php.html#a0450389f24c632906fbc24347700a543',1,'boot.php']]],
+ ['access_5ffree',['ACCESS_FREE',['../boot_8php.html#afbb1fe1b2c8c730ec8e08da93b6512c4',1,'boot.php']]],
+ ['access_5fpaid',['ACCESS_PAID',['../boot_8php.html#a9c80420e5a063a4a87ce4831f086134d',1,'boot.php']]],
+ ['access_5fprivate',['ACCESS_PRIVATE',['../boot_8php.html#a7f3474fec541e261fc8dff47313c4017',1,'boot.php']]],
+ ['access_5ftoken_5fduration',['ACCESS_TOKEN_DURATION',['../oauth_8php.html#ad343cab37aa860d2d14dc86b7f5ca0c6',1,'oauth.php']]],
+ ['account_5fblocked',['ACCOUNT_BLOCKED',['../boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9',1,'boot.php']]],
+ ['account_5fexpired',['ACCOUNT_EXPIRED',['../boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a',1,'boot.php']]],
+ ['account_5fok',['ACCOUNT_OK',['../boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8',1,'boot.php']]],
+ ['account_5fpending',['ACCOUNT_PENDING',['../boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8',1,'boot.php']]],
+ ['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_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']]],
+ ['activity_5ffollow',['ACTIVITY_FOLLOW',['../boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434',1,'boot.php']]],
+ ['activity_5ffriend',['ACTIVITY_FRIEND',['../boot_8php.html#a176664e78dcb9132e16be69418223eb2',1,'boot.php']]],
+ ['activity_5fjoin',['ACTIVITY_JOIN',['../boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3',1,'boot.php']]],
+ ['activity_5flike',['ACTIVITY_LIKE',['../boot_8php.html#abdcdfc873ace4e0902177bad934de0c0',1,'boot.php']]],
+ ['activity_5fmood',['ACTIVITY_MOOD',['../boot_8php.html#a7aa57438db03834aaa0b468bdce773a6',1,'boot.php']]],
+ ['activity_5fobj_5falbum',['ACTIVITY_OBJ_ALBUM',['../boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14',1,'boot.php']]],
+ ['activity_5fobj_5fcomment',['ACTIVITY_OBJ_COMMENT',['../boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562',1,'boot.php']]],
+ ['activity_5fobj_5fevent',['ACTIVITY_OBJ_EVENT',['../boot_8php.html#a2e90096fede6acce16abf0da8cb2febe',1,'boot.php']]],
+ ['activity_5fobj_5fgroup',['ACTIVITY_OBJ_GROUP',['../boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3',1,'boot.php']]],
+ ['activity_5fobj_5fheart',['ACTIVITY_OBJ_HEART',['../boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f',1,'boot.php']]],
+ ['activity_5fobj_5fnote',['ACTIVITY_OBJ_NOTE',['../boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f',1,'boot.php']]],
+ ['activity_5fobj_5fp_5fphoto',['ACTIVITY_OBJ_P_PHOTO',['../boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab',1,'boot.php']]],
+ ['activity_5fobj_5fperson',['ACTIVITY_OBJ_PERSON',['../boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab',1,'boot.php']]],
+ ['activity_5fobj_5fphoto',['ACTIVITY_OBJ_PHOTO',['../boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966',1,'boot.php']]],
+ ['activity_5fobj_5fprofile',['ACTIVITY_OBJ_PROFILE',['../boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5',1,'boot.php']]],
+ ['activity_5fobj_5ftagterm',['ACTIVITY_OBJ_TAGTERM',['../boot_8php.html#a1da180f961f49a11573cac4ff6c62c05',1,'boot.php']]],
+ ['activity_5fobj_5fthing',['ACTIVITY_OBJ_THING',['../boot_8php.html#a0fb63e51c2a9814941842ae8f2f4dff8',1,'boot.php']]],
+ ['activity_5fpoke',['ACTIVITY_POKE',['../boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd',1,'boot.php']]],
+ ['activity_5fpost',['ACTIVITY_POST',['../boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4',1,'boot.php']]],
+ ['activity_5freq_5ffriend',['ACTIVITY_REQ_FRIEND',['../boot_8php.html#afe084c30a1810c10442edb4fbcbc0086',1,'boot.php']]],
+ ['activity_5ftag',['ACTIVITY_TAG',['../boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5',1,'boot.php']]],
+ ['activity_5funfollow',['ACTIVITY_UNFOLLOW',['../boot_8php.html#a53e4bdb6f225da55115acb9277f75e53',1,'boot.php']]],
+ ['activity_5funfriend',['ACTIVITY_UNFRIEND',['../boot_8php.html#a29528a2544373cc19a378f350040c6a1',1,'boot.php']]],
+ ['activity_5fupdate',['ACTIVITY_UPDATE',['../boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866',1,'boot.php']]],
+ ['atom_5ftime',['ATOM_TIME',['../boot_8php.html#ad34c1547020a305915bcc39707744690',1,'boot.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']]]
+];
diff --git a/doc/html/search/variables_63.html b/doc/html/search/variables_63.html
new file mode 100644
index 000000000..422085c12
--- /dev/null
+++ b/doc/html/search/variables_63.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_63.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_63.js b/doc/html/search/variables_63.js
new file mode 100644
index 000000000..e29a5d230
--- /dev/null
+++ b/doc/html/search/variables_63.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['client_5fmode_5fload',['CLIENT_MODE_LOAD',['../boot_8php.html#af6f6f6f40139f12fc09ec47373b30919',1,'boot.php']]],
+ ['client_5fmode_5fnormal',['CLIENT_MODE_NORMAL',['../boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731',1,'boot.php']]],
+ ['client_5fmode_5fupdate',['CLIENT_MODE_UPDATE',['../boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77',1,'boot.php']]],
+ ['contact_5fis_5ffollower',['CONTACT_IS_FOLLOWER',['../boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29',1,'boot.php']]],
+ ['contact_5fis_5ffriend',['CONTACT_IS_FRIEND',['../boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f',1,'boot.php']]],
+ ['contact_5fis_5fsharing',['CONTACT_IS_SHARING',['../boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9',1,'boot.php']]]
+];
diff --git a/doc/html/search/variables_64.html b/doc/html/search/variables_64.html
new file mode 100644
index 000000000..df4414b92
--- /dev/null
+++ b/doc/html/search/variables_64.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_64.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_64.js b/doc/html/search/variables_64.js
new file mode 100644
index 000000000..2c0187ed0
--- /dev/null
+++ b/doc/html/search/variables_64.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['db_5fupdate_5fversion',['DB_UPDATE_VERSION',['../boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03',1,'boot.php']]],
+ ['default_5fdb_5fengine',['DEFAULT_DB_ENGINE',['../boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d',1,'boot.php']]],
+ ['directory_5ffallback_5fmaster',['DIRECTORY_FALLBACK_MASTER',['../boot_8php.html#abedd940e664017c61b48c6efa31d0cb8',1,'boot.php']]],
+ ['directory_5fmode_5fnormal',['DIRECTORY_MODE_NORMAL',['../boot_8php.html#ab7d65a7e7417825a4db62906bb600729',1,'boot.php']]],
+ ['directory_5fmode_5fprimary',['DIRECTORY_MODE_PRIMARY',['../boot_8php.html#a8a60cc38bb567765fd926fef70205f16',1,'boot.php']]],
+ ['directory_5fmode_5fsecondary',['DIRECTORY_MODE_SECONDARY',['../boot_8php.html#aedfb9501ed408278667995524e0d15cf',1,'boot.php']]],
+ ['directory_5fmode_5fstandalone',['DIRECTORY_MODE_STANDALONE',['../boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8',1,'boot.php']]],
+ ['directory_5frealm',['DIRECTORY_REALM',['../boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd',1,'boot.php']]],
+ ['do',['do',['../docblox__errorchecker_8php.html#a721c6ff80a6d3e4ad4ffa52a04c60085',1,'docblox_errorchecker.php']]]
+];
diff --git a/doc/html/search/variables_65.html b/doc/html/search/variables_65.html
new file mode 100644
index 000000000..38eb9f67f
--- /dev/null
+++ b/doc/html/search/variables_65.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_65.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_65.js b/doc/html/search/variables_65.js
new file mode 100644
index 000000000..260cd72bd
--- /dev/null
+++ b/doc/html/search/variables_65.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['else',['else',['../auth_8php.html#a0950af7c2888ca1d4743fe5d0bff9ae5',1,'else():&#160;auth.php'],['../fpostit_8php.html#a501b5ca82f287509fc691c88524064c1',1,'else():&#160;fpostit.php'],['../tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c',1,'else():&#160;tpldebug.php']]],
+ ['eol',['EOL',['../boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b',1,'boot.php']]],
+ ['eot',['EOT',['../typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805',1,'typohelper.php']]],
+ ['excludepaths',['excludepaths',['../namespaceupdatetpl.html#a988d937ed5d5c2b592b763036af5cf94',1,'updatetpl']]],
+ ['ext',['ext',['../namespacefriendica-to-smarty-tpl.html#aecf730e0884bb4ddc6c0deb1ef85f8eb',1,'friendica-to-smarty-tpl']]]
+];
diff --git a/doc/html/search/variables_66.html b/doc/html/search/variables_66.html
new file mode 100644
index 000000000..6e1863868
--- /dev/null
+++ b/doc/html/search/variables_66.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_66.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_66.js b/doc/html/search/variables_66.js
new file mode 100644
index 000000000..071f9b973
--- /dev/null
+++ b/doc/html/search/variables_66.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['f',['f',['../namespacefriendica-to-smarty-tpl.html#a965e1d6d6293654a56e029a7e454dec7',1,'friendica-to-smarty-tpl']]],
+ ['filename',['filename',['../namespacefriendica-to-smarty-tpl.html#a5f9bf7a67d955c0d6be70a82097611c5',1,'friendica-to-smarty-tpl']]],
+ ['files',['files',['../namespacefriendica-to-smarty-tpl.html#ae74419b16516956c66f7db714a93a6ac',1,'friendica-to-smarty-tpl']]],
+ ['fnull',['fnull',['../namespaceupdatetpl.html#a79c20eb62d568c999b56eb08530355d3',1,'updatetpl']]],
+ ['foreach',['foreach',['../typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5',1,'typo.php']]]
+];
diff --git a/doc/html/search/variables_67.html b/doc/html/search/variables_67.html
new file mode 100644
index 000000000..8a1f3d9e5
--- /dev/null
+++ b/doc/html/search/variables_67.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_67.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_67.js b/doc/html/search/variables_67.js
new file mode 100644
index 000000000..cf66f0cdb
--- /dev/null
+++ b/doc/html/search/variables_67.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['gravity_5fcomment',['GRAVITY_COMMENT',['../boot_8php.html#a4a12ce5de39789b0361e308d89925a20',1,'boot.php']]],
+ ['gravity_5flike',['GRAVITY_LIKE',['../boot_8php.html#a1f5906598e90b5ea2b4245f682be4348',1,'boot.php']]],
+ ['gravity_5fparent',['GRAVITY_PARENT',['../boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3',1,'boot.php']]]
+];
diff --git a/doc/html/search/variables_68.html b/doc/html/search/variables_68.html
new file mode 100644
index 000000000..2f0a862b9
--- /dev/null
+++ b/doc/html/search/variables_68.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_68.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_68.js b/doc/html/search/variables_68.js
new file mode 100644
index 000000000..3faeb538a
--- /dev/null
+++ b/doc/html/search/variables_68.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['hubloc_5fflags_5fprimary',['HUBLOC_FLAGS_PRIMARY',['../boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955',1,'boot.php']]],
+ ['hubloc_5fflags_5funverified',['HUBLOC_FLAGS_UNVERIFIED',['../boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764',1,'boot.php']]],
+ ['hubloc_5fnotused',['HUBLOC_NOTUSED',['../boot_8php.html#aa589421267f0c2f0d643f727792cce35',1,'boot.php']]],
+ ['hubloc_5foffline',['HUBLOC_OFFLINE',['../boot_8php.html#a845891f82bf6edd7fa2d578b66703112',1,'boot.php']]],
+ ['hubloc_5freceive_5ferror',['HUBLOC_RECEIVE_ERROR',['../boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1',1,'boot.php']]],
+ ['hubloc_5fsend_5ferror',['HUBLOC_SEND_ERROR',['../boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456',1,'boot.php']]],
+ ['hubloc_5fworks',['HUBLOC_WORKS',['../boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c',1,'boot.php']]]
+];
diff --git a/doc/html/search/variables_69.html b/doc/html/search/variables_69.html
new file mode 100644
index 000000000..44c2cd1ee
--- /dev/null
+++ b/doc/html/search/variables_69.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_69.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_69.js b/doc/html/search/variables_69.js
new file mode 100644
index 000000000..bef7f3578
--- /dev/null
+++ b/doc/html/search/variables_69.js
@@ -0,0 +1,28 @@
+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'],['../redbasic_2php_2style_8php.html#ac4c6bc3cd9cc92204f04cf6cb34b47dd',1,'if():&#160;style.php'],['../theme_2redstrap_2php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762',1,'if():&#160;default.php'],['../redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea',1,'if():&#160;style.php']]],
+ ['item_5fblocked',['ITEM_BLOCKED',['../boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f',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']]],
+ ['item_5fhidden',['ITEM_HIDDEN',['../boot_8php.html#ac99fc4d040764eac1736bec6973556fe',1,'boot.php']]],
+ ['item_5fmentionsme',['ITEM_MENTIONSME',['../boot_8php.html#a8da836617174eed9fc2ac8054125354b',1,'boot.php']]],
+ ['item_5fmoderated',['ITEM_MODERATED',['../boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450',1,'boot.php']]],
+ ['item_5fnocomment',['ITEM_NOCOMMENT',['../boot_8php.html#a949116d9a295b214293006c060ca4848',1,'boot.php']]],
+ ['item_5fnotshown',['ITEM_NOTSHOWN',['../boot_8php.html#a8663f32171568489dbb2a01dd00371f8',1,'boot.php']]],
+ ['item_5fnsfw',['ITEM_NSFW',['../boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08',1,'boot.php']]],
+ ['item_5fobscured',['ITEM_OBSCURED',['../boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d',1,'boot.php']]],
+ ['item_5forigin',['ITEM_ORIGIN',['../boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7',1,'boot.php']]],
+ ['item_5fpdl',['ITEM_PDL',['../boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d',1,'boot.php']]],
+ ['item_5frelay',['ITEM_RELAY',['../boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221',1,'boot.php']]],
+ ['item_5fspam',['ITEM_SPAM',['../boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb',1,'boot.php']]],
+ ['item_5fstarred',['ITEM_STARRED',['../boot_8php.html#a7af107fab8d62b9a73801713b774ed30',1,'boot.php']]],
+ ['item_5fthread_5ftop',['ITEM_THREAD_TOP',['../boot_8php.html#a749144d8dd9c1366596a0213c277d050',1,'boot.php']]],
+ ['item_5funpublished',['ITEM_UNPUBLISHED',['../boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272',1,'boot.php']]],
+ ['item_5funseen',['ITEM_UNSEEN',['../boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0',1,'boot.php']]],
+ ['item_5fuplink',['ITEM_UPLINK',['../boot_8php.html#aefba06f1c0842036329033e7567ecf6d',1,'boot.php']]],
+ ['item_5fuplink_5fprv',['ITEM_UPLINK_PRV',['../boot_8php.html#aad33b494084f729b6ee3b0bc457718a1',1,'boot.php']]],
+ ['item_5fvisible',['ITEM_VISIBLE',['../boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf',1,'boot.php']]],
+ ['item_5fwall',['ITEM_WALL',['../boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322',1,'boot.php']]],
+ ['item_5fwebpage',['ITEM_WEBPAGE',['../boot_8php.html#af489d0c3166551b93e63a79ff2c9be35',1,'boot.php']]]
+];
diff --git a/doc/html/search/variables_6a.html b/doc/html/search/variables_6a.html
new file mode 100644
index 000000000..e87ecc409
--- /dev/null
+++ b/doc/html/search/variables_6a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_6a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_6a.js b/doc/html/search/variables_6a.js
new file mode 100644
index 000000000..43e76e798
--- /dev/null
+++ b/doc/html/search/variables_6a.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['jpeg_5fquality',['JPEG_QUALITY',['../boot_8php.html#a3475ff6c2e575f946ea0ee377e944173',1,'boot.php']]]
+];
diff --git a/doc/html/search/variables_6b.html b/doc/html/search/variables_6b.html
new file mode 100644
index 000000000..d1001a969
--- /dev/null
+++ b/doc/html/search/variables_6b.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_6b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_6b.js b/doc/html/search/variables_6b.js
new file mode 100644
index 000000000..dd6ee4759
--- /dev/null
+++ b/doc/html/search/variables_6b.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['key_5fnot_5fexists',['KEY_NOT_EXISTS',['../template__processor_8php.html#a797745996c7839a93b2ab1af456631ab',1,'template_processor.php']]]
+];
diff --git a/doc/html/search/variables_6c.html b/doc/html/search/variables_6c.html
new file mode 100644
index 000000000..8d08e812e
--- /dev/null
+++ b/doc/html/search/variables_6c.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_6c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_6c.js b/doc/html/search/variables_6c.js
new file mode 100644
index 000000000..9540ea4f0
--- /dev/null
+++ b/doc/html/search/variables_6c.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+ ['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']]],
+ ['ldelim',['ldelim',['../namespacefriendica-to-smarty-tpl.html#a0b4cf73d1a8d201a28d269eeb62a5d5c',1,'friendica-to-smarty-tpl']]],
+ ['logger_5fall',['LOGGER_ALL',['../boot_8php.html#afe63ae69ba55299f813766e54df06ede',1,'boot.php']]],
+ ['logger_5fdata',['LOGGER_DATA',['../boot_8php.html#a6969947145a139ec374ce098224d8e81',1,'boot.php']]],
+ ['logger_5fdebug',['LOGGER_DEBUG',['../boot_8php.html#a93823d15ae07548a4c49de88d325cd26',1,'boot.php']]],
+ ['logger_5fnormal',['LOGGER_NORMAL',['../boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805',1,'boot.php']]],
+ ['logger_5ftrace',['LOGGER_TRACE',['../boot_8php.html#a022cea669f9f13ef7c6268b63884c57f',1,'boot.php']]]
+];
diff --git a/doc/html/search/variables_6d.html b/doc/html/search/variables_6d.html
new file mode 100644
index 000000000..1b8f1a83a
--- /dev/null
+++ b/doc/html/search/variables_6d.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_6d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_6d.js b/doc/html/search/variables_6d.js
new file mode 100644
index 000000000..4996247cb
--- /dev/null
+++ b/doc/html/search/variables_6d.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+ ['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_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']]],
+ ['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_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']]]
+];
diff --git a/doc/html/search/variables_6e.html b/doc/html/search/variables_6e.html
new file mode 100644
index 000000000..2eb4def97
--- /dev/null
+++ b/doc/html/search/variables_6e.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_6e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_6e.js b/doc/html/search/variables_6e.js
new file mode 100644
index 000000000..cf8c2728f
--- /dev/null
+++ b/doc/html/search/variables_6e.js
@@ -0,0 +1,45 @@
+var searchData=
+[
+ ['n',['n',['../php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b',1,'php2po.php']]],
+ ['names',['names',['../namespaceupdatetpl.html#ab42dd79af65ee82201fd6f04715f62f6',1,'updatetpl']]],
+ ['namespace_5factivity',['NAMESPACE_ACTIVITY',['../boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2',1,'boot.php']]],
+ ['namespace_5factivity_5fschema',['NAMESPACE_ACTIVITY_SCHEMA',['../boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133',1,'boot.php']]],
+ ['namespace_5fatom1',['NAMESPACE_ATOM1',['../boot_8php.html#a444ce608ce34efb82ee11852f36e825f',1,'boot.php']]],
+ ['namespace_5fdfrn',['NAMESPACE_DFRN',['../boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028',1,'boot.php']]],
+ ['namespace_5ffeed',['NAMESPACE_FEED',['../boot_8php.html#ac195fc9003298923ea81f144388e24b1',1,'boot.php']]],
+ ['namespace_5fgeorss',['NAMESPACE_GEORSS',['../boot_8php.html#a03d19251c245587de7ed959300b87bdf',1,'boot.php']]],
+ ['namespace_5fmedia',['NAMESPACE_MEDIA',['../boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16',1,'boot.php']]],
+ ['namespace_5fostatus',['NAMESPACE_OSTATUS',['../boot_8php.html#acca19aae62e1a6951a856b945de20d67',1,'boot.php']]],
+ ['namespace_5fostatussub',['NAMESPACE_OSTATUSSUB',['../boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd',1,'boot.php']]],
+ ['namespace_5fpoco',['NAMESPACE_POCO',['../boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a',1,'boot.php']]],
+ ['namespace_5fsalmon_5fme',['NAMESPACE_SALMON_ME',['../boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67',1,'boot.php']]],
+ ['namespace_5fstatusnet',['NAMESPACE_STATUSNET',['../boot_8php.html#afaf93b7026f784b113b4f8921745891e',1,'boot.php']]],
+ ['namespace_5fthread',['NAMESPACE_THREAD',['../boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86',1,'boot.php']]],
+ ['namespace_5ftomb',['NAMESPACE_TOMB',['../boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e',1,'boot.php']]],
+ ['namespace_5fzot',['NAMESPACE_ZOT',['../boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47',1,'boot.php']]],
+ ['network_5fdfrn',['NETWORK_DFRN',['../boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e',1,'boot.php']]],
+ ['network_5fdiaspora',['NETWORK_DIASPORA',['../boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa',1,'boot.php']]],
+ ['network_5ffacebook',['NETWORK_FACEBOOK',['../boot_8php.html#af3905ea8f8568d0236db13fca40514e3',1,'boot.php']]],
+ ['network_5ffeed',['NETWORK_FEED',['../boot_8php.html#ab4bddb41a0cf407178ec5278b950c393',1,'boot.php']]],
+ ['network_5fgplus',['NETWORK_GPLUS',['../boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701',1,'boot.php']]],
+ ['network_5flinkedin',['NETWORK_LINKEDIN',['../boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa',1,'boot.php']]],
+ ['network_5fmail',['NETWORK_MAIL',['../boot_8php.html#a7236b2cdcf59f02a42302e893a99013b',1,'boot.php']]],
+ ['network_5fmail2',['NETWORK_MAIL2',['../boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42',1,'boot.php']]],
+ ['network_5fmyspace',['NETWORK_MYSPACE',['../boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95',1,'boot.php']]],
+ ['network_5fostatus',['NETWORK_OSTATUS',['../boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d',1,'boot.php']]],
+ ['network_5fphantom',['NETWORK_PHANTOM',['../boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f',1,'boot.php']]],
+ ['network_5fxmpp',['NETWORK_XMPP',['../boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e',1,'boot.php']]],
+ ['network_5fzot',['NETWORK_ZOT',['../boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0',1,'boot.php']]],
+ ['newfilename',['newfilename',['../namespacefriendica-to-smarty-tpl.html#ad9ef87ccb2c9960501f5e02424a22d80',1,'friendica-to-smarty-tpl']]],
+ ['notify_5fcomment',['NOTIFY_COMMENT',['../boot_8php.html#a20f0eed431d25870b624b8937a07a59f',1,'boot.php']]],
+ ['notify_5fconfirm',['NOTIFY_CONFIRM',['../boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d',1,'boot.php']]],
+ ['notify_5fintro',['NOTIFY_INTRO',['../boot_8php.html#a56fd673eaa7014150297ce1162502db5',1,'boot.php']]],
+ ['notify_5fmail',['NOTIFY_MAIL',['../boot_8php.html#a285732e7889fa7f333cbe431111e1029',1,'boot.php']]],
+ ['notify_5fpoke',['NOTIFY_POKE',['../boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8',1,'boot.php']]],
+ ['notify_5fprofile',['NOTIFY_PROFILE',['../boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b',1,'boot.php']]],
+ ['notify_5fsuggest',['NOTIFY_SUGGEST',['../boot_8php.html#a9d01ef178b72b145016cca1393415bc4',1,'boot.php']]],
+ ['notify_5fsystem',['NOTIFY_SYSTEM',['../boot_8php.html#a14d44d4a00223dc3db4ea962325db192',1,'boot.php']]],
+ ['notify_5ftagself',['NOTIFY_TAGSELF',['../boot_8php.html#ab724491497ab2618b23a01d5da60aec0',1,'boot.php']]],
+ ['notify_5ftagshare',['NOTIFY_TAGSHARE',['../boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461',1,'boot.php']]],
+ ['notify_5fwall',['NOTIFY_WALL',['../boot_8php.html#a505410c7edc5f5bb5fa227b98359793e',1,'boot.php']]]
+];
diff --git a/doc/html/search/variables_6f.html b/doc/html/search/variables_6f.html
new file mode 100644
index 000000000..f06e2e0f4
--- /dev/null
+++ b/doc/html/search/variables_6f.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_6f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_6f.js b/doc/html/search/variables_6f.js
new file mode 100644
index 000000000..f7979a46a
--- /dev/null
+++ b/doc/html/search/variables_6f.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['outf',['outf',['../namespacefriendica-to-smarty-tpl.html#a87182a9bab47640428bd0b2b9946bef9',1,'friendica-to-smarty-tpl']]],
+ ['outpath',['outpath',['../namespacefriendica-to-smarty-tpl.html#a005c1b7a69cac31fad72a941974ba7bb',1,'friendica-to-smarty-tpl']]]
+];
diff --git a/doc/html/search/variables_70.html b/doc/html/search/variables_70.html
new file mode 100644
index 000000000..439d152f5
--- /dev/null
+++ b/doc/html/search/variables_70.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_70.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_70.js b/doc/html/search/variables_70.js
new file mode 100644
index 000000000..8656256c5
--- /dev/null
+++ b/doc/html/search/variables_70.js
@@ -0,0 +1,43 @@
+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_5fapplication',['PAGE_APPLICATION',['../boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed',1,'boot.php']]],
+ ['page_5fautoconnect',['PAGE_AUTOCONNECT',['../boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9',1,'boot.php']]],
+ ['page_5fdirectory_5fchannel',['PAGE_DIRECTORY_CHANNEL',['../boot_8php.html#a5b8484922918946d041e5e0515dbe718',1,'boot.php']]],
+ ['page_5fhidden',['PAGE_HIDDEN',['../boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640',1,'boot.php']]],
+ ['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']]],
+ ['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_5fcontacts',['PERMS_CONTACTS',['../boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6',1,'boot.php']]],
+ ['perms_5fnetwork',['PERMS_NETWORK',['../boot_8php.html#a6df1102664f64b274810db85197c2755',1,'boot.php']]],
+ ['perms_5fpublic',['PERMS_PUBLIC',['../boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7',1,'boot.php']]],
+ ['perms_5fr_5fabook',['PERMS_R_ABOOK',['../boot_8php.html#a3d6d4fc5fafcc9156811669158541caf',1,'boot.php']]],
+ ['perms_5fr_5fpages',['PERMS_R_PAGES',['../boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e',1,'boot.php']]],
+ ['perms_5fr_5fphotos',['PERMS_R_PHOTOS',['../boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62',1,'boot.php']]],
+ ['perms_5fr_5fprofile',['PERMS_R_PROFILE',['../boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137',1,'boot.php']]],
+ ['perms_5fr_5fstorage',['PERMS_R_STORAGE',['../boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc',1,'boot.php']]],
+ ['perms_5fr_5fstream',['PERMS_R_STREAM',['../boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4',1,'boot.php']]],
+ ['perms_5fsite',['PERMS_SITE',['../boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f',1,'boot.php']]],
+ ['perms_5fspecific',['PERMS_SPECIFIC',['../boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964',1,'boot.php']]],
+ ['perms_5fw_5fchat',['PERMS_W_CHAT',['../boot_8php.html#acd877c405b06b348b37b6f7e62a211e9',1,'boot.php']]],
+ ['perms_5fw_5fcomment',['PERMS_W_COMMENT',['../boot_8php.html#a32df13fec0e43281da5979e1f5579aa8',1,'boot.php']]],
+ ['perms_5fw_5fmail',['PERMS_W_MAIL',['../boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf',1,'boot.php']]],
+ ['perms_5fw_5fpages',['PERMS_W_PAGES',['../boot_8php.html#aa9244fc9cc221980c07a20cc534111be',1,'boot.php']]],
+ ['perms_5fw_5fphotos',['PERMS_W_PHOTOS',['../boot_8php.html#a57eee7352714c004d36c26dda74af73e',1,'boot.php']]],
+ ['perms_5fw_5fstorage',['PERMS_W_STORAGE',['../boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115',1,'boot.php']]],
+ ['perms_5fw_5fstream',['PERMS_W_STREAM',['../boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55',1,'boot.php']]],
+ ['perms_5fw_5ftagwall',['PERMS_W_TAGWALL',['../boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777',1,'boot.php']]],
+ ['perms_5fw_5fwall',['PERMS_W_WALL',['../boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2',1,'boot.php']]],
+ ['photo_5fnormal',['PHOTO_NORMAL',['../boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4',1,'boot.php']]],
+ ['photo_5fprofile',['PHOTO_PROFILE',['../boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0',1,'boot.php']]],
+ ['photo_5fthing',['PHOTO_THING',['../boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383',1,'boot.php']]],
+ ['photo_5fxchan',['PHOTO_XCHAN',['../boot_8php.html#ac43182e0d8bae7576a30b603774974f8',1,'boot.php']]],
+ ['php_5ftpl',['php_tpl',['../namespacefriendica-to-smarty-tpl.html#a5dfc21ab8282dda8e3a7dff43cd0e283',1,'friendica-to-smarty-tpl']]],
+ ['png_5fquality',['PNG_QUALITY',['../boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce',1,'boot.php']]],
+ ['poll_5fmultiple_5fchoice',['POLL_MULTIPLE_CHOICE',['../boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86',1,'boot.php']]],
+ ['poll_5foverwrite',['POLL_OVERWRITE',['../boot_8php.html#a2b525996e4426bdddbcec277778bde08',1,'boot.php']]],
+ ['poll_5fsimple_5frating',['POLL_SIMPLE_RATING',['../boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5',1,'boot.php']]],
+ ['poll_5ftenscale',['POLL_TENSCALE',['../boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc',1,'boot.php']]]
+];
diff --git a/doc/html/search/variables_72.html b/doc/html/search/variables_72.html
new file mode 100644
index 000000000..8a4ee7bb3
--- /dev/null
+++ b/doc/html/search/variables_72.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_72.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_72.js b/doc/html/search/variables_72.js
new file mode 100644
index 000000000..be2927ed5
--- /dev/null
+++ b/doc/html/search/variables_72.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['random_5fstring_5fhex',['RANDOM_STRING_HEX',['../text_8php.html#aad557c054cf2ed915633701018fc7e3f',1,'text.php']]],
+ ['random_5fstring_5ftext',['RANDOM_STRING_TEXT',['../text_8php.html#a2ffd79c60cc87cec24ef76447b905187',1,'text.php']]],
+ ['rdelim',['rdelim',['../namespacefriendica-to-smarty-tpl.html#a8540514fb7c4aa18ad2dffa2a975036b',1,'friendica-to-smarty-tpl']]],
+ ['red_5fplatform',['RED_PLATFORM',['../boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4',1,'boot.php']]],
+ ['red_5fversion',['RED_VERSION',['../boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3',1,'boot.php']]],
+ ['register_5fapprove',['REGISTER_APPROVE',['../boot_8php.html#a7176c0f9f1c98421b97735d892cf6252',1,'boot.php']]],
+ ['register_5fclosed',['REGISTER_CLOSED',['../boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1',1,'boot.php']]],
+ ['register_5fopen',['REGISTER_OPEN',['../boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63',1,'boot.php']]],
+ ['request_5ftoken_5fduration',['REQUEST_TOKEN_DURATION',['../oauth_8php.html#a7a32a5990f113ac9465b03b29175cf16',1,'oauth.php']]]
+];
diff --git a/doc/html/search/variables_73.html b/doc/html/search/variables_73.html
new file mode 100644
index 000000000..388a6d74b
--- /dev/null
+++ b/doc/html/search/variables_73.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_73.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_73.js b/doc/html/search/variables_73.js
new file mode 100644
index 000000000..380434573
--- /dev/null
+++ b/doc/html/search/variables_73.js
@@ -0,0 +1,6 @@
+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']]]
+];
diff --git a/doc/html/search/variables_74.html b/doc/html/search/variables_74.html
new file mode 100644
index 000000000..1665fb806
--- /dev/null
+++ b/doc/html/search/variables_74.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_74.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_74.js b/doc/html/search/variables_74.js
new file mode 100644
index 000000000..e36593332
--- /dev/null
+++ b/doc/html/search/variables_74.js
@@ -0,0 +1,18 @@
+var searchData=
+[
+ ['term_5fcategory',['TERM_CATEGORY',['../boot_8php.html#af33d1b2e98a1e21af672005525d46dfe',1,'boot.php']]],
+ ['term_5ffile',['TERM_FILE',['../boot_8php.html#afb97615e985a013799839b68b99018d7',1,'boot.php']]],
+ ['term_5fhashtag',['TERM_HASHTAG',['../boot_8php.html#a2750985ec445617d7e82ae3098c91e3f',1,'boot.php']]],
+ ['term_5fmention',['TERM_MENTION',['../boot_8php.html#ae37444eaa42705185080ccf3e670cbc2',1,'boot.php']]],
+ ['term_5fobj_5fchannel',['TERM_OBJ_CHANNEL',['../boot_8php.html#a8892374789fd261eb32a7969d934a14a',1,'boot.php']]],
+ ['term_5fobj_5fobject',['TERM_OBJ_OBJECT',['../boot_8php.html#a882b666adfe21f035a0f8c02806066d6',1,'boot.php']]],
+ ['term_5fobj_5fphoto',['TERM_OBJ_PHOTO',['../boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd',1,'boot.php']]],
+ ['term_5fobj_5fpost',['TERM_OBJ_POST',['../boot_8php.html#a9eeb8989272d5ff804a616898bb13659',1,'boot.php']]],
+ ['term_5fobj_5fprofile',['TERM_OBJ_PROFILE',['../boot_8php.html#aead84fa27d7516b855220fe004964a45',1,'boot.php']]],
+ ['term_5fobj_5fthing',['TERM_OBJ_THING',['../boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe',1,'boot.php']]],
+ ['term_5fpcategory',['TERM_PCATEGORY',['../boot_8php.html#a45b12aefab9675baffc7a07a09486db8',1,'boot.php']]],
+ ['term_5fsavedsearch',['TERM_SAVEDSEARCH',['../boot_8php.html#abd7bb40da9cc073297e49736b338ca07',1,'boot.php']]],
+ ['term_5fthing',['TERM_THING',['../boot_8php.html#a0d877df1e20bae765e1708be50f6b503',1,'boot.php']]],
+ ['term_5funknown',['TERM_UNKNOWN',['../boot_8php.html#a0c59dde058efebbc66520d136cbd1631',1,'boot.php']]],
+ ['tplpaths',['tplpaths',['../namespaceupdatetpl.html#a52a85ffa6b6d63d840b185a133478c12',1,'updatetpl']]]
+];
diff --git a/doc/html/search/variables_75.html b/doc/html/search/variables_75.html
new file mode 100644
index 000000000..7850aec50
--- /dev/null
+++ b/doc/html/search/variables_75.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_75.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_75.js b/doc/html/search/variables_75.js
new file mode 100644
index 000000000..940c28990
--- /dev/null
+++ b/doc/html/search/variables_75.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['update_5ffailed',['UPDATE_FAILED',['../boot_8php.html#a75fc600186b13c3b25e661afefb5eac8',1,'boot.php']]],
+ ['update_5fsuccess',['UPDATE_SUCCESS',['../boot_8php.html#ac86615ddc0763a00f5311c90e991730c',1,'boot.php']]]
+];
diff --git a/doc/html/search/variables_77.html b/doc/html/search/variables_77.html
new file mode 100644
index 000000000..434c6df9e
--- /dev/null
+++ b/doc/html/search/variables_77.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_77.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_77.js b/doc/html/search/variables_77.js
new file mode 100644
index 000000000..59eb7ded7
--- /dev/null
+++ b/doc/html/search/variables_77.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['while',['while',['../docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d',1,'docblox_errorchecker.php']]]
+];
diff --git a/doc/html/search/variables_78.html b/doc/html/search/variables_78.html
new file mode 100644
index 000000000..602e87995
--- /dev/null
+++ b/doc/html/search/variables_78.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_78.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_78.js b/doc/html/search/variables_78.js
new file mode 100644
index 000000000..d7523807b
--- /dev/null
+++ b/doc/html/search/variables_78.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['xchan_5fflags_5fhidden',['XCHAN_FLAGS_HIDDEN',['../boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2',1,'boot.php']]],
+ ['xchan_5fflags_5forphan',['XCHAN_FLAGS_ORPHAN',['../boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f',1,'boot.php']]]
+];
diff --git a/doc/html/search/variables_7a.html b/doc/html/search/variables_7a.html
new file mode 100644
index 000000000..8a5710483
--- /dev/null
+++ b/doc/html/search/variables_7a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_7a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_7a.js b/doc/html/search/variables_7a.js
new file mode 100644
index 000000000..c1d257f75
--- /dev/null
+++ b/doc/html/search/variables_7a.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['zcurl_5ftimeout',['ZCURL_TIMEOUT',['../boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af',1,'boot.php']]],
+ ['zot_5frevision',['ZOT_REVISION',['../boot_8php.html#a36b31575f992a10b5927b76efba9362e',1,'boot.php']]]
+];
diff --git a/doc/html/search_8php.html b/doc/html/search_8php.html
new file mode 100644
index 000000000..d88613963
--- /dev/null
+++ b/doc/html/search_8php.html
@@ -0,0 +1,210 @@
+<!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/search.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="rhash-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('search_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">search.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: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>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ab2568591359edde5b483a6cd9a24b2cc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">search_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$load</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="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acf19fd30f07f495781ca0d7a0a08b435"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">search_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="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
new file mode 100644
index 000000000..ffe2bd8fc
--- /dev/null
+++ b/doc/html/search_8php.js
@@ -0,0 +1,7 @@
+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 ]
+]; \ No newline at end of file
diff --git a/doc/html/search__ac_8php.html b/doc/html/search__ac_8php.html
new file mode 100644
index 000000000..b8e9202ec
--- /dev/null
+++ b/doc/html/search__ac_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/search_ac.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="rhash-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('search__ac_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">search_ac.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:a14f90c83a3f2be095e9e2992a8d66138"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a14f90c83a3f2be095e9e2992a8d66138"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a14f90c83a3f2be095e9e2992a8d66138"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">search_ac_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/search__ac_8php.js b/doc/html/search__ac_8php.js
new file mode 100644
index 000000000..27ce8db46
--- /dev/null
+++ b/doc/html/search__ac_8php.js
@@ -0,0 +1,4 @@
+var search__ac_8php =
+[
+ [ "search_ac_init", "search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138", null ]
+]; \ No newline at end of file
diff --git a/doc/html/security_8php.html b/doc/html/security_8php.html
new file mode 100644
index 000000000..fba933b97
--- /dev/null
+++ b/doc/html/security_8php.html
@@ -0,0 +1,442 @@
+<!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: include/security.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="rhash-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('security_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">security.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:adc7bf51e3b8d67bd80e9348f9ab03733"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success</a> ($user_record, $login_initial=false, $interactive=false, $return=false, $update_lastlog=false)</td></tr>
+<tr class="separator:adc7bf51e3b8d67bd80e9348f9ab03733"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d23d2597aae380a3341872fe9513380"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel</a> ($change_channel)</td></tr>
+<tr class="separator:a8d23d2597aae380a3341872fe9513380"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa683bc025a1d2fe9065e2f6cd71a22f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql</a> ($owner_id, $remote_verified=false, $groups=null)</td></tr>
+<tr class="separator:afa683bc025a1d2fe9065e2f6cd71a22f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9355488460ab11d6058656ff919e5cf9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql</a> ($owner_id, $remote_verified=false, $groups=null)</td></tr>
+<tr class="separator:a9355488460ab11d6058656ff919e5cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3bdd30dc60d9ee72370b866aa4a2d01"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql</a> ($observer_hash)</td></tr>
+<tr class="separator:ab3bdd30dc60d9ee72370b866aa4a2d01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd06ef411116115c2f0a92633700db8a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">get_form_security_token</a> ($typename= '')</td></tr>
+<tr class="separator:acd06ef411116115c2f0a92633700db8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c6180e82150a5a9af91a1255d096b5c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token</a> ($typename= '', $formname= 'form_security_token')</td></tr>
+<tr class="separator:a9c6180e82150a5a9af91a1255d096b5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20f8b9851f23ee8894b8925584ef6821"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">check_form_security_std_err_msg</a> ()</td></tr>
+<tr class="separator:a20f8b9851f23ee8894b8925584ef6821"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77ba0d1889a39cf32434c5ce96fe1433"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr</a> ($err_redirect, $typename= '', $formname= 'form_security_token')</td></tr>
+<tr class="separator:a77ba0d1889a39cf32434c5ce96fe1433"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a444ac867dfa8c37cf0a7a226412bee28"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr</a> ($typename= '', $formname= 'form_security_token')</td></tr>
+<tr class="separator:a444ac867dfa8c37cf0a7a226412bee28"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae92c5c1a1cbbc49ddbb8b3265d2db809"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(!function_exists('init_groups_visitor'))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">stream_perms_api_uids</a> ($perms_min=<a class="el" href="boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f">PERMS_SITE</a>)</td></tr>
+<tr class="separator:ae92c5c1a1cbbc49ddbb8b3265d2db809"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="adc7bf51e3b8d67bd80e9348f9ab03733"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">authenticate_success </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user_record</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$login_initial</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$interactive</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$return</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update_lastlog</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="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, and <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8d23d2597aae380a3341872fe9513380"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">change_channel </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$change_channel</em></td><td>)</td>
+ <td></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#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, and <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a20f8b9851f23ee8894b8925584ef6821"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_form_security_std_err_msg </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9c6180e82150a5a9af91a1255d096b5c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_form_security_token </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$typename</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$formname</em> = <code>'form_security_token'</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="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, and <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a444ac867dfa8c37cf0a7a226412bee28"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_form_security_token_ForbiddenOnErr </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$typename</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$formname</em> = <code>'form_security_token'</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="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a77ba0d1889a39cf32434c5ce96fe1433"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_form_security_token_redirectOnErr </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$err_redirect</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$typename</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$formname</em> = <code>'form_security_token'</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="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="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</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>, and <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acd06ef411116115c2f0a92633700db8a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_form_security_token </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$typename</em> = <code>''</code></td><td>)</td>
+ <td></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>
+
+</div>
+</div>
+<a class="anchor" id="a9355488460ab11d6058656ff919e5cf9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_permissions_sql </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$owner_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$remote_verified</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$groups</em> = <code>null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Construct permissions</p>
+<p>default permissions - anonymous user</p>
+<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="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afa683bc025a1d2fe9065e2f6cd71a22f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">permissions_sql </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$owner_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$remote_verified</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$groups</em> = <code>null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Construct permissions</p>
+<p>default permissions - anonymous user</p>
+<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_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>
+
+</div>
+</div>
+<a class="anchor" id="ab3bdd30dc60d9ee72370b866aa4a2d01"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">public_permissions_sql </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$observer_hash</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae92c5c1a1cbbc49ddbb8b3265d2db809"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (!function_exists('init_groups_visitor')) stream_perms_api_uids </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$perms_min</em> = <code><a class="el" href="boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f">PERMS_SITE</a></code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, and <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/security_8php.js b/doc/html/security_8php.js
new file mode 100644
index 000000000..f31abc14a
--- /dev/null
+++ b/doc/html/security_8php.js
@@ -0,0 +1,14 @@
+var security_8php =
+[
+ [ "authenticate_success", "security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733", null ],
+ [ "change_channel", "security_8php.html#a8d23d2597aae380a3341872fe9513380", null ],
+ [ "check_form_security_std_err_msg", "security_8php.html#a20f8b9851f23ee8894b8925584ef6821", null ],
+ [ "check_form_security_token", "security_8php.html#a9c6180e82150a5a9af91a1255d096b5c", null ],
+ [ "check_form_security_token_ForbiddenOnErr", "security_8php.html#a444ac867dfa8c37cf0a7a226412bee28", null ],
+ [ "check_form_security_token_redirectOnErr", "security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433", null ],
+ [ "get_form_security_token", "security_8php.html#acd06ef411116115c2f0a92633700db8a", null ],
+ [ "item_permissions_sql", "security_8php.html#a9355488460ab11d6058656ff919e5cf9", null ],
+ [ "permissions_sql", "security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f", null ],
+ [ "public_permissions_sql", "security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01", null ],
+ [ "stream_perms_api_uids", "security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809", null ]
+]; \ No newline at end of file
diff --git a/doc/html/session_8php.html b/doc/html/session_8php.html
new file mode 100644
index 000000000..26dce80b2
--- /dev/null
+++ b/doc/html/session_8php.html
@@ -0,0 +1,317 @@
+<!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: include/session.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="rhash-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('session_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> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">session.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:a4c0ead624f95483e386bc80abf570a8f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie</a> ($time)</td></tr>
+<tr class="separator:a4c0ead624f95483e386bc80abf570a8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a26fa1042356d555023cbf15ddd4f8507"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8php.html#a26fa1042356d555023cbf15ddd4f8507">ref_session_open</a> ($s, $<a class="el" href="php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b">n</a>)</td></tr>
+<tr class="separator:a26fa1042356d555023cbf15ddd4f8507"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f0f50576360d9ba52d29364e0b83a8e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read</a> ($id)</td></tr>
+<tr class="separator:a7f0f50576360d9ba52d29364e0b83a8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4461c1984543d3553e73dba2771568f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write</a> ($id, $data)</td></tr>
+<tr class="separator:ac4461c1984543d3553e73dba2771568f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e1c616e02b863d5450317d101366bb7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8php.html#a5e1c616e02b863d5450317d101366bb7">ref_session_close</a> ()</td></tr>
+<tr class="separator:a5e1c616e02b863d5450317d101366bb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af230b86bfff7db66c3bdd7e0bbc24052"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052">ref_session_destroy</a> ($id)</td></tr>
+<tr class="separator:af230b86bfff7db66c3bdd7e0bbc24052"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac95373f4966862a028033dd2f94d4da1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">ref_session_gc</a> ($expire)</td></tr>
+<tr class="separator:ac95373f4966862a028033dd2f94d4da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a62e4a6cb26b4bb1b8ddd8277b26090eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8php.html#a62e4a6cb26b4bb1b8ddd8277b26090eb">$session_exists</a> = 0</td></tr>
+<tr class="separator:a62e4a6cb26b4bb1b8ddd8277b26090eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0100a2642a5268594bbd5742a03d885"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8php.html#af0100a2642a5268594bbd5742a03d885">$session_expire</a> = 180000</td></tr>
+<tr class="separator:af0100a2642a5268594bbd5742a03d885"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a96b09cc763572f45280786a7b33feb7e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8php.html#a96b09cc763572f45280786a7b33feb7e">$gc_probability</a> = 50</td></tr>
+<tr class="separator:a96b09cc763572f45280786a7b33feb7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a4c0ead624f95483e386bc80abf570a8f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">new_cookie </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$time</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a">nuke_session()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5e1c616e02b863d5450317d101366bb7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ref_session_close </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af230b86bfff7db66c3bdd7e0bbc24052"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ref_session_destroy </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac95373f4966862a028033dd2f94d4da1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ref_session_gc </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$expire</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a26fa1042356d555023cbf15ddd4f8507"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ref_session_open </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>$n</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="a7f0f50576360d9ba52d29364e0b83a8e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ref_session_read </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac4461c1984543d3553e73dba2771568f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ref_session_write </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$data</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a96b09cc763572f45280786a7b33feb7e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$gc_probability = 50</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a62e4a6cb26b4bb1b8ddd8277b26090eb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$session_exists = 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, and <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af0100a2642a5268594bbd5742a03d885"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$session_expire = 180000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/session_8php.js b/doc/html/session_8php.js
new file mode 100644
index 000000000..5d69851d0
--- /dev/null
+++ b/doc/html/session_8php.js
@@ -0,0 +1,13 @@
+var session_8php =
+[
+ [ "new_cookie", "session_8php.html#a4c0ead624f95483e386bc80abf570a8f", null ],
+ [ "ref_session_close", "session_8php.html#a5e1c616e02b863d5450317d101366bb7", null ],
+ [ "ref_session_destroy", "session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052", null ],
+ [ "ref_session_gc", "session_8php.html#ac95373f4966862a028033dd2f94d4da1", null ],
+ [ "ref_session_open", "session_8php.html#a26fa1042356d555023cbf15ddd4f8507", null ],
+ [ "ref_session_read", "session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e", null ],
+ [ "ref_session_write", "session_8php.html#ac4461c1984543d3553e73dba2771568f", null ],
+ [ "$gc_probability", "session_8php.html#a96b09cc763572f45280786a7b33feb7e", null ],
+ [ "$session_exists", "session_8php.html#a62e4a6cb26b4bb1b8ddd8277b26090eb", null ],
+ [ "$session_expire", "session_8php.html#af0100a2642a5268594bbd5742a03d885", null ]
+]; \ No newline at end of file
diff --git a/doc/html/settings_8php.html b/doc/html/settings_8php.html
new file mode 100644
index 000000000..9b6afedab
--- /dev/null
+++ b/doc/html/settings_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/settings.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="rhash-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('settings_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">settings.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:a39abc76ff5459c57e3b957664f273f18"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="settings_8php.html#a39abc76ff5459c57e3b957664f273f18">get_theme_config_file</a> ($theme)</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>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a39abc76ff5459c57e3b957664f273f18"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_theme_config_file </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$theme</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
+
+</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">
+ <table class="memname">
+ <tr>
+ <td class="memname">settings_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="aa7ee94d88ac088edb04ccf3a26de3586"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">settings_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/settings_8php.js b/doc/html/settings_8php.js
new file mode 100644
index 000000000..facd5da67
--- /dev/null
+++ b/doc/html/settings_8php.js
@@ -0,0 +1,7 @@
+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
new file mode 100644
index 000000000..6289f702b
--- /dev/null
+++ b/doc/html/setup_8php.html
@@ -0,0 +1,479 @@
+<!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/setup.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="rhash-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('setup_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> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">setup.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:a267555abd17290e659b4bf44b885e4e0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a267555abd17290e659b4bf44b885e4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13cf286774149a0a7bd8adb8179cec75"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a13cf286774149a0a7bd8adb8179cec75"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8652788e8589778c5f81634a9d5b9429"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#a8652788e8589778c5f81634a9d5b9429">get_db_errno</a> ()</td></tr>
+<tr class="separator:a8652788e8589778c5f81634a9d5b9429"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88247384a96e14516f474d7af6a465c1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a88247384a96e14516f474d7af6a465c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8e4d9279a61de74d5f39962cb7b6ca1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#ae8e4d9279a61de74d5f39962cb7b6ca1">check_add</a> (&amp;$checks, $title, $status, $required, $help)</td></tr>
+<tr class="separator:ae8e4d9279a61de74d5f39962cb7b6ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14d208682a88632290c895d20da6e7d6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php</a> (&amp;$phpath, &amp;$checks)</td></tr>
+<tr class="separator:a14d208682a88632290c895d20da6e7d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3bbb111780da70ba35cc23a306f2c76"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys</a> (&amp;$checks)</td></tr>
+<tr class="separator:aa3bbb111780da70ba35cc23a306f2c76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69a450e06dd3771fb51d3e4b0266a35e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e">check_funcs</a> (&amp;$checks)</td></tr>
+<tr class="separator:a69a450e06dd3771fb51d3e4b0266a35e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ad92c0857d1dadd6b60a9a557159c9f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f">check_htconfig</a> (&amp;$checks)</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: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>
+<tr class="separator:abe405d227ba7232971964a706d4f3bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b375ddc555140236fc500135de99371"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#a2b375ddc555140236fc500135de99371">load_database_rem</a> ($v, $i)</td></tr>
+<tr class="separator:a2b375ddc555140236fc500135de99371"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2e0375a9ab87ebe6e78124ee125054a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database</a> ($db)</td></tr>
+<tr class="separator:ad2e0375a9ab87ebe6e78124ee125054a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea1ebdda58ec938f4e7b31aa5c5f6b58"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next</a> ()</td></tr>
+<tr class="separator:aea1ebdda58ec938f4e7b31aa5c5f6b58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:addb24714bc2542aa4f4215e98fe48432"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="setup_8php.html#addb24714bc2542aa4f4215e98fe48432">$install_wizard_pass</a> =1</td></tr>
+<tr class="separator:addb24714bc2542aa4f4215e98fe48432"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ae8e4d9279a61de74d5f39962cb7b6ca1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_add </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$checks</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$status</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$required</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$help</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</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>
+
+</div>
+</div>
+<a class="anchor" id="a69a450e06dd3771fb51d3e4b0266a35e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_funcs </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="a0c3f3b671381f6dccd924b8ecdfc56c4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_htaccess </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="a5ad92c0857d1dadd6b60a9a557159c9f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_htconfig </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="aa3bbb111780da70ba35cc23a306f2c76"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_keys </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="a14d208682a88632290c895d20da6e7d6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_php </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$phpath</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$checks</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="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afd8b0b3ade1507c45325caf377bf459d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_smarty3 </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">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_db_errno </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad2e0375a9ab87ebe6e78124ee125054a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">load_database </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$db</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2b375ddc555140236fc500135de99371"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">load_database_rem </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$v</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$i</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="abe405d227ba7232971964a706d4f3bce"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">manual_config </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="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a88247384a96e14516f474d7af6a465c1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">setup_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="a267555abd17290e659b4bf44b885e4e0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">setup_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="a13cf286774149a0a7bd8adb8179cec75"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">setup_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="aea1ebdda58ec938f4e7b31aa5c5f6b58"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">what_next </td>
+ <td>(</td>
+ <td class="paramname"></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>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="addb24714bc2542aa4f4215e98fe48432"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$install_wizard_pass =1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, and <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/setup_8php.js b/doc/html/setup_8php.js
new file mode 100644
index 000000000..386036b13
--- /dev/null
+++ b/doc/html/setup_8php.js
@@ -0,0 +1,19 @@
+var setup_8php =
+[
+ [ "check_add", "setup_8php.html#ae8e4d9279a61de74d5f39962cb7b6ca1", null ],
+ [ "check_funcs", "setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e", null ],
+ [ "check_htaccess", "setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4", null ],
+ [ "check_htconfig", "setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f", null ],
+ [ "check_keys", "setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76", null ],
+ [ "check_php", "setup_8php.html#a14d208682a88632290c895d20da6e7d6", null ],
+ [ "check_smarty3", "setup_8php.html#afd8b0b3ade1507c45325caf377bf459d", null ],
+ [ "get_db_errno", "setup_8php.html#a8652788e8589778c5f81634a9d5b9429", null ],
+ [ "load_database", "setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a", null ],
+ [ "load_database_rem", "setup_8php.html#a2b375ddc555140236fc500135de99371", null ],
+ [ "manual_config", "setup_8php.html#abe405d227ba7232971964a706d4f3bce", null ],
+ [ "setup_content", "setup_8php.html#a88247384a96e14516f474d7af6a465c1", null ],
+ [ "setup_init", "setup_8php.html#a267555abd17290e659b4bf44b885e4e0", null ],
+ [ "setup_post", "setup_8php.html#a13cf286774149a0a7bd8adb8179cec75", null ],
+ [ "what_next", "setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58", null ],
+ [ "$install_wizard_pass", "setup_8php.html#addb24714bc2542aa4f4215e98fe48432", null ]
+]; \ No newline at end of file
diff --git a/doc/html/share_8php.html b/doc/html/share_8php.html
new file mode 100644
index 000000000..0ebf74ae1
--- /dev/null
+++ b/doc/html/share_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/share.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="rhash-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('share_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">share.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:afeb26046bdd02567ecd29ab5f188b249"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init</a> (&amp;$a)</td></tr>
+<tr class="separator:afeb26046bdd02567ecd29ab5f188b249"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="afeb26046bdd02567ecd29ab5f188b249"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">share_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/share_8php.js b/doc/html/share_8php.js
new file mode 100644
index 000000000..6f63d2afc
--- /dev/null
+++ b/doc/html/share_8php.js
@@ -0,0 +1,4 @@
+var share_8php =
+[
+ [ "share_init", "share_8php.html#afeb26046bdd02567ecd29ab5f188b249", null ]
+]; \ No newline at end of file
diff --git a/doc/html/siteinfo_8php.html b/doc/html/siteinfo_8php.html
new file mode 100644
index 000000000..a04ae5de8
--- /dev/null
+++ b/doc/html/siteinfo_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/siteinfo.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="rhash-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('siteinfo_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">siteinfo.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:a3efbd0bd6564af19ec0a9ce0294e59d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a3efbd0bd6564af19ec0a9ce0294e59d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70c09bfb6dd1c86a125a35f62ed53656"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a70c09bfb6dd1c86a125a35f62ed53656"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a70c09bfb6dd1c86a125a35f62ed53656"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">siteinfo_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="a3efbd0bd6564af19ec0a9ce0294e59d0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">siteinfo_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/siteinfo_8php.js b/doc/html/siteinfo_8php.js
new file mode 100644
index 000000000..f293cd4f6
--- /dev/null
+++ b/doc/html/siteinfo_8php.js
@@ -0,0 +1,5 @@
+var siteinfo_8php =
+[
+ [ "siteinfo_content", "siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656", null ],
+ [ "siteinfo_init", "siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0", null ]
+]; \ No newline at end of file
diff --git a/doc/html/sitelist_8php.html b/doc/html/sitelist_8php.html
new file mode 100644
index 000000000..ceb8d1564
--- /dev/null
+++ b/doc/html/sitelist_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/sitelist.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="rhash-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('sitelist_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">sitelist.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:a665a59bf60f780b40f32c909f4a473b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a665a59bf60f780b40f32c909f4a473b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a665a59bf60f780b40f32c909f4a473b1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">sitelist_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/sitelist_8php.js b/doc/html/sitelist_8php.js
new file mode 100644
index 000000000..5feccee65
--- /dev/null
+++ b/doc/html/sitelist_8php.js
@@ -0,0 +1,4 @@
+var sitelist_8php =
+[
+ [ "sitelist_init", "sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1", null ]
+]; \ No newline at end of file
diff --git a/doc/html/smilies_8php.html b/doc/html/smilies_8php.html
new file mode 100644
index 000000000..ae04db800
--- /dev/null
+++ b/doc/html/smilies_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/smilies.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="rhash-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('smilies_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">smilies.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:ab43b1e9f33a700a830aff14c7b3a617f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f">smilies_content</a> (&amp;$a)</td></tr>
+<tr class="separator:ab43b1e9f33a700a830aff14c7b3a617f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ab43b1e9f33a700a830aff14c7b3a617f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">smilies_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/smilies_8php.js b/doc/html/smilies_8php.js
new file mode 100644
index 000000000..dc1c06b09
--- /dev/null
+++ b/doc/html/smilies_8php.js
@@ -0,0 +1,4 @@
+var smilies_8php =
+[
+ [ "smilies_content", "smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f", null ]
+]; \ No newline at end of file
diff --git a/doc/html/socgraph_8php.html b/doc/html/socgraph_8php.html
new file mode 100644
index 000000000..fc4890986
--- /dev/null
+++ b/doc/html/socgraph_8php.html
@@ -0,0 +1,432 @@
+<!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: include/socgraph.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="rhash-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('socgraph_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">socgraph.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:a5ef8bef37161df53718a21e93d02fbd6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load</a> ($xchan= '', $url=null)</td></tr>
+<tr class="separator:a5ef8bef37161df53718a21e93d02fbd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a887d576f21fd708132a06d0f72f90f84"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends</a> ($uid, $xchan)</td></tr>
+<tr class="separator:a887d576f21fd708132a06d0f72f90f84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d34cd58025bcd9e575282f44db75918"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends</a> ($uid, $xchan, $start=0, $limit=100000000, $shuffle=false)</td></tr>
+<tr class="separator:a7d34cd58025bcd9e575282f44db75918"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af175807406d94407a5e11742a3287746"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">count_common_friends_zcid</a> ($uid, $zcid)</td></tr>
+<tr class="separator:af175807406d94407a5e11742a3287746"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac343a846241d36cdf046b08f3396cfe9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">common_friends_zcid</a> ($uid, $zcid, $start=0, $limit=9999, $shuffle=false)</td></tr>
+<tr class="separator:ac343a846241d36cdf046b08f3396cfe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af29d056beec10b4e38e5209c92452894"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">count_all_friends</a> ($uid, $cid)</td></tr>
+<tr class="separator:af29d056beec10b4e38e5209c92452894"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a16ac51c505d72987ed8d6d6aed0e8586"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">all_friends</a> ($uid, $cid, $start=0, $limit=80)</td></tr>
+<tr class="separator:a16ac51c505d72987ed8d6d6aed0e8586"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76e6fca3d2bc842dcd9e710bb87c8329"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query</a> ($uid, $myxchan, $start=0, $limit=80)</td></tr>
+<tr class="separator:a76e6fca3d2bc842dcd9e710bb87c8329"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a790690bb1a1d02483fe31632a160144d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions</a> ()</td></tr>
+<tr class="separator:a790690bb1a1d02483fe31632a160144d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a16ac51c505d72987ed8d6d6aed0e8586"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">all_friends </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>$cid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$start</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$limit</em> = <code>80</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="allfriends_8php.html#aad992ddbb5f20e81c5cf2259718aec83">allfriends_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7d34cd58025bcd9e575282f44db75918"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">common_friends </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>$xchan</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$start</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$limit</em> = <code>100000000</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$shuffle</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="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, and <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac343a846241d36cdf046b08f3396cfe9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">common_friends_zcid </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>$zcid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$start</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$limit</em> = <code>9999</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$shuffle</em> = <code>false</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="af29d056beec10b4e38e5209c92452894"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">count_all_friends </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>$cid</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="a887d576f21fd708132a06d0f72f90f84"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">count_common_friends </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>$xchan</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="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, and <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af175807406d94407a5e11742a3287746"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">count_common_friends_zcid </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>$zcid</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="a5ef8bef37161df53718a21e93d02fbd6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">poco_load </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$xchan</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em> = <code>null</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="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a76e6fca3d2bc842dcd9e710bb87c8329"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">suggestion_query </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>$myxchan</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$start</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$limit</em> = <code>80</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="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a790690bb1a1d02483fe31632a160144d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">update_suggestions </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest_run()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/socgraph_8php.js b/doc/html/socgraph_8php.js
new file mode 100644
index 000000000..7485dd0a2
--- /dev/null
+++ b/doc/html/socgraph_8php.js
@@ -0,0 +1,12 @@
+var socgraph_8php =
+[
+ [ "all_friends", "socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586", null ],
+ [ "common_friends", "socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918", null ],
+ [ "common_friends_zcid", "socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9", null ],
+ [ "count_all_friends", "socgraph_8php.html#af29d056beec10b4e38e5209c92452894", null ],
+ [ "count_common_friends", "socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84", null ],
+ [ "count_common_friends_zcid", "socgraph_8php.html#af175807406d94407a5e11742a3287746", null ],
+ [ "poco_load", "socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6", null ],
+ [ "suggestion_query", "socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329", null ],
+ [ "update_suggestions", "socgraph_8php.html#a790690bb1a1d02483fe31632a160144d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/starred_8php.html b/doc/html/starred_8php.html
new file mode 100644
index 000000000..f5cec3e80
--- /dev/null
+++ b/doc/html/starred_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/starred.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="rhash-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('starred_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">starred.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:a63024fb418c678e49fd535e3752d349a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a63024fb418c678e49fd535e3752d349a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a63024fb418c678e49fd535e3752d349a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">starred_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/starred_8php.js b/doc/html/starred_8php.js
new file mode 100644
index 000000000..328089950
--- /dev/null
+++ b/doc/html/starred_8php.js
@@ -0,0 +1,4 @@
+var starred_8php =
+[
+ [ "starred_init", "starred_8php.html#a63024fb418c678e49fd535e3752d349a", null ]
+]; \ No newline at end of file
diff --git a/doc/html/style_8php.html b/doc/html/style_8php.html
new file mode 100644
index 000000000..93d2929a6
--- /dev/null
+++ b/doc/html/style_8php.html
@@ -0,0 +1,378 @@
+<!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 Project: view/theme/redbasic/php/style.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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('style_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">style.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a4131d1765ee4deb28e83fc4527943ee0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#a4131d1765ee4deb28e83fc4527943ee0">$line_height</a> = false</td></tr>
+<tr class="separator:a4131d1765ee4deb28e83fc4527943ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addf42c3d02e53f8e4153f3bb9dabfcda"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda">$redbasic_font_size</a> = false</td></tr>
+<tr class="separator:addf42c3d02e53f8e4153f3bb9dabfcda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcfa918e05b5a98cbddc84bc3f1c15cc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc">$resolution</a> = false</td></tr>
+<tr class="separator:adcfa918e05b5a98cbddc84bc3f1c15cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4086b1a341b7c8462a47fb1b25fd49ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab">$colour</a> = false</td></tr>
+<tr class="separator:a4086b1a341b7c8462a47fb1b25fd49ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb3046ad9c01b7d60cde20f58d77c548"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#acb3046ad9c01b7d60cde20f58d77c548">$shadows</a> = false</td></tr>
+<tr class="separator:acb3046ad9c01b7d60cde20f58d77c548"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a938168352fd3cdaa1c10c16a34f5938a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#a938168352fd3cdaa1c10c16a34f5938a">$navcolour</a> = false</td></tr>
+<tr class="separator:a938168352fd3cdaa1c10c16a34f5938a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a232513bf4339fe34908c4c63cb93168b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#a232513bf4339fe34908c4c63cb93168b">$nav_bg_1</a> = &quot;f88&quot;</td></tr>
+<tr class="separator:a232513bf4339fe34908c4c63cb93168b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03a72942b7428fd9af1224770d20a8ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#a03a72942b7428fd9af1224770d20a8ba">$nav_bg_2</a> = &quot;b00&quot;</td></tr>
+<tr class="separator:a03a72942b7428fd9af1224770d20a8ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc190405dda0a23a80551dee11c74c0c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#acc190405dda0a23a80551dee11c74c0c">$nav_bg_3</a> = &quot;f00&quot;</td></tr>
+<tr class="separator:acc190405dda0a23a80551dee11c74c0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef266cfcb27c6ddb3292584c945bab33"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#aef266cfcb27c6ddb3292584c945bab33">$nav_bg_4</a> = &quot;b00&quot;</td></tr>
+<tr class="separator:aef266cfcb27c6ddb3292584c945bab33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa658152b727ea1233f6df6ded6437dad"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#aa658152b727ea1233f6df6ded6437dad">$displaystyle</a> = false</td></tr>
+<tr class="separator:aa658152b727ea1233f6df6ded6437dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6628a80911a6b37b464ef110ac8f6e42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#a6628a80911a6b37b464ef110ac8f6e42">$linkcolour</a> = false</td></tr>
+<tr class="separator:a6628a80911a6b37b464ef110ac8f6e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b942d36d8862908864e2ffa4521be70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#a0b942d36d8862908864e2ffa4521be70">$shiny</a> = false</td></tr>
+<tr class="separator:a0b942d36d8862908864e2ffa4521be70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8749837e08dfb3372662af9c33fa2a2e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#a8749837e08dfb3372662af9c33fa2a2e">$site_line_height</a> = <a class="el" href="include_2config_8php.html#a5d19130818ea4c6b8726ab62cd989c15">get_config</a>(&quot;redbasic&quot;,&quot;line_height&quot;)</td></tr>
+<tr class="separator:a8749837e08dfb3372662af9c33fa2a2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45e6fafa363bc4586fa91dce1786be4f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#a45e6fafa363bc4586fa91dce1786be4f">$site_redbasic_font_size</a> = <a class="el" href="include_2config_8php.html#a5d19130818ea4c6b8726ab62cd989c15">get_config</a>(&quot;redbasic&quot;, &quot;font_size&quot; )</td></tr>
+<tr class="separator:a45e6fafa363bc4586fa91dce1786be4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02d39b683a42fffbb27823d3860283bd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#a02d39b683a42fffbb27823d3860283bd">$site_colour</a> = <a class="el" href="include_2config_8php.html#a5d19130818ea4c6b8726ab62cd989c15">get_config</a>(&quot;redbasic&quot;, &quot;colour&quot; )</td></tr>
+<tr class="separator:a02d39b683a42fffbb27823d3860283bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a473a25349f07563d6c56d14031f02a"><td class="memItemLeft" align="right" valign="top">if(<a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">local_user</a>()) if(!<a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled</a>(<a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">local_user</a>(),'expert')) <br class="typebreak"/>
+if($line_height===false) if($line_height===false) <br class="typebreak"/>
+if($redbasic_font_size===false) <br class="typebreak"/>
+if($redbasic_font_size===false) <br class="typebreak"/>
+if($colour===false) if($colour===false) <br class="typebreak"/>
+if($navcolour===&quot;black&quot;)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="style_8php.html#a0a473a25349f07563d6c56d14031f02a">if</a> (file_exists('view/theme/'.<a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme</a>(). '/css/style.css'))</td></tr>
+<tr class="separator:a0a473a25349f07563d6c56d14031f02a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a4086b1a341b7c8462a47fb1b25fd49ab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$colour = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#ab5073653dfb9eb2216f8580098a87071">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa658152b727ea1233f6df6ded6437dad"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$displaystyle = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#ab5073653dfb9eb2216f8580098a87071">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4131d1765ee4deb28e83fc4527943ee0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$line_height = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#ab5073653dfb9eb2216f8580098a87071">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6628a80911a6b37b464ef110ac8f6e42"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$linkcolour = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#ab5073653dfb9eb2216f8580098a87071">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a232513bf4339fe34908c4c63cb93168b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_1 = &quot;f88&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a03a72942b7428fd9af1224770d20a8ba"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_2 = &quot;b00&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acc190405dda0a23a80551dee11c74c0c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_3 = &quot;f00&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aef266cfcb27c6ddb3292584c945bab33"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$nav_bg_4 = &quot;b00&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a938168352fd3cdaa1c10c16a34f5938a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$navcolour = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#ab5073653dfb9eb2216f8580098a87071">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="addf42c3d02e53f8e4153f3bb9dabfcda"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$redbasic_font_size = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="adcfa918e05b5a98cbddc84bc3f1c15cc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$resolution = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acb3046ad9c01b7d60cde20f58d77c548"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$shadows = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#ab5073653dfb9eb2216f8580098a87071">redbasic_form()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0b942d36d8862908864e2ffa4521be70"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$shiny = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#ab5073653dfb9eb2216f8580098a87071">redbasic_form()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a02d39b683a42fffbb27823d3860283bd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$site_colour = <a class="el" href="include_2config_8php.html#a5d19130818ea4c6b8726ab62cd989c15">get_config</a>(&quot;redbasic&quot;, &quot;colour&quot; )</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8749837e08dfb3372662af9c33fa2a2e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$site_line_height = <a class="el" href="include_2config_8php.html#a5d19130818ea4c6b8726ab62cd989c15">get_config</a>(&quot;redbasic&quot;,&quot;line_height&quot;)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a45e6fafa363bc4586fa91dce1786be4f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$site_redbasic_font_size = <a class="el" href="include_2config_8php.html#a5d19130818ea4c6b8726ab62cd989c15">get_config</a>(&quot;redbasic&quot;, &quot;font_size&quot; )</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0a473a25349f07563d6c56d14031f02a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">if ($colour===&quot;dark&quot;) if (($redbasic_font_size &gt;=8.0)&amp;&amp;($redbasic_font_size&lt;=20.0)) if (($line_height &gt;=1.0)&amp;&amp;($line_height&lt;=2.0)) if($shadows===&quot;true&quot;)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/style_8php.js b/doc/html/style_8php.js
new file mode 100644
index 000000000..35e00198f
--- /dev/null
+++ b/doc/html/style_8php.js
@@ -0,0 +1,20 @@
+var style_8php =
+[
+ [ "$colour", "style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab", null ],
+ [ "$displaystyle", "style_8php.html#aa658152b727ea1233f6df6ded6437dad", null ],
+ [ "$line_height", "style_8php.html#a4131d1765ee4deb28e83fc4527943ee0", null ],
+ [ "$linkcolour", "style_8php.html#a6628a80911a6b37b464ef110ac8f6e42", null ],
+ [ "$nav_bg_1", "style_8php.html#a232513bf4339fe34908c4c63cb93168b", null ],
+ [ "$nav_bg_2", "style_8php.html#a03a72942b7428fd9af1224770d20a8ba", null ],
+ [ "$nav_bg_3", "style_8php.html#acc190405dda0a23a80551dee11c74c0c", null ],
+ [ "$nav_bg_4", "style_8php.html#aef266cfcb27c6ddb3292584c945bab33", null ],
+ [ "$navcolour", "style_8php.html#a938168352fd3cdaa1c10c16a34f5938a", null ],
+ [ "$redbasic_font_size", "style_8php.html#addf42c3d02e53f8e4153f3bb9dabfcda", null ],
+ [ "$resolution", "style_8php.html#adcfa918e05b5a98cbddc84bc3f1c15cc", null ],
+ [ "$shadows", "style_8php.html#acb3046ad9c01b7d60cde20f58d77c548", null ],
+ [ "$shiny", "style_8php.html#a0b942d36d8862908864e2ffa4521be70", null ],
+ [ "$site_colour", "style_8php.html#a02d39b683a42fffbb27823d3860283bd", null ],
+ [ "$site_line_height", "style_8php.html#a8749837e08dfb3372662af9c33fa2a2e", null ],
+ [ "$site_redbasic_font_size", "style_8php.html#a45e6fafa363bc4586fa91dce1786be4f", null ],
+ [ "if", "style_8php.html#a0a473a25349f07563d6c56d14031f02a", null ]
+]; \ No newline at end of file
diff --git a/doc/html/subthread_8php.html b/doc/html/subthread_8php.html
new file mode 100644
index 000000000..1f318b4e5
--- /dev/null
+++ b/doc/html/subthread_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/subthread.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="rhash-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('subthread_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">subthread.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:a50368f3d825b77996030528e7fbfa3d3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a50368f3d825b77996030528e7fbfa3d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a50368f3d825b77996030528e7fbfa3d3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">subthread_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/subthread_8php.js b/doc/html/subthread_8php.js
new file mode 100644
index 000000000..93781b6dd
--- /dev/null
+++ b/doc/html/subthread_8php.js
@@ -0,0 +1,4 @@
+var subthread_8php =
+[
+ [ "subthread_content", "subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3", null ]
+]; \ No newline at end of file
diff --git a/doc/html/suggest_8php.html b/doc/html/suggest_8php.html
new file mode 100644
index 000000000..e9676b70d
--- /dev/null
+++ b/doc/html/suggest_8php.html
@@ -0,0 +1,173 @@
+<!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/suggest.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="rhash-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('suggest_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">suggest.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: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">
+ <table class="memname">
+ <tr>
+ <td class="memname">suggest_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="a696acf1dd8070e479adcc80c63c6718c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">suggest_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/suggest_8php.js b/doc/html/suggest_8php.js
new file mode 100644
index 000000000..98b2888c5
--- /dev/null
+++ b/doc/html/suggest_8php.js
@@ -0,0 +1,6 @@
+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/sync_off.png b/doc/html/sync_off.png
new file mode 100644
index 000000000..3b443fc62
--- /dev/null
+++ b/doc/html/sync_off.png
Binary files differ
diff --git a/doc/html/sync_on.png b/doc/html/sync_on.png
new file mode 100644
index 000000000..e08320fb6
--- /dev/null
+++ b/doc/html/sync_on.png
Binary files differ
diff --git a/doc/html/system__unavailable_8php.html b/doc/html/system__unavailable_8php.html
new file mode 100644
index 000000000..812387b18
--- /dev/null
+++ b/doc/html/system__unavailable_8php.html
@@ -0,0 +1,138 @@
+<!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: include/system_unavailable.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="rhash-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('system__unavailable_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">system_unavailable.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:a73751a6bcc17ad3ca503496e2fb020fa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="system__unavailable_8php.html#a73751a6bcc17ad3ca503496e2fb020fa">system_down</a> ()</td></tr>
+<tr class="separator:a73751a6bcc17ad3ca503496e2fb020fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a73751a6bcc17ad3ca503496e2fb020fa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">system_down </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0">system_unavailable()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/system__unavailable_8php.js b/doc/html/system__unavailable_8php.js
new file mode 100644
index 000000000..c92284b98
--- /dev/null
+++ b/doc/html/system__unavailable_8php.js
@@ -0,0 +1,4 @@
+var system__unavailable_8php =
+[
+ [ "system_down", "system__unavailable_8php.html#a73751a6bcc17ad3ca503496e2fb020fa", null ]
+]; \ No newline at end of file
diff --git a/doc/html/tab_a.png b/doc/html/tab_a.png
new file mode 100644
index 000000000..3b725c41c
--- /dev/null
+++ b/doc/html/tab_a.png
Binary files differ
diff --git a/doc/html/tab_b.png b/doc/html/tab_b.png
new file mode 100644
index 000000000..e2b4a8638
--- /dev/null
+++ b/doc/html/tab_b.png
Binary files differ
diff --git a/doc/html/tab_h.png b/doc/html/tab_h.png
new file mode 100644
index 000000000..fd5cb7054
--- /dev/null
+++ b/doc/html/tab_h.png
Binary files differ
diff --git a/doc/html/tab_s.png b/doc/html/tab_s.png
new file mode 100644
index 000000000..ab478c95b
--- /dev/null
+++ b/doc/html/tab_s.png
Binary files differ
diff --git a/doc/html/tabs.css b/doc/html/tabs.css
new file mode 100644
index 000000000..9cf578f23
--- /dev/null
+++ b/doc/html/tabs.css
@@ -0,0 +1,60 @@
+.tabs, .tabs2, .tabs3 {
+ background-image: url('tab_b.png');
+ width: 100%;
+ z-index: 101;
+ font-size: 13px;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+}
+
+.tabs2 {
+ font-size: 10px;
+}
+.tabs3 {
+ font-size: 9px;
+}
+
+.tablist {
+ margin: 0;
+ padding: 0;
+ display: table;
+}
+
+.tablist li {
+ float: left;
+ display: table-cell;
+ background-image: url('tab_b.png');
+ line-height: 36px;
+ list-style: none;
+}
+
+.tablist a {
+ display: block;
+ padding: 0 20px;
+ font-weight: bold;
+ background-image:url('tab_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color: #283A5D;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+ outline: none;
+}
+
+.tabs3 .tablist a {
+ padding: 0 10px;
+}
+
+.tablist a:hover {
+ background-image: url('tab_h.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+ text-decoration: none;
+}
+
+.tablist li.current a {
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
diff --git a/doc/html/tagger_8php.html b/doc/html/tagger_8php.html
new file mode 100644
index 000000000..61d449590
--- /dev/null
+++ b/doc/html/tagger_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/tagger.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="rhash-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('tagger_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">tagger.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:a0e4a3eb177d1684553c547503d67161c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a0e4a3eb177d1684553c547503d67161c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a0e4a3eb177d1684553c547503d67161c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tagger_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/tagger_8php.js b/doc/html/tagger_8php.js
new file mode 100644
index 000000000..845567bb3
--- /dev/null
+++ b/doc/html/tagger_8php.js
@@ -0,0 +1,4 @@
+var tagger_8php =
+[
+ [ "tagger_content", "tagger_8php.html#a0e4a3eb177d1684553c547503d67161c", null ]
+]; \ No newline at end of file
diff --git a/doc/html/tagrm_8php.html b/doc/html/tagrm_8php.html
new file mode 100644
index 000000000..c539a2caf
--- /dev/null
+++ b/doc/html/tagrm_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/tagrm.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="rhash-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('tagrm_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">tagrm.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:a1702f40aa53a2fa93deade1f609abe78"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a1702f40aa53a2fa93deade1f609abe78"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adfd4ea5b4d7fc6d9c9e042af5cd7d49a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content</a> (&amp;$a)</td></tr>
+<tr class="separator:adfd4ea5b4d7fc6d9c9e042af5cd7d49a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="adfd4ea5b4d7fc6d9c9e042af5cd7d49a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tagrm_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="a1702f40aa53a2fa93deade1f609abe78"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tagrm_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/tagrm_8php.js b/doc/html/tagrm_8php.js
new file mode 100644
index 000000000..2753559fd
--- /dev/null
+++ b/doc/html/tagrm_8php.js
@@ -0,0 +1,5 @@
+var tagrm_8php =
+[
+ [ "tagrm_content", "tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a", null ],
+ [ "tagrm_post", "tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78", null ]
+]; \ No newline at end of file
diff --git a/doc/html/taxonomy_8php.html b/doc/html/taxonomy_8php.html
new file mode 100644
index 000000000..156cda000
--- /dev/null
+++ b/doc/html/taxonomy_8php.html
@@ -0,0 +1,500 @@
+<!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: include/taxonomy.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="rhash-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('taxonomy_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">taxonomy.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:a3299482ac20e9d79453048dd52881d37"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37">file_tag_encode</a> ($s)</td></tr>
+<tr class="separator:a3299482ac20e9d79453048dd52881d37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08df5164926d2b31b8e9fcfe919de2b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6">file_tag_decode</a> ($s)</td></tr>
+<tr class="separator:a08df5164926d2b31b8e9fcfe919de2b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a163b5131f388080b0fc82398d3a32fe1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query</a> ($table, $s, $type= 'file')</td></tr>
+<tr class="separator:a163b5131f388080b0fc82398d3a32fe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a913d19c77610da689be48fbbf6734c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">term_query</a> ($table, $s, $type=<a class="el" href="boot_8php.html#a0c59dde058efebbc66520d136cbd1631">TERM_UNKNOWN</a>)</td></tr>
+<tr class="separator:a7a913d19c77610da689be48fbbf6734c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ba1339b2a7054971178ce194e4440fd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag</a> ($uid, $iid, $otype, $type, $term, $url= '')</td></tr>
+<tr class="separator:a4ba1339b2a7054971178ce194e4440fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fb8cf0ac7bcbc8b27d856fe9bf69cd1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1">get_terms_oftype</a> ($arr, $type)</td></tr>
+<tr class="separator:a0fb8cf0ac7bcbc8b27d856fe9bf69cd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adfead45e3b8a3dfb2b4a4b9281d0dbe1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display</a> ($term)</td></tr>
+<tr class="separator:adfead45e3b8a3dfb2b4a4b9281d0dbe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a061b3db9426d4b074395f5824062cad4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a061b3db9426d4b074395f5824062cad4">tagadelic</a> ($uid, $count=0, $authors= '', $flags=0, $type=<a class="el" href="boot_8php.html#a2750985ec445617d7e82ae3098c91e3f">TERM_HASHTAG</a>)</td></tr>
+<tr class="separator:a061b3db9426d4b074395f5824062cad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaeded36bcc983b35d9205fe5b6c18c43"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43">tags_sort</a> ($a, $b)</td></tr>
+<tr class="separator:aaeded36bcc983b35d9205fe5b6c18c43"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abdb698bc6921429df6d697f6c5dec96f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#abdb698bc6921429df6d697f6c5dec96f">tagblock</a> ($link, $uid, $count=0, $authors= '', $flags=0, $type=<a class="el" href="boot_8php.html#a2750985ec445617d7e82ae3098c91e3f">TERM_HASHTAG</a>)</td></tr>
+<tr class="separator:abdb698bc6921429df6d697f6c5dec96f"><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>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a08df5164926d2b31b8e9fcfe919de2b6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">file_tag_decode </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">
+
+</div>
+</div>
+<a class="anchor" id="a3299482ac20e9d79453048dd52881d37"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">file_tag_encode </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">
+
+</div>
+</div>
+<a class="anchor" id="a163b5131f388080b0fc82398d3a32fe1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">file_tag_file_query </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$table</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$type</em> = <code>'file'</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="lastpost_8php.html#a82f14cce5d3cfe27f40bdbd2c679d493">lastpost_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adfead45e3b8a3dfb2b4a4b9281d0dbe1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">format_term_for_display </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$term</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0fb8cf0ac7bcbc8b27d856fe9bf69cd1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_terms_oftype </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</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="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">item_getfeedtags()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</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>
+<a class="anchor" id="ac12a651a42ed77f8dc7072c6168811a2"></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></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a03f55ee46c5f496e42f3d29db8d09cce"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">obj_verbs </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</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="profile__advanced_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>
+
+</div>
+</div>
+<a class="anchor" id="a4ba1339b2a7054971178ce194e4440fd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">store_item_tag </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>$iid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$otype</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$term</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em> = <code>''</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="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_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>
+<a class="anchor" id="a061b3db9426d4b074395f5824062cad4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tagadelic </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>$count</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$authors</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$flags</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em> = <code><a class="el" href="boot_8php.html#a2750985ec445617d7e82ae3098c91e3f">TERM_HASHTAG</a></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="taxonomy_8php.html#abdb698bc6921429df6d697f6c5dec96f">tagblock()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abdb698bc6921429df6d697f6c5dec96f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tagblock </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$link</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$count</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$authors</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$flags</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em> = <code><a class="el" href="boot_8php.html#a2750985ec445617d7e82ae3098c91e3f">TERM_HASHTAG</a></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="channel_8php.html#aea8e189f2fbabfda779349dd94082e8e">channel_aside()</a>, and <a class="el" href="lastpost_8php.html#a6108289ef2a767495c7c85a24f364983">lastpost_aside()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaeded36bcc983b35d9205fe5b6c18c43"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">tags_sort </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$b</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="a7a913d19c77610da689be48fbbf6734c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">term_query </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$table</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></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>$type</em> = <code><a class="el" href="boot_8php.html#a0c59dde058efebbc66520d136cbd1631">TERM_UNKNOWN</a></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="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</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>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/taxonomy_8php.js b/doc/html/taxonomy_8php.js
new file mode 100644
index 000000000..53df8721b
--- /dev/null
+++ b/doc/html/taxonomy_8php.js
@@ -0,0 +1,15 @@
+var taxonomy_8php =
+[
+ [ "file_tag_decode", "taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6", null ],
+ [ "file_tag_encode", "taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37", null ],
+ [ "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 ],
+ [ "obj_verbs", "taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce", null ],
+ [ "store_item_tag", "taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd", null ],
+ [ "tagadelic", "taxonomy_8php.html#a061b3db9426d4b074395f5824062cad4", null ],
+ [ "tagblock", "taxonomy_8php.html#abdb698bc6921429df6d697f6c5dec96f", null ],
+ [ "tags_sort", "taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43", null ],
+ [ "term_query", "taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c", null ]
+]; \ No newline at end of file
diff --git a/doc/html/template__processor_8php.html b/doc/html/template__processor_8php.html
new file mode 100644
index 000000000..d499ee3e3
--- /dev/null
+++ b/doc/html/template__processor_8php.html
@@ -0,0 +1,184 @@
+<!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: include/template_processor.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="rhash-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('template__processor_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="#nested-classes">Classes</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">template_processor.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="classTemplate.html">Template</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:ab2bcd8738f20f293636a6ae8e1099db5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5">template_escape</a> ($s)</td></tr>
+<tr class="separator:ab2bcd8738f20f293636a6ae8e1099db5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac635bb19a5f6eadd6b0cddefdd537c1e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e">template_unescape</a> ($s)</td></tr>
+<tr class="separator:ac635bb19a5f6eadd6b0cddefdd537c1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a797745996c7839a93b2ab1af456631ab"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="template__processor_8php.html#a797745996c7839a93b2ab1af456631ab">KEY_NOT_EXISTS</a> '^R_key_not_Exists^'</td></tr>
+<tr class="separator:a797745996c7839a93b2ab1af456631ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ab2bcd8738f20f293636a6ae8e1099db5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">template_escape </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>Referenced by <a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">Template\_get_var()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, and <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac635bb19a5f6eadd6b0cddefdd537c1e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">template_unescape </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">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a797745996c7839a93b2ab1af456631ab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const KEY_NOT_EXISTS '^R_key_not_Exists^'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">Template\_get_var()</a>, and <a class="el" href="classTemplate.html#abbc484016ddf5d818f55b823cae6feb0">Template\var_replace()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/template__processor_8php.js b/doc/html/template__processor_8php.js
new file mode 100644
index 000000000..23335a2cc
--- /dev/null
+++ b/doc/html/template__processor_8php.js
@@ -0,0 +1,7 @@
+var template__processor_8php =
+[
+ [ "Template", "classTemplate.html", "classTemplate" ],
+ [ "template_escape", "template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5", null ],
+ [ "template_unescape", "template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e", null ],
+ [ "KEY_NOT_EXISTS", "template__processor_8php.html#a797745996c7839a93b2ab1af456631ab", null ]
+]; \ No newline at end of file
diff --git a/doc/html/test_2php_2theme_8php.html b/doc/html/test_2php_2theme_8php.html
new file mode 100644
index 000000000..322ba3135
--- /dev/null
+++ b/doc/html/test_2php_2theme_8php.html
@@ -0,0 +1,166 @@
+<!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 Project: view/theme/test/php/theme.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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('test_2php_2theme_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> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">theme.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:ad4235a22a5389b2291cdee55677e3cc5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="test_2php_2theme_8php.html#ad4235a22a5389b2291cdee55677e3cc5">test_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ad4235a22a5389b2291cdee55677e3cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ae74b5c3ec259b616b5137f6cfc591fb5"><td class="memItemLeft" align="right" valign="top">$a&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="test_2php_2theme_8php.html#ae74b5c3ec259b616b5137f6cfc591fb5">theme_info</a> = array()</td></tr>
+<tr class="separator:ae74b5c3ec259b616b5137f6cfc591fb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ad4235a22a5389b2291cdee55677e3cc5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">test_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>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="ae74b5c3ec259b616b5137f6cfc591fb5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$a theme_info = array()</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_b2f003339c516cc00c8cadcafbe82f13.html">view</a></li><li class="navelem"><a class="el" href="dir_8543001e5d25368a6edede3e63efb554.html">theme</a></li><li class="navelem"><a class="el" href="dir_8e4ceba158be32034f698ffd6810bb05.html">test</a></li><li class="navelem"><a class="el" href="dir_955ae6074e6c84afe72925e364242b14.html">php</a></li><li class="navelem"><a class="el" href="test_2php_2theme_8php.html">theme.php</a></li>
+ <li class="footer">Generated on Tue Feb 26 2013 15:43:22 for The Red Project by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/doc/html/test_2php_2theme_8php.js b/doc/html/test_2php_2theme_8php.js
new file mode 100644
index 000000000..cac936eda
--- /dev/null
+++ b/doc/html/test_2php_2theme_8php.js
@@ -0,0 +1,5 @@
+var test_2php_2theme_8php =
+[
+ [ "test_init", "test_2php_2theme_8php.html#ad4235a22a5389b2291cdee55677e3cc5", null ],
+ [ "theme_info", "test_2php_2theme_8php.html#ae74b5c3ec259b616b5137f6cfc591fb5", null ]
+]; \ No newline at end of file
diff --git a/doc/html/test_8php.html b/doc/html/test_8php.html
new file mode 100644
index 000000000..64f4f7c3d
--- /dev/null
+++ b/doc/html/test_8php.html
@@ -0,0 +1,147 @@
+<!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 Project: mod/test.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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('test_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">test.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:aaff133c1f566a332b5a3ae41b70941f8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="test_8php.html#aaff133c1f566a332b5a3ae41b70941f8">test_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aaff133c1f566a332b5a3ae41b70941f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aaff133c1f566a332b5a3ae41b70941f8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">test_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 -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_d41ce877eb409a4791b288730010abe2.html">mod</a></li><li class="navelem"><a class="el" href="test_8php.html">test.php</a></li>
+ <li class="footer">Generated on Tue Feb 26 2013 15:43:21 for The Red Project by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/doc/html/test_8php.js b/doc/html/test_8php.js
new file mode 100644
index 000000000..3d877ee85
--- /dev/null
+++ b/doc/html/test_8php.js
@@ -0,0 +1,4 @@
+var test_8php =
+[
+ [ "test_content", "test_8php.html#aaff133c1f566a332b5a3ae41b70941f8", null ]
+]; \ No newline at end of file
diff --git a/doc/html/text_8php.html b/doc/html/text_8php.html
new file mode 100644
index 000000000..5fbf3384c
--- /dev/null
+++ b/doc/html/text_8php.html
@@ -0,0 +1,2108 @@
+<!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: include/text.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="rhash-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('text_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> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">text.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:a9c6ce4e12a4ac883c5e3f36fed6e1e09"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros</a> ($s, $r)</td></tr>
+<tr class="separator:a9c6ce4e12a4ac883c5e3f36fed6e1e09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d6a5ee1290de7a8b483fe78585daade"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">random_string</a> ($size=64, $type=<a class="el" href="text_8php.html#aad557c054cf2ed915633701018fc7e3f">RANDOM_STRING_HEX</a>)</td></tr>
+<tr class="separator:a9d6a5ee1290de7a8b483fe78585daade"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1af49756c8c71902a66c7e329c462beb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a1af49756c8c71902a66c7e329c462beb">notags</a> ($string)</td></tr>
+<tr class="separator:a1af49756c8c71902a66c7e329c462beb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa5148a0dfea2a1ca64c3d52f10aa2d64"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64">escape_tags</a> ($string)</td></tr>
+<tr class="separator:aa5148a0dfea2a1ca64c3d52f10aa2d64"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a324c58f37f6acdf9cd1922aa76077d9f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter</a> ($channel_id, $s, $type= 'text/<a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a>')</td></tr>
+<tr class="separator:a324c58f37f6acdf9cd1922aa76077d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4841df5beabdd1bdd1ed56781a915d61"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a4841df5beabdd1bdd1ed56781a915d61">purify_html</a> ($s)</td></tr>
+<tr class="separator:a4841df5beabdd1bdd1ed56781a915d61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27cd2c1b3bcb49a0cfb7249e851725ca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca">autoname</a> ($len)</td></tr>
+<tr class="separator:a27cd2c1b3bcb49a0cfb7249e851725ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaed4413ed8918838b517e3b2fafaea0d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aaed4413ed8918838b517e3b2fafaea0d">xmlify</a> ($str)</td></tr>
+<tr class="separator:aaed4413ed8918838b517e3b2fafaea0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1360fed7f918d859daaca1c9f384f9af"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a1360fed7f918d859daaca1c9f384f9af">unxmlify</a> ($s)</td></tr>
+<tr class="separator:a1360fed7f918d859daaca1c9f384f9af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe9f178d264d44a94dc1292aaf0fd585"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>(!function_exists('hex2bin'))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate</a> (&amp;$a)</td></tr>
+<tr class="separator:afe9f178d264d44a94dc1292aaf0fd585"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75c243e06341ec16bd5a44b9b1cacd85"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager</a> (&amp;$a, $i, $more= '', $less= '')</td></tr>
+<tr class="separator:a75c243e06341ec16bd5a44b9b1cacd85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4282a39492caa23ccbc2ce98e54f110"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ae4282a39492caa23ccbc2ce98e54f110">expand_acl</a> ($s)</td></tr>
+<tr class="separator:ae4282a39492caa23ccbc2ce98e54f110"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9fbeae13c9abd6e27cb4d8d1817f969c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c">sanitise_acl</a> (&amp;$item)</td></tr>
+<tr class="separator:a9fbeae13c9abd6e27cb4d8d1817f969c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98fd99dee3da8cf4c148dc04efe782ee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a98fd99dee3da8cf4c148dc04efe782ee">perms2str</a> ($p)</td></tr>
+<tr class="separator:a98fd99dee3da8cf4c148dc04efe782ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6b0aa8afbeab50d1a3058ad21acb74e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id</a> ()</td></tr>
+<tr class="separator:aa6b0aa8afbeab50d1a3058ad21acb74e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa5528f41533927e1bd2da3618a74a6d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">photo_new_resource</a> ()</td></tr>
+<tr class="separator:aa5528f41533927e1bd2da3618a74a6d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a95fd2f8f23a1948414a03ebc963bac57"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">attribute_contains</a> ($attr, $s)</td></tr>
+<tr class="separator:a95fd2f8f23a1948414a03ebc963bac57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a030fa5ecc64168af0c4f44897a9bce63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger</a> ($msg, $level=0)</td></tr>
+<tr class="separator:a030fa5ecc64168af0c4f44897a9bce63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a1f7c0e97f9ecbebf3e5834582b014c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger</a> ($msg, $level=0)</td></tr>
+<tr class="separator:a0a1f7c0e97f9ecbebf3e5834582b014c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b0a799341b1fc4cba2c3ede3e3fc9b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a8b0a799341b1fc4cba2c3ede3e3fc9b6">profiler</a> ($t1, $t2, $label)</td></tr>
+<tr class="separator:a8b0a799341b1fc4cba2c3ede3e3fc9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8a3e3a66a7b862d4510f145d2e13186"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#af8a3e3a66a7b862d4510f145d2e13186">activity_match</a> ($haystack, $needle)</td></tr>
+<tr class="separator:af8a3e3a66a7b862d4510f145d2e13186"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4659fbc4e54ddc700c3aa66b9092c623"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623">get_tags</a> ($s)</td></tr>
+<tr class="separator:a4659fbc4e54ddc700c3aa66b9092c623"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc998d2796a6b2a08e96f7cc061e7221"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#afc998d2796a6b2a08e96f7cc061e7221">qp</a> ($s)</td></tr>
+<tr class="separator:afc998d2796a6b2a08e96f7cc061e7221"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76d1b3435c067978d7b484c45f56472b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a76d1b3435c067978d7b484c45f56472b">get_mentions</a> ($item, $tags)</td></tr>
+<tr class="separator:a76d1b3435c067978d7b484c45f56472b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6432621d0fafcbcf3d3b9b49bef7784"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block</a> ()</td></tr>
+<tr class="separator:ad6432621d0fafcbcf3d3b9b49bef7784"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55ab893be57feda59c2a7ba1e58ff2d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0">chanlink_hash</a> ($s)</td></tr>
+<tr class="separator:a55ab893be57feda59c2a7ba1e58ff2d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e8d6c402603be3a1256a16605e09c2a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">chanlink_url</a> ($s)</td></tr>
+<tr class="separator:a2e8d6c402603be3a1256a16605e09c2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85e3a4851c16674834010d8419a5d7ca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a85e3a4851c16674834010d8419a5d7ca">chanlink_cid</a> ($d)</td></tr>
+<tr class="separator:a85e3a4851c16674834010d8419a5d7ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24d441d30df4b8e6bf6780bf62a5e2c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6">magiclink_url</a> ($observer, $myaddr, $url)</td></tr>
+<tr class="separator:a24d441d30df4b8e6bf6780bf62a5e2c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a902f5fdba8646333e997898ac45ea3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">micropro</a> ($contact, $redirect=false, $class= '', $textmode=false)</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: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: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>
+<tr class="separator:a736db13a966b8abaf8c9198faa35911a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d225b253bb9e0f2498c11647d927b0b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies</a> ($s, $sample=false)</td></tr>
+<tr class="separator:a3d225b253bb9e0f2498c11647d927b0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44d460fcdee6247c67b9bef3ea15f3e6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6">smile_encode</a> ($m)</td></tr>
+<tr class="separator:a44d460fcdee6247c67b9bef3ea15f3e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca0f589be74fab1a460c57e88dad9779"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aca0f589be74fab1a460c57e88dad9779">smile_decode</a> ($m)</td></tr>
+<tr class="separator:aca0f589be74fab1a460c57e88dad9779"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac19d2b33a58372a357a43d51eed19162"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="separator:ac19d2b33a58372a357a43d51eed19162"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63fb21c0bed2fc72eef2c1471ac42b63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">day_translate</a> ($s)</td></tr>
+<tr class="separator:a63fb21c0bed2fc72eef2c1471ac42b63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4bbb7d00c05cd20b4e043424f322388f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a4bbb7d00c05cd20b4e043424f322388f">normalise_link</a> ($url)</td></tr>
+<tr class="separator:a4bbb7d00c05cd20b4e043424f322388f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47c1e4a5f3f53027daacd8a9db24f285"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285">link_compare</a> ($a, $b)</td></tr>
+<tr class="separator:a47c1e4a5f3f53027daacd8a9db24f285"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4df74296fbe55051ed3c035e55205e5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body</a> (&amp;$item, $attach=false)</td></tr>
+<tr class="separator:ae4df74296fbe55051ed3c035e55205e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe54312607d92f7ce9593f5760831f80"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#afe54312607d92f7ce9593f5760831f80">prepare_text</a> ($text, $content_type= 'text/<a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a>')</td></tr>
+<tr class="separator:afe54312607d92f7ce9593f5760831f80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a405afe814a23f3bd94d826101aa168ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a405afe814a23f3bd94d826101aa168ab">zidify_callback</a> ($match)</td></tr>
+<tr class="separator:a405afe814a23f3bd94d826101aa168ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4a4c3d4700bc219bb84f33b499314f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4">zidify_img_callback</a> ($match)</td></tr>
+<tr class="separator:ab4a4c3d4700bc219bb84f33b499314f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29988052f3944111def3b6aaf2c7a8f6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a29988052f3944111def3b6aaf2c7a8f6">zidify_links</a> ($s)</td></tr>
+<tr class="separator:a29988052f3944111def3b6aaf2c7a8f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d8c4a11e53461caca21181ebd72daca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a8d8c4a11e53461caca21181ebd72daca">feed_hublinks</a> ()</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:a05b7f26dc2df78681f57eeade53040c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a05b7f26dc2df78681f57eeade53040c6">get_plink</a> ($item)</td></tr>
+<tr class="separator:a05b7f26dc2df78681f57eeade53040c6"><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>
+<tr class="separator:a3999a0b3e22e440f280ee791ce34d384"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1633412120f52bdce5f43e0a127d9293"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select</a> ($channel_id, $current= 'text/<a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a>')</td></tr>
+<tr class="separator:a1633412120f52bdce5f43e0a127d9293"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71f6952243d3fe1c5a8154f78027e29c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector</a> ()</td></tr>
+<tr class="separator:a71f6952243d3fe1c5a8154f78027e29c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2126da85966da0e79c6bcbac63b0bda"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ae2126da85966da0e79c6bcbac63b0bda">return_bytes</a> ($size_str)</td></tr>
+<tr class="separator:ae2126da85966da0e79c6bcbac63b0bda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4f6881d7e13623f8eded6277595112a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ae4f6881d7e13623f8eded6277595112a">generate_user_guid</a> ()</td></tr>
+<tr class="separator:ae4f6881d7e13623f8eded6277595112a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a070384ec000fd65043fce11d5392d241"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a070384ec000fd65043fce11d5392d241">base64url_encode</a> ($s, $strip_padding=true)</td></tr>
+<tr class="separator:a070384ec000fd65043fce11d5392d241"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13286f8a95d2de6b102966ecc270c8d6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a13286f8a95d2de6b102966ecc270c8d6">base64url_decode</a> ($s)</td></tr>
+<tr class="separator:a13286f8a95d2de6b102966ecc270c8d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe18627c4983ee5f7c940a0992818cd5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#afe18627c4983ee5f7c940a0992818cd5">cleardiv</a> ()</td></tr>
+<tr class="separator:afe18627c4983ee5f7c940a0992818cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d2793d66db3345fd290b71e2eadf98e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a3d2793d66db3345fd290b71e2eadf98e">bb_translate_video</a> ($s)</td></tr>
+<tr class="separator:a3d2793d66db3345fd290b71e2eadf98e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a138a3a611fa7f4f3630674145fc826bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a138a3a611fa7f4f3630674145fc826bf">html2bb_video</a> ($s)</td></tr>
+<tr class="separator:a138a3a611fa7f4f3630674145fc826bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acedb584f65114a33f389efb796172a91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#acedb584f65114a33f389efb796172a91">array_xmlify</a> ($val)</td></tr>
+<tr class="separator:acedb584f65114a33f389efb796172a91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad855a32bee22c3f3b9734e3a334b96f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ad855a32bee22c3f3b9734e3a334b96f2">reltoabs</a> ($text, $base)</td></tr>
+<tr class="separator:ad855a32bee22c3f3b9734e3a334b96f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1dbf2e37e8069bea2c0f557fdbf203e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e">item_post_type</a> ($item)</td></tr>
+<tr class="separator:ac1dbf2e37e8069bea2c0f557fdbf203e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adba17ec946f4285285dc100f7860bf51"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#adba17ec946f4285285dc100f7860bf51">normalise_openid</a> ($s)</td></tr>
+<tr class="separator:adba17ec946f4285285dc100f7860bf51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a740ad03e00459039a2c0992246c4e727"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a740ad03e00459039a2c0992246c4e727">undo_post_tagging</a> ($s)</td></tr>
+<tr class="separator:a740ad03e00459039a2c0992246c4e727"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afdc69fe3f6c09e35e46304dcea63ae28"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28">fix_mce_lf</a> ($s)</td></tr>
+<tr class="separator:afdc69fe3f6c09e35e46304dcea63ae28"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e7698aca48982512594b274543c3b9b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a4e7698aca48982512594b274543c3b9b">protect_sprintf</a> ($s)</td></tr>
+<tr class="separator:a4e7698aca48982512594b274543c3b9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1557112a774ec00fa06ed6b6f6495506"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a1557112a774ec00fa06ed6b6f6495506">is_a_date_arg</a> ($s)</td></tr>
+<tr class="separator:a1557112a774ec00fa06ed6b6f6495506"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2690ad67bb6fb97ef69de3e8d23f2728"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">legal_webbie</a> ($s)</td></tr>
+<tr class="separator:a2690ad67bb6fb97ef69de3e8d23f2728"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c65597bb4aed3a039eb795ff540e5e3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie</a> ($arr)</td></tr>
+<tr class="separator:a0c65597bb4aed3a039eb795ff540e5e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a436a8de00c942364c2d0fcfc7e1f4b5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a">ids_to_querystr</a> ($arr, $idx= 'id')</td></tr>
+<tr class="separator:a436a8de00c942364c2d0fcfc7e1f4b5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36a2e5d418ee81140f25c4233cfecd1f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f">xchan_query</a> (&amp;$items, $abook=true)</td></tr>
+<tr class="separator:a36a2e5d418ee81140f25c4233cfecd1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a543447c5ed766535221e2d9636b379ee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query</a> (&amp;$item)</td></tr>
+<tr class="separator:a543447c5ed766535221e2d9636b379ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace3c98538c63e09b70a363210b414112"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ace3c98538c63e09b70a363210b414112">find_xchan_in_array</a> ($xchan, $arr)</td></tr>
+<tr class="separator:ace3c98538c63e09b70a363210b414112"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3972701c5c83624ec4e2d06242f614e7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a3972701c5c83624ec4e2d06242f614e7">get_rel_link</a> ($j, $rel)</td></tr>
+<tr class="separator:a3972701c5c83624ec4e2d06242f614e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e510c53624933ce9b7d6715784894db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a1e510c53624933ce9b7d6715784894db">magic_link</a> ($s)</td></tr>
+<tr class="separator:a1e510c53624933ce9b7d6715784894db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8796f6a9ca592ecdce7b3afc3462aa13"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms</a> (&amp;$arr, $escape=false)</td></tr>
+<tr class="separator:a8796f6a9ca592ecdce7b3afc3462aa13"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae17b39d5e321debd3ad16dcbbde842b8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8">jindent</a> ($json)</td></tr>
+<tr class="separator:ae17b39d5e321debd3ad16dcbbde842b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0271381208acfa2d4cff36da281e3e23"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a0271381208acfa2d4cff36da281e3e23">json_decode_plus</a> ($s)</td></tr>
+<tr class="separator:a0271381208acfa2d4cff36da281e3e23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87a3cefc603302c78982f1d8e1245265"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools</a> ()</td></tr>
+<tr class="separator:a87a3cefc603302c78982f1d8e1245265"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:aad557c054cf2ed915633701018fc7e3f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aad557c054cf2ed915633701018fc7e3f">RANDOM_STRING_HEX</a> 0x00</td></tr>
+<tr class="separator:aad557c054cf2ed915633701018fc7e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ffd79c60cc87cec24ef76447b905187"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a2ffd79c60cc87cec24ef76447b905187">RANDOM_STRING_TEXT</a> 0x01</td></tr>
+<tr class="separator:a2ffd79c60cc87cec24ef76447b905187"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af8a3e3a66a7b862d4510f145d2e13186"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">activity_match </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$haystack</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$needle</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="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#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>, <a class="el" href="text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e">item_post_type()</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="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, and <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">visible_activity()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a75c243e06341ec16bd5a44b9b1cacd85"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">alt_pager </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$i</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$more</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$less</em> = <code>''</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="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>
+
+</div>
+</div>
+<a class="anchor" id="acedb584f65114a33f389efb796172a91"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">array_xmlify </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$val</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>apply <a class="el" href="text_8php.html#aaed4413ed8918838b517e3b2fafaea0d">xmlify()</a> to all values of array $val, recursively </p>
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, and <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a95fd2f8f23a1948414a03ebc963bac57"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">attribute_contains </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$attr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</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="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a27cd2c1b3bcb49a0cfb7249e851725ca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">autoname </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$len</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>generate a string that's random, but usually pronounceable. used to generate initial passwords </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">int</td><td class="paramname">$len</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, and <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a13286f8a95d2de6b102966ecc270c8d6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">base64url_decode </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>Referenced by <a class="el" href="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">aes_unencapsulate()</a>, <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</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#ab0227978011d8601494a7651fa26acf0">import_xchan()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</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="text_8php.html#aca0f589be74fab1a460c57e88dad9779">smile_decode()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a070384ec000fd65043fce11d5392d241"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">base64url_encode </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>$strip_padding</em> = <code>true</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="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="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="identity_8php.html#a3570a4eb77332b292d394c4132cb8f03">identity_basic_export()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">import_xchan()</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#a22e3f9b97b7969ddbe43ccf0db93a19c">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>
+<a class="anchor" id="a3d2793d66db3345fd290b71e2eadf98e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bb_translate_video </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>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a85e3a4851c16674834010d8419a5d7ca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">chanlink_cid </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$d</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a55ab893be57feda59c2a7ba1e58ff2d0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">chanlink_hash </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>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>
+
+</div>
+</div>
+<a class="anchor" id="a2e8d6c402603be3a1256a16605e09c2a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">chanlink_url </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>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>
+
+</div>
+</div>
+<a class="anchor" id="a0c65597bb4aed3a039eb795ff540e5e3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_webbie </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="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, and <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe18627c4983ee5f7c940a0992818cd5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">cleardiv </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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>
+
+</div>
+</div>
+<a class="anchor" id="ad6432621d0fafcbcf3d3b9b49bef7784"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">contact_block </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a63fb21c0bed2fc72eef2c1471ac42b63"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">day_translate </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>Referenced by <a class="el" href="profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</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="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a87a3cefc603302c78982f1d8e1245265"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">design_tools </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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>
+
+</div>
+</div>
+<a class="anchor" id="a0a1f7c0e97f9ecbebf3e5834582b014c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dlogger </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$level</em> = <code>0</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="aa5148a0dfea2a1ca64c3d52f10aa2d64"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">escape_tags </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$string</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>use this on "body" or "content" input where angle chars shouldn't be removed, and allow them to be safely displayed. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$string</td><td></td></tr>
+ </table>
+ </dd>
+</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="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</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#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</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>
+
+</div>
+</div>
+<a class="anchor" id="ae4282a39492caa23ccbc2ce98e54f110"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">expand_acl </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>Referenced by <a class="el" href="items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70">collect_recipients()</a>, <a class="el" href="items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67">enumerate_permissions()</a>, and <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8d8c4a11e53461caca21181ebd72daca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">feed_hublinks </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>return atom link elements for all of our hubs </p>
+
+</div>
+</div>
+<a class="anchor" id="a89929fa6f70a8ba54d5273fcf622b665"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">feed_salmonlinks </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$nick</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ace3c98538c63e09b70a363210b414112"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">find_xchan_in_array </td>
+ <td>(</td>
+ <td class="paramtype">&#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>$arr</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="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#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, and <a class="el" href="text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f">xchan_query()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afdc69fe3f6c09e35e46304dcea63ae28"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">fix_mce_lf </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>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>
+
+</div>
+</div>
+<a class="anchor" id="ae4f6881d7e13623f8eded6277595112a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">generate_user_guid </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a76d1b3435c067978d7b484c45f56472b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_mentions </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$tags</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="a736db13a966b8abaf8c9198faa35911a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_mood_verbs </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, and <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a05b7f26dc2df78681f57eeade53040c6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_plink </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa46f941155c2ac1155f2f17ffb0adb66"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_poke_verbs </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, and <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3972701c5c83624ec4e2d06242f614e7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_rel_link </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$j</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$rel</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="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, and <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4659fbc4e54ddc700c3aa66b9092c623"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_tags </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>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>
+<a class="anchor" id="a138a3a611fa7f4f3630674145fc826bf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">html2bb_video </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>Referenced by <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, and <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a436a8de00c942364c2d0fcfc7e1f4b5a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ids_to_querystr </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$idx</em> = <code>'id'</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="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>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1557112a774ec00fa06ed6b6f6495506"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">is_a_date_arg </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>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa6b0aa8afbeab50d1a3058ad21acb74e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_message_id </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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>
+
+</div>
+</div>
+<a class="anchor" id="ac1dbf2e37e8069bea2c0f557fdbf203e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_post_type </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae17b39d5e321debd3ad16dcbbde842b8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">jindent </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$json</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Indents a flat JSON string to make it more human-readable.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$json</td><td>The original JSON string to process.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string Indented version of the original JSON string. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0271381208acfa2d4cff36da281e3e23"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">json_decode_plus </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>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="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</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>, and <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a71f6952243d3fe1c5a8154f78027e29c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">lang_selector </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3999a0b3e22e440f280ee791ce34d384"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">layout_select </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>$current</em> = <code>''</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="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2690ad67bb6fb97ef69de3e8d23f2728"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">legal_webbie </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>Referenced by <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, and <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a47c1e4a5f3f53027daacd8a9db24f285"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">link_compare </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$b</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Compare two URLs to see if they are the same, but ignore slight but hopefully insignificant differences such as if one is https and the other isn't, or if one is www.something and the other isn't - and also ignore case differences.</p>
+<p>Return true if the URLs match, otherwise false. </p>
+
+<p>Referenced by <a class="el" href="items_8php.html#a8794863cdf8ce1333040933d3a3f66bd">consume_feed()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, and <a class="el" href="boot_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a11255c8c4e5245b6c24f97684826aa54"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">linkify </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>Function: linkify</p>
+<p>Replace naked text hyperlink with HTML formatted hyperlink </p>
+
+<p>Referenced by <a class="el" href="profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, and <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a030fa5ecc64168af0c4f44897a9bce63"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">logger </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$level</em> = <code>0</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="Contact_8php.html#a3eef54a5523e568a28257c1f9b1644d8">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="profile__advanced_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#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="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="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="Contact_8php.html#ad46ff6764f12b6d3ab45c49b797f98aa">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#a1e97305a441dc143edbe09e17d1ceda1">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="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</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="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</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="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#a7273b82b017fd96d29b2c57bab03aea6">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="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">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#ab0227978011d8601494a7651fa26acf0">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="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</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#a3547ed86d09a4bb8fa64ec374a40ee79">message_content()</a>, <a class="el" href="mod_2message_8php.html#a0db7030362a7e9ed9549b341d7b35718">message_post()</a>, <a class="el" href="include_2group_8php.html#ab4d9e5b59f48787cb01baae5dc6c381f">mini_group_select()</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="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="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</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="boot_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="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="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="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="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="boot_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>, <a class="el" href="zot_8php.html#a77720d6b59894e9b609af89c310c8a4d">zot_finger()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">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>
+<a class="anchor" id="a1e510c53624933ce9b7d6715784894db"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">magic_link </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">
+
+</div>
+</div>
+<a class="anchor" id="a24d441d30df4b8e6bf6780bf62a5e2c6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">magiclink_url </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$observer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$myaddr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</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="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">item_redir_and_replace_images()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2a902f5fdba8646333e997898ac45ea3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">micropro </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$contact</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$redirect</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$class</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$textmode</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="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1633412120f52bdce5f43e0a127d9293"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">mimetype_select </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>$current</em> = <code>'text/<a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a>'</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="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, and <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4bbb7d00c05cd20b4e043424f322388f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">normalise_link </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285">link_compare()</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>
+<a class="anchor" id="adba17ec946f4285285dc100f7860bf51"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">normalise_openid </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">
+
+</div>
+</div>
+<a class="anchor" id="a1af49756c8c71902a66c7e329c462beb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">notags </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$string</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This is our primary input filter.</p>
+<p>The high bit hack only involved some old IE browser, forget which (IE5/Mac?) that had an XSS attack vector due to stripping the high-bit on an 8-bit character after cleansing, and angle chars with the high bit set could get through as markup.</p>
+<p>This is now disabled because it was interfering with some legitimate unicode sequences and hopefully there aren't a lot of those browsers left.</p>
+<p>Use this on any text input where angle chars are not valid or permitted They will be replaced with safer brackets. This may be filtered further if these are not allowed either.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$string</td><td>Input string </td></tr>
+ </table>
+ </dd>
+</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="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#a1e97305a441dc143edbe09e17d1ceda1">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="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_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="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs()</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>
+
+</div>
+</div>
+<a class="anchor" id="afe9f178d264d44a94dc1292aaf0fd585"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> (!function_exists('hex2bin')) paginate </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="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="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_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="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_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>
+
+</div>
+</div>
+<a class="anchor" id="a98fd99dee3da8cf4c148dc04efe782ee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">perms2str </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$p</em></td><td>)</td>
+ <td></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>
+
+</div>
+</div>
+<a class="anchor" id="aa5528f41533927e1bd2da3618a74a6d7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">photo_new_resource </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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>
+
+</div>
+</div>
+<a class="anchor" id="ac19d2b33a58372a357a43d51eed19162"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">preg_heart </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae4df74296fbe55051ed3c035e55205e5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">prepare_body </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$attach</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="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, <a class="el" href="include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0">email_send()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe54312607d92f7ce9593f5760831f80"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">prepare_text </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$text</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$content_type</em> = <code>'text/<a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a>'</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="profile__advanced_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, and <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8b0a799341b1fc4cba2c3ede3e3fc9b6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">profiler </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$t1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$t2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$label</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="conversation_8php.html#a1e97305a441dc143edbe09e17d1ceda1">conversation()</a>, and <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4e7698aca48982512594b274543c3b9b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">protect_sprintf </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>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>
+
+</div>
+</div>
+<a class="anchor" id="a4841df5beabdd1bdd1ed56781a915d61"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">purify_html </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>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>
+
+</div>
+</div>
+<a class="anchor" id="afc998d2796a6b2a08e96f7cc061e7221"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">qp </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">
+
+</div>
+</div>
+<a class="anchor" id="a9d6a5ee1290de7a8b483fe78585daade"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">random_string </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$size</em> = <code>64</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em> = <code><a class="el" href="text_8php.html#aad557c054cf2ed915633701018fc7e3f">RANDOM_STRING_HEX</a></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="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</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="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</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#a3c9e0b243ba29a7b0c050bd0b86eee32">import_directory_profile()</a>, <a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">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#ac382fdcdf990dcfa8f6528ab8fd280bd">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>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad855a32bee22c3f3b9734e3a334b96f2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">reltoabs </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$text</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$base</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="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9c6ce4e12a4ac883c5e3f36fed6e1e09"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">replace_macros </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>$r</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This is our template processor</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string&#160;|&#160;<a class="el" href="classFriendicaSmarty.html">FriendicaSmarty</a></td><td class="paramname">$s</td><td>the string requiring macro substitution, or an instance of <a class="el" href="classFriendicaSmarty.html">FriendicaSmarty</a> </td></tr>
+ <tr><td class="paramtype">array</td><td class="paramname">$r</td><td>key value pairs (search =&gt; replace) </td></tr>
+ </table>
+ </dd>
+</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#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="profile__advanced_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="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</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#a1e97305a441dc143edbe09e17d1ceda1">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="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_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="boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="boot_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#ab4d9e5b59f48787cb01baae5dc6c381f">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="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_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#a51f2ec7a143d5a5b38e35efd5f3d6e2c">populate_acl()</a>, <a class="el" href="items_8php.html#abe695dd89e1e10ed042c26b80114f0ed">posted_date_widget()</a>, <a class="el" href="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">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="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="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</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>
+
+</div>
+</div>
+<a class="anchor" id="ae2126da85966da0e79c6bcbac63b0bda"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">return_bytes </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$size_str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9fbeae13c9abd6e27cb4d8d1817f969c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">sanitise_acl </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a876e94892867019935b348b573299352"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">search </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>'search-box'</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em> = <code>'/search'</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="mod_2network_8php.html#a36e03af6f2efe62ecaa247509365bfad">saved_searches()</a>, and <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aca0f589be74fab1a460c57e88dad9779"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">smile_decode </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$m</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a44d460fcdee6247c67b9bef3ea15f3e6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">smile_encode </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$m</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3d225b253bb9e0f2498c11647d927b0b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">smilies </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>$sample</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Function: smilies</p>
+<p>Description: Replaces text emoticons with graphical images</p>
+<p>: string $s</p>
+<p>Returns string</p>
+<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>
+
+</div>
+</div>
+<a class="anchor" id="a8796f6a9ca592ecdce7b3afc3462aa13"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">stringify_array_elms </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$escape</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="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#a061b3db9426d4b074395f5824062cad4">tagadelic()</a>, and <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a29d6b804e368d3ef359ee295e96ed4c7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unamp </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">
+
+</div>
+</div>
+<a class="anchor" id="a740ad03e00459039a2c0992246c4e727"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">undo_post_tagging </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>Referenced by <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>, and <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1360fed7f918d859daaca1c9f384f9af"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unxmlify </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>Referenced by <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, and <a class="el" href="items_8php.html#a896c1809d58f2d7a42cfe14577958ddf">get_atom_elements()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6a3d80a6c6fb234fd0bac44203b828eb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">valid_email </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$x</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, and <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a543447c5ed766535221e2d9636b379ee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xchan_mail_query </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a36a2e5d418ee81140f25c4233cfecd1f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xchan_query </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$items</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$abook</em> = <code>true</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="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="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>
+
+</div>
+</div>
+<a class="anchor" id="aaed4413ed8918838b517e3b2fafaea0d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xmlify </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>escape text ($str) for XML transport </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$str</td><td></td></tr>
+ </table>
+ </dd>
+</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>
+
+</div>
+</div>
+<a class="anchor" id="a324c58f37f6acdf9cd1922aa76077d9f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">z_input_filter </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>$s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em> = <code>'text/<a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a>'</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="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a405afe814a23f3bd94d826101aa168ab"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zidify_callback </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">
+<p><a class="el" href="text_8php.html#a405afe814a23f3bd94d826101aa168ab">zidify_callback()</a> and <a class="el" href="text_8php.html#a29988052f3944111def3b6aaf2c7a8f6">zidify_links()</a> work together to turn any HTML a tags with class="zrl" into zid links These will typically be generated by a bbcode '[zrl]' tag. This is done inside <a class="el" href="text_8php.html#afe54312607d92f7ce9593f5760831f80">prepare_text()</a> rather than <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a> because the latter is used for general purpose conversions and the former is used only when preparing text for immediate display.</p>
+<p>Issues: Currently the order of HTML parameters in the text is somewhat rigid and inflexible. We assume it looks like <a href="xxxxxxxxxx" class="zrl">and will not work if zrl and href appear in a different order. </a></p>
+
+</div>
+</div>
+<a class="anchor" id="ab4a4c3d4700bc219bb84f33b499314f4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zidify_img_callback </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="a29988052f3944111def3b6aaf2c7a8f6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zidify_links </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>Referenced by <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="aad557c054cf2ed915633701018fc7e3f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const RANDOM_STRING_HEX 0x00</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2ffd79c60cc87cec24ef76447b905187"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const RANDOM_STRING_TEXT 0x01</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, and <a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">random_string()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/text_8php.js b/doc/html/text_8php.js
new file mode 100644
index 000000000..8d9ca1c8f
--- /dev/null
+++ b/doc/html/text_8php.js
@@ -0,0 +1,86 @@
+var text_8php =
+[
+ [ "activity_match", "text_8php.html#af8a3e3a66a7b862d4510f145d2e13186", null ],
+ [ "alt_pager", "text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85", null ],
+ [ "array_xmlify", "text_8php.html#acedb584f65114a33f389efb796172a91", null ],
+ [ "attribute_contains", "text_8php.html#a95fd2f8f23a1948414a03ebc963bac57", null ],
+ [ "autoname", "text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca", null ],
+ [ "base64url_decode", "text_8php.html#a13286f8a95d2de6b102966ecc270c8d6", null ],
+ [ "base64url_encode", "text_8php.html#a070384ec000fd65043fce11d5392d241", null ],
+ [ "bb_translate_video", "text_8php.html#a3d2793d66db3345fd290b71e2eadf98e", null ],
+ [ "chanlink_cid", "text_8php.html#a85e3a4851c16674834010d8419a5d7ca", null ],
+ [ "chanlink_hash", "text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0", null ],
+ [ "chanlink_url", "text_8php.html#a2e8d6c402603be3a1256a16605e09c2a", null ],
+ [ "check_webbie", "text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3", null ],
+ [ "cleardiv", "text_8php.html#afe18627c4983ee5f7c940a0992818cd5", null ],
+ [ "contact_block", "text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784", null ],
+ [ "day_translate", "text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63", null ],
+ [ "design_tools", "text_8php.html#a87a3cefc603302c78982f1d8e1245265", null ],
+ [ "dlogger", "text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c", null ],
+ [ "escape_tags", "text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64", null ],
+ [ "expand_acl", "text_8php.html#ae4282a39492caa23ccbc2ce98e54f110", null ],
+ [ "feed_hublinks", "text_8php.html#a8d8c4a11e53461caca21181ebd72daca", null ],
+ [ "feed_salmonlinks", "text_8php.html#a89929fa6f70a8ba54d5273fcf622b665", null ],
+ [ "find_xchan_in_array", "text_8php.html#ace3c98538c63e09b70a363210b414112", null ],
+ [ "fix_mce_lf", "text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28", null ],
+ [ "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#a05b7f26dc2df78681f57eeade53040c6", null ],
+ [ "get_poke_verbs", "text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66", null ],
+ [ "get_rel_link", "text_8php.html#a3972701c5c83624ec4e2d06242f614e7", null ],
+ [ "get_tags", "text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623", null ],
+ [ "html2bb_video", "text_8php.html#a138a3a611fa7f4f3630674145fc826bf", null ],
+ [ "ids_to_querystr", "text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a", null ],
+ [ "is_a_date_arg", "text_8php.html#a1557112a774ec00fa06ed6b6f6495506", null ],
+ [ "item_message_id", "text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e", null ],
+ [ "item_post_type", "text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e", null ],
+ [ "jindent", "text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8", null ],
+ [ "json_decode_plus", "text_8php.html#a0271381208acfa2d4cff36da281e3e23", null ],
+ [ "lang_selector", "text_8php.html#a71f6952243d3fe1c5a8154f78027e29c", null ],
+ [ "layout_select", "text_8php.html#a3999a0b3e22e440f280ee791ce34d384", null ],
+ [ "legal_webbie", "text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728", null ],
+ [ "link_compare", "text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285", null ],
+ [ "linkify", "text_8php.html#a11255c8c4e5245b6c24f97684826aa54", null ],
+ [ "logger", "text_8php.html#a030fa5ecc64168af0c4f44897a9bce63", null ],
+ [ "magic_link", "text_8php.html#a1e510c53624933ce9b7d6715784894db", null ],
+ [ "magiclink_url", "text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6", null ],
+ [ "micropro", "text_8php.html#a2a902f5fdba8646333e997898ac45ea3", null ],
+ [ "mimetype_select", "text_8php.html#a1633412120f52bdce5f43e0a127d9293", null ],
+ [ "normalise_link", "text_8php.html#a4bbb7d00c05cd20b4e043424f322388f", null ],
+ [ "normalise_openid", "text_8php.html#adba17ec946f4285285dc100f7860bf51", null ],
+ [ "notags", "text_8php.html#a1af49756c8c71902a66c7e329c462beb", null ],
+ [ "paginate", "text_8php.html#afe9f178d264d44a94dc1292aaf0fd585", null ],
+ [ "perms2str", "text_8php.html#a98fd99dee3da8cf4c148dc04efe782ee", null ],
+ [ "photo_new_resource", "text_8php.html#aa5528f41533927e1bd2da3618a74a6d7", null ],
+ [ "preg_heart", "text_8php.html#ac19d2b33a58372a357a43d51eed19162", null ],
+ [ "prepare_body", "text_8php.html#ae4df74296fbe55051ed3c035e55205e5", null ],
+ [ "prepare_text", "text_8php.html#afe54312607d92f7ce9593f5760831f80", null ],
+ [ "profiler", "text_8php.html#a8b0a799341b1fc4cba2c3ede3e3fc9b6", null ],
+ [ "protect_sprintf", "text_8php.html#a4e7698aca48982512594b274543c3b9b", null ],
+ [ "purify_html", "text_8php.html#a4841df5beabdd1bdd1ed56781a915d61", null ],
+ [ "qp", "text_8php.html#afc998d2796a6b2a08e96f7cc061e7221", null ],
+ [ "random_string", "text_8php.html#a9d6a5ee1290de7a8b483fe78585daade", null ],
+ [ "reltoabs", "text_8php.html#ad855a32bee22c3f3b9734e3a334b96f2", null ],
+ [ "replace_macros", "text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09", null ],
+ [ "return_bytes", "text_8php.html#ae2126da85966da0e79c6bcbac63b0bda", null ],
+ [ "sanitise_acl", "text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c", null ],
+ [ "search", "text_8php.html#a876e94892867019935b348b573299352", null ],
+ [ "smile_decode", "text_8php.html#aca0f589be74fab1a460c57e88dad9779", null ],
+ [ "smile_encode", "text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6", null ],
+ [ "smilies", "text_8php.html#a3d225b253bb9e0f2498c11647d927b0b", null ],
+ [ "stringify_array_elms", "text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13", null ],
+ [ "unamp", "text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7", null ],
+ [ "undo_post_tagging", "text_8php.html#a740ad03e00459039a2c0992246c4e727", null ],
+ [ "unxmlify", "text_8php.html#a1360fed7f918d859daaca1c9f384f9af", null ],
+ [ "valid_email", "text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb", null ],
+ [ "xchan_mail_query", "text_8php.html#a543447c5ed766535221e2d9636b379ee", null ],
+ [ "xchan_query", "text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f", null ],
+ [ "xmlify", "text_8php.html#aaed4413ed8918838b517e3b2fafaea0d", null ],
+ [ "z_input_filter", "text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f", null ],
+ [ "zidify_callback", "text_8php.html#a405afe814a23f3bd94d826101aa168ab", null ],
+ [ "zidify_img_callback", "text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4", null ],
+ [ "zidify_links", "text_8php.html#a29988052f3944111def3b6aaf2c7a8f6", null ],
+ [ "RANDOM_STRING_HEX", "text_8php.html#aad557c054cf2ed915633701018fc7e3f", null ],
+ [ "RANDOM_STRING_TEXT", "text_8php.html#a2ffd79c60cc87cec24ef76447b905187", null ]
+]; \ No newline at end of file
diff --git a/doc/html/theme_2redstrap_2php_2default_8php.html b/doc/html/theme_2redstrap_2php_2default_8php.html
new file mode 100644
index 000000000..021a442d1
--- /dev/null
+++ b/doc/html/theme_2redstrap_2php_2default_8php.html
@@ -0,0 +1,133 @@
+<!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: view/theme/redstrap/php/default.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="rhash-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('theme_2redstrap_2php_2default_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">default.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<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="theme_2redstrap_2php_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="separator:a23bc1996b18e69c1a3ab44536613a762"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a23bc1996b18e69c1a3ab44536613a762"></a>
+<div class="memitem">
+<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>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/theme_2redstrap_2php_2default_8php.js b/doc/html/theme_2redstrap_2php_2default_8php.js
new file mode 100644
index 000000000..2de3bcbba
--- /dev/null
+++ b/doc/html/theme_2redstrap_2php_2default_8php.js
@@ -0,0 +1,4 @@
+var theme_2redstrap_2php_2default_8php =
+[
+ [ "if", "theme_2redstrap_2php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762", null ]
+]; \ No newline at end of file
diff --git a/doc/html/theme_2redstrap_2php_2theme__init_8php.html b/doc/html/theme_2redstrap_2php_2theme__init_8php.html
new file mode 100644
index 000000000..01523bbaf
--- /dev/null
+++ b/doc/html/theme_2redstrap_2php_2theme__init_8php.html
@@ -0,0 +1,112 @@
+<!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: view/theme/redstrap/php/theme_init.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="rhash-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('theme_2redstrap_2php_2theme__init_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="headertitle">
+<div class="title">theme_init.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/theme_8php.html b/doc/html/theme_8php.html
new file mode 100644
index 000000000..4d2c3a1e3
--- /dev/null
+++ b/doc/html/theme_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 Project: view/theme/redbasic/php/theme.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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('theme_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">theme.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:af6eb813e9fc7e2d76ac1b82bc5c0ed9b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b">redbasic_init</a> (&amp;$a)</td></tr>
+<tr class="separator:af6eb813e9fc7e2d76ac1b82bc5c0ed9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af6eb813e9fc7e2d76ac1b82bc5c0ed9b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">redbasic_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/theme_8php.js b/doc/html/theme_8php.js
new file mode 100644
index 000000000..2a9bf5efa
--- /dev/null
+++ b/doc/html/theme_8php.js
@@ -0,0 +1,4 @@
+var theme_8php =
+[
+ [ "redbasic_init", "theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b", null ]
+]; \ No newline at end of file
diff --git a/doc/html/theme__init_8php.html b/doc/html/theme__init_8php.html
new file mode 100644
index 000000000..a537c18e1
--- /dev/null
+++ b/doc/html/theme__init_8php.html
@@ -0,0 +1,112 @@
+<!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 Project: view/php/theme_init.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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('theme__init_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="headertitle">
+<div class="title">theme_init.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/thing_8php.html b/doc/html/thing_8php.html
new file mode 100644
index 000000000..1ef632d27
--- /dev/null
+++ b/doc/html/thing_8php.html
@@ -0,0 +1,159 @@
+<!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/thing.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="rhash-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('thing_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">thing.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:a8be23b1d475ec3d9291999221c674c80"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a8be23b1d475ec3d9291999221c674c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24a35f1e64029a67fdbea94a776ae04b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a24a35f1e64029a67fdbea94a776ae04b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a24a35f1e64029a67fdbea94a776ae04b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">thing_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="a8be23b1d475ec3d9291999221c674c80"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">thing_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">
+<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>The site administrator can do things that normals cannot. This is restricted because it will likely cause an activitystreams protocol violation and the activity might choke in some other network and result in unnecessary support requests. It isn't because we're trying to be heavy-handed about what you can and can't do.</p>
+<p>Things, objects: We do not provide definite (a, an) or indefinite (the) articles or singular/plural designators That needs to be specified in your thing. e.g. Mike has "a carrot", Greg wants "balls", Bob likes "the Boston Red Sox".</p>
+<p>Future work on this module might produce more complex activities with targets, e.g. Phillip likes Karen's moustache and to describe other non-thing objects like channels, such as Karl wants Susan - where Susan represents a channel profile.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/thing_8php.js b/doc/html/thing_8php.js
new file mode 100644
index 000000000..9fe6a8ff6
--- /dev/null
+++ b/doc/html/thing_8php.js
@@ -0,0 +1,5 @@
+var thing_8php =
+[
+ [ "thing_content", "thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b", null ],
+ [ "thing_init", "thing_8php.html#a8be23b1d475ec3d9291999221c674c80", null ]
+]; \ No newline at end of file
diff --git a/doc/html/toggle__mobile_8php.html b/doc/html/toggle__mobile_8php.html
new file mode 100644
index 000000000..afecb5ca9
--- /dev/null
+++ b/doc/html/toggle__mobile_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/toggle_mobile.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="rhash-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('toggle__mobile_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">toggle_mobile.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:aca53ade8971802b45c31e722b22c6254"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254">toggle_mobile_init</a> (&amp;$a)</td></tr>
+<tr class="separator:aca53ade8971802b45c31e722b22c6254"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aca53ade8971802b45c31e722b22c6254"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">toggle_mobile_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/toggle__mobile_8php.js b/doc/html/toggle__mobile_8php.js
new file mode 100644
index 000000000..81ee78e90
--- /dev/null
+++ b/doc/html/toggle__mobile_8php.js
@@ -0,0 +1,4 @@
+var toggle__mobile_8php =
+[
+ [ "toggle_mobile_init", "toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254", null ]
+]; \ No newline at end of file
diff --git a/doc/html/tpldebug_8php.html b/doc/html/tpldebug_8php.html
new file mode 100644
index 000000000..d0384c0f7
--- /dev/null
+++ b/doc/html/tpldebug_8php.html
@@ -0,0 +1,174 @@
+<!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: util/tpldebug.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="rhash-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('tpldebug_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> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">tpldebug.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:a44778457a6c02554812fbfad19d32ba3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5">foreach</a>($files as $file)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3">print_template</a> ($s)</td></tr>
+<tr class="separator:a44778457a6c02554812fbfad19d32ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:afbc7aadb3f7ff1edf0aaaa326a42179c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a>($<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a> &gt; 1)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c">else</a></td></tr>
+<tr class="separator:afbc7aadb3f7ff1edf0aaaa326a42179c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5358407d65f2ca826f96356a6642d149"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149">$files</a> = glob('include/*.php')</td></tr>
+<tr class="separator:a5358407d65f2ca826f96356a6642d149"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a44778457a6c02554812fbfad19d32ba3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5">foreach</a> ($files as $file) print_template </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">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a5358407d65f2ca826f96356a6642d149"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5">foreach</a> ($files as $file) $files = glob('include/*.php')</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afbc7aadb3f7ff1edf0aaaa326a42179c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="redstrap_2php_2style_8php.html#a0c4684da834439885ae2285649d1aaea">if</a> ($<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a> &gt; 1) else</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">{</div>
+<div class="line"></div>
+<div class="line"></div>
+<div class="line"> echo <span class="stringliteral">&#39;boot.php: templates&#39;</span> . <span class="stringliteral">&quot;\n&quot;</span></div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/tpldebug_8php.js b/doc/html/tpldebug_8php.js
new file mode 100644
index 000000000..2391d96cc
--- /dev/null
+++ b/doc/html/tpldebug_8php.js
@@ -0,0 +1,6 @@
+var tpldebug_8php =
+[
+ [ "print_template", "tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3", null ],
+ [ "$files", "tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149", null ],
+ [ "else", "tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c", null ]
+]; \ No newline at end of file
diff --git a/doc/html/typo_8php.html b/doc/html/typo_8php.html
new file mode 100644
index 000000000..c18933bc0
--- /dev/null
+++ b/doc/html/typo_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: util/typo.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="rhash-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('typo_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">typo.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:acebf83966ef6d7e5645a6b62ba368f9f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="typo_8php.html#acebf83966ef6d7e5645a6b62ba368f9f">$a</a> = new <a class="el" href="classApp.html">App</a>()</td></tr>
+<tr class="separator:acebf83966ef6d7e5645a6b62ba368f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9590b15215a21e9b42eb546aeef79704"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="typo_8php.html#a9590b15215a21e9b42eb546aeef79704">$files</a> = glob('include/*.php')</td></tr>
+<tr class="separator:a9590b15215a21e9b42eb546aeef79704"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a329c9c12217d2c8660c47bbc7c8df4c5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5">foreach</a> ($files as $file) = glob('mod/*.php')</td></tr>
+<tr class="separator:a329c9c12217d2c8660c47bbc7c8df4c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b709c1d79631ebc8320b41bda028b54"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="typo_8php.html#a1b709c1d79631ebc8320b41bda028b54">$dirs</a> = glob('addon/*')</td></tr>
+<tr class="separator:a1b709c1d79631ebc8320b41bda028b54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ecd17ac846be1b35f3662f5c12ab6bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c">else</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="typo_8php.html#a3ecd17ac846be1b35f3662f5c12ab6bd">$phpath</a> = 'php'</td></tr>
+<tr class="separator:a3ecd17ac846be1b35f3662f5c12ab6bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="acebf83966ef6d7e5645a6b62ba368f9f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$a = new <a class="el" href="classApp.html">App</a>()</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#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="profile__advanced_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="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="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#ad46ff6764f12b6d3ab45c49b797f98aa">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#a45900dd1d6101b53e3d063db40eafa5e">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#a1e97305a441dc143edbe09e17d1ceda1">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="items_8php.html#a8395d189a36abfa0dfff81a2b0e70669">dfrn_deliver()</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="dirfind_8php.html#af22b0283f928c4c32e62248a5ae67cee">dirfind_content()</a>, <a class="el" href="dirfind_8php.html#ac689a812c84f161b3a0d42349f83981c">dirfind_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="include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a">fetch_url()</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="boot_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="boot_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="boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90">get_max_import_size()</a>, <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">get_pconfig()</a>, <a class="el" href="text_8php.html#a05b7f26dc2df78681f57eeade53040c6">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#a7273b82b017fd96d29b2c57bab03aea6">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="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="include_2network_8php.html#adbc7fe45cc7fd9cd78f6b2f425ee9041">lrdd()</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="nogroup_8php.html#a52085b183f97c552f1db5c4926e8ec30">nogroup_content()</a>, <a class="el" href="nogroup_8php.html#a099cb353bf62e8453069ce107b763212">nogroup_init()</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="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="include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e">post_url()</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="boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="boot_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="boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273">profile_tabs()</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#a29a6e1ef07465d1617d836b859b3b2b2">redbasic_form()</a>, <a class="el" href="redir_8php.html#a9ac266c3f5cf0d94ef63e6d0f2edf1f5">redir_init()</a>, <a class="el" href="redstrap_2php_2theme_8php.html#a4dac61d466b4261deca2846f548e484a">redstrap_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="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#ac382fdcdf990dcfa8f6528ab8fd280bd">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="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="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_2redbasic_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="comanche_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</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="boot_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>
+<a class="anchor" id="a1b709c1d79631ebc8320b41bda028b54"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$dirs = glob('addon/*')</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9590b15215a21e9b42eb546aeef79704"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$files = glob('include/*.php')</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3ecd17ac846be1b35f3662f5c12ab6bd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c">else</a> $phpath = 'php'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, and <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a329c9c12217d2c8660c47bbc7c8df4c5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">foreach = glob('mod/*.php')</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/typo_8php.js b/doc/html/typo_8php.js
new file mode 100644
index 000000000..83a7f7010
--- /dev/null
+++ b/doc/html/typo_8php.js
@@ -0,0 +1,8 @@
+var typo_8php =
+[
+ [ "$a", "typo_8php.html#acebf83966ef6d7e5645a6b62ba368f9f", null ],
+ [ "$dirs", "typo_8php.html#a1b709c1d79631ebc8320b41bda028b54", null ],
+ [ "$files", "typo_8php.html#a9590b15215a21e9b42eb546aeef79704", null ],
+ [ "$phpath", "typo_8php.html#a3ecd17ac846be1b35f3662f5c12ab6bd", null ],
+ [ "foreach", "typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5", null ]
+]; \ No newline at end of file
diff --git a/doc/html/typohelper_8php.html b/doc/html/typohelper_8php.html
new file mode 100644
index 000000000..674acf1cb
--- /dev/null
+++ b/doc/html/typohelper_8php.html
@@ -0,0 +1,153 @@
+<!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: util/typohelper.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="rhash-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('typohelper_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="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">typohelper.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a7542d95618011800c61773127fa625cf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="typohelper_8php.html#a7542d95618011800c61773127fa625cf">$str</a></td></tr>
+<tr class="separator:a7542d95618011800c61773127fa625cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab6fd357fb5b2a3ba8aab9e8b98c6a805"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805">EOT</a></td></tr>
+<tr class="separator:ab6fd357fb5b2a3ba8aab9e8b98c6a805"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a7542d95618011800c61773127fa625cf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$str</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= &lt;&lt;&lt; <a class="code" href="typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805">EOT</a></div>
+<div class="line"> error_reporting(E_ERROR | E_WARNING | E_PARSE )</div>
+</div><!-- fragment -->
+<p>Referenced by <a class="el" href="include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25">api_date()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e">dbesc()</a>, <a class="el" href="classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e">dba_mysql\escape()</a>, <a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">dba_mysqli\escape()</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="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">stream_perms_api_uids()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, and <a class="el" href="text_8php.html#aaed4413ed8918838b517e3b2fafaea0d">xmlify()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab6fd357fb5b2a3ba8aab9e8b98c6a805"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">EOT</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, and <a class="el" href="system__unavailable_8php.html#a73751a6bcc17ad3ca503496e2fb020fa">system_down()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/typohelper_8php.js b/doc/html/typohelper_8php.js
new file mode 100644
index 000000000..7fb5a8d08
--- /dev/null
+++ b/doc/html/typohelper_8php.js
@@ -0,0 +1,5 @@
+var typohelper_8php =
+[
+ [ "$str", "typohelper_8php.html#a7542d95618011800c61773127fa625cf", null ],
+ [ "EOT", "typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805", null ]
+]; \ No newline at end of file
diff --git a/doc/html/uexport_8php.html b/doc/html/uexport_8php.html
new file mode 100644
index 000000000..539b75123
--- /dev/null
+++ b/doc/html/uexport_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/uexport.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="rhash-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('uexport_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">uexport.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:a118920137dedebe0581623a2e57e7b0d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a118920137dedebe0581623a2e57e7b0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a118920137dedebe0581623a2e57e7b0d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uexport_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/uexport_8php.js b/doc/html/uexport_8php.js
new file mode 100644
index 000000000..05a236df8
--- /dev/null
+++ b/doc/html/uexport_8php.js
@@ -0,0 +1,4 @@
+var uexport_8php =
+[
+ [ "uexport_init", "uexport_8php.html#a118920137dedebe0581623a2e57e7b0d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/update__channel_8php.html b/doc/html/update__channel_8php.html
new file mode 100644
index 000000000..f1f1df780
--- /dev/null
+++ b/doc/html/update__channel_8php.html
@@ -0,0 +1,141 @@
+<!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/update_channel.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="rhash-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('update__channel_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">update_channel.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:aca52a9da500f0db2f0a8666af5bc06ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aca52a9da500f0db2f0a8666af5bc06ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aca52a9da500f0db2f0a8666af5bc06ba"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">update_channel_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">
+<p>Module: update_profile Purpose: AJAX synchronisation of profile page </p>
+<p>We can remove this hack once Internet Explorer recognises HTML5 natively</p>
+<p>Grab the page inner contents by calling the content function from the profile module directly, but move any image src attributes to another attribute name. This is because some browsers will prefetch all the images for the page even if we don't need them. The only ones we need to fetch are those for new page additions, which we'll discover on the client side and then swap the image back.</p>
+<p>reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/update__channel_8php.js b/doc/html/update__channel_8php.js
new file mode 100644
index 000000000..94dbeff08
--- /dev/null
+++ b/doc/html/update__channel_8php.js
@@ -0,0 +1,4 @@
+var update__channel_8php =
+[
+ [ "update_channel_content", "update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba", null ]
+]; \ No newline at end of file
diff --git a/doc/html/update__community_8php.html b/doc/html/update__community_8php.html
new file mode 100644
index 000000000..8c8827419
--- /dev/null
+++ b/doc/html/update__community_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/update_community.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="rhash-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('update__community_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">update_community.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:abdcc5c4ecebbe0b5fcba2755c69cb3b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1">update_community_content</a> (&amp;$a)</td></tr>
+<tr class="separator:abdcc5c4ecebbe0b5fcba2755c69cb3b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="abdcc5c4ecebbe0b5fcba2755c69cb3b1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">update_community_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/update__community_8php.js b/doc/html/update__community_8php.js
new file mode 100644
index 000000000..eda76aa18
--- /dev/null
+++ b/doc/html/update__community_8php.js
@@ -0,0 +1,4 @@
+var update__community_8php =
+[
+ [ "update_community_content", "update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1", null ]
+]; \ No newline at end of file
diff --git a/doc/html/update__display_8php.html b/doc/html/update__display_8php.html
new file mode 100644
index 000000000..4ececcb64
--- /dev/null
+++ b/doc/html/update__display_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/update_display.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="rhash-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('update__display_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">update_display.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:aa36ac524059e209d5d75a03c16206246"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aa36ac524059e209d5d75a03c16206246"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa36ac524059e209d5d75a03c16206246"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">update_display_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/update__display_8php.js b/doc/html/update__display_8php.js
new file mode 100644
index 000000000..05acc47d5
--- /dev/null
+++ b/doc/html/update__display_8php.js
@@ -0,0 +1,4 @@
+var update__display_8php =
+[
+ [ "update_display_content", "update__display_8php.html#aa36ac524059e209d5d75a03c16206246", null ]
+]; \ No newline at end of file
diff --git a/doc/html/update__network_8php.html b/doc/html/update__network_8php.html
new file mode 100644
index 000000000..87ef35d5e
--- /dev/null
+++ b/doc/html/update__network_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/update_network.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="rhash-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('update__network_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">update_network.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:a8abf5b9f65af6a27ee2f9d7207ed1b41"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a8abf5b9f65af6a27ee2f9d7207ed1b41"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a8abf5b9f65af6a27ee2f9d7207ed1b41"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">update_network_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/update__network_8php.js b/doc/html/update__network_8php.js
new file mode 100644
index 000000000..54bc186a3
--- /dev/null
+++ b/doc/html/update__network_8php.js
@@ -0,0 +1,4 @@
+var update__network_8php =
+[
+ [ "update_network_content", "update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41", null ]
+]; \ No newline at end of file
diff --git a/doc/html/update__search_8php.html b/doc/html/update__search_8php.html
new file mode 100644
index 000000000..3a85e55f8
--- /dev/null
+++ b/doc/html/update__search_8php.html
@@ -0,0 +1,141 @@
+<!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/update_search.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="rhash-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('update__search_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">update_search.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:ace4c3a23fa7d6922399e27c297a6ba52"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content</a> (&amp;$a)</td></tr>
+<tr class="separator:ace4c3a23fa7d6922399e27c297a6ba52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ace4c3a23fa7d6922399e27c297a6ba52"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">update_search_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">
+<p>Module: update_profile Purpose: AJAX synchronisation of search page </p>
+<p>We can remove this hack once Internet Explorer recognises HTML5 natively</p>
+<p>Grab the page inner contents by calling the content function from the profile module directly, but move any image src attributes to another attribute name. This is because some browsers will prefetch all the images for the page even if we don't need them. The only ones we need to fetch are those for new page additions, which we'll discover on the client side and then swap the image back.</p>
+<p>reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/update__search_8php.js b/doc/html/update__search_8php.js
new file mode 100644
index 000000000..8eb5c446d
--- /dev/null
+++ b/doc/html/update__search_8php.js
@@ -0,0 +1,4 @@
+var update__search_8php =
+[
+ [ "update_search_content", "update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52", null ]
+]; \ No newline at end of file
diff --git a/doc/html/updatetpl_8py.html b/doc/html/updatetpl_8py.html
new file mode 100644
index 000000000..365993ea3
--- /dev/null
+++ b/doc/html/updatetpl_8py.html
@@ -0,0 +1,140 @@
+<!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: util/updatetpl.py 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="rhash-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('updatetpl_8py.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="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">updatetpl.py File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespaceupdatetpl"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html">updatetpl</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:ac9d11279fed403a329a719298feafc4f"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#ac9d11279fed403a329a719298feafc4f">updatetpl.help</a></td></tr>
+<tr class="separator:ac9d11279fed403a329a719298feafc4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ae694f5e1f25f8a92a945eb90c432dfe6"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#ae694f5e1f25f8a92a945eb90c432dfe6">updatetpl.path</a> = ''</td></tr>
+<tr class="separator:ae694f5e1f25f8a92a945eb90c432dfe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a988d937ed5d5c2b592b763036af5cf94"><td class="memItemLeft" align="right" valign="top">list&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#a988d937ed5d5c2b592b763036af5cf94">updatetpl.excludepaths</a> = ['css', 'img', 'js', 'php', 'theme']</td></tr>
+<tr class="separator:a988d937ed5d5c2b592b763036af5cf94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52a85ffa6b6d63d840b185a133478c12"><td class="memItemLeft" align="right" valign="top">list&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#a52a85ffa6b6d63d840b185a133478c12">updatetpl.tplpaths</a> = []</td></tr>
+<tr class="separator:a52a85ffa6b6d63d840b185a133478c12"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab42dd79af65ee82201fd6f04715f62f6"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#ab42dd79af65ee82201fd6f04715f62f6">updatetpl.names</a> = os.listdir(path + 'view/')</td></tr>
+<tr class="separator:ab42dd79af65ee82201fd6f04715f62f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79c20eb62d568c999b56eb08530355d3"><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceupdatetpl.html#a79c20eb62d568c999b56eb08530355d3">updatetpl.fnull</a> = open(os.devnull, &quot;w&quot;)</td></tr>
+<tr class="separator:a79c20eb62d568c999b56eb08530355d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/updatetpl_8py.js b/doc/html/updatetpl_8py.js
new file mode 100644
index 000000000..38f8a5299
--- /dev/null
+++ b/doc/html/updatetpl_8py.js
@@ -0,0 +1,9 @@
+var updatetpl_8py =
+[
+ [ "help", "updatetpl_8py.html#ac9d11279fed403a329a719298feafc4f", null ],
+ [ "excludepaths", "updatetpl_8py.html#a988d937ed5d5c2b592b763036af5cf94", null ],
+ [ "fnull", "updatetpl_8py.html#a79c20eb62d568c999b56eb08530355d3", null ],
+ [ "names", "updatetpl_8py.html#ab42dd79af65ee82201fd6f04715f62f6", null ],
+ [ "path", "updatetpl_8py.html#ae694f5e1f25f8a92a945eb90c432dfe6", null ],
+ [ "tplpaths", "updatetpl_8py.html#a52a85ffa6b6d63d840b185a133478c12", null ]
+]; \ No newline at end of file
diff --git a/doc/html/view_2theme_2redbasic_2php_2config_8php.html b/doc/html/view_2theme_2redbasic_2php_2config_8php.html
new file mode 100644
index 000000000..bdafb003d
--- /dev/null
+++ b/doc/html/view_2theme_2redbasic_2php_2config_8php.html
@@ -0,0 +1,254 @@
+<!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: view/theme/redbasic/php/config.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="rhash-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('view_2theme_2redbasic_2php_2config_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">config.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:aa7d5739b72efef9822535b2b32d5364d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aa7d5739b72efef9822535b2b32d5364d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad29461920cf03b9ce1428e21eb1f4ba6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">theme_post</a> (&amp;$a)</td></tr>
+<tr class="separator:ad29461920cf03b9ce1428e21eb1f4ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29a6e1ef07465d1617d836b859b3b2b2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2">redbasic_form</a> (&amp;$a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $displaystyle, $linkcolour, $iconset, $shiny, $colour_scheme, $radius)</td></tr>
+<tr class="separator:a29a6e1ef07465d1617d836b859b3b2b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a29a6e1ef07465d1617d836b859b3b2b2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">redbasic_form </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$font_size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$line_height</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$colour</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$shadow</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$navcolour</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$opaquenav</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$displaystyle</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$linkcolour</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$iconset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$shiny</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$colour_scheme</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$radius</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="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa7d5739b72efef9822535b2b32d5364d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">theme_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">
+<p>Theme settings </p>
+
+</div>
+</div>
+<a class="anchor" id="ad29461920cf03b9ce1428e21eb1f4ba6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">theme_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">
+
+<p>Referenced by <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/view_2theme_2redbasic_2php_2config_8php.js b/doc/html/view_2theme_2redbasic_2php_2config_8php.js
new file mode 100644
index 000000000..18852d340
--- /dev/null
+++ b/doc/html/view_2theme_2redbasic_2php_2config_8php.js
@@ -0,0 +1,6 @@
+var view_2theme_2redbasic_2php_2config_8php =
+[
+ [ "redbasic_form", "view_2theme_2redbasic_2php_2config_8php.html#a29a6e1ef07465d1617d836b859b3b2b2", null ],
+ [ "theme_content", "view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d", null ],
+ [ "theme_post", "view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6", null ]
+]; \ No newline at end of file
diff --git a/doc/html/view_2theme_2redstrap_2php_2config_8php.html b/doc/html/view_2theme_2redstrap_2php_2config_8php.html
new file mode 100644
index 000000000..018994597
--- /dev/null
+++ b/doc/html/view_2theme_2redstrap_2php_2config_8php.html
@@ -0,0 +1,238 @@
+<!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: view/theme/redstrap/php/config.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="rhash-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('view_2theme_2redstrap_2php_2config_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">config.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:aa7d5739b72efef9822535b2b32d5364d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="view_2theme_2redstrap_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content</a> (&amp;$a)</td></tr>
+<tr class="separator:aa7d5739b72efef9822535b2b32d5364d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad29461920cf03b9ce1428e21eb1f4ba6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="view_2theme_2redstrap_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">theme_post</a> (&amp;$a)</td></tr>
+<tr class="separator:ad29461920cf03b9ce1428e21eb1f4ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af58e97b437c1e98a5e434886494cc70e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="view_2theme_2redstrap_2php_2config_8php.html#af58e97b437c1e98a5e434886494cc70e">redbasic_form</a> (&amp;$a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $displaystyle, $linkcolour, $iconset, $shiny)</td></tr>
+<tr class="separator:af58e97b437c1e98a5e434886494cc70e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af58e97b437c1e98a5e434886494cc70e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">redbasic_form </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$font_size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$line_height</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$colour</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$shadow</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$navcolour</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$opaquenav</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$displaystyle</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$linkcolour</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$iconset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$shiny</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="aa7d5739b72efef9822535b2b32d5364d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">theme_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">
+<p>Theme settings </p>
+
+</div>
+</div>
+<a class="anchor" id="ad29461920cf03b9ce1428e21eb1f4ba6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">theme_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/view_2theme_2redstrap_2php_2config_8php.js b/doc/html/view_2theme_2redstrap_2php_2config_8php.js
new file mode 100644
index 000000000..e209d2eea
--- /dev/null
+++ b/doc/html/view_2theme_2redstrap_2php_2config_8php.js
@@ -0,0 +1,6 @@
+var view_2theme_2redstrap_2php_2config_8php =
+[
+ [ "redbasic_form", "view_2theme_2redstrap_2php_2config_8php.html#af58e97b437c1e98a5e434886494cc70e", null ],
+ [ "theme_content", "view_2theme_2redstrap_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d", null ],
+ [ "theme_post", "view_2theme_2redstrap_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6", null ]
+]; \ No newline at end of file
diff --git a/doc/html/view_8php.html b/doc/html/view_8php.html
new file mode 100644
index 000000000..b4498a4f9
--- /dev/null
+++ b/doc/html/view_8php.html
@@ -0,0 +1,138 @@
+<!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/view.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="rhash-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('view_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">view.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:ac168f6c61a91ba2063f13b441c0ae96e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e">view_init</a> ($a)</td></tr>
+<tr class="separator:ac168f6c61a91ba2063f13b441c0ae96e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ac168f6c61a91ba2063f13b441c0ae96e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">view_init </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>load view/theme/$current_theme/style.php with friendica contex </p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/view_8php.js b/doc/html/view_8php.js
new file mode 100644
index 000000000..d40a196cb
--- /dev/null
+++ b/doc/html/view_8php.js
@@ -0,0 +1,4 @@
+var view_8php =
+[
+ [ "view_init", "view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e", null ]
+]; \ No newline at end of file
diff --git a/doc/html/viewconnections_8php.html b/doc/html/viewconnections_8php.html
new file mode 100644
index 000000000..c4598e8b7
--- /dev/null
+++ b/doc/html/viewconnections_8php.html
@@ -0,0 +1,173 @@
+<!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/viewconnections.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="rhash-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('viewconnections_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">viewconnections.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: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">
+ <table class="memname">
+ <tr>
+ <td class="memname">viewconnections_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="a00163d50b17568f7b0e48b1ca9ab7330"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">viewconnections_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/viewconnections_8php.js b/doc/html/viewconnections_8php.js
new file mode 100644
index 000000000..5b9ec8153
--- /dev/null
+++ b/doc/html/viewconnections_8php.js
@@ -0,0 +1,6 @@
+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/viewsrc_8php.html b/doc/html/viewsrc_8php.html
new file mode 100644
index 000000000..4c209fba5
--- /dev/null
+++ b/doc/html/viewsrc_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/viewsrc.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="rhash-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('viewsrc_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">viewsrc.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:a6eff3d0c1d7d14b335c4edb785cd60a4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a6eff3d0c1d7d14b335c4edb785cd60a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a6eff3d0c1d7d14b335c4edb785cd60a4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">viewsrc_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/viewsrc_8php.js b/doc/html/viewsrc_8php.js
new file mode 100644
index 000000000..0f5ac6b8c
--- /dev/null
+++ b/doc/html/viewsrc_8php.js
@@ -0,0 +1,4 @@
+var viewsrc_8php =
+[
+ [ "viewsrc_content", "viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4", null ]
+]; \ No newline at end of file
diff --git a/doc/html/vote_8php.html b/doc/html/vote_8php.html
new file mode 100644
index 000000000..dd610e85d
--- /dev/null
+++ b/doc/html/vote_8php.html
@@ -0,0 +1,173 @@
+<!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/vote.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="rhash-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('vote_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">vote.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:ae0c6610f40afbbc1f4fe6494c51fbab2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ae0c6610f40afbbc1f4fe6494c51fbab2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57a9516ee1b923b224e66dcc47377fb2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a57a9516ee1b923b224e66dcc47377fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6aa67489bf458ca5e3206e46dac68596"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a6aa67489bf458ca5e3206e46dac68596"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a6aa67489bf458ca5e3206e46dac68596"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">vote_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="ae0c6610f40afbbc1f4fe6494c51fbab2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">vote_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="a57a9516ee1b923b224e66dcc47377fb2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">vote_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/vote_8php.js b/doc/html/vote_8php.js
new file mode 100644
index 000000000..6f0639cd8
--- /dev/null
+++ b/doc/html/vote_8php.js
@@ -0,0 +1,6 @@
+var vote_8php =
+[
+ [ "vote_content", "vote_8php.html#a6aa67489bf458ca5e3206e46dac68596", null ],
+ [ "vote_init", "vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2", null ],
+ [ "vote_post", "vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2", null ]
+]; \ No newline at end of file
diff --git a/doc/html/wall__attach_8php.html b/doc/html/wall__attach_8php.html
new file mode 100644
index 000000000..6f6abd199
--- /dev/null
+++ b/doc/html/wall__attach_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/wall_attach.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="rhash-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('wall__attach_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">wall_attach.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:a7385e970e93228d082f0fd7254f6e653"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a7385e970e93228d082f0fd7254f6e653"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a7385e970e93228d082f0fd7254f6e653"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">wall_attach_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/wall__attach_8php.js b/doc/html/wall__attach_8php.js
new file mode 100644
index 000000000..c0281be85
--- /dev/null
+++ b/doc/html/wall__attach_8php.js
@@ -0,0 +1,4 @@
+var wall__attach_8php =
+[
+ [ "wall_attach_post", "wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653", null ]
+]; \ No newline at end of file
diff --git a/doc/html/wall__upload_8php.html b/doc/html/wall__upload_8php.html
new file mode 100644
index 000000000..dd8bc42df
--- /dev/null
+++ b/doc/html/wall__upload_8php.html
@@ -0,0 +1,139 @@
+<!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/wall_upload.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="rhash-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('wall__upload_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">wall_upload.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:a7cbe204244cf9e0380ee932263a74d8f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post</a> (&amp;$a)</td></tr>
+<tr class="separator:a7cbe204244cf9e0380ee932263a74d8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a7cbe204244cf9e0380ee932263a74d8f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">wall_upload_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">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, and <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/wall__upload_8php.js b/doc/html/wall__upload_8php.js
new file mode 100644
index 000000000..86f363be5
--- /dev/null
+++ b/doc/html/wall__upload_8php.js
@@ -0,0 +1,4 @@
+var wall__upload_8php =
+[
+ [ "wall_upload_post", "wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f", null ]
+]; \ No newline at end of file
diff --git a/doc/html/webfinger_8php.html b/doc/html/webfinger_8php.html
new file mode 100644
index 000000000..8ef8f3ae1
--- /dev/null
+++ b/doc/html/webfinger_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/webfinger.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="rhash-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('webfinger_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">webfinger.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:a17dd28db6d390194bf9ecb809739d1d3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3">webfinger_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a17dd28db6d390194bf9ecb809739d1d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a17dd28db6d390194bf9ecb809739d1d3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">webfinger_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/webfinger_8php.js b/doc/html/webfinger_8php.js
new file mode 100644
index 000000000..f34d3bd88
--- /dev/null
+++ b/doc/html/webfinger_8php.js
@@ -0,0 +1,4 @@
+var webfinger_8php =
+[
+ [ "webfinger_content", "webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3", null ]
+]; \ No newline at end of file
diff --git a/doc/html/webpages_8php.html b/doc/html/webpages_8php.html
new file mode 100644
index 000000000..f54d67fb2
--- /dev/null
+++ b/doc/html/webpages_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/webpages.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="rhash-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('webpages_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">webpages.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:af3b7397d4abc153e3d2147740ee1a41d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content</a> (&amp;$a)</td></tr>
+<tr class="separator:af3b7397d4abc153e3d2147740ee1a41d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="af3b7397d4abc153e3d2147740ee1a41d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">webpages_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/webpages_8php.js b/doc/html/webpages_8php.js
new file mode 100644
index 000000000..8e145305c
--- /dev/null
+++ b/doc/html/webpages_8php.js
@@ -0,0 +1,4 @@
+var webpages_8php =
+[
+ [ "webpages_content", "webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/wfinger_8php.html b/doc/html/wfinger_8php.html
new file mode 100644
index 000000000..bdede93d8
--- /dev/null
+++ b/doc/html/wfinger_8php.html
@@ -0,0 +1,139 @@
+<!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/wfinger.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="rhash-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('wfinger_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">wfinger.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:ae21e50c8d0a5f3c9be9f43a4e519acd3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ae21e50c8d0a5f3c9be9f43a4e519acd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ae21e50c8d0a5f3c9be9f43a4e519acd3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">wfinger_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">
+
+<p>Referenced by <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/wfinger_8php.js b/doc/html/wfinger_8php.js
new file mode 100644
index 000000000..b40fe5d03
--- /dev/null
+++ b/doc/html/wfinger_8php.js
@@ -0,0 +1,4 @@
+var wfinger_8php =
+[
+ [ "wfinger_init", "wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3", null ]
+]; \ No newline at end of file
diff --git a/doc/html/xchan_8php.html b/doc/html/xchan_8php.html
new file mode 100644
index 000000000..d9113c36b
--- /dev/null
+++ b/doc/html/xchan_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/xchan.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="rhash-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('xchan_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">xchan.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:a9853348bf1a35c644460221ba75edc2d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a9853348bf1a35c644460221ba75edc2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a9853348bf1a35c644460221ba75edc2d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xchan_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/xchan_8php.js b/doc/html/xchan_8php.js
new file mode 100644
index 000000000..65ea176d4
--- /dev/null
+++ b/doc/html/xchan_8php.js
@@ -0,0 +1,4 @@
+var xchan_8php =
+[
+ [ "xchan_content", "xchan_8php.html#a9853348bf1a35c644460221ba75edc2d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/xrd_8php.html b/doc/html/xrd_8php.html
new file mode 100644
index 000000000..5f3219297
--- /dev/null
+++ b/doc/html/xrd_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/xrd.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="rhash-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('xrd_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">xrd.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:aee3cf087968e4a0ff3a87de16eb23270"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init</a> (&amp;$a)</td></tr>
+<tr class="separator:aee3cf087968e4a0ff3a87de16eb23270"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aee3cf087968e4a0ff3a87de16eb23270"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xrd_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/xrd_8php.js b/doc/html/xrd_8php.js
new file mode 100644
index 000000000..01f00aa54
--- /dev/null
+++ b/doc/html/xrd_8php.js
@@ -0,0 +1,4 @@
+var xrd_8php =
+[
+ [ "xrd_init", "xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270", null ]
+]; \ No newline at end of file
diff --git a/doc/html/zfinger_8php.html b/doc/html/zfinger_8php.html
new file mode 100644
index 000000000..a6d87856e
--- /dev/null
+++ b/doc/html/zfinger_8php.html
@@ -0,0 +1,139 @@
+<!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/zfinger.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="rhash-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('zfinger_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">zfinger.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:a8139b83a22ef98869adc10aa224027a0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a8139b83a22ef98869adc10aa224027a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a8139b83a22ef98869adc10aa224027a0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zfinger_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">
+
+<p>Referenced by <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/zfinger_8php.js b/doc/html/zfinger_8php.js
new file mode 100644
index 000000000..9bee68767
--- /dev/null
+++ b/doc/html/zfinger_8php.js
@@ -0,0 +1,4 @@
+var zfinger_8php =
+[
+ [ "zfinger_init", "zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0", null ]
+]; \ No newline at end of file
diff --git a/doc/html/zot_8php.html b/doc/html/zot_8php.html
new file mode 100644
index 000000000..79d85da0f
--- /dev/null
+++ b/doc/html/zot_8php.html
@@ -0,0 +1,924 @@
+<!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: include/zot.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="rhash-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('zot_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">zot.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:ab22d67660702056bf3f4696dcebf5ce7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot_new_uid</a> ($channel_nick)</td></tr>
+<tr class="separator:ab22d67660702056bf3f4696dcebf5ce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acdea9362d78a63dce948fdf0ea73ef0e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e">zot_get_hubloc</a> ($arr, $primary=false)</td></tr>
+<tr class="separator:acdea9362d78a63dce948fdf0ea73ef0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3862b3161b2c8557dc1a95020179bd81"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet</a> ($channel, $type= 'notify', $recipients=null, $remote_key=null, $secret=null)</td></tr>
+<tr class="separator:a3862b3161b2c8557dc1a95020179bd81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3e9b99ddb11353f37f265a05bb42142"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142">zot_zot</a> ($url, $data)</td></tr>
+<tr class="separator:ab3e9b99ddb11353f37f265a05bb42142"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77720d6b59894e9b609af89c310c8a4d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a77720d6b59894e9b609af89c310c8a4d">zot_finger</a> ($webbie, $channel)</td></tr>
+<tr class="separator:a77720d6b59894e9b609af89c310c8a4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b23bfb31d4491231e1e73bdc077240d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh</a> ($them, $channel=null)</td></tr>
+<tr class="separator:a7b23bfb31d4491231e1e73bdc077240d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55056e863a7860bc0cf922e78fcce073"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub</a> ($arr)</td></tr>
+<tr class="separator:a55056e863a7860bc0cf922e78fcce073"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5bcdfef419b16075a0eca990956223dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub</a> ($arr)</td></tr>
+<tr class="separator:a5bcdfef419b16075a0eca990956223dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab0227978011d8601494a7651fa26acf0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">import_xchan</a> ($arr)</td></tr>
+<tr class="separator:ab0227978011d8601494a7651fa26acf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a928f5643ca66ae9635d85aeb2be62e03"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response</a> ($hub, $arr, $outq)</td></tr>
+<tr class="separator:a928f5643ca66ae9635d85aeb2be62e03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61cdc1ec843663c423ed2d8160ae5aea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch</a> ($arr)</td></tr>
+<tr class="separator:a61cdc1ec843663c423ed2d8160ae5aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22e3f9b97b7969ddbe43ccf0db93a19c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import</a> ($arr)</td></tr>
+<tr class="separator:a22e3f9b97b7969ddbe43ccf0db93a19c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a083aec6c900d244e1bfc1406f9461465"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips</a> ($msg)</td></tr>
+<tr class="separator:a083aec6c900d244e1bfc1406f9461465"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a703f528ade8382cf374e4119bd6f7859"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips</a> ($msg)</td></tr>
+<tr class="separator:a703f528ade8382cf374e4119bd6f7859"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a37ec13b18057634eadb071f05297f5e1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery</a> ($sender, $arr, $deliveries, $relay)</td></tr>
+<tr class="separator:a37ec13b18057634eadb071f05297f5e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad25a3fe0e1566121d6fb8222979bc10"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag</a> ($sender, $arr, $uid)</td></tr>
+<tr class="separator:aad25a3fe0e1566121d6fb8222979bc10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31aad56acf8ff8f2353e6ff8595544df"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item</a> ($sender, $item, $uid)</td></tr>
+<tr class="separator:a31aad56acf8ff8f2353e6ff8595544df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adfeb9400ae6b726beec89f8f1e8fde72"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item</a> ($sender, $item, $uid)</td></tr>
+<tr class="separator:adfeb9400ae6b726beec89f8f1e8fde72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6ae96db8cbbdbb10e6876d206bbf7cc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery</a> ($sender, $arr, $deliveries)</td></tr>
+<tr class="separator:aa6ae96db8cbbdbb10e6876d206bbf7cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a57b40669351c9791126b925cb7ef3b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery</a> ($sender, $arr, $deliveries)</td></tr>
+<tr class="separator:a9a57b40669351c9791126b925cb7ef3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c9e0b243ba29a7b0c050bd0b86eee32"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">import_directory_profile</a> ($hash, $profile)</td></tr>
+<tr class="separator:a3c9e0b243ba29a7b0c050bd0b86eee32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3bf11286c2619b4ca28e49d5b5ab374a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords</a> ($hash, $keywords)</td></tr>
+<tr class="separator:a3bf11286c2619b4ca28e49d5b5ab374a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd83bc7e3db604bdca85c3a8c7e2bf63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63">update_modtime</a> ($hash, $guid)</td></tr>
+<tr class="separator:abd83bc7e3db604bdca85c3a8c7e2bf63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2657e141d62d5f67ad3c87651b585299"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site</a> ($arr, $pubkey)</td></tr>
+<tr class="separator:a2657e141d62d5f67ad3c87651b585299"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac34e479d27f32b82dd6b33542f81a6a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet</a> ($uid=0, $packet=null)</td></tr>
+<tr class="separator:ac34e479d27f32b82dd6b33542f81a6a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac301c67864917c35922257950ae0f95c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery</a> ($sender, $arr, $deliveries)</td></tr>
+<tr class="separator:ac301c67864917c35922257950ae0f95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a703f528ade8382cf374e4119bd6f7859"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">allowed_public_recips </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$msg</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac34e479d27f32b82dd6b33542f81a6a7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">build_sync_packet </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$packet</em> = <code>null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</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>
+
+</div>
+</div>
+<a class="anchor" id="adfeb9400ae6b726beec89f8f1e8fde72"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">delete_imported_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sender</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$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="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3bf11286c2619b4ca28e49d5b5ab374a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">import_directory_keywords </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$keywords</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="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">import_directory_profile()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3c9e0b243ba29a7b0c050bd0b86eee32"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">import_directory_profile </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$profile</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="zot_8php.html#ab0227978011d8601494a7651fa26acf0">import_xchan()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, and <a class="el" href="dir__fns_8php.html#a6cae22cfdd6edda5ddf09e07abb3242a">syncdirs()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2657e141d62d5f67ad3c87651b585299"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">import_site </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pubkey</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="zot_8php.html#ab0227978011d8601494a7651fa26acf0">import_xchan()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab0227978011d8601494a7651fa26acf0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">import_xchan </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="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="zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d">zot_refresh()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac301c67864917c35922257950ae0f95c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">process_channel_sync_delivery </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sender</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$deliveries</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="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a37ec13b18057634eadb071f05297f5e1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">process_delivery </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sender</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$deliveries</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$relay</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="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa6ae96db8cbbdbb10e6876d206bbf7cc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">process_mail_delivery </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sender</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$deliveries</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="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9a57b40669351c9791126b925cb7ef3b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">process_profile_delivery </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sender</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$deliveries</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="zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c">zot_import()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a083aec6c900d244e1bfc1406f9461465"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">public_recips </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$msg</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aad25a3fe0e1566121d6fb8222979bc10"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">remove_community_tag </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sender</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</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="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a31aad56acf8ff8f2353e6ff8595544df"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">update_imported_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sender</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$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="zot_8php.html#a37ec13b18057634eadb071f05297f5e1">process_delivery()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abd83bc7e3db604bdca85c3a8c7e2bf63"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">update_modtime </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hash</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$guid</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="zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32">import_directory_profile()</a>, and <a class="el" href="zot_8php.html#ab0227978011d8601494a7651fa26acf0">import_xchan()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3862b3161b2c8557dc1a95020179bd81"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_build_packet </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>$type</em> = <code>'notify'</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$recipients</em> = <code>null</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$remote_key</em> = <code>null</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$secret</em> = <code>null</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="zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7">build_sync_packet()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a61cdc1ec843663c423ed2d8160ae5aea"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_fetch </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>: zot_fetch</p>
+<p>We received a notification packet (in <a class="el" href="post_8php.html">mod/post.php</a>) that a message is waiting for us, and we've verified the sender. Now send back a pickup message, using our message tracking ID ($arr['secret']), which we will sign. The entire pickup message is encrypted with the remote site's public key. If everything checks out on the remote end, we will receive back a packet containing one or more messages, which will be processed before returning. </p>
+
+<p>Referenced by <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a77720d6b59894e9b609af89c310c8a4d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_finger </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$webbie</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>: zot_finger</p>
+<p>Look up information about channel </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname"></td><td>string $webbie does not have to be host qualified e.g. 'foo' is treated as 'foo' </td></tr>
+ <tr><td class="paramname"></td><td>array $channel (optional), if supplied permissions will be enumerated specifically for $channel</td></tr>
+ </table>
+ </dd>
+</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>, and <a class="el" href="probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acdea9362d78a63dce948fdf0ea73ef0e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_get_hubloc </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$primary</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Given an array of zot hashes, return all distinct hubs If primary is true, return only primary hubs Result is ordered by url to assist in batching. Return only the first primary hub as there should only be one. </p>
+
+<p>Referenced by <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a55056e863a7860bc0cf922e78fcce073"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_gethub </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>: zot_gethub</p>
+<p>A guid and a url, both signed by the sender, distinguish a known sender at a known location This function looks these up to see if the channel is known. If not, we will need to verify it. </p>
+<dl class="section return"><dt>Returns</dt><dd>: array =&gt; hubloc record </dd></dl>
+
+<p>Referenced by <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, and <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a22e3f9b97b7969ddbe43ccf0db93a19c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_import </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>zot_import</p>
+<p>Process an incoming array of messages which were obtained via pickup, and import, update, delete as directed.</p>
+<p>The message types handled here are 'activity' (e.g. posts), 'mail' and 'profile' </p>
+
+<p>Referenced by <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, and <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab22d67660702056bf3f4696dcebf5ce7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_new_uid </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel_nick</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>zot_new_uid($channel_nick) = unique nickname of controlling entity </p>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a928f5643ca66ae9635d85aeb2be62e03"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_process_response </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$hub</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$outq</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="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, and <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7b23bfb31d4491231e1e73bdc077240d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_refresh </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$them</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel</em> = <code>null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>: zot_refresh</p>
+<p>zot_refresh is typically invoked when somebody has changed permissions of a channel and they are notified to fetch new permissions via a finger operation. This may result in a new connection (abook entry) being added to a local channel and it may result in auto-permissions being granted. </p>
+
+<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</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>
+<a class="anchor" id="a5bcdfef419b16075a0eca990956223dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_register_hub </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="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab3e9b99ddb11353f37f265a05bb42142"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_zot </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$url</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$data</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>: zot_zot </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname"></td><td>string $url </td></tr>
+ <tr><td class="paramname"></td><td>array $data</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>: array =&gt; see z_post_url for returned data format </dd></dl>
+
+<p>Referenced by <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="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/zot_8php.js b/doc/html/zot_8php.js
new file mode 100644
index 000000000..86cc47ab9
--- /dev/null
+++ b/doc/html/zot_8php.js
@@ -0,0 +1,29 @@
+var zot_8php =
+[
+ [ "allowed_public_recips", "zot_8php.html#a703f528ade8382cf374e4119bd6f7859", null ],
+ [ "build_sync_packet", "zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7", null ],
+ [ "delete_imported_item", "zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72", null ],
+ [ "import_directory_keywords", "zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a", null ],
+ [ "import_directory_profile", "zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32", null ],
+ [ "import_site", "zot_8php.html#a2657e141d62d5f67ad3c87651b585299", null ],
+ [ "import_xchan", "zot_8php.html#ab0227978011d8601494a7651fa26acf0", null ],
+ [ "process_channel_sync_delivery", "zot_8php.html#ac301c67864917c35922257950ae0f95c", null ],
+ [ "process_delivery", "zot_8php.html#a37ec13b18057634eadb071f05297f5e1", null ],
+ [ "process_mail_delivery", "zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc", null ],
+ [ "process_profile_delivery", "zot_8php.html#a9a57b40669351c9791126b925cb7ef3b", null ],
+ [ "public_recips", "zot_8php.html#a083aec6c900d244e1bfc1406f9461465", null ],
+ [ "remove_community_tag", "zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10", null ],
+ [ "update_imported_item", "zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df", null ],
+ [ "update_modtime", "zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63", null ],
+ [ "zot_build_packet", "zot_8php.html#a3862b3161b2c8557dc1a95020179bd81", null ],
+ [ "zot_fetch", "zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea", null ],
+ [ "zot_finger", "zot_8php.html#a77720d6b59894e9b609af89c310c8a4d", null ],
+ [ "zot_get_hubloc", "zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e", null ],
+ [ "zot_gethub", "zot_8php.html#a55056e863a7860bc0cf922e78fcce073", null ],
+ [ "zot_import", "zot_8php.html#a22e3f9b97b7969ddbe43ccf0db93a19c", null ],
+ [ "zot_new_uid", "zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7", null ],
+ [ "zot_process_response", "zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03", null ],
+ [ "zot_refresh", "zot_8php.html#a7b23bfb31d4491231e1e73bdc077240d", null ],
+ [ "zot_register_hub", "zot_8php.html#a5bcdfef419b16075a0eca990956223dc", null ],
+ [ "zot_zot", "zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142", null ]
+]; \ No newline at end of file
diff --git a/doc/html/zotfeed_8php.html b/doc/html/zotfeed_8php.html
new file mode 100644
index 000000000..7cce145b0
--- /dev/null
+++ b/doc/html/zotfeed_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/zotfeed.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="rhash-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('zotfeed_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">zotfeed.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:a24dfc23d366e7f840cf2847d0c1c8eac"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a24dfc23d366e7f840cf2847d0c1c8eac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a24dfc23d366e7f840cf2847d0c1c8eac"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zotfeed_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/zotfeed_8php.js b/doc/html/zotfeed_8php.js
new file mode 100644
index 000000000..e13749e5b
--- /dev/null
+++ b/doc/html/zotfeed_8php.js
@@ -0,0 +1,4 @@
+var zotfeed_8php =
+[
+ [ "zotfeed_init", "zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac", null ]
+]; \ No newline at end of file
diff --git a/doc/html/zperms_8php.html b/doc/html/zperms_8php.html
new file mode 100644
index 000000000..b5d7369e2
--- /dev/null
+++ b/doc/html/zperms_8php.html
@@ -0,0 +1,138 @@
+<!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 Project: mod/zperms.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="r!-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('zperms_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">zperms.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:a2f698dcd51150bda3146425f038da628"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zperms_8php.html#a2f698dcd51150bda3146425f038da628">zperms_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a2f698dcd51150bda3146425f038da628"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a2f698dcd51150bda3146425f038da628"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zperms_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">
+<p>hmmm we probably shouldn't sign somebody else's hub. FIXME </p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/zperms_8php.js b/doc/html/zperms_8php.js
new file mode 100644
index 000000000..42c93a5b3
--- /dev/null
+++ b/doc/html/zperms_8php.js
@@ -0,0 +1,4 @@
+var zperms_8php =
+[
+ [ "zperms_init", "zperms_8php.html#a2f698dcd51150bda3146425f038da628", null ]
+]; \ No newline at end of file
diff --git a/doc/html/zping_8php.html b/doc/html/zping_8php.html
new file mode 100644
index 000000000..76fcac8a3
--- /dev/null
+++ b/doc/html/zping_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/zping.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="rhash-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('zping_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">zping.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:a4d3a6b0b8b04ed6469015823e615ee75"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a4d3a6b0b8b04ed6469015823e615ee75"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a4d3a6b0b8b04ed6469015823e615ee75"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zping_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/zping_8php.js b/doc/html/zping_8php.js
new file mode 100644
index 000000000..28a58de4a
--- /dev/null
+++ b/doc/html/zping_8php.js
@@ -0,0 +1,4 @@
+var zping_8php =
+[
+ [ "zping_content", "zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75", null ]
+]; \ No newline at end of file
diff --git a/doc/install/sample-lighttpd.conf b/doc/install/sample-lighttpd.conf
new file mode 100644
index 000000000..213719ac9
--- /dev/null
+++ b/doc/install/sample-lighttpd.conf
@@ -0,0 +1,85 @@
+# See http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions
+
+### LOAD MODULES
+server.modules = (
+ "mod_access",
+ "mod_accesslog",
+ "mod_fastcgi",
+ "mod_redirect",
+ "mod_rewrite"
+)
+
+### BASIC STUFF
+server.port = 80
+
+server.username = "http"
+
+server.groupname = "http"
+
+server.document-root = "/path/to/your/www/files" #adjust to your setup
+
+server.errorlog = "/var/log/lighttpd/error.log"
+
+accesslog.filename = "/var/log/lighttpd/access.log"
+
+### DISABLE DIR LISTING
+dir-listing.activate = "disable"
+
+### DISABLE REJECT EXPECT HEADER
+### (needed for curl POST requests - otherwise they fail with error 417)
+server.reject-expect-100-with-417 = "disable"
+
+### DEFINE SUPPORTED INDEX FILENAMES
+index-file.names = (
+ "index.html",
+ "index.htm",
+ "index.php"
+)
+
+### DEFINE SUPPORTED MIME TYPES
+mimetype.assign = (
+ ".html" => "text/html",
+ ".htm" => "text/html",
+ ".css" => "text/css",
+ ".txt" => "text/plain",
+ ".svg" => "image/svg+xml",
+ ".jpg" => "image/jpeg",
+ ".png" => "image/png"
+)
+
+### DONT EVER SERVE FILES WITH EXTENSION
+static-file.exclude-extensions = ( ".php" )
+
+### PHP WITH PHP-FPM
+### (needs php-fpm installed and running)
+fastcgi.server = (
+ ".php" => (
+ "localhost" => (
+ "socket" => "/run/php-fpm/php-fpm.sock",
+ "broken-scriptfilename" => "enable",
+ "allow-x-sendfile" => "enable"
+ )
+ )
+)
+
+### ENABLE SSL
+$SERVER["socket"] == ":443" {
+ ssl.engine = "enable"
+ ssl.ca-file = "/etc/lighttpd/certs/ca-certs.crt" #adjust to your needs
+ ssl.pemfile = "/etc/lighttpd/certs/red-ssl.crt" #adjust to your needs
+}
+
+### RISTRICT ACCESS TO DIRECTORYS AND FILES
+$HTTP["url"] =~ "\.(out|log|htaccess)$" {
+ url.access-deny = ("")
+}
+
+$HTTP["url"] =~ "(^|/)\.git" {
+ url.access-deny = ("")
+}
+
+### URL REWRITE RULES
+url.rewrite-if-not-file = (
+ "^\/([^\?]*)\?(.*)$" => "/index.php?q=$1&$2",
+ "^\/(.*)$" => "/index.php?q=$1"
+)
diff --git a/doc/install/sample-nginx.conf b/doc/install/sample-nginx.conf
new file mode 100644
index 000000000..718524ee3
--- /dev/null
+++ b/doc/install/sample-nginx.conf
@@ -0,0 +1,114 @@
+##
+# Red Nginx configuration
+# by Olaf Conradi
+#
+# On Debian based distributions you can add this file to
+# /etc/nginx/sites-available
+#
+# Then customize to your needs. To enable the configuration
+# symlink it to /etc/nginx/sites-enabled and reload Nginx
+# using /etc/init.d/nginx reload
+##
+
+##
+# You should look at the following URL's in order to grasp a solid understanding
+# of Nginx configuration files in order to fully unleash the power of Nginx.
+#
+# http://wiki.nginx.org/Pitfalls
+# http://wiki.nginx.org/QuickStart
+# http://wiki.nginx.org/Configuration
+##
+
+##
+# This configuration assumes your domain is example.net
+# You have a separate subdomain red.example.net
+# You want all red traffic to be https
+# You have an SSL certificate and key for your subdomain
+# You have PHP FastCGI Process Manager (php5-fpm) running on localhost
+# You have Red installed in /var/www/red
+##
+
+server {
+ server_name red.example.net;
+ index index.php;
+ root /var/www/red;
+ rewrite ^ https://red.example.net$request_uri? permanent;
+}
+
+##
+# Configure Red with SSL
+#
+# All requests are routed to the front controller
+# except for certain known file types like images, css, etc.
+# Those are served statically whenever possible with a
+# fall back to the front controller (needed for avatars, for example)
+##
+
+server {
+ listen 80;
+ listen 443 ssl;
+ ssl on;
+ server_name red.example.net;
+ ssl_certificate /etc/nginx/ssl/red.example.net.chain.pem;
+ ssl_certificate_key /etc/nginx/ssl/example.net.key;
+ ssl_session_timeout 5m;
+ ssl_protocols SSLv3 TLSv1;
+ ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
+ ssl_prefer_server_ciphers on;
+
+
+ index index.php;
+ charset utf-8;
+ root /var/www/red;
+ access_log /var/log/nginx/red.log main;
+ #Uncomment the following line to include a standard configuration file
+ #include standard.conf
+ # allow uploads up to 20MB in size
+ client_max_body_size 20m;
+ client_body_buffer_size 128k;
+
+ # rewrite to front controller as default rule
+ location / {
+ rewrite ^/(.*) /index.php?q=$uri&$args last;
+ }
+
+ # make sure webfinger and other well known services aren't blocked
+ # by denying dot files and rewrite request to the front controller
+ location ^~ /.well-known/ {
+ allow all;
+ rewrite ^/(.*) /index.php?q=$uri&$args last;
+ }
+
+ # statically serve these file types when possible
+ # otherwise fall back to front controller
+ # allow browser to cache them
+ # added .htm for advanced source code editor library
+ location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|svg)$ {
+ expires 30d;
+ try_files $uri /index.php?q=$uri&$args;
+ }
+
+ # block these file types
+ location ~* \.(tpl|md|tgz|log|out)$ {
+ deny all;
+ }
+
+ # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
+ location ~* \.php$ {
+ fastcgi_split_path_info ^(.+\.php)(/.+)$;
+ # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
+
+ # With php5-cgi alone:
+ # fastcgi_pass 127.0.0.1:9000;
+
+ # With php5-fpm:
+ fastcgi_pass unix:/var/run/php5-fpm.sock;
+ fastcgi_index index.php;
+ include fastcgi_params;
+ }
+
+ # deny access to all dot files
+ location ~ /\. {
+ deny all;
+ }
+}
diff --git a/doc/makingnewfriends.md b/doc/makingnewfriends.md
deleted file mode 100644
index 7eff1eda1..000000000
--- a/doc/makingnewfriends.md
+++ /dev/null
@@ -1,11 +0,0 @@
-This is your Suggested Friends page. If you get lost, you can <a href="help/makenewfriends">click this link</a> to bring yourself back here.
-
-This is a bit like the Friend Suggestions page of Facebook. Everybody on this list has agreed that they may be suggested as a friend. This means they're unlikely to refuse an introduction you send, and they want to meet new people too!
-
-See somebody you like the look of? Click the connect button beneath their photograph. This will bring you to the introductions page. Fill in the form as instructed, and add a small note (optional). Now, wait a bit and they'll accept your request - note that these are real people, and it might take a while. Now you've added one, you're probably lost. Click the link at the top of this page to go back to the suggested friends list and add some more.
-
-Feel uncomfortable adding people you don't know? Don't worry - that's where <a href="help/groupsandpages">Groups and Pages</a> come in!
-
-<iframe src="suggest" width="950" height="600"></iframe>
-
-
diff --git a/doc/network.md b/doc/network.md
deleted file mode 100644
index afb092395..000000000
--- a/doc/network.md
+++ /dev/null
@@ -1,9 +0,0 @@
-This is your Network Tab. If you get lost, you can <a href="help/network">click this link</a> to bring yourself back here.
-
-This is a bit like the Newsfeed at Facebook or the Stream at Diaspora. It's where all the posts from your contacts, groups, and feeds will appear. If you're new, you won't see anything in this page, unless you posted your status in the last step. If you've already added a few friends, you'll be able to see their posts. Here, you can comment, like, or dislike posts, or click on somebody's name to visit their profile page where you can write on their wall.
-
-Now we need to fill it up, the first step, is to <a href="help/peopleyouknow"> add people you already know from Facebook</a>.
-
-<iframe src="network" width="950" height="600"></iframe>
-
-
diff --git a/doc/peopleyouknow.md b/doc/peopleyouknow.md
deleted file mode 100644
index ae0c9ef59..000000000
--- a/doc/peopleyouknow.md
+++ /dev/null
@@ -1,13 +0,0 @@
-This is your connector settings page. If you get lost, you can <a href="help/network">click this link</a> to bring yourself back here.
-
-This is the bit that makes Friendica unique. You can connect to <i>anybody on the internet</i> from your Friendica account using this page! The available connectors varies depending on which plugins you have installed, but for now, we'll walk you through Facebook. Note that not all servers have the Facebook connector installed. If you can't find it in the list below, don't worry, we'll look at ways of connecting to more people in the following pages.
-
-The biggest of all social networks is Facebook. Fortunately, this connector is really easy. Scroll down the page, and click Facebook Connector Settings. Enter your Facebook user name and password and let the application (the connector) do everything the options suggest. You can <a href="https://github.com/friendica/friendica/wiki/How-to:-Friendica%E2%80%99s-Facebook-connector" target="_blank">fine tune this</a> or experiment with the other connectors too. If you need help, you can always ask at <a href="http://helpers.pyxis.uberspace.de/profile/helpers" target="_blank">Friendica Support</a> or <a href="help/Connectors" target="_blank">see the instructions here</a>.
-
-When you're ready, we can move on to <a href="help/makingnewfriends">making new friends</a>.
-
-
-
-<iframe src="settings/connectors" width="950" height="600"></iframe>
-
-
diff --git a/done b/done
deleted file mode 100644
index 3493971df..000000000
--- a/done
+++ /dev/null
@@ -1,175 +0,0 @@
-Files transitioned to Red:
-
-Legend:
-
-+ Mostly or completely transitioned
-? Minimally transitioned, probably needs more work
-= Unlikely to require changes
-- Not needed in Red
-
- (No marker - has not yet been transitioned, may have some patches applied)
-
-
-include/
-
-+ account.php
- acl_selectors.php
-+ activities.php
-? api.php
-? attach.php
-+ auth.php
-- bb2diaspora.php (check for function dependencies before removing)
-+ bbcode.php
-= cache.php
-= config.php
- Contact.php
- contact_selectors.php
- contact_widgets.php
-? conversation.php
-+ cronhooks.php
-? crypto.php
-+ datetime.php (todo: html removal)
-? dba.php
-? delivery.php
-+ directory.php
-- email.php
-+ enotify.php
-+ event.php
-+ expire.php
- fcontact.php
-? follow.php
- gprobe.php
-+ group.php
- html2bbcode.php
- html2plain.php
-+ identity.php
- iquery.php
-? items.php
-+ js_strings.php
-+ language.php
-? message.php
-- msgclean.php
-? nav.php
- network.php
-+ notifier.php
- oauth.php
- oembed.php
-? onepoll.php
-? Photo.php
-? plugin.php
-? poller.php
-? profile_advanced.php
- profile_selectors.php
-? queue_fn.php
-? queue.php
-- salmon.php
-= Scrape.php
-+ security.php
-? session.php
- socgraph.php
-= system_unavailable.php
-= template_processor.php
- text.php
-- user.php
-+ zot.php
-
-
-mod/
-
-+ abook.php -> moved to connections.php
-? acl.php
- admin.php
- allfriends.php
- api.php
-+ apps.php
-+ attach.php
-- auth.php
-- cb.php
- common.php
- community.php
-+ contactgroup.php
- crepair.php
- delegate.php
-? directory.php
- dirfind.php
- display.php
- editpost.php
-? events.php
- fbrowser.php
- feed.php
- filerm.php
- filer.php
- follow.php
- friendica.php -> moved to siteinfo.php, require HTML templating, more
- fsuggest.php
-+ group.php
-- hcard.php -> not needed
-= help.php
-+ home.php
- hostxrd.php -> probably not needed
-? install.php
- invite.php
-+ item.php
-+ like.php
-+ lockview.php
-+ login.php
-+ lostpass.php
-? magic.php
-+ manage.php
- match.php
-? message.php
-? mood.php
- msearch.php
-? network.php
- nogroup.php
- notifications.php
-+ notify.php
-? oembed.php
-+ oexchange.php
-+ opensearch.php
-= parse_url.php
-+ photo.php
- photos.php
-+ ping.php (needs more work)
-+ poco.php
- poke.php
-? post.php
-+ pretheme.php
-+ probe.php
-? profile_photo.php
-? profile.php
-+ profiles.php
- profperm.php
- qsearch.php
-+ randprof.php
-- redir.php
-+ register.php
-? regmod.php
- removeme.php
- rsd_xml.php (what do we need this for? What functionality/feature does it enable)
- search_ac.php
- search.php
- settings.php - partially done
-+ share.php
-+ smilies.php
-+ starred.php
- subthread.php
- suggest.php
- tagger.php
- tagrm.php
-? uexport.php
-? update_community.php - needs converting to json
-? update_network.php - needs converting to json
-? update_profile.php - needs converting to json
-? viewconnections.php
-? view.php
-+ viewsrc.php
-+ wall_attach.php (needs remote permissions refactor)
-+ wall_upload.php (needs remote permissions refactor)
- webfinger.php
-+ _well_known.php
- xrd.php
-+ zchannel.php
-+ zfinger.php
-? zperms.php
-
diff --git a/images/nosign.png b/images/nosign.png
new file mode 100644
index 000000000..e532371d8
--- /dev/null
+++ b/images/nosign.png
Binary files differ
diff --git a/images/r!-64.png b/images/r!-64.png
new file mode 100644
index 000000000..1fd1bc80c
--- /dev/null
+++ b/images/r!-64.png
Binary files differ
diff --git a/images/r!.png b/images/r!.png
new file mode 100644
index 000000000..07c423c49
--- /dev/null
+++ b/images/r!.png
Binary files differ
diff --git a/images/r!.xcf b/images/r!.xcf
new file mode 100644
index 000000000..ce9fad301
--- /dev/null
+++ b/images/r!.xcf
Binary files differ
diff --git a/images/red_antiprism.png b/images/red_antiprism.png
new file mode 100644
index 000000000..80637adf5
--- /dev/null
+++ b/images/red_antiprism.png
Binary files differ
diff --git a/images/red_antiprism.xcf b/images/red_antiprism.xcf
new file mode 100644
index 000000000..bd3dd826c
--- /dev/null
+++ b/images/red_antiprism.xcf
Binary files differ
diff --git a/images/rhash-16.png b/images/rhash-16.png
new file mode 100644
index 000000000..23dd9e4b3
--- /dev/null
+++ b/images/rhash-16.png
Binary files differ
diff --git a/images/rhash-32.png b/images/rhash-32.png
new file mode 100644
index 000000000..564556d48
--- /dev/null
+++ b/images/rhash-32.png
Binary files differ
diff --git a/images/rhash-64.png b/images/rhash-64.png
new file mode 100644
index 000000000..2e8396760
--- /dev/null
+++ b/images/rhash-64.png
Binary files differ
diff --git a/images/rhash.xcf b/images/rhash.xcf
new file mode 100644
index 000000000..960552290
--- /dev/null
+++ b/images/rhash.xcf
Binary files differ
diff --git a/include/BaseObject.php b/include/BaseObject.php
index 200831e15..4bfac5fa0 100644
--- a/include/BaseObject.php
+++ b/include/BaseObject.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
if(class_exists('BaseObject'))
return;
diff --git a/include/Contact.php b/include/Contact.php
index 36f4cbcf7..b9e879bcf 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -1,6 +1,38 @@
-<?php
+<?php /** @file */
+
+function rconnect_url($channel_id,$xchan) {
+
+ if(! $xchan)
+ return '';
+
+ $r = q("select abook_id from abook where abook_channel = %d and abook_xchan = '%s' limit 1",
+ intval($channel_id),
+ dbesc($xchan)
+ );
+
+ if($r)
+ return '';
+
+ $r = q("select * from xchan where xchan_hash = '%s' limit 1",
+ dbesc($xchan)
+ );
+
+ if(($r) && ($r[0]['xchan_follow']))
+ return $r[0]['xchan_follow'];
+
+ $r = q("select hubloc_url from hubloc where hubloc_hash = '%s' and ( hubloc_flags & %d ) limit 1",
+ dbesc($xchan),
+ intval(HUBLOC_FLAGS_PRIMARY)
+ );
+
+ if($r)
+ return $r[0]['hubloc_url'] . '/follow?f=&url=%s';
+ return '';
+
+}
+
function abook_connections($channel_id, $sql_conditions = '') {
$r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d
and not ( abook_flags & %d ) $sql_conditions",
@@ -43,6 +75,8 @@ function channelx_by_n($id) {
function vcard_from_xchan($xchan, $observer = null, $mode = '') {
+ $a = get_app();
+
$connect = false;
if(local_user()) {
$r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
@@ -53,6 +87,9 @@ function vcard_from_xchan($xchan, $observer = null, $mode = '') {
$connect = t('Connect');
}
+ if(array_key_exists('channel_id',$xchan))
+ $a->profile_uid = $xchan['channel_id'];
+
$url = (($observer)
? z_root() . '/magic?f=&dest=' . $xchan['xchan_url'] . '&addr=' . $xchan['xchan_addr']
: $xchan['xchan_url']
@@ -76,6 +113,9 @@ function abook_toggle_flag($abook,$flag) {
intval($abook['abook_id']),
intval($abook['abook_channel'])
);
+ $a = get_app();
+ if($a->data['abook'])
+ $a->data['abook']['abook_flags'] = $a->data['abook']['abook_flags'] ^ $flag;
return $r;
}
@@ -107,8 +147,53 @@ function user_remove($uid) {
}
+function account_remove($account_id,$local = true) {
+
+ logger('account_remove: ' . $account_id);
+
+ if(! intval($account_id)) {
+ logger('account_remove: no account.');
+ return false;
+ }
+
+ // Don't let anybody nuke the only admin account.
+
+ $r = q("select account_id from account where (account_roles & %d)",
+ intval(ACCOUNT_ROLE_ADMIN)
+ );
+
+ if($r !== false && count($r) == 1 && $r[0]['account_id'] == $account_id) {
+ logger("Unable to remove the only remaining admin account");
+ return false;
+ }
+
+ $r = q("select * from account where account_id = %d limit 1",
+ intval($account_id)
+ );
+
+ if(! $r) {
+ logger('account_remove: No account with id: ' . $account_id);
+ return false;
+ }
+
+ $x = q("select channel_id from channel where channel_account_id = %d",
+ intval($account_id)
+ );
+ if($x) {
+ foreach($x as $xx) {
+ channel_remove($xx['channel_id'],$local);
+ }
+ }
+
+ $r = q("delete from account where account_id = %d limit 1",
+ intval($account_id)
+ );
+
+ return $r;
+
+}
-function channel_remove($channel_id) {
+function channel_remove($channel_id, $local = true) {
if(! $channel_id)
return;
@@ -116,13 +201,38 @@ function channel_remove($channel_id) {
logger('Removing channel: ' . $channel_id);
$r = q("select * from channel where channel_id = %d limit 1", intval($channel_id));
+ if(! $r) {
+ logger('channel_remove: channel not found: ' . $channel_id);
+ return;
+ }
+
+ $channel = $r[0];
call_hooks('channel_remove',$r[0]);
+ if(! $local) {
+
// FIXME notify the directory
// FIXME notify all contacts
+ $r = q("update channel set channel_pageflags = (channel_pageflags | %d), channel_r_stream = 0, channel_r_profile = 0,
+ channel_r_photos = 0, channel_r_abook = 0, channel_w_stream = 0, channel_w_wall = 0, channel_w_tagwall = 0,
+ channel_w_comment = 0, channel_w_mail = 0, channel_w_photos = 0, channel_w_chat = 0, channel_a_delegate = 0,
+ channel_r_storage = 0, channel_w_storage = 0, channel_r_pages = 0, channel_w_pages = 0 where channel_id = %d limit 1",
+ intval(PAGE_REMOVED),
+ intval($channel_id)
+ );
+
+ $r = q("update hubloc set hubloc_flags = hubloc_flags | %d where hubloc_hash = '%s'",
+ intval(HUBLOC_FLAGS_DELETED),
+ dbesc($channel['channel_hash'])
+ );
+
+ proc_run('php','include/notifier.php','purge_all',$channel_id);
+
+
+ }
q("DELETE FROM `group` WHERE `uid` = %d", intval($channel_id));
q("DELETE FROM `group_member` WHERE `uid` = %d", intval($channel_id));
@@ -195,25 +305,25 @@ function remove_all_xchan_resources($xchan, $channel_id = 0) {
);
- $r = q("delete from xchan where xchan_hash = '%s' limit 1",
- dbesc($xchan)
- );
- $r = q("delete from hubloc where hubloc_hash = '%s'",
- dbesc($xchan)
- );
- $r = q("delete from abook where abook_xchan = '%s'",
- dbesc($xchan)
- );
- $r = q("delete from xtag where xtag_hash = '%s'",
- dbesc($xchan)
- );
+// This could get sticky with directories
+
+// $r = q("delete from xchan where xchan_hash = '%s' limit 1",
+// dbesc($xchan)
+// );
+// $r = q("delete from hubloc where hubloc_hash = '%s'",
+// dbesc($xchan)
+// );
+// $r = q("delete from abook where abook_xchan = '%s'",
+// dbesc($xchan)
+// );
+// $r = q("delete from xtag where xtag_hash = '%s'",
+// dbesc($xchan)
+// );
}
}
-
-
function contact_remove($channel_id, $abook_id) {
if((! $channel_id) || (! $abook_id))
@@ -221,8 +331,8 @@ function contact_remove($channel_id, $abook_id) {
$archive = get_pconfig($channel_id, 'system','archive_removed_contacts');
if($archive) {
- q("update abook set abook_flags = abook_flags | %d where abook_id = %d and abook_channel = %d limit 1",
- intval(ABOOK_FLAG_ARCHIVE),
+ q("update abook set abook_flags = ( abook_flags | %d ) where abook_id = %d and abook_channel = %d limit 1",
+ intval(ABOOK_FLAG_ARCHIVED),
intval($abook_id),
intval($channel_id)
);
@@ -242,31 +352,37 @@ function contact_remove($channel_id, $abook_id) {
if($abook['abook_flags'] & ABOOK_FLAG_SELF)
return false;
- q("delete from item where author_xchan = '%s' and uid = %d",
+
+ $r = q("select * from item where author_xchan = '%s' and uid = %d",
dbesc($abook['abook_xchan']),
intval($channel_id)
);
+ if($r) {
+ foreach($r as $rr) {
+ drop_item($rr,false);
+ }
+ }
- q("delete from abook where abook_id = %d and channel_id = %d limit 1",
+ q("delete from abook where abook_id = %d and abook_channel = %d limit 1",
intval($abook['abook_id']),
intval($channel_id)
);
-/*
-// FIXME
- q("DELETE FROM `photo` WHERE `contact-id` = %d ",
- intval($id)
- );
- q("DELETE FROM `mail` WHERE `contact-id` = %d ",
- intval($id)
+ $r = q("delete from event where event_xchan = '%s' and uid = %d",
+ dbesc($abook['abook_xchan']),
+ intval($channel_id)
);
- q("DELETE FROM `event` WHERE `cid` = %d ",
- intval($id)
+
+ $r = q("delete from group_member where xchan = '%s' and uid = %d",
+ dbesc($abook['abook_xchan']),
+ intval($channel_id)
);
- q("DELETE FROM `queue` WHERE `cid` = %d ",
- intval($id)
+
+ $r = q("delete from mail where ( from_xchan = '%s' or to_xchan = '%s' ) and channel_id = %d ",
+ dbesc($abook['abook_xchan']),
+ dbesc($abook['abook_xchan']),
+ intval($channel_id)
);
-*/
return true;
}
@@ -397,8 +513,8 @@ function contact_photo_menu($contact) {
function random_profile() {
- $r = q("select xchan_url from xchan where xchan_network = 'zot' order by rand() limit 1");
- if($r && count($r))
+ $r = q("select xchan_url from xchan where 1 order by rand() limit 1");
+ if($r)
return $r[0]['xchan_url'];
return '';
}
diff --git a/include/ConversationObject.php b/include/ConversationObject.php
index 37633369e..30026e908 100644
--- a/include/ConversationObject.php
+++ b/include/ConversationObject.php
@@ -1,4 +1,5 @@
-<?php
+<?php /** @file */
+
if(class_exists('Conversation'))
return;
@@ -10,12 +11,14 @@ require_once('include/text.php');
/**
* A list of threads
*
- * We should think about making this a SPL Iterator
*/
+
class Conversation extends BaseObject {
private $threads = array();
private $mode = null;
+ private $observer = null;
private $writable = false;
+ private $commentable = false;
private $profile_owner = 0;
private $preview = false;
@@ -33,8 +36,8 @@ class Conversation extends BaseObject {
$a = $this->get_app();
- $observer = $a->get_observer();
- $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+ $this->observer = $a->get_observer();
+ $ob_hash = (($this->observer) ? $this->observer['xchan_hash'] : '');
switch($mode) {
case 'network':
@@ -46,7 +49,10 @@ class Conversation extends BaseObject {
$this->writable = perm_is_allowed($this->profile_owner,$ob_hash,'post_comments');
break;
case 'display':
- $this->profile_owner = $a->profile['uid'];
+ // in this mode we set profile_owner after initialisation (from conversation()) and then
+ // pull some trickery which allows us to re-invoke this function afterward
+ // it's an ugly hack so FIXME
+// $this->profile_owner = $a->profile['uid'];
$this->writable = perm_is_allowed($this->profile_owner,$ob_hash,'post_comments');
break;
case 'page':
@@ -75,6 +81,10 @@ class Conversation extends BaseObject {
return $this->writable;
}
+ public function is_commentable() {
+ return $this->commentable;
+ }
+
/**
* Check if page is a preview
*/
@@ -89,6 +99,18 @@ class Conversation extends BaseObject {
return $this->profile_owner;
}
+ public function set_profile_owner($uid) {
+ $this->profile_owner = $uid;
+ $mode = $this->get_mode();
+ $this->mode = null;
+ $this->set_mode($mode);
+ }
+
+ public function get_observer() {
+ return $this->observer;
+ }
+
+
/**
* Add a thread to the conversation
*
@@ -108,12 +130,30 @@ class Conversation extends BaseObject {
}
/*
- * Only add will be displayed
+ * Only add things that will be displayed
*/
- if(activity_match($item->get_data_value('verb'),ACTIVITY_LIKE) || activity_match($item->get_data_value('verb'),ACTIVITY_DISLIKE)) {
+
+ if(($item->get_data_value('id') != $item->get_data_value('parent')) && (activity_match($item->get_data_value('verb'),ACTIVITY_LIKE) || activity_match($item->get_data_value('verb'),ACTIVITY_DISLIKE))) {
return false;
}
+
+ if(local_user() && $item->get_data_value('uid') == local_user())
+ $this->commentable = true;
+
+ if($this->writable)
+ $this->commentable = true;
+
+ if($item->get_data_value('item_flags') & ITEM_NOCOMMENT) {
+ $this->commentable = false;
+ }
+ elseif(($this->observer) && (! $this->writable)) {
+ $this->commentable = can_comment_on_post($this->observer['xchan_hash'],$item->data);
+ }
+
+
+
+
$item->set_conversation($this);
$this->threads[] = $item;
return end($this->threads);
diff --git a/include/ITemplateEngine.php b/include/ITemplateEngine.php
new file mode 100755
index 000000000..53c1845f4
--- /dev/null
+++ b/include/ITemplateEngine.php
@@ -0,0 +1,11 @@
+<?php
+require_once 'boot.php';
+
+
+/**
+ * Interface for template engines
+ */
+interface ITemplateEngine {
+ public function replace_macros($s,$v);
+ public function get_markup_template($file, $root='');
+}
diff --git a/include/ItemObject.php b/include/ItemObject.php
index afa34abb1..0256160e9 100644
--- a/include/ItemObject.php
+++ b/include/ItemObject.php
@@ -1,8 +1,9 @@
-<?php
+<?php /** @file */
+
if(class_exists('Item'))
return;
-require_once('object/BaseObject.php');
+require_once('include/BaseObject.php');
require_once('include/text.php');
require_once('boot.php');
@@ -10,12 +11,10 @@ require_once('boot.php');
* An item
*/
class Item extends BaseObject {
- private $data = array();
+ public $data = array();
private $template = 'conv_item.tpl';
private $comment_box_template = 'comment_item.tpl';
private $toplevel = false;
- private $writable = false;
- private $commentable = false;
private $children = array();
private $parent = null;
private $conversation = null;
@@ -26,40 +25,24 @@ class Item extends BaseObject {
private $wall_to_wall = false;
private $threaded = false;
private $visiting = false;
- private $observer = null;
private $channel = null;
public function __construct($data) {
$a = $this->get_app();
$this->data = $data;
- $this->channel = $a->get_channel();
- $this->observer = $a->get_observer();
-
$this->toplevel = ($this->get_id() == $this->get_data_value('parent'));
- $this->writable = (((local_user()) && ($this->channel['channel_hash'] === $this->data['owner_xchan'])) ? true : false);
- $this->commentable = $this->writable;
-
- if(($this->observer) && (! $this->writable)) {
- $this->commentable = perm_is_allowed($this->data['uid'],$this->observer['xchan_hash'],'post_comments');
- }
-
-// logger('writable: ' . $this->writable);
-// logger('commentable: ' . $this->commentable . ' uid=' . $this->data['uid'] . ' observer=' . $this->observer['xchan_hash']);
-// if(get_config('system','thread_allow') && $a->theme_thread_allow && !$this->is_toplevel())
-// $this->threaded = true;
-
// Prepare the children
if(count($data['children'])) {
foreach($data['children'] as $item) {
/*
- * Only add thos that will be displayed
+ * Only add those that will be displayed
*/
- if(! visible_activity($item)) {
+ if((! visible_activity($item)) || array_key_exists('author_blocked',$item)) {
continue;
}
@@ -84,7 +67,6 @@ class Item extends BaseObject {
$result = array();
$a = $this->get_app();
- $observer = $this->observer;
$item = $this->get_data();
$commentww = '';
@@ -98,6 +80,7 @@ class Item extends BaseObject {
$total_children = $this->count_descendants();
$conv = $this->get_conversation();
+ $observer = $conv->get_observer();
$lock = ((($item['item_private'] == 1) || (($item['uid'] == local_user()) && (strlen($item['allow_cid']) || strlen($item['allow_gid'])
|| strlen($item['deny_cid']) || strlen($item['deny_gid']))))
@@ -105,15 +88,16 @@ class Item extends BaseObject {
: false);
$shareable = ((($conv->get_profile_owner() == local_user()) && ($item['item_private'] != 1)) ? true : false);
+ $mode = $conv->get_mode();
+
if(local_user() && $observer['xchan_hash'] === $item['author_xchan'])
$edpost = array($a->get_baseurl($ssl_state)."/editpost/".$item['id'], t("Edit"));
else
$edpost = false;
-// FIXME - this is wrong.
-// if(($this->get_data_value('uid') == local_user()) || $this->is_visiting())
-
- if($this->get_data_value('uid') == local_user())
+ if($observer['xchan_hash'] == $this->get_data_value('author_xchan')
+ || $observer['xchan_hash'] == $this->get_data_value('owner_xchan')
+ || $this->get_data_value('uid') == local_user())
$dropping = true;
if($dropping) {
@@ -122,7 +106,7 @@ class Item extends BaseObject {
'delete' => t('Delete'),
);
}
-
+// FIXME
if($observer_is_pageowner) {
$multidrop = array(
'select' => t('Select'),
@@ -138,9 +122,9 @@ class Item extends BaseObject {
$location = format_location($item);
- $showlike = ((x($alike,$item['uri'])) ? format_like($alike[$item['uri']],$alike[$item['uri'] . '-l'],'like',$item['uri']) : '');
- $showdislike = ((x($dlike,$item['uri']) && feature_enabled($conv->get_profile_owner(),'dislike'))
- ? format_like($dlike[$item['uri']],$dlike[$item['uri'] . '-l'],'dislike',$item['uri']) : '');
+ $showlike = ((x($alike,$item['mid'])) ? format_like($alike[$item['mid']],$alike[$item['mid'] . '-l'],'like',$item['mid']) : '');
+ $showdislike = ((x($dlike,$item['mid']) && feature_enabled($conv->get_profile_owner(),'dislike'))
+ ? format_like($dlike[$item['mid']],$dlike[$item['mid'] . '-l'],'dislike',$item['mid']) : '');
/*
* We should avoid doing this all the time, but it depends on the conversation mode
@@ -151,6 +135,7 @@ class Item extends BaseObject {
$this->check_wall_to_wall();
if($this->is_toplevel()) {
+ // FIXME check this permission
if($conv->get_profile_owner() == local_user()) {
// FIXME we don't need all this stuff, some can be done in the template
@@ -165,16 +150,20 @@ class Item extends BaseObject {
'starred' => t('starred'),
);
- $tagger = array(
- 'tagit' => t("add tag"),
- 'classtagger' => "",
- );
}
} else {
$indent = 'comment';
}
- if($this->is_writable()) {
+ // FIXME - check this permission
+ if($conv->get_profile_owner() == local_user()) {
+ $tagger = array(
+ 'tagit' => t("add tag"),
+ 'classtagger' => "",
+ );
+ }
+
+ if($conv->is_commentable()) {
$like = array( t("I like this \x28toggle\x29"), t("like"));
$dislike = array( t("I don't like this \x28toggle\x29"), t("dislike"));
if ($shareable)
@@ -196,7 +185,7 @@ class Item extends BaseObject {
$tmp_item = array(
'template' => $this->get_template(),
-
+ 'mode' => $mode,
'type' => implode("",array_slice(explode("/",$item['verb']),-1)),
'tags' => array(),
'body' => $body,
@@ -214,8 +203,11 @@ class Item extends BaseObject {
'osparkle' => $osparkle,
'sparkle' => $sparkle,
'title' => $item['title'],
+ 'ago' => relative_date($item['created']),
+ 'app' => $item['app'],
+ 'str_app' => sprintf( t(' from %s'), $item['app']),
+ 'isotime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'c'),
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'),
- 'ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])),
'lock' => $lock,
'location' => $location,
'indent' => $indent,
@@ -272,7 +264,7 @@ class Item extends BaseObject {
}
}
- $result['private'] = $item['private'];
+ $result['private'] = $item['item_private'];
$result['toplevel'] = ($this->is_toplevel() ? 'toplevel_item' : '');
if($this->is_threaded()) {
@@ -452,28 +444,6 @@ class Item extends BaseObject {
}
/**
- * Check if this is writable
- */
- private function is_writable() {
-
- return $this->writable;
-
-// $conv = $this->get_conversation();
-
-// return true;
-
-// if($conv) {
- // This will allow us to comment on wall-to-wall items owned by our friends
- // and community forums even if somebody else wrote the post.
-// return ($this->writable || ($this->is_visiting() && $conv->get_mode() == 'channel'));
-// }
- }
-
- private function is_commentable() {
- return $this->commentable;
- }
-
- /**
* Count the total of our descendants
*/
private function count_descendants() {
@@ -510,44 +480,43 @@ class Item extends BaseObject {
$comment_box = '';
$conv = $this->get_conversation();
- if(! $this->is_commentable())
+ if(! $conv->is_commentable())
return;
- if($conv->is_writable() || $this->is_writable()) {
- $template = get_markup_template($this->get_comment_box_template());
-
- $a = $this->get_app();
-
- $qc = ((local_user()) ? get_pconfig(local_user(),'system','qcomment') : null);
- $qcomment = (($qc) ? explode("\n",$qc) : null);
-
- $comment_box = replace_macros($template,array(
- '$return_path' => '',
- '$threaded' => $this->is_threaded(),
- '$jsreload' => (($conv->get_mode() === 'display') ? $_SESSION['return_url'] : ''),
- '$type' => (($conv->get_mode() === 'channel') ? 'wall-comment' : 'net-comment'),
- '$id' => $this->get_id(),
- '$parent' => $this->get_id(),
- '$qcomment' => $qcomment,
- '$profile_uid' => $conv->get_profile_owner(),
- '$mylink' => $this->observer['xchan_url'],
- '$mytitle' => t('This is you'),
- '$myphoto' => $this->observer['xchan_photo_s'],
- '$comment' => t('Comment'),
- '$submit' => t('Submit'),
- '$edbold' => t('Bold'),
- '$editalic' => t('Italic'),
- '$eduline' => t('Underline'),
- '$edquote' => t('Quote'),
- '$edcode' => t('Code'),
- '$edimg' => t('Image'),
- '$edurl' => t('Link'),
- '$edvideo' => t('Video'),
- '$preview' => ((feature_enabled($conv->get_profile_owner(),'preview')) ? t('Preview') : ''),
- '$indent' => $indent,
- '$sourceapp' => get_app()->sourcename
- ));
- }
+ $template = get_markup_template($this->get_comment_box_template());
+
+ $a = $this->get_app();
+ $observer = $conv->get_observer();
+
+ $qc = ((local_user()) ? get_pconfig(local_user(),'system','qcomment') : null);
+ $qcomment = (($qc) ? explode("\n",$qc) : null);
+
+ $comment_box = replace_macros($template,array(
+ '$return_path' => '',
+ '$threaded' => $this->is_threaded(),
+ '$jsreload' => (($conv->get_mode() === 'display') ? $_SESSION['return_url'] : ''),
+ '$type' => (($conv->get_mode() === 'channel') ? 'wall-comment' : 'net-comment'),
+ '$id' => $this->get_id(),
+ '$parent' => $this->get_id(),
+ '$qcomment' => $qcomment,
+ '$profile_uid' => $conv->get_profile_owner(),
+ '$mylink' => $observer['xchan_url'],
+ '$mytitle' => t('This is you'),
+ '$myphoto' => $observer['xchan_photo_s'],
+ '$comment' => t('Comment'),
+ '$submit' => t('Submit'),
+ '$edbold' => t('Bold'),
+ '$editalic' => t('Italic'),
+ '$eduline' => t('Underline'),
+ '$edquote' => t('Quote'),
+ '$edcode' => t('Code'),
+ '$edimg' => t('Image'),
+ '$edurl' => t('Link'),
+ '$edvideo' => t('Video'),
+ '$preview' => ((feature_enabled($conv->get_profile_owner(),'preview')) ? t('Preview') : ''),
+ '$indent' => $indent,
+ '$sourceapp' => get_app()->sourcename
+ ));
return $comment_box;
}
diff --git a/include/Photo.php b/include/Photo.php
deleted file mode 100644
index de3d30c39..000000000
--- a/include/Photo.php
+++ /dev/null
@@ -1,768 +0,0 @@
-<?php
-
-if(! class_exists("Photo")) {
-class Photo {
-
- private $image;
-
- /**
- * Put back gd stuff, not everybody have Imagick
- */
- private $imagick;
- private $width;
- private $height;
- private $valid;
- private $type;
- private $types;
-
- /**
- * supported mimetypes and corresponding file extensions
- */
- static function supportedTypes() {
- if(class_exists('Imagick')) {
- /**
- * Imagick::queryFormats won't help us a lot there...
- * At least, not yet, other parts of friendica uses this array
- */
- $t = array(
- 'image/jpeg' => 'jpg',
- 'image/png' => 'png',
- 'image/gif' => 'gif'
- );
- } else {
- $t = array();
- $t['image/jpeg'] ='jpg';
- if (imagetypes() & IMG_PNG) $t['image/png'] = 'png';
- }
-
- return $t;
- }
-
- public function __construct($data, $type=null) {
- $this->imagick = class_exists('Imagick');
- $this->types = $this->supportedTypes();
- if (!array_key_exists($type,$this->types)){
- $type='image/jpeg';
- }
- $this->type = $type;
-
- if($this->is_imagick()) {
- $this->image = new Imagick();
- $this->image->readImageBlob($data);
-
- /**
- * Setup the image to the format it will be saved to
- */
- $map = $this->get_FormatsMap();
- $format = $map[$type];
- $this->image->setFormat($format);
-
- // Always coalesce, if it is not a multi-frame image it won't hurt anyway
- $this->image = $this->image->coalesceImages();
-
- /**
- * setup the compression here, so we'll do it only once
- */
- switch($this->getType()){
- case "image/png":
- $quality = get_config('system','png_quality');
- if((! $quality) || ($quality > 9))
- $quality = PNG_QUALITY;
- /**
- * From http://www.imagemagick.org/script/command-line-options.php#quality:
- *
- * 'For the MNG and PNG image formats, the quality value sets
- * the zlib compression level (quality / 10) and filter-type (quality % 10).
- * The default PNG "quality" is 75, which means compression level 7 with adaptive PNG filtering,
- * unless the image has a color map, in which case it means compression level 7 with no PNG filtering'
- */
- $quality = $quality * 10;
- $this->image->setCompressionQuality($quality);
- break;
- case "image/jpeg":
- $quality = get_config('system','jpeg_quality');
- if((! $quality) || ($quality > 100))
- $quality = JPEG_QUALITY;
- $this->image->setCompressionQuality($quality);
- }
- } else {
- $this->valid = false;
- $this->image = @imagecreatefromstring($data);
- if($this->image !== FALSE) {
- $this->width = imagesx($this->image);
- $this->height = imagesy($this->image);
- $this->valid = true;
- imagealphablending($this->image, false);
- imagesavealpha($this->image, true);
- }
- }
- }
-
- public function __destruct() {
- if($this->image) {
- if($this->is_imagick()) {
- $this->image->clear();
- $this->image->destroy();
- return;
- }
- imagedestroy($this->image);
- }
- }
-
- public function is_imagick() {
- return $this->imagick;
- }
-
- /**
- * Maps Mime types to Imagick formats
- */
- public function get_FormatsMap() {
- $m = array(
- 'image/jpeg' => 'JPG',
- 'image/png' => 'PNG',
- 'image/gif' => 'GIF'
- );
- return $m;
- }
-
- public function is_valid() {
- if($this->is_imagick())
- return ($this->image !== FALSE);
- return $this->valid;
- }
-
- public function getWidth() {
- if(!$this->is_valid())
- return FALSE;
-
- if($this->is_imagick())
- return $this->image->getImageWidth();
- return $this->width;
- }
-
- public function getHeight() {
- if(!$this->is_valid())
- return FALSE;
-
- if($this->is_imagick())
- return $this->image->getImageHeight();
- return $this->height;
- }
-
- public function getImage() {
- if(!$this->is_valid())
- return FALSE;
-
- if($this->is_imagick()) {
- /* Clean it */
- $this->image = $this->image->deconstructImages();
- return $this->image;
- }
- return $this->image;
- }
-
- public function getType() {
- if(!$this->is_valid())
- return FALSE;
-
- return $this->type;
- }
-
- public function getExt() {
- if(!$this->is_valid())
- return FALSE;
-
- return $this->types[$this->getType()];
- }
-
- public function scaleImage($max) {
- if(!$this->is_valid())
- return FALSE;
-
- $width = $this->width;
- $height = $this->height;
-
- $dest_width = $dest_height = 0;
-
- if((! $width)|| (! $height))
- return FALSE;
-
- if($width > $max && $height > $max) {
-
- // very tall image (greater than 16:9)
- // constrain the width - let the height float.
-
- if((($height * 9) / 16) > $width) {
- $dest_width = $max;
- $dest_height = intval(( $height * $max ) / $width);
- }
-
- // else constrain both dimensions
-
- elseif($width > $height) {
- $dest_width = $max;
- $dest_height = intval(( $height * $max ) / $width);
- }
- else {
- $dest_width = intval(( $width * $max ) / $height);
- $dest_height = $max;
- }
- }
- else {
- if( $width > $max ) {
- $dest_width = $max;
- $dest_height = intval(( $height * $max ) / $width);
- }
- else {
- if( $height > $max ) {
-
- // very tall image (greater than 16:9)
- // but width is OK - don't do anything
-
- if((($height * 9) / 16) > $width) {
- $dest_width = $width;
- $dest_height = $height;
- }
- else {
- $dest_width = intval(( $width * $max ) / $height);
- $dest_height = $max;
- }
- }
- else {
- $dest_width = $width;
- $dest_height = $height;
- }
- }
- }
-
-
- if($this->is_imagick()) {
- /**
- * If it is not animated, there will be only one iteration here,
- * so don't bother checking
- */
- // Don't forget to go back to the first frame
- $this->image->setFirstIterator();
- do {
-
- // FIXME - implement horizantal bias for scaling as in followin GD functions
- // to allow very tall images to be constrained only horizontally.
-
- $this->image->scaleImage($dest_width, $dest_height);
- } while ($this->image->nextImage());
-
- // FIXME - also we need to copy the new dimensions to $this->height, $this->width as other functions
- // may rely on it.
-
- return;
- }
-
-
- $dest = imagecreatetruecolor( $dest_width, $dest_height );
- imagealphablending($dest, false);
- imagesavealpha($dest, true);
- if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
- imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dest_width, $dest_height, $width, $height);
- if($this->image)
- imagedestroy($this->image);
- $this->image = $dest;
- $this->width = imagesx($this->image);
- $this->height = imagesy($this->image);
- }
-
- public function rotate($degrees) {
- if(!$this->is_valid())
- return FALSE;
-
- if($this->is_imagick()) {
- $this->image->setFirstIterator();
- do {
- $this->image->rotateImage(new ImagickPixel(), -$degrees); // ImageMagick rotates in the opposite direction of imagerotate()
- } while ($this->image->nextImage());
- return;
- }
-
- $this->image = imagerotate($this->image,$degrees,0);
- $this->width = imagesx($this->image);
- $this->height = imagesy($this->image);
- }
-
- public function flip($horiz = true, $vert = false) {
- if(!$this->is_valid())
- return FALSE;
-
- if($this->is_imagick()) {
- $this->image->setFirstIterator();
- do {
- if($horiz) $this->image->flipImage();
- if($vert) $this->image->flopImage();
- } while ($this->image->nextImage());
- return;
- }
-
- $w = imagesx($this->image);
- $h = imagesy($this->image);
- $flipped = imagecreate($w, $h);
- if($horiz) {
- for ($x = 0; $x < $w; $x++) {
- imagecopy($flipped, $this->image, $x, 0, $w - $x - 1, 0, 1, $h);
- }
- }
- if($vert) {
- for ($y = 0; $y < $h; $y++) {
- imagecopy($flipped, $this->image, 0, $y, 0, $h - $y - 1, $w, 1);
- }
- }
- $this->image = $flipped;
- }
-
- public function orient($filename) {
- // based off comment on http://php.net/manual/en/function.imagerotate.php
-
- if(!$this->is_valid())
- return FALSE;
-
- if( (! function_exists('exif_read_data')) || ($this->getType() !== 'image/jpeg') )
- return;
-
- $exif = @exif_read_data($filename);
- if($exif) {
- $ort = $exif['Orientation'];
-
- switch($ort)
- {
- case 1: // nothing
- break;
-
- case 2: // horizontal flip
- $this->flip();
- break;
-
- case 3: // 180 rotate left
- $this->rotate(180);
- break;
-
- case 4: // vertical flip
- $this->flip(false, true);
- break;
-
- case 5: // vertical flip + 90 rotate right
- $this->flip(false, true);
- $this->rotate(-90);
- break;
-
- case 6: // 90 rotate right
- $this->rotate(-90);
- break;
-
- case 7: // horizontal flip + 90 rotate right
- $this->flip();
- $this->rotate(-90);
- break;
-
- case 8: // 90 rotate left
- $this->rotate(90);
- break;
- }
- }
- }
-
-
-
- public function scaleImageUp($min) {
- if(!$this->is_valid())
- return FALSE;
-
-
- $width = $this->width;
- $height = $this->height;
-
- $dest_width = $dest_height = 0;
-
- if((! $width)|| (! $height))
- return FALSE;
-
- if($width < $min && $height < $min) {
- if($width > $height) {
- $dest_width = $min;
- $dest_height = intval(( $height * $min ) / $width);
- }
- else {
- $dest_width = intval(( $width * $min ) / $height);
- $dest_height = $min;
- }
- }
- else {
- if( $width < $min ) {
- $dest_width = $min;
- $dest_height = intval(( $height * $min ) / $width);
- }
- else {
- if( $height < $min ) {
- $dest_width = intval(( $width * $min ) / $height);
- $dest_height = $min;
- }
- else {
- $dest_width = $width;
- $dest_height = $height;
- }
- }
- }
-
- if($this->is_imagick())
- return $this->scaleImage($dest_width,$dest_height);
-
- $dest = imagecreatetruecolor( $dest_width, $dest_height );
- imagealphablending($dest, false);
- imagesavealpha($dest, true);
- if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
- imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dest_width, $dest_height, $width, $height);
- if($this->image)
- imagedestroy($this->image);
- $this->image = $dest;
- $this->width = imagesx($this->image);
- $this->height = imagesy($this->image);
- }
-
-
-
- public function scaleImageSquare($dim) {
- if(!$this->is_valid())
- return FALSE;
-
- if($this->is_imagick()) {
- $this->image->setFirstIterator();
- do {
- $this->image->scaleImage($dim, $dim);
- } while ($this->image->nextImage());
- return;
- }
-
- $dest = imagecreatetruecolor( $dim, $dim );
- imagealphablending($dest, false);
- imagesavealpha($dest, true);
- if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
- imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dim, $dim, $this->width, $this->height);
- if($this->image)
- imagedestroy($this->image);
- $this->image = $dest;
- $this->width = imagesx($this->image);
- $this->height = imagesy($this->image);
- }
-
-
- public function cropImage($max,$x,$y,$w,$h) {
- if(!$this->is_valid())
- return FALSE;
-
- if($this->is_imagick()) {
- $this->image->setFirstIterator();
- do {
- $this->image->cropImage($w, $h, $x, $y);
- /**
- * We need to remove the canva,
- * or the image is not resized to the crop:
- * http://php.net/manual/en/imagick.cropimage.php#97232
- */
- $this->image->setImagePage(0, 0, 0, 0);
- } while ($this->image->nextImage());
- return $this->scaleImage($max);
- }
-
- $dest = imagecreatetruecolor( $max, $max );
- imagealphablending($dest, false);
- imagesavealpha($dest, true);
- if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
- imagecopyresampled($dest, $this->image, 0, 0, $x, $y, $max, $max, $w, $h);
- if($this->image)
- imagedestroy($this->image);
- $this->image = $dest;
- $this->width = imagesx($this->image);
- $this->height = imagesy($this->image);
- }
-
- public function saveImage($path) {
- if(!$this->is_valid())
- return FALSE;
-
- $string = $this->imageString();
- file_put_contents($path, $string);
- }
-
- public function imageString() {
- if(!$this->is_valid())
- return FALSE;
-
- if($this->is_imagick()) {
- /* Clean it */
- $this->image = $this->image->deconstructImages();
- $string = $this->image->getImagesBlob();
- return $string;
- }
-
- $quality = FALSE;
-
- ob_start();
-
- switch($this->getType()){
- case "image/png":
- $quality = get_config('system','png_quality');
- if((! $quality) || ($quality > 9))
- $quality = PNG_QUALITY;
- imagepng($this->image,NULL, $quality);
- break;
- case "image/jpeg":
- $quality = get_config('system','jpeg_quality');
- if((! $quality) || ($quality > 100))
- $quality = JPEG_QUALITY;
- imagejpeg($this->image,NULL,$quality);
- }
- $string = ob_get_contents();
- ob_end_clean();
-
- return $string;
- }
-
-
-
- public function store($aid, $uid, $xchan, $rid, $filename, $album, $scale, $profile = 0, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') {
-
- $x = q("select id from photo where `resource_id` = '%s' and uid = %d and `xchan` = '%s' and `scale` = %d limit 1",
- dbesc($rid),
- intval($uid),
- dbesc($xchan),
- intval($scale)
- );
- if(count($x)) {
- $r = q("UPDATE `photo`
- set `aid` = %d,
- `uid` = %d,
- `xchan` = '%s',
- `resource_id` = '%s',
- `created` = '%s',
- `edited` = '%s',
- `filename` = '%s',
- `type` = '%s',
- `album` = '%s',
- `height` = %d,
- `width` = %d,
- `data` = '%s',
- `size` = %d,
- `scale` = %d,
- `profile` = %d,
- `allow_cid` = '%s',
- `allow_gid` = '%s',
- `deny_cid` = '%s',
- `deny_gid` = '%s'
- where id = %d limit 1",
-
- intval($aid),
- intval($uid),
- dbesc($xchan),
- dbesc($rid),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(basename($filename)),
- dbesc($this->getType()),
- dbesc($album),
- intval($this->getHeight()),
- intval($this->getWidth()),
- dbesc($this->imageString()),
- intval(strlen($this->imageString())),
- intval($scale),
- intval($profile),
- dbesc($allow_cid),
- dbesc($allow_gid),
- dbesc($deny_cid),
- dbesc($deny_gid),
- intval($x[0]['id'])
- );
- }
- else {
- $r = q("INSERT INTO `photo`
- ( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `size`, `scale`, `profile`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s' )",
- intval($aid),
- intval($uid),
- dbesc($xchan),
- dbesc($rid),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(basename($filename)),
- dbesc($this->getType()),
- dbesc($album),
- intval($this->getHeight()),
- intval($this->getWidth()),
- dbesc($this->imageString()),
- intval(strlen($this->imageString())),
- intval($scale),
- intval($profile),
- dbesc($allow_cid),
- dbesc($allow_gid),
- dbesc($deny_cid),
- dbesc($deny_gid)
- );
- }
- return $r;
- }
-}}
-
-
-/**
- * Guess image mimetype from filename or from Content-Type header
- *
- * @arg $filename string Image filename
- * @arg $fromcurl boolean Check Content-Type header from curl request
- */
-function guess_image_type($filename, $fromcurl=false) {
- logger('Photo: guess_image_type: '.$filename . ($fromcurl?' from curl headers':''), LOGGER_DEBUG);
- $type = null;
- if ($fromcurl) {
- $a = get_app();
- $headers=array();
- $h = explode("\n",$a->get_curl_headers());
- foreach ($h as $l) {
- list($k,$v) = array_map("trim", explode(":", trim($l), 2));
- $headers[$k] = $v;
- }
- if (array_key_exists('Content-Type', $headers))
- $type = $headers['Content-Type'];
- }
- if (is_null($type)){
- // Guessing from extension? Isn't that... dangerous?
- if(class_exists('Imagick') && file_exists($filename) && is_readable($filename)) {
- /**
- * 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
- */
- $image = new Imagick($filename);
- $type = $image->getImageMimeType();
- } else {
- $ext = pathinfo($filename, PATHINFO_EXTENSION);
- $types = Photo::supportedTypes();
- $type = "image/jpeg";
- foreach ($types as $m=>$e){
- if ($ext==$e) $type = $m;
- }
- }
- }
- logger('Photo: guess_image_type: type='.$type, LOGGER_DEBUG);
- return $type;
-
-}
-
-function import_profile_photo($photo,$xchan) {
-
- $a = get_app();
-
- 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 {
- $hash = photo_new_resource();
- }
-
- $photo_failure = false;
-
-
- $filename = basename($photo);
- $img_str = fetch_url($photo,true);
-
- $type = guess_image_type($photo,true);
- $img = new Photo($img_str, $type);
- if($img->is_valid()) {
-
- $img->scaleImageSquare(175);
-
- $r = $img->store(0, 0, $xchan, $hash, $filename, 'Contact Photos', 4 );
-
- if($r === false)
- $photo_failure = true;
-
- $img->scaleImage(80);
-
- $r = $img->store(0, 0, $xchan, $hash, $filename, 'Contact Photos', 5 );
-
- if($r === false)
- $photo_failure = true;
-
- $img->scaleImage(48);
-
- $r = $img->store(0, 0, $xchan, $hash, $filename, 'Contact Photos', 6 );
-
- if($r === false)
- $photo_failure = true;
-
- $photo = $a->get_baseurl() . '/photo/' . $hash . '-4';
- $thumb = $a->get_baseurl() . '/photo/' . $hash . '-5';
- $micro = $a->get_baseurl() . '/photo/' . $hash . '-6';
- }
- else {
- logger('import_profile_photo: invalid image from ' . $photo);
- $photo_failure = true;
- }
- if($photo_failure) {
- $photo = $a->get_baseurl() . '/images/person-175.jpg';
- $thumb = $a->get_baseurl() . '/images/person-80.jpg';
- $micro = $a->get_baseurl() . '/images/person-48.jpg';
- $type = 'image/jpeg';
- }
-
- return(array($photo,$thumb,$micro,$type));
-
-}
-
-
-
-function import_channel_photo($photo,$type,$aid,$uid) {
-
- $a = get_app();
-
- logger('import_channel_photo: importing channel photo for ' . $uid, LOGGER_DEBUG);
-
- $hash = photo_new_resource();
-
- $photo_failure = false;
-
-
- $filename = $hash;
-
- $img = new Photo($photo, $type);
- if($img->is_valid()) {
-
- $img->scaleImageSquare(175);
-
- $r = $img->store($aid,$uid,'', $hash, $filename, t('Profile Photos'), 4, true);
-
- if($r === false)
- $photo_failure = true;
-
- $img->scaleImage(80);
-
- $r = $img->store($aid,$uid,'', $hash, $filename, t('Profile Photos'), 5, true);
-
- if($r === false)
- $photo_failure = true;
-
- $img->scaleImage(48);
-
- $r = $img->store($aid,$uid,'', $hash, $filename, t('Profile Photos'), 6, true);
-
- if($r === false)
- $photo_failure = true;
-
- }
- else {
- logger('import_channel_photo: invalid image.');
- $photo_failure = true;
- }
-
- return(($photo_failure)? false : true);
-
-}
diff --git a/include/ProtoDriver.php b/include/ProtoDriver.php
index a39881e9a..7585a0135 100644
--- a/include/ProtoDriver.php
+++ b/include/ProtoDriver.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
/*
* Abstraction class for dealing with alternate networks (which of course do not exist, hence the abstraction)
diff --git a/include/Scrape.php b/include/Scrape.php
deleted file mode 100644
index 806106ef1..000000000
--- a/include/Scrape.php
+++ /dev/null
@@ -1,712 +0,0 @@
-<?php
-
-require_once('library/HTML5/Parser.php');
-require_once('include/crypto.php');
-
-if(! function_exists('scrape_dfrn')) {
-function scrape_dfrn($url) {
-
- $a = get_app();
-
- $ret = array();
-
- logger('scrape_dfrn: url=' . $url);
-
- $s = fetch_url($url);
-
- if(! $s)
- return $ret;
-
- $headers = $a->get_curl_headers();
- logger('scrape_dfrn: headers=' . $headers, LOGGER_DEBUG);
-
-
- $lines = explode("\n",$headers);
- if(count($lines)) {
- foreach($lines as $line) {
- // don't try and run feeds through the html5 parser
- if(stristr($line,'content-type:') && ((stristr($line,'application/atom+xml')) || (stristr($line,'application/rss+xml'))))
- return ret;
- }
- }
-
- try {
- $dom = HTML5_Parser::parse($s);
- } catch (DOMException $e) {
- logger('scrape_dfrn: parse error: ' . $e);
- }
-
- if(! $dom)
- return $ret;
-
- $items = $dom->getElementsByTagName('link');
-
- // get DFRN link elements
-
- foreach($items as $item) {
- $x = $item->getAttribute('rel');
- if(($x === 'alternate') && ($item->getAttribute('type') === 'application/atom+xml'))
- $ret['feed_atom'] = $item->getAttribute('href');
- if(substr($x,0,5) == "dfrn-") {
- $ret[$x] = $item->getAttribute('href');
- }
- if($x === 'lrdd') {
- $decoded = urldecode($item->getAttribute('href'));
- if(preg_match('/acct:([^@]*)@/',$decoded,$matches))
- $ret['nick'] = $matches[1];
- }
- }
-
- // Pull out hCard profile elements
-
- $largest_photo = 0;
-
- $items = $dom->getElementsByTagName('*');
- foreach($items as $item) {
- if(attribute_contains($item->getAttribute('class'), 'vcard')) {
- $level2 = $item->getElementsByTagName('*');
- foreach($level2 as $x) {
- if(attribute_contains($x->getAttribute('class'),'fn')) {
- $ret['fn'] = $x->textContent;
- }
- if((attribute_contains($x->getAttribute('class'),'photo'))
- || (attribute_contains($x->getAttribute('class'),'avatar'))) {
- $size = intval($x->getAttribute('width'));
- // dfrn prefers 175, so if we find this, we set largest_size so it can't be topped.
- if(($size > $largest_photo) || ($size == 175) || (! $largest_photo)) {
- $ret['photo'] = $x->getAttribute('src');
- $largest_photo = (($size == 175) ? 9999 : $size);
- }
- }
- if(attribute_contains($x->getAttribute('class'),'key')) {
- $ret['key'] = $x->textContent;
- }
- }
- }
- }
-
- return $ret;
-}}
-
-
-
-
-
-
-if(! function_exists('validate_dfrn')) {
-function validate_dfrn($a) {
- $errors = 0;
- if(! x($a,'key'))
- $errors ++;
- if(! x($a,'dfrn-request'))
- $errors ++;
- if(! x($a,'dfrn-confirm'))
- $errors ++;
- if(! x($a,'dfrn-notify'))
- $errors ++;
- if(! x($a,'dfrn-poll'))
- $errors ++;
- return $errors;
-}}
-
-if(! function_exists('scrape_meta')) {
-function scrape_meta($url) {
-
- $a = get_app();
-
- $ret = array();
-
- logger('scrape_meta: url=' . $url);
-
- $s = fetch_url($url);
-
- if(! $s)
- return $ret;
-
- $headers = $a->get_curl_headers();
- logger('scrape_meta: headers=' . $headers, LOGGER_DEBUG);
-
- $lines = explode("\n",$headers);
- if(count($lines)) {
- foreach($lines as $line) {
- // don't try and run feeds through the html5 parser
- if(stristr($line,'content-type:') && ((stristr($line,'application/atom+xml')) || (stristr($line,'application/rss+xml'))))
- return ret;
- }
- }
-
- try {
- $dom = HTML5_Parser::parse($s);
- } catch (DOMException $e) {
- logger('scrape_meta: parse error: ' . $e);
- }
-
- if(! $dom)
- return $ret;
-
- $items = $dom->getElementsByTagName('meta');
-
- // get DFRN link elements
-
- foreach($items as $item) {
- $x = $item->getAttribute('name');
- if(substr($x,0,5) == "dfrn-")
- $ret[$x] = $item->getAttribute('content');
- }
-
- return $ret;
-}}
-
-
-if(! function_exists('scrape_vcard')) {
-function scrape_vcard($url) {
-
- $a = get_app();
-
- $ret = array();
-
- logger('scrape_vcard: url=' . $url);
-
- $s = fetch_url($url);
-
- if(! $s)
- return $ret;
-
- $headers = $a->get_curl_headers();
- $lines = explode("\n",$headers);
- if(count($lines)) {
- foreach($lines as $line) {
- // don't try and run feeds through the html5 parser
- if(stristr($line,'content-type:') && ((stristr($line,'application/atom+xml')) || (stristr($line,'application/rss+xml'))))
- return ret;
- }
- }
-
- try {
- $dom = HTML5_Parser::parse($s);
- } catch (DOMException $e) {
- logger('scrape_vcard: parse error: ' . $e);
- }
-
- if(! $dom)
- return $ret;
-
- // Pull out hCard profile elements
-
- $largest_photo = 0;
-
- $items = $dom->getElementsByTagName('*');
- foreach($items as $item) {
- if(attribute_contains($item->getAttribute('class'), 'vcard')) {
- $level2 = $item->getElementsByTagName('*');
- foreach($level2 as $x) {
- if(attribute_contains($x->getAttribute('class'),'fn'))
- $ret['fn'] = $x->textContent;
- if((attribute_contains($x->getAttribute('class'),'photo'))
- || (attribute_contains($x->getAttribute('class'),'avatar'))) {
- $size = intval($x->getAttribute('width'));
- if(($size > $largest_photo) || (! $largest_photo)) {
- $ret['photo'] = $x->getAttribute('src');
- $largest_photo = $size;
- }
- }
- if((attribute_contains($x->getAttribute('class'),'nickname'))
- || (attribute_contains($x->getAttribute('class'),'uid'))) {
- $ret['nick'] = $x->textContent;
- }
- }
- }
- }
-
- return $ret;
-}}
-
-
-if(! function_exists('scrape_feed')) {
-function scrape_feed($url) {
-
- $a = get_app();
-
- $ret = array();
- $s = fetch_url($url);
-
- $headers = $a->get_curl_headers();
- $code = $a->get_curl_code();
-
- logger('scrape_feed: returns: ' . $code . ' headers=' . $headers, LOGGER_DEBUG);
-
- if(! $s) {
- logger('scrape_feed: no data returned for ' . $url);
- return $ret;
- }
-
-
- $lines = explode("\n",$headers);
- if(count($lines)) {
- foreach($lines as $line) {
- if(stristr($line,'content-type:')) {
- if(stristr($line,'application/atom+xml') || stristr($s,'<feed')) {
- $ret['feed_atom'] = $url;
- return $ret;
- }
- if(stristr($line,'application/rss+xml') || stristr($s,'<rss')) {
- $ret['feed_rss'] = $url;
- return $ret;
- }
- }
- }
- // perhaps an RSS version 1 feed with a generic or incorrect content-type?
- if(stristr($s,'</item>')) {
- $ret['feed_rss'] = $url;
- return $ret;
- }
- }
-
- try {
- $dom = HTML5_Parser::parse($s);
- } catch (DOMException $e) {
- logger('scrape_feed: parse error: ' . $e);
- }
-
- if(! $dom) {
- logger('scrape_feed: failed to parse.');
- return $ret;
- }
-
-
- $head = $dom->getElementsByTagName('base');
- if($head) {
- foreach($head as $head0) {
- $basename = $head0->getAttribute('href');
- break;
- }
- }
- if(! $basename)
- $basename = implode('/', array_slice(explode('/',$url),0,3)) . '/';
-
- $items = $dom->getElementsByTagName('link');
-
- // get Atom/RSS link elements, take the first one of either.
-
- if($items) {
- foreach($items as $item) {
- $x = $item->getAttribute('rel');
- if(($x === 'alternate') && ($item->getAttribute('type') === 'application/atom+xml')) {
- if(! x($ret,'feed_atom'))
- $ret['feed_atom'] = $item->getAttribute('href');
- }
- if(($x === 'alternate') && ($item->getAttribute('type') === 'application/rss+xml')) {
- if(! x($ret,'feed_rss'))
- $ret['feed_rss'] = $item->getAttribute('href');
- }
- }
- }
-
- // Drupal and perhaps others only provide relative URL's. Turn them into absolute.
-
- if(x($ret,'feed_atom') && (! strstr($ret['feed_atom'],'://')))
- $ret['feed_atom'] = $basename . $ret['feed_atom'];
- if(x($ret,'feed_rss') && (! strstr($ret['feed_rss'],'://')))
- $ret['feed_rss'] = $basename . $ret['feed_rss'];
-
- return $ret;
-}}
-
-
-/**
- *
- * Probe a network address to discover what kind of protocols we need to communicate with it.
- *
- * Warning: this function is a bit touchy and there are some subtle dependencies within the logic flow.
- * Edit with care.
- *
- */
-
-/**
- *
- * PROBE_DIASPORA has a bias towards returning Diaspora information
- * while PROBE_NORMAL has a bias towards dfrn/zot - in the case where
- * an address (such as a Friendica address) supports more than one type
- * of network.
- *
- */
-
-
-define ( 'PROBE_NORMAL', 0);
-
-function probe_url($url, $mode = PROBE_NORMAL) {
- require_once('include/email.php');
-
- $result = array();
-
- if(! $url)
- return $result;
-
- $network = null;
- $has_lrdd = false;
- $email_conversant = false;
-
- $twitter = ((strpos($url,'twitter.com') !== false) ? true : false);
- $lastfm = ((strpos($url,'last.fm/user') !== false) ? true : false);
-
- $at_addr = ((strpos($url,'@') !== false) ? true : false);
-
- if((! $twitter) && (! $lastfm)) {
-
- if(strpos($url,'mailto:') !== false && $at_addr) {
- $url = str_replace('mailto:','',$url);
- $links = array();
- }
- else
- $links = lrdd($url);
-
- if(count($links)) {
- $has_lrdd = true;
-
- logger('probe_url: found lrdd links: ' . print_r($links,true), LOGGER_DATA);
- foreach($links as $link) {
- if($link['@attributes']['rel'] === NAMESPACE_ZOT)
- $zot = unamp($link['@attributes']['href']);
- if($link['@attributes']['rel'] === NAMESPACE_DFRN)
- $dfrn = unamp($link['@attributes']['href']);
- if($link['@attributes']['rel'] === 'salmon')
- $notify = unamp($link['@attributes']['href']);
- if($link['@attributes']['rel'] === NAMESPACE_FEED)
- $poll = unamp($link['@attributes']['href']);
- if($link['@attributes']['rel'] === 'http://microformats.org/profile/hcard')
- $hcard = unamp($link['@attributes']['href']);
- if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page')
- $profile = unamp($link['@attributes']['href']);
- if($link['@attributes']['rel'] === 'http://portablecontacts.net/spec/1.0')
- $poco = unamp($link['@attributes']['href']);
-
- }
-
- // Status.Net can have more than one profile URL. We need to match the profile URL
- // to a contact on incoming messages to prevent spam, and we won't know which one
- // to match. So in case of two, one of them is stored as an alias. Only store URL's
- // and not webfinger user@host aliases. If they've got more than two non-email style
- // aliases, let's hope we're lucky and get one that matches the feed author-uri because
- // otherwise we're screwed.
-
- foreach($links as $link) {
- if($link['@attributes']['rel'] === 'alias') {
- if(strpos($link['@attributes']['href'],'@') === false) {
- if(isset($profile)) {
- if($link['@attributes']['href'] !== $profile)
- $alias = unamp($link['@attributes']['href']);
- }
- else
- $profile = unamp($link['@attributes']['href']);
- }
- }
- }
- }
- elseif($mode == PROBE_NORMAL) {
-
- // Check email
-
- $orig_url = $url;
- if((strpos($orig_url,'@')) && validate_email($orig_url)) {
- $x = q("SELECT `prvkey` FROM `user` WHERE `uid` = %d LIMIT 1",
- intval(local_user())
- );
- $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d AND `server` != '' LIMIT 1",
- intval(local_user())
- );
- if(count($x) && count($r)) {
- $mailbox = construct_mailbox_name($r[0]);
- $password = '';
- openssl_private_decrypt(hex2bin($r[0]['pass']),$password,$x[0]['prvkey']);
- $mbox = email_connect($mailbox,$r[0]['user'],$password);
- if(! $mbox)
- logger('probe_url: email_connect failed.');
- unset($password);
- }
- if($mbox) {
- $msgs = email_poll($mbox,$orig_url);
- logger('probe_url: searching ' . $orig_url . ', ' . count($msgs) . ' messages found.', LOGGER_DEBUG);
- if(count($msgs)) {
- $addr = $orig_url;
- $network = NETWORK_MAIL;
- $name = substr($url,0,strpos($url,'@'));
- $phost = substr($url,strpos($url,'@')+1);
- $profile = 'http://' . $phost;
- // fix nick character range
- $vcard = array('fn' => $name, 'nick' => $name, 'photo' => avatar_img($url));
- $notify = 'smtp ' . random_string();
- $poll = 'email ' . random_string();
- $priority = 0;
- $x = email_msg_meta($mbox,$msgs[0]);
- if(stristr($x[0]->from,$orig_url))
- $adr = imap_rfc822_parse_adrlist($x[0]->from,'');
- elseif(stristr($x[0]->to,$orig_url))
- $adr = imap_rfc822_parse_adrlist($x[0]->to,'');
- if(isset($adr)) {
- foreach($adr as $feadr) {
- if((strcasecmp($feadr->mailbox,$name) == 0)
- &&(strcasecmp($feadr->host,$phost) == 0)
- && (strlen($feadr->personal))) {
-
- $personal = imap_mime_header_decode($feadr->personal);
- $vcard['fn'] = "";
- foreach($personal as $perspart)
- if ($perspart->charset != "default")
- $vcard['fn'] .= iconv($perspart->charset, 'UTF-8//IGNORE', $perspart->text);
- else
- $vcard['fn'] .= $perspart->text;
-
- $vcard['fn'] = notags($vcard['fn']);
- }
- }
- }
- }
- imap_close($mbox);
- }
- }
- }
- }
-
- if($mode == PROBE_NORMAL) {
- if(strlen($zot)) {
- $s = fetch_url($zot);
- if($s) {
- $j = json_decode($s);
- if($j) {
- $network = NETWORK_ZOT;
- $vcard = array(
- 'fn' => $j->fullname,
- 'nick' => $j->nickname,
- 'photo' => $j->photo
- );
- $profile = $j->url;
- $notify = $j->post;
- $pubkey = $j->pubkey;
- $poll = 'N/A';
- }
- }
- }
-
- if(strlen($dfrn)) {
- $ret = scrape_dfrn(($hcard) ? $hcard : $dfrn);
- if(is_array($ret) && x($ret,'dfrn-request')) {
- $network = NETWORK_DFRN;
- $request = $ret['dfrn-request'];
- $confirm = $ret['dfrn-confirm'];
- $notify = $ret['dfrn-notify'];
- $poll = $ret['dfrn-poll'];
-
- $vcard = array();
- $vcard['fn'] = $ret['fn'];
- $vcard['nick'] = $ret['nick'];
- $vcard['photo'] = $ret['photo'];
- }
- }
- }
-
- if($network !== NETWORK_ZOT && $network !== NETWORK_DFRN && $network !== NETWORK_MAIL) {
- if($has_lrdd)
- $network = NETWORK_OSTATUS;
- $priority = 0;
-
- if($hcard && ! $vcard) {
- $vcard = scrape_vcard($hcard);
-
- // Google doesn't use absolute url in profile photos
-
- if((x($vcard,'photo')) && substr($vcard['photo'],0,1) == '/') {
- $h = @parse_url($hcard);
- if($h)
- $vcard['photo'] = $h['scheme'] . '://' . $h['host'] . $vcard['photo'];
- }
-
- logger('probe_url: scrape_vcard: ' . print_r($vcard,true), LOGGER_DATA);
- }
-
- if($diaspora && $addr) {
- // Diaspora returns the name as the nick. As the nick will never be updated,
- // let's use the Diaspora nickname (the first part of the handle) as the nick instead
- $addr_parts = explode('@', $addr);
- $vcard['nick'] = $addr_parts[0];
- }
-
- if($twitter) {
- logger('twitter: setup');
- $tid = basename($url);
- $tapi = 'https://api.twitter.com/1/statuses/user_timeline.rss';
- if(intval($tid))
- $poll = $tapi . '?user_id=' . $tid;
- else
- $poll = $tapi . '?screen_name=' . $tid;
- $profile = 'http://twitter.com/#!/' . $tid;
- //$vcard['photo'] = 'https://api.twitter.com/1/users/profile_image/' . $tid;
- $vcard['photo'] = 'https://api.twitter.com/1/users/profile_image?screen_name=' . $tid . '&size=bigger';
- $vcard['nick'] = $tid;
- $vcard['fn'] = $tid;
- }
-
- if($lastfm) {
- $profile = $url;
- $poll = str_replace(array('www.','last.fm/'),array('','ws.audioscrobbler.com/1.0/'),$url) . '/recenttracks.rss';
- $vcard['nick'] = basename($url);
- $vcard['fn'] = $vcard['nick'] . t(' on Last.fm');
- $network = NETWORK_FEED;
- }
-
- if(! x($vcard,'fn'))
- if(x($vcard,'nick'))
- $vcard['fn'] = $vcard['nick'];
-
- $check_feed = false;
-
- if($twitter || ! $poll)
- $check_feed = true;
- if((! isset($vcard)) || (! x($vcard,'fn')) || (! $profile))
- $check_feed = true;
- if(($at_addr) && (! count($links)))
- $check_feed = false;
-
- if($check_feed) {
-
- $feedret = scrape_feed(($poll) ? $poll : $url);
- logger('probe_url: scrape_feed ' . (($poll)? $poll : $url) . ' returns: ' . print_r($feedret,true), LOGGER_DATA);
- if(count($feedret) && ($feedret['feed_atom'] || $feedret['feed_rss'])) {
- $poll = ((x($feedret,'feed_atom')) ? unamp($feedret['feed_atom']) : unamp($feedret['feed_rss']));
- if(! x($vcard))
- $vcard = array();
- }
-
- if(x($feedret,'photo') && (! x($vcard,'photo')))
- $vcard['photo'] = $feedret['photo'];
- require_once('library/simplepie/simplepie.inc');
- $feed = new SimplePie();
- $xml = fetch_url($poll);
-
- logger('probe_url: fetch feed: ' . $poll . ' returns: ' . $xml, LOGGER_DATA);
- $a = get_app();
-
- logger('probe_url: scrape_feed: headers: ' . $a->get_curl_headers(), LOGGER_DATA);
-
- $feed->set_raw_data($xml);
-
- $feed->init();
- if($feed->error())
- logger('probe_url: scrape_feed: Error parsing XML: ' . $feed->error());
-
-
- if(! x($vcard,'photo'))
- $vcard['photo'] = $feed->get_image_url();
- $author = $feed->get_author();
-
- if($author) {
- $vcard['fn'] = unxmlify(trim($author->get_name()));
- if(! $vcard['fn'])
- $vcard['fn'] = trim(unxmlify($author->get_email()));
- if(strpos($vcard['fn'],'@') !== false)
- $vcard['fn'] = substr($vcard['fn'],0,strpos($vcard['fn'],'@'));
- $email = unxmlify($author->get_email());
- if(! $profile && $author->get_link())
- $profile = trim(unxmlify($author->get_link()));
- if(! $vcard['photo']) {
- $rawtags = $feed->get_feed_tags( SIMPLEPIE_NAMESPACE_ATOM_10, 'author');
- if($rawtags) {
- $elems = $rawtags[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10];
- if((x($elems,'link')) && ($elems['link'][0]['attribs']['']['rel'] === 'photo'))
- $vcard['photo'] = $elems['link'][0]['attribs']['']['href'];
- }
- }
- }
- else {
- $item = $feed->get_item(0);
- if($item) {
- $author = $item->get_author();
- if($author) {
- $vcard['fn'] = trim(unxmlify($author->get_name()));
- if(! $vcard['fn'])
- $vcard['fn'] = trim(unxmlify($author->get_email()));
- if(strpos($vcard['fn'],'@') !== false)
- $vcard['fn'] = substr($vcard['fn'],0,strpos($vcard['fn'],'@'));
- $email = unxmlify($author->get_email());
- if(! $profile && $author->get_link())
- $profile = trim(unxmlify($author->get_link()));
- }
- if(! $vcard['photo']) {
- $rawmedia = $item->get_item_tags('http://search.yahoo.com/mrss/','thumbnail');
- if($rawmedia && $rawmedia[0]['attribs']['']['url'])
- $vcard['photo'] = unxmlify($rawmedia[0]['attribs']['']['url']);
- }
- if(! $vcard['photo']) {
- $rawtags = $item->get_item_tags( SIMPLEPIE_NAMESPACE_ATOM_10, 'author');
- if($rawtags) {
- $elems = $rawtags[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10];
- if((x($elems,'link')) && ($elems['link'][0]['attribs']['']['rel'] === 'photo'))
- $vcard['photo'] = $elems['link'][0]['attribs']['']['href'];
- }
- }
- }
- }
-
- if((! $vcard['photo']) && strlen($email))
- $vcard['photo'] = avatar_img($email);
- if($poll === $profile)
- $lnk = $feed->get_permalink();
- if(isset($lnk) && strlen($lnk))
- $profile = $lnk;
-
- if(! (x($vcard,'fn')))
- $vcard['fn'] = notags($feed->get_title());
- if(! (x($vcard,'fn')))
- $vcard['fn'] = notags($feed->get_description());
-
- if(strpos($vcard['fn'],'Twitter / ') !== false) {
- $vcard['fn'] = substr($vcard['fn'],strpos($vcard['fn'],'/')+1);
- $vcard['fn'] = trim($vcard['fn']);
- }
- if(! x($vcard,'nick')) {
- $vcard['nick'] = strtolower(notags(unxmlify($vcard['fn'])));
- if(strpos($vcard['nick'],' '))
- $vcard['nick'] = trim(substr($vcard['nick'],0,strpos($vcard['nick'],' ')));
- }
- if(! $network)
- $network = NETWORK_FEED;
- if(! $priority)
- $priority = 2;
- }
- }
-
- if(! x($vcard,'photo')) {
- $a = get_app();
- $vcard['photo'] = $a->get_baseurl() . '/images/person-175.jpg' ;
- }
-
- if(! $profile)
- $profile = $url;
-
- // No human could be associated with this link, use the URL as the contact name
-
- if(($network === NETWORK_FEED) && ($poll) && (! x($vcard,'fn')))
- $vcard['fn'] = $url;
-
- $vcard['fn'] = notags($vcard['fn']);
- $vcard['nick'] = str_replace(' ','',notags($vcard['nick']));
-
- $result['name'] = $vcard['fn'];
- $result['nick'] = $vcard['nick'];
- $result['url'] = $profile;
- $result['addr'] = $addr;
- $result['batch'] = $batch;
- $result['notify'] = $notify;
- $result['poll'] = $poll;
- $result['request'] = $request;
- $result['confirm'] = $confirm;
- $result['poco'] = $poco;
- $result['photo'] = $vcard['photo'];
- $result['priority'] = $priority;
- $result['network'] = $network;
- $result['alias'] = $alias;
- $result['pubkey'] = $pubkey;
-
- logger('probe_url: ' . print_r($result,true), LOGGER_DEBUG);
-
- return $result;
-}
diff --git a/include/account.php b/include/account.php
index a31dbba4b..ab442ab39 100644
--- a/include/account.php
+++ b/include/account.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('include/config.php');
require_once('include/network.php');
@@ -6,6 +6,7 @@ require_once('include/plugin.php');
require_once('include/text.php');
require_once('include/language.php');
require_once('include/datetime.php');
+require_once('include/crypto.php');
function check_account_email($email) {
@@ -26,7 +27,7 @@ function check_account_email($email) {
$r = q("select account_email from account where account_email = '%s' limit 1",
dbesc($email)
);
- if(count($r)) {
+ if($r) {
$result['message'] .= t('Your email address is already registered at this site.');
}
}
@@ -80,14 +81,14 @@ function check_account_invite($invite_code) {
function check_account_admin($arr) {
if(is_site_admin())
return true;
- $admin_mail = trim(get_config('system','admin_email'));
+ $admin_email = trim(get_config('system','admin_email'));
if(strlen($admin_email) && $admin_email === trim($arr['email']))
return true;
return false;
}
function account_total() {
- $r = q("select account_id from account where 1");
+ $r = q("select account_id from account where true");
if(is_array($r))
return count($r);
return false;
@@ -107,7 +108,8 @@ function create_account($arr) {
$parent = ((x($arr,'parent')) ? intval($arr['parent']) : 0 );
$flags = ((x($arr,'account_flags')) ? intval($arr['account_flags']) : ACCOUNT_OK);
$roles = ((x($arr,'account_roles')) ? intval($arr['account_roles']) : 0 );
-
+ $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 = '';
@@ -129,9 +131,16 @@ function create_account($arr) {
// allow the admin_email account to be admin, but only if it's the first account.
$c = account_total();
- if((c === 0) && (check_account_admin($arr)))
+ if(($c === 0) && (check_account_admin($arr)))
$roles |= ACCOUNT_ROLE_ADMIN;
+ // Ensure that there is a host keypair.
+
+ if((! get_config('system','pubkey')) && (! get_config('system','prvkey'))) {
+ $hostkey = new_keypair(4096);
+ set_config('system','pubkey',$hostkey['pubkey']);
+ set_config('system','prvkey',$hostkey['prvkey']);
+ }
$invite_result = check_account_invite($invite_code);
if($invite_result['error']) {
@@ -281,7 +290,7 @@ function send_reg_approval_email($arr) {
function send_verification_email($email,$password) {
$email_msg = replace_macros(get_intltext_template('register_open_eml.tpl'), array(
- '$sitename' => get_config('config','sitename'),
+ '$sitename' => get_config('system','sitename'),
'$siteurl' => z_root(),
'$email' => $email,
'$password' => t('your registration password'),
diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index f4dacb74a..033186151 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
/**
*
*/
@@ -229,41 +229,6 @@ function populate_acl($user = null,$celeb = false) {
array_walk($deny_cid,'fixacl');
array_walk($deny_gid,'fixacl');
}
-
- /*$o = '';
- $o .= '<div id="acl-wrapper">';
- $o .= '<div id="acl-permit-outer-wrapper">';
- $o .= '<div id="acl-permit-text">' . t('Visible To:') . '</div><div id="jot-public">' . t('everybody') . '</div>';
- $o .= '<div id="acl-permit-text-end"></div>';
- $o .= '<div id="acl-permit-wrapper">';
- $o .= '<div id="group_allow_wrapper">';
- $o .= '<label id="acl-allow-group-label" for="group_allow" >' . t('Groups') . '</label>';
- $o .= group_select('group_allow','group_allow',$allow_gid);
- $o .= '</div>';
- $o .= '<div id="contact_allow_wrapper">';
- $o .= '<label id="acl-allow-contact-label" for="contact_allow" >' . t('Contacts') . '</label>';
- $o .= contact_select('contact_allow','contact_allow',$allow_cid,4,false,$celeb,true);
- $o .= '</div>';
- $o .= '</div>' . "\r\n";
- $o .= '<div id="acl-allow-end"></div>' . "\r\n";
- $o .= '</div>';
- $o .= '<div id="acl-deny-outer-wrapper">';
- $o .= '<div id="acl-deny-text">' . t('Except For:') . '</div>';
- $o .= '<div id="acl-deny-text-end"></div>';
- $o .= '<div id="acl-deny-wrapper">';
- $o .= '<div id="group_deny_wrapper" >';
- $o .= '<label id="acl-deny-group-label" for="group_deny" >' . t('Groups') . '</label>';
- $o .= group_select('group_deny','group_deny', $deny_gid);
- $o .= '</div>';
- $o .= '<div id="contact_deny_wrapper" >';
- $o .= '<label id="acl-deny-contact-label" for="contact_deny" >' . t('Contacts') . '</label>';
- $o .= contact_select('contact_deny','contact_deny', $deny_cid,4,false, $celeb,true);
- $o .= '</div>';
- $o .= '</div>' . "\r\n";
- $o .= '<div id="acl-deny-end"></div>' . "\r\n";
- $o .= '</div>';
- $o .= '</div>' . "\r\n";
- $o .= '<div id="acl-wrapper-end"></div>' . "\r\n";*/
$tpl = get_markup_template("acl_selector.tpl");
$o = replace_macros($tpl, array(
diff --git a/include/activities.php b/include/activities.php
index ced9f3d18..73180eae0 100644
--- a/include/activities.php
+++ b/include/activities.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function profile_activity($changed, $value) {
$a = get_app();
@@ -17,7 +17,7 @@ function profile_activity($changed, $value) {
return;
$arr = array();
- $arr['uri'] = $arr['parent_uri'] = item_message_id();
+ $arr['mid'] = $arr['parent_mid'] = item_message_id();
$arr['uid'] = local_user();
$arr['aid'] = $self['channel_account_id'];
$arr['owner_xchan'] = $arr['author_xchan'] = $self['xchan_hash'];
@@ -45,6 +45,8 @@ function profile_activity($changed, $value) {
$prof = '[url=' . z_root() . '/profile/' . $self['channel_address'] . ']' . t('public profile') . '[/url]';
if($t == 1 && strlen($value)) {
+ // if it's a url, the HTML quotes will mess it up, so link it and don't try and zidify it because we don't know what it points to.
+ $value = linkify($value);
$message = sprintf( t('%1$s changed %2$s to &ldquo;%3$s&rdquo;'), $A, $changes, $value);
$message .= "\n\n" . sprintf( t('Visit %1$s\'s %2$s'), $A, $prof);
}
@@ -73,7 +75,8 @@ function profile_activity($changed, $value) {
$arr['deny_cid'] = $self['channel_deny_cid'];
$arr['deny_gid'] = $self['channel_deny_gid'];
- $i = item_store($arr);
+ $res = item_store($arr);
+ $i = $res['item_id'];
if($i) {
// FIXME - limit delivery in notifier.php to those specificed in the perms argument
diff --git a/include/api.php b/include/api.php
index 4d74eb298..2760914e9 100644
--- a/include/api.php
+++ b/include/api.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once("bbcode.php");
require_once("datetime.php");
@@ -6,6 +6,7 @@ require_once("conversation.php");
require_once("oauth.php");
require_once("html2plain.php");
require_once('include/security.php');
+require_once('include/photos.php');
/*
*
@@ -96,6 +97,16 @@ require_once('include/security.php');
}
}
+ if(x($_SERVER,'HTTP_AUTHORIZATION')) {
+ $userpass = base64_decode(substr($_SERVER["HTTP_AUTHORIZATION"],6)) ;
+ if(strlen($userpass)) {
+ list($name, $password) = explode(':', $userpass);
+ $_SERVER['PHP_AUTH_USER'] = $name;
+ $_SERVER['PHP_AUTH_PW'] = $password;
+ }
+ }
+
+
if (!isset($_SERVER['PHP_AUTH_USER'])) {
logger('API_login: ' . print_r($_SERVER,true), LOGGER_DEBUG);
header('WWW-Authenticate: Basic realm="Red"');
@@ -220,7 +231,7 @@ require_once('include/security.php');
'updated' => api_date(null),
'atom_updated' => datetime_convert('UTC','UTC','now',ATOM_TIME),
'language' => $user_info['language'],
- 'logo' => $a->get_baseurl()."/images/friendica-32.png",
+ 'logo' => $a->get_baseurl()."/images/rhash-64.png",
);
return $arr;
@@ -515,6 +526,40 @@ require_once('include/security.php');
json_return_and_die(identity_basic_export(api_user()));
}
api_register_func('api/export/basic','api_export_basic', true);
+ api_register_func('api/red/channel/export/basic','api_export_basic', true);
+
+
+ function api_channel_stream(&$a, $type) {
+ if(api_user() === false) {
+ logger('api_channel_stream: no user');
+ return false;
+ }
+
+ if($_SERVER['REQUEST_METHOD'] == 'POST') {
+ json_return_and_die(post_activity_item($_REQUEST));
+ }
+ else {
+ // fetch stream
+
+ }
+ }
+ api_register_func('api/red/channel/stream','api_channel_stream', true);
+
+
+ function api_albums(&$a,$type) {
+ json_return_and_die(photos_albums_list($a->get_channel(),$a->get_observer()));
+ }
+ api_register_func('api/red/albums','api_albums', true);
+
+ function api_photos(&$a,$type) {
+ $album = $_REQUEST['album'];
+ json_return_and_die(photos_list_photos($a->get_channel(),$a->get_observer()),$album);
+ }
+ api_register_func('api/red/photos','api_photos', true);
+
+
+
+
@@ -565,6 +610,15 @@ require_once('include/security.php');
return false;
}
+ logger('api_statuses_update: REQUEST ' . print_r($_REQUEST,true));
+ logger('api_statuses_update: FILES ' . print_r($_FILES,true));
+
+
+ // set this so that the item_post() function is quiet and doesn't redirect or emit json
+
+ $_REQUEST['api_source'] = true;
+
+
$user_info = api_get_user($a);
// convert $_POST array items to the form we use for web posts.
@@ -599,7 +653,7 @@ require_once('include/security.php');
if(ctype_digit($parent))
$_REQUEST['parent'] = $parent;
else
- $_REQUEST['parent_uri'] = $parent;
+ $_REQUEST['parent_mid'] = $parent;
if(requestdata('lat') && requestdata('long'))
$_REQUEST['coord'] = sprintf("%s %s",requestdata('lat'),requestdata('long'));
@@ -610,7 +664,9 @@ require_once('include/security.php');
$_REQUEST['type'] = 'net-comment';
else {
$_REQUEST['type'] = 'wall';
+
if(x($_FILES,'media')) {
+ $_FILES['userfile'] = $_FILES['media'];
// upload the image if we have one
$_REQUEST['silent']='1'; //tell wall_upload function to return img info instead of echo
require_once('mod/wall_upload.php');
@@ -620,9 +676,6 @@ require_once('include/security.php');
}
}
- // set this so that the item_post() function is quiet and doesn't redirect or emit json
-
- $_REQUEST['api_source'] = true;
// call out normal post function
@@ -677,9 +730,10 @@ require_once('include/security.php');
$in_reply_to_user_id = $user_info['id'];
$in_reply_to_screen_name = $user_info['screen_name'];
}
- }
+ }
+ unobscure($lastwall);
$status_info = array(
- 'text' => html2plain(bbcode($lastwall['body']), 0),
+ 'text' => html2plain(prepare_text($lastwall['body'],$lastwall['mimetype']), 0),
'truncated' => false,
'created_at' => api_date($lastwall['created']),
'in_reply_to_status_id' => $in_reply_to_status_id,
@@ -750,8 +804,9 @@ require_once('include/security.php');
$in_reply_to_screen_name = $user_info['screen_name'];
}
}
+ unobscure($lastwall);
$user_info['status'] = array(
- 'text' => html2plain(bbcode($lastwall['body']), 0),
+ 'text' => html2plain(prepare_text($lastwall['body'],$lastwall['mimetype']), 0),
'truncated' => false,
'created_at' => api_date($lastwall['created']),
'in_reply_to_status_id' => $in_reply_to_status_id,
@@ -892,7 +947,7 @@ require_once('include/security.php');
and item_private = 0
and uid in ( " . stream_perms_api_uids() . " )
$sql_extra
- AND id > %d group by uri
+ AND id > %d group by mid
order by received desc LIMIT %d, %d ",
intval($since_id),
intval($start),
@@ -991,7 +1046,7 @@ require_once('include/security.php');
if(perm_is_allowed($r[0]['uid'],$observer['xchan_hash'],'view_stream')) {
if ($r[0]['body'] != "") {
- $_REQUEST['body'] = html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8')."[url=".$r[0]['reply_url']."]".$r[0]['reply_author']."[/url] \n".$r[0]['body'];
+ $_REQUEST['body'] = html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8')."[zrl=".$r[0]['reply_url']."]".$r[0]['reply_author']."[/zrl] \n".$r[0]['body'];
$_REQUEST['profile_uid'] = api_user();
$_REQUEST['type'] = 'wall';
$_REQUEST['api_source'] = true;
@@ -1316,19 +1371,19 @@ require_once('include/security.php');
'recipient_screen_name' => $recipient['screen_name'],
'recipient' => $recipient,
);
-
+ unobscure($item);
//don't send title to regular StatusNET requests to avoid confusing these apps
if (x($_GET, 'getText')) {
$ret['title'] = $item['title'] ;
if ($_GET["getText"] == "html") {
- $ret['text'] = bbcode($item['body']);
+ $ret['text'] = prepare_text($item['body'],$item['mimetype']);
}
elseif ($_GET["getText"] == "plain") {
- $ret['text'] = html2plain(bbcode($item['body']), 0);
+ $ret['text'] = html2plain(prepare_text($item['body'],$item['mimetype']), 0);
}
}
else {
- $ret['text'] = $item['title']."\n".html2plain(bbcode($item['body']), 0);
+ $ret['text'] = $item['title']."\n".html2plain(prepare_text($item['body'],$item['mimetype']), 0);
}
if (isset($_GET["getUserObjects"]) && $_GET["getUserObjects"] == "false") {
unset($ret['sender']);
@@ -1372,9 +1427,9 @@ require_once('include/security.php');
$in_reply_to_user_id = 0;
$in_reply_to_status_id = 0;
}
-
+ unobscure($item);
// Workaround for ostatus messages where the title is identically to the body
- $statusbody = trim(html2plain(bbcode($item['body']), 0));
+ $statusbody = trim(html2plain(prepare_text($item['body'],$item['mimetype']), 0));
$statustitle = trim($item['title']);
if (($statustitle != '') and (strpos($statusbody, $statustitle) !== false))
@@ -1395,7 +1450,7 @@ require_once('include/security.php');
'geo' => '',
'favorited' => (($item['item_flags'] & ITEM_STARRED) ? true : false),
'user' => $status_user ,
- 'statusnet_html' => trim(bbcode($item['body'])),
+ 'statusnet_html' => trim(prepare_text($item['body']),$item['mimetype']),
'statusnet_conversation_id' => $item['parent'],
);
@@ -1404,7 +1459,7 @@ require_once('include/security.php');
$status2 = array(
'updated' => api_date($item['edited']),
'published' => api_date($item['created']),
- 'message_id' => $item['uri'],
+ 'message_id' => $item['mid'],
'url' => $item['plink'],
'coordinates' => $item['coord'],
'place' => $item['location'],
@@ -1452,7 +1507,7 @@ require_once('include/security.php');
return api_apply_template('test', $type, array('$ok' => $ok));
}
- api_register_func('api/help/test','api_help_test',true);
+ api_register_func('api/help/test','api_help_test',false);
/**
* https://dev.twitter.com/docs/api/1/get/statuses/friends
@@ -1483,17 +1538,17 @@ require_once('include/security.php');
// For Red, the closest thing we can do to figure out if you're friends is if both of you are sending each other your streams.
// This won't work if either of you send your stream to everybody on the network
if($qtype == 'friends')
- $sql_extra = sprintf(" AND ( their_perms & %d ) and ( my_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
+ $sql_extra = sprintf(" AND ( abook_their_perms & %d ) and ( abook_my_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
if($qtype == 'followers')
- $sql_extra = sprintf(" AND ( my_perms & %d ) and not ( their_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
+ $sql_extra = sprintf(" AND ( abook_my_perms & %d ) and not ( abook_their_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
- $r = q("SELECT id FROM abook where abook_flags = 0 and abook_channel = %d $sql_extra",
+ $r = q("SELECT abook_id FROM abook where abook_flags = 0 and abook_channel = %d $sql_extra",
intval(api_user())
);
$ret = array();
foreach($r as $cid){
- $ret[] = api_get_user($a, $cid['id']);
+ $ret[] = api_get_user($a, $cid['abook_id']);
}
@@ -1524,7 +1579,7 @@ require_once('include/security.php');
$name = get_config('system','sitename');
$server = $a->get_hostname();
- $logo = $a->get_baseurl() . '/images/fred-64.png';
+ $logo = $a->get_baseurl() . '/images/rhash-64.png';
$email = get_config('system','admin_email');
$closed = ((get_config('system','register_policy') == REGISTER_CLOSED) ? 'true' : 'false');
$private = ((get_config('system','block_public')) ? 'true' : 'false');
@@ -1541,8 +1596,8 @@ require_once('include/security.php');
'private' => $private, 'textlimit' => $textlimit, 'sslserver' => $sslserver, 'ssl' => $ssl,
'shorturllength' => '30',
'friendica' => array(
- 'FRIENDICA_PLATFORM' => FRIENDICA_PLATFORM,
- 'FRIENDICA_VERSION' => FRIENDICA_VERSION,
+ 'RED_PLATFORM' => RED_PLATFORM,
+ 'RED_VERSION' => RED_VERSION,
'ZOT_REVISION' => ZOT_REVISION,
'DB_UPDATE_VERSION' => DB_UPDATE_VERSION
)
@@ -1577,12 +1632,12 @@ require_once('include/security.php');
if($type === 'xml') {
header("Content-type: application/xml");
- echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n" . '<version>' . FRIENDICA_VERSION . '</version>' . "\r\n";
+ echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n" . '<version>' . RED_VERSION . '</version>' . "\r\n";
killme();
}
elseif($type === 'json') {
header("Content-type: application/json");
- echo '"' . FRIENDICA_VERSION . '"';
+ echo '"' . RED_VERSION . '"';
killme();
}
}
@@ -1599,11 +1654,11 @@ require_once('include/security.php');
// This won't work if either of you send your stream to everybody on the network
if($qtype == 'friends')
- $sql_extra = sprintf(" AND ( their_perms & %d ) and ( my_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
+ $sql_extra = sprintf(" AND ( abook_their_perms & %d ) and ( abook_my_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
if($qtype == 'followers')
- $sql_extra = sprintf(" AND ( my_perms & %d ) and not ( their_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
+ $sql_extra = sprintf(" AND ( abook_my_perms & %d ) and not ( abook_their_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
- $r = q("SELECT id FROM abook where abook_flags = 0 and abook_channel = %d $sql_extra",
+ $r = q("SELECT abook_id FROM abook where abook_flags = 0 and abook_channel = %d $sql_extra",
intval(api_user())
);
@@ -1612,14 +1667,14 @@ require_once('include/security.php');
header("Content-type: application/xml");
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n" . '<ids>' . "\r\n";
foreach($r as $rr)
- echo '<id>' . $rr['id'] . '</id>' . "\r\n";
+ echo '<id>' . $rr['abook_id'] . '</id>' . "\r\n";
echo '</ids>' . "\r\n";
killme();
}
elseif($type === 'json') {
$ret = array();
header("Content-type: application/json");
- foreach($r as $rr) $ret[] = $rr['id'];
+ foreach($r as $rr) $ret[] = $rr['abook_id'];
echo json_encode($ret);
killme();
}
@@ -1653,10 +1708,10 @@ require_once('include/security.php');
$replyto = '';
$sub = '';
if (x($_REQUEST,'replyto')) {
- $r = q('SELECT `parent_uri`, `title` FROM `mail` WHERE `uid`=%d AND `id`=%d',
+ $r = q('SELECT `parent_mid`, `title` FROM `mail` WHERE `uid`=%d AND `id`=%d',
intval(api_user()),
intval($_REQUEST['replyto']));
- $replyto = $r[0]['parent_uri'];
+ $replyto = $r[0]['parent_mid'];
$sub = $r[0]['title'];
}
else {
@@ -1708,7 +1763,7 @@ require_once('include/security.php');
$sql_extra = "`from-url`='".dbesc( $profile_url )."'";
}
elseif ($box=="conversation") {
- $sql_extra = "`parent_uri`='".dbesc( $_GET["uri"] ) ."'";
+ $sql_extra = "`parent_mid`='".dbesc( $_GET["uri"] ) ."'";
}
elseif ($box=="all") {
$sql_extra = "true";
@@ -1770,9 +1825,13 @@ require_once('include/security.php');
function api_oauth_request_token(&$a, $type){
try{
$oauth = new FKOAuth1();
- $r = $oauth->fetch_request_token(OAuthRequest::from_request());
+ $req = OAuthRequest::from_request();
+logger('Req: ' . var_export($req,true));
+ $r = $oauth->fetch_request_token($req);
}catch(Exception $e){
- echo "error=". OAuthUtil::urlencode_rfc3986($e->getMessage()); killme();
+ logger('oauth_exception: ' . print_r($e->getMessage(),true));
+ echo "error=". OAuthUtil::urlencode_rfc3986($e->getMessage());
+ killme();
}
echo $r;
killme();
@@ -1780,7 +1839,8 @@ require_once('include/security.php');
function api_oauth_access_token(&$a, $type){
try{
$oauth = new FKOAuth1();
- $r = $oauth->fetch_access_token(OAuthRequest::from_request());
+ $req = OAuthRequest::from_request();
+ $r = $oauth->fetch_access_token($req);
}catch(Exception $e){
echo "error=". OAuthUtil::urlencode_rfc3986($e->getMessage()); killme();
}
diff --git a/include/attach.php b/include/attach.php
index 64d6a1689..da08154c6 100644
--- a/include/attach.php
+++ b/include/attach.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
/*
* File/attach API with the potential for revision control.
@@ -10,6 +10,7 @@
*/
require_once('include/permissions.php');
+require_once('include/security.php');
function z_mime_content_type($filename) {
@@ -192,13 +193,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;
@@ -338,7 +339,7 @@ function attach_store($channel,$observer_hash,$options = '',$arr = null) {
intval($channel_id)
);
if(($r) && (($r[0]['total'] + $filesize) > ($limit - $existing_size))) {
- $ret['message'] = upgrade_message(true);
+ $ret['message'] = upgrade_message(true).sprintf(t("You have reached your limit of %1$.0f Mbytes attachment storage."),$limit / 1024000);
@unlink($src);
return $ret;
}
@@ -439,4 +440,64 @@ function attach_store($channel,$observer_hash,$options = '',$arr = null) {
$ret['success'] = true;
$ret['data'] = $r[0];
return $ret;
+}
+
+
+/**
+ * Read a virtual directory and return contents, checking permissions of all parent components.
+ * @function z_readdir
+ * @param integer $channel_id
+ * @param string $observer_hash
+ * @param string $pathname
+ * @param string $parent_hash (optional)
+ *
+ * @returns array $ret
+ * $ret['success'] = boolean true or false
+ * $ret['message'] = error message if success is false
+ * $ret['data'] = array of attach DB entries without data component
+ */
+
+function z_readdir($channel_id,$observer_hash,$pathname, $parent_hash = '') {
+
+ $ret = array('success' => false);
+ if(! perm_is_allowed($r[0]['uid'],get_observer_hash(),'view_storage')) {
+ $ret['message'] = t('Permission denied.');
+ return $ret;
+ }
+
+
+ if(strpos($pathname,'/')) {
+ $paths = explode('/',$pathname);
+ if(count($paths) > 1) {
+ $curpath = array_shift($paths);
+
+ $r = q("select hash, id from attach where uid = %d and filename = '%s' and (flags & %d ) " . permissions_sql($channel_id) . " limit 1",
+ intval($channel_id),
+ dbesc($curpath),
+ intval(ATTACH_FLAG_DIR)
+ );
+ if(! $r) {
+ $ret['message'] = t('Path not available.');
+ return $ret;
+ }
+
+ return z_readdir($channel_id,$observer_hash,implode('/',$paths),$r[0]['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),
+ intval($channel_id),
+ dbesc($parent_hash),
+ dbesc($paths[0]),
+ intval(ATTACH_FLAG_DIR)
+ );
+ if(! $r) {
+ $ret['message'] = t('Path not available.');
+ return $ret;
+ }
+ $ret['success'] = true;
+ $ret['data'] = $r;
+ return $ret;
} \ No newline at end of file
diff --git a/include/auth.php b/include/auth.php
index 14751f5a2..d04ebbe43 100644
--- a/include/auth.php
+++ b/include/auth.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('include/security.php');
@@ -14,7 +14,8 @@ function nuke_session() {
unset($_SESSION['administrator']);
unset($_SESSION['cid']);
unset($_SESSION['theme']);
- unset($_SESSION['mobile-theme']);
+ unset($_SESSION['mobile_theme']);
+ unset($_SESSION['show_mobile']);
unset($_SESSION['page_flags']);
unset($_SESSION['submanage']);
unset($_SESSION['my_url']);
@@ -67,6 +68,21 @@ if((isset($_SESSION)) && (x($_SESSION,'authenticated')) && ((! (x($_POST,'auth-p
}
if(x($_SESSION,'visitor_id') && (! x($_SESSION,'uid'))) {
+ // if our authenticated guest is allowed to take control of the admin channel, make it so.
+ $admins = get_config('system','remote_admin');
+ if($admins && is_array($admins) && in_array($_SESSION['visitor_id'],$admins)) {
+ $x = q("select * from account where account_email = '%s' and account_email != '' and ( account_flags & %d ) limit 1",
+ dbesc(get_config('system','admin_email')),
+ intval(ACCOUNT_ROLE_ADMIN)
+ );
+ if($x) {
+ new_cookie(60*60*24); // one day
+ $_SESSION['last_login_date'] = datetime_convert();
+ unset($_SESSION['visitor_id']); // no longer a visitor
+ authenticate_success($x[0], true, true);
+ }
+ }
+
$r = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash where hubloc_hash = '%s' limit 1",
dbesc($_SESSION['visitor_id'])
);
@@ -198,13 +214,3 @@ else {
authenticate_success($record, true, true);
}
}
-
-
-function new_cookie($time) {
- $old_sid = session_id();
- session_set_cookie_params("$time");
- session_regenerate_id(false);
-
- q("UPDATE session SET sid = '%s' WHERE sid = '%s'", dbesc(session_id()), dbesc($old_sid));
-}
-
diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php
index ee070b4fe..8d3089a29 100644
--- a/include/bb2diaspora.php
+++ b/include/bb2diaspora.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once("include/oembed.php");
require_once("include/event.php");
diff --git a/include/bbcode.php b/include/bbcode.php
index d43929ef5..997cbac2e 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once("include/oembed.php");
require_once('include/event.php');
@@ -91,7 +91,7 @@ function bb_replace_images($body, $images) {
// 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 src="' . $image .'" alt="' . t('Image/photo') . '" />', $newbody);
+ $newbody = str_replace('[$#saved_image' . $cnt . '#$]', '<img class="zrl" src="' . $image .'" alt="' . t('Image/photo') . '" />', $newbody);
$cnt++;
}
@@ -99,13 +99,90 @@ function bb_replace_images($body, $images) {
}}
+function bb_ShareAttributes($match) {
+
+ $attributes = $match[1];
+
+ $author = "";
+ preg_match("/author='(.*?)'/ism", $attributes, $matches);
+ if ($matches[1] != "")
+ $author = urldecode($matches[1]);
+
+ $link = "";
+ preg_match("/link='(.*?)'/ism", $attributes, $matches);
+ if ($matches[1] != "")
+ $link = $matches[1];
+
+ $avatar = "";
+ preg_match("/avatar='(.*?)'/ism", $attributes, $matches);
+ if ($matches[1] != "")
+ $avatar = $matches[1];
+
+ $profile = "";
+ preg_match("/profile='(.*?)'/ism", $attributes, $matches);
+ if ($matches[1] != "")
+ $profile = $matches[1];
+
+ $posted = "";
+ preg_match("/posted='(.*?)'/ism", $attributes, $matches);
+ if ($matches[1] != "")
+ $posted = $matches[1];
+
+ // FIXME - this should really be a wall-item-ago so it will get updated on the client
+ $reldate = (($posted) ? relative_date($posted) : '');
+
+ $headline = '<div class="shared_header">';
+
+ if ($avatar != "")
+ $headline .= '<img src="' . $avatar . '" alt="' . $author . '" height="32" width="32" />';
+
+ // Bob Smith wrote the following post 2 hours ago
+
+ $fmt = sprintf( t('%1$s wrote the following %2$s %3$s'),
+ '<a href="' . zid($profile) . '" >' . $author . '</a>',
+ '<a href="' . zid($link) . '" >' . t('post') . '</a>',
+ $reldate
+ );
+
+ $headline .= '<span>' . $fmt . '</span></div>';
+
+ $text = $headline . '<div class="reshared-content">' . trim($match[2]) . '</div>';
+
+ return($text);
+}
+
+function bb_ShareAttributesSimple($match) {
+
+ $attributes = $match[1];
+
+ $author = "";
+ preg_match("/author='(.*?)'/ism", $attributes, $matches);
+ if ($matches[1] != "")
+ $author = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8');
+
+ preg_match('/author="(.*?)"/ism', $attributes, $matches);
+ if ($matches[1] != "")
+ $author = $matches[1];
+
+ $profile = "";
+ preg_match("/profile='(.*?)'/ism", $attributes, $matches);
+ if ($matches[1] != "")
+ $profile = $matches[1];
+
+ preg_match('/profile="(.*?)"/ism', $attributes, $matches);
+ if ($matches[1] != "")
+ $profile = $matches[1];
+
+ $text = "<br />".html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8').' <a href="'.$profile.'">'.$author."</a>: div class=\"reshared-content\">" .$match[2]."</div>";
+
+ return($text);
+}
// BBcode 2 HTML was written by WAY2WEB.net
- // extended to work with Mistpark/Friendica - Mike Macgirvin
+ // extended to work with Mistpark/Friendica/Red - Mike Macgirvin
function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
-
$a = get_app();
// Extract the private images which use data url's since preg has issues with
@@ -122,10 +199,15 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = preg_replace("/(\s*)\[\/(\w*)\]/ism", '[/$2]$1', $Text);
// Hide all [noparse] contained bbtags by spacefying them
-
- $Text = preg_replace_callback("/\[noparse\](.*?)\[\/noparse\]/ism", 'bb_spacefy',$Text);
- $Text = preg_replace_callback("/\[nobb\](.*?)\[\/nobb\]/ism", 'bb_spacefy',$Text);
- $Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_spacefy',$Text);
+ if (strpos($Text,'[noparse]') !== false) {
+ $Text = preg_replace_callback("/\[noparse\](.*?)\[\/noparse\]/ism", 'bb_spacefy',$Text);
+ }
+ if (strpos($Text,'[nobb]') !== false) {
+ $Text = preg_replace_callback("/\[nobb\](.*?)\[\/nobb\]/ism", 'bb_spacefy',$Text);
+ }
+ if (strpos($Text,'[pre]') !== false) {
+ $Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_spacefy',$Text);
+ }
@@ -142,9 +224,6 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = str_replace("<", "&lt;", $Text);
$Text = str_replace(">", "&gt;", $Text);
- // This only matters when looking for tags - otherwise has no meaning
-
- $Text = str_replace(array('[share]','[/share]'), array('',''), $Text);
// Convert new line chars to html <br /> tags
@@ -160,6 +239,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = str_replace(array("\n","\r"), array('',''),$Text);
+ $Text = str_replace(array("\t"," "),array("&nbsp;&nbsp;&nbsp;&nbsp;","&nbsp;&nbsp;"),$Text);
// Set up the parameters for a URL search string
$URLSearchString = "^\[\]";
@@ -169,66 +249,84 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// Perform URL Search
- $Text = preg_replace("/([^\]\=]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1<a href="$2" >$2</a>', $Text);
-
- if ($tryoembed)
- $Text = preg_replace_callback("/\[bookmark\=([^\]]*)\].*?\[\/bookmark\]/ism",'tryoembed',$Text);
-
- $Text = preg_replace("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",'[url=$1]$2[/url]',$Text);
-
- if ($tryoembed)
- $Text = preg_replace_callback("/\[url\]([$URLSearchString]*)\[\/url\]/ism",'tryoembed',$Text);
-
- $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '<a href="$1" >$1</a>', $Text);
- $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<a href="$1" >$2</a>', $Text);
- //$Text = preg_replace("/\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[\/url\]/ism", '<a href="$1" target="_blank">$2</a>', $Text);
+ $urlchars = '[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]';
+ if (strpos($Text,'http') !== false) {
+ $Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/$urlchars+)/ism", '$1<a href="$2" >$2</a>', $Text);
+ }
+ if (strpos($Text,'[/share]') !== false) {
+ $Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism","bb_ShareAttributes",$Text);
+ }
+ if($tryoembed) {
+ if (strpos($Text,'[/url]') !== false) {
+ $Text = preg_replace_callback("/\[url\]([$URLSearchString]*)\[\/url\]/ism",'tryoembed',$Text);
+ }
+ }
+ if (strpos($Text,'[/url]') !== false) {
+ $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '<a href="$1" >$1</a>', $Text);
+ $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<a href="$1" >$2</a>', $Text);
+ }
+ if (strpos($Text,'[/zrl]') !== false) {
+ $Text = preg_replace("/\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<a class="zrl" href="$1" >$1</a>', $Text);
+ $Text = preg_replace("/\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<a class="zrl" href="$1" >$2</a>', $Text);
+ }
// Perform MAIL Search
- $Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1">$1</a>', $Text);
- $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text);
-
+ if (strpos($Text,'[/mail]') !== false) {
+ $Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1">$1</a>', $Text);
+ $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text);
+ }
// Check for bold text
- $Text = preg_replace("(\[b\](.*?)\[\/b\])ism",'<strong>$1</strong>',$Text);
-
+ if (strpos($Text,'[b]') !== false) {
+ $Text = preg_replace("(\[b\](.*?)\[\/b\])ism",'<strong>$1</strong>',$Text);
+ }
// Check for Italics text
- $Text = preg_replace("(\[i\](.*?)\[\/i\])ism",'<em>$1</em>',$Text);
-
+ if (strpos($Text,'[i]') !== false) {
+ $Text = preg_replace("(\[i\](.*?)\[\/i\])ism",'<em>$1</em>',$Text);
+ }
// Check for Underline text
- $Text = preg_replace("(\[u\](.*?)\[\/u\])ism",'<u>$1</u>',$Text);
-
+ if (strpos($Text,'[u]') !== false) {
+ $Text = preg_replace("(\[u\](.*?)\[\/u\])ism",'<u>$1</u>',$Text);
+ }
// Check for strike-through text
- $Text = preg_replace("(\[s\](.*?)\[\/s\])ism",'<strike>$1</strike>',$Text);
-
+ if (strpos($Text,'[s]') !== false) {
+ $Text = preg_replace("(\[s\](.*?)\[\/s\])ism",'<strike>$1</strike>',$Text);
+ }
// Check for over-line text
- $Text = preg_replace("(\[o\](.*?)\[\/o\])ism",'<span class="overline">$1</span>',$Text);
-
+ if (strpos($Text,'[o]') !== false) {
+ $Text = preg_replace("(\[o\](.*?)\[\/o\])ism",'<span class="overline">$1</span>',$Text);
+ }
// Check for colored text
- $Text = preg_replace("(\[color=(.*?)\](.*?)\[\/color\])ism","<span style=\"color: $1;\">$2</span>",$Text);
-
+ if (strpos($Text,'[/color]') !== false) {
+ $Text = preg_replace("(\[color=(.*?)\](.*?)\[\/color\])ism","<span style=\"color: $1;\">$2</span>",$Text);
+ }
// Check for sized text
- // [size=50] --> font-size: 50px (with the unit).
- $Text = preg_replace("(\[size=(\d*?)\](.*?)\[\/size\])ism","<span style=\"font-size: $1px;\">$2</span>",$Text);
- $Text = preg_replace("(\[size=(.*?)\](.*?)\[\/size\])ism","<span style=\"font-size: $1;\">$2</span>",$Text);
-
+ // [size=50] --> font-size: 50px (with the unit).
+ if (strpos($Text,'[/size]') !== false) {
+ $Text = preg_replace("(\[size=(\d*?)\](.*?)\[\/size\])ism","<span style=\"font-size: $1px;\">$2</span>",$Text);
+ $Text = preg_replace("(\[size=(.*?)\](.*?)\[\/size\])ism","<span style=\"font-size: $1;\">$2</span>",$Text);
+ }
// Check for centered text
+ if (strpos($Text,'[/center]') !== false) {
$Text = preg_replace("(\[center\](.*?)\[\/center\])ism","<div style=\"text-align:center;\">$1</div>",$Text);
-
+ }
// Check for list text
$Text = str_replace("[*]", "<li>", $Text);
// Check for style sheet commands
- $Text = preg_replace("(\[style=(.*?)\](.*?)\[\/style\])ism","<span style=\"$1;\">$2</span>",$Text);
-
+ if (strpos($Text,'[/style]') !== false) {
+ $Text = preg_replace("(\[style=(.*?)\](.*?)\[\/style\])ism","<span style=\"$1;\">$2</span>",$Text);
+ }
// Check for CSS classes
- $Text = preg_replace("(\[class=(.*?)\](.*?)\[\/class\])ism","<span class=\"$1\">$2</span>",$Text);
-
+ if (strpos($Text,'[/class]') !== false) {
+ $Text = preg_replace("(\[class=(.*?)\](.*?)\[\/class\])ism","<span class=\"$1\">$2</span>",$Text);
+ }
// handle nested lists
$endlessloop = 0;
while ((((strpos($Text, "[/list]") !== false) && (strpos($Text, "[list") !== false)) ||
- ((strpos($Text, "[/ol]") !== false) && (strpos($Text, "[ol]") !== false)) ||
- ((strpos($Text, "[/ul]") !== false) && (strpos($Text, "[ul]") !== false)) ||
- ((strpos($Text, "[/li]") !== false) && (strpos($Text, "[li]") !== false))) && (++$endlessloop < 20)) {
+ ((strpos($Text, "[/ol]") !== false) && (strpos($Text, "[ol]") !== false)) ||
+ ((strpos($Text, "[/ul]") !== false) && (strpos($Text, "[ul]") !== false)) ||
+ ((strpos($Text, "[/li]") !== false) && (strpos($Text, "[li]") !== false))) && (++$endlessloop < 20)) {
$Text = preg_replace("/\[list\](.*?)\[\/list\]/ism", '<ul class="listbullet" style="list-style-type: circle;">$1</ul>' ,$Text);
$Text = preg_replace("/\[list=\](.*?)\[\/list\]/ism", '<ul class="listnone" style="list-style-type: none;">$1</ul>' ,$Text);
$Text = preg_replace("/\[list=1\](.*?)\[\/list\]/ism", '<ul class="listdecimal" style="list-style-type: decimal;">$1</ul>' ,$Text);
@@ -240,15 +338,20 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = preg_replace("/\[ol\](.*?)\[\/ol\]/ism", '<ul class="listdecimal" style="list-style-type: decimal;">$1</ul>' ,$Text);
$Text = preg_replace("/\[li\](.*?)\[\/li\]/ism", '<li>$1</li>' ,$Text);
}
-
- $Text = preg_replace("/\[th\](.*?)\[\/th\]/sm", '<th>$1</th>' ,$Text);
- $Text = preg_replace("/\[td\](.*?)\[\/td\]/sm", '<td>$1</td>' ,$Text);
- $Text = preg_replace("/\[tr\](.*?)\[\/tr\]/sm", '<tr>$1</tr>' ,$Text);
- $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);
-
+ if (strpos($Text,'[th]') !== false) {
+ $Text = preg_replace("/\[th\](.*?)\[\/th\]/sm", '<th>$1</th>' ,$Text);
+ }
+ if (strpos($Text,'[td]') !== false) {
+ $Text = preg_replace("/\[td\](.*?)\[\/td\]/sm", '<td>$1</td>' ,$Text);
+ }
+ if (strpos($Text,'[tr]') !== false) {
+ $Text = preg_replace("/\[tr\](.*?)\[\/tr\]/sm", '<tr>$1</tr>' ,$Text);
+ }
+ 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);
+ }
$Text = str_replace('[hr]','<hr />', $Text);
// This is actually executed in prepare_body()
@@ -256,14 +359,16 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = str_replace('[nosmile]','',$Text);
// Check for font change text
- $Text = preg_replace("/\[font=(.*?)\](.*?)\[\/font\]/sm","<span style=\"font-family: $1;\">$2</span>",$Text);
-
+ if (strpos($Text,'[/font]') !== false) {
+ $Text = preg_replace("/\[font=(.*?)\](.*?)\[\/font\]/sm","<span style=\"font-family: $1;\">$2</span>",$Text);
+ }
// Declare the format for [code] layout
$CodeLayout = '<code>$1</code>';
// Check for [code] text
- $Text = preg_replace("/\[code\](.*?)\[\/code\]/ism","$CodeLayout", $Text);
-
+ if (strpos($Text,'[code]') !== false) {
+ $Text = preg_replace("/\[code\](.*?)\[\/code\]/ism","$CodeLayout", $Text);
+ }
// Declare the format for [spoiler] layout
$SpoilerLayout = '<blockquote class="spoiler">$1</blockquote>';
@@ -281,8 +386,8 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$endlessloop = 0;
while ((strpos($Text, "[/spoiler]")!== false) and (strpos($Text, "[spoiler=") !== false) and (++$endlessloop < 20))
$Text = preg_replace("/\[spoiler=[\"\']*(.*?)[\"\']*\](.*?)\[\/spoiler\]/ism",
- "<br /><strong class=".'"spoiler"'.">" . $t_wrote . "</strong><blockquote class=".'"spoiler"'.">$2</blockquote>",
- $Text);
+ "<br /><strong class=".'"spoiler"'.">" . $t_wrote . "</strong><blockquote class=".'"spoiler"'.">$2</blockquote>",
+ $Text);
// Declare the format for [quote] layout
$QuoteLayout = '<blockquote>$1</blockquote>';
@@ -301,71 +406,98 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$endlessloop = 0;
while ((strpos($Text, "[/quote]")!== false) and (strpos($Text, "[quote=") !== false) and (++$endlessloop < 20))
$Text = preg_replace("/\[quote=[\"\']*(.*?)[\"\']*\](.*?)\[\/quote\]/ism",
- "<br /><strong class=".'"author"'.">" . $t_wrote . "</strong><blockquote>$2</blockquote>",
- $Text);
+ "<br /><strong class=".'"author"'.">" . $t_wrote . "</strong><blockquote>$2</blockquote>",
+ $Text);
// [img=widthxheight]image source[/img]
//$Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '<img src="$3" style="height: $2px; width: $1px;" >', $Text);
- $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '<img src="$3" style="width: $1px;" >', $Text);
-
+ if (strpos($Text,'[/img]') !== false) {
+ $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '<img src="$3" style="width: $1px;" >', $Text);
+ }
+ if (strpos($Text,'[/zmg]') !== false) {
+ $Text = preg_replace("/\[zmg\=([0-9]*)x([0-9]*)\](.*?)\[\/zmg\]/ism", '<img class="zrl" src="$3" style="width: $1px;" >', $Text);
+ }
// Images
// [img]pathtoimage[/img]
- $Text = preg_replace("/\[img\](.*?)\[\/img\]/ism", '<img src="$1" alt="' . t('Image/photo') . '" />', $Text);
-
-
- $Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br />', $Text);
- $Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text);
+ if (strpos($Text,'[/img]') !== false) {
+ $Text = preg_replace("/\[img\](.*?)\[\/img\]/ism", '<img src="$1" alt="' . t('Image/photo') . '" />', $Text);
+ }
+ if (strpos($Text,'[/zmg]') !== false) {
+ $Text = preg_replace("/\[zmg\](.*?)\[\/zmg\]/ism", '<img class="zrl" src="$1" alt="' . t('Image/photo') . '" />', $Text);
+ }
+ if (strpos($Text,'[crypt]') !== false) {
+ $Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br />', $Text);
+ $Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text);
+ }
// Try to Oembed
if ($tryoembed) {
- $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);
- $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("/\[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);
+ }
+ if (strpos($Text,'[/audio]') !== false) {
+ $Text = preg_replace_callback("/\[audio\](.*?)\[\/audio\]/ism", 'tryoembed', $Text);
+ }
+ }
- $Text = preg_replace_callback("/\[video\](.*?)\[\/video\]/ism", 'tryoembed', $Text);
- $Text = preg_replace_callback("/\[audio\](.*?)\[\/audio\]/ism", 'tryoembed', $Text);
- } else {
- $Text = preg_replace("/\[video\](.*?)\[\/video\]/", '$1', $Text);
- $Text = preg_replace("/\[audio\](.*?)\[\/audio\]/", '$1', $Text);
+ // if video couldn't be embedded, link to it instead.
+ if (strpos($Text,'[/video]') !== false) {
+ $Text = preg_replace("/\[video\](.*?)\[\/video\]/", '<a href="$1">$1</a>', $Text);
+ }
+ if (strpos($Text,'[/audio]') !== false) {
+ $Text = preg_replace("/\[audio\](.*?)\[\/audio\]/", '<a href="$1">$1</a>', $Text);
}
- // html5 video and audio
+ // html5 video and audio
- if ($tryoembed)
- $Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '<iframe src="$1" width="' . $a->videowidth . '" height="' . $a->videoheight . '"><a href="$1">$1</a></iframe>', $Text);
- else
- $Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '<a href="$1">$1</a>', $Text);
+ if ($tryoembed){
+ if (strpos($Text,'[/iframe]') !== false) {
+ $Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '<iframe src="$1" width="' . $a->videowidth . '" height="' . $a->videoheight . '"><a href="$1">$1</a></iframe>', $Text);
+ }
+ }
+ else {
+ if (strpos($Text,'[/iframe]') !== false) {
+ $Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '<a href="$1">$1</a>', $Text);
+ }
+ }
// Youtube extensions
- if ($tryoembed) {
- $Text = preg_replace_callback("/\[youtube\](https?:\/\/www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
- $Text = preg_replace_callback("/\[youtube\](www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
- $Text = preg_replace_callback("/\[youtube\](https?:\/\/youtu.be\/.*?)\[\/youtube\]/ism",'tryoembed',$Text);
+ if (strpos($Text,'[youtube]') !== false) {
+ if ($tryoembed) {
+ $Text = preg_replace_callback("/\[youtube\](https?:\/\/www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
+ $Text = preg_replace_callback("/\[youtube\](www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
+ $Text = preg_replace_callback("/\[youtube\](https?:\/\/youtu.be\/.*?)\[\/youtube\]/ism",'tryoembed',$Text);
+ }
+ $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
+ $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/embed\/(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
+ $Text = preg_replace("/\[youtube\]https?:\/\/youtu.be\/(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
+
+ if ($tryoembed)
+ $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", '<iframe width="' . $a->videowidth . '" height="' . $a->videoheight . '" src="http://www.youtube.com/embed/$1" frameborder="0" ></iframe>', $Text);
+ else
+ $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", "http://www.youtube.com/watch?v=$1", $Text);
}
+ if (strpos($Text,'[vimeo]') !== false) {
+ if ($tryoembed) {
+ $Text = preg_replace_callback("/\[vimeo\](https?:\/\/player.vimeo.com\/video\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text);
+ $Text = preg_replace_callback("/\[vimeo\](https?:\/\/vimeo.com\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text);
+ }
- $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
- $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/embed\/(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
- $Text = preg_replace("/\[youtube\]https?:\/\/youtu.be\/(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
-
- if ($tryoembed)
- $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", '<iframe width="' . $a->videowidth . '" height="' . $a->videoheight . '" src="http://www.youtube.com/embed/$1" frameborder="0" ></iframe>', $Text);
- else
- $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", "http://www.youtube.com/watch?v=$1", $Text);
-
+ $Text = preg_replace("/\[vimeo\]https?:\/\/player.vimeo.com\/video\/([0-9]+)(.*?)\[\/vimeo\]/ism",'[vimeo]$1[/vimeo]',$Text);
+ $Text = preg_replace("/\[vimeo\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/vimeo\]/ism",'[vimeo]$1[/vimeo]',$Text);
- if ($tryoembed) {
- $Text = preg_replace_callback("/\[vimeo\](https?:\/\/player.vimeo.com\/video\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text);
- $Text = preg_replace_callback("/\[vimeo\](https?:\/\/vimeo.com\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text);
+ if ($tryoembed)
+ $Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism", '<iframe width="' . $a->videowidth . '" height="' . $a->videoheight . '" src="http://player.vimeo.com/video/$1" frameborder="0" ></iframe>', $Text);
+ else
+ $Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism", "http://vimeo.com/$1", $Text);
}
-
- $Text = preg_replace("/\[vimeo\]https?:\/\/player.vimeo.com\/video\/([0-9]+)(.*?)\[\/vimeo\]/ism",'[vimeo]$1[/vimeo]',$Text);
- $Text = preg_replace("/\[vimeo\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/vimeo\]/ism",'[vimeo]$1[/vimeo]',$Text);
-
- if ($tryoembed)
- $Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism", '<iframe width="' . $a->videowidth . '" height="' . $a->videoheight . '" src="http://player.vimeo.com/video/$1" frameborder="0" ></iframe>', $Text);
- else
- $Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism", "http://vimeo.com/$1", $Text);
-
// $Text = preg_replace("/\[youtube\](.*?)\[\/youtube\]/", '<object width="425" height="350" type="application/x-shockwave-flash" data="http://www.youtube.com/v/$1" ><param name="movie" value="http://www.youtube.com/v/$1"></param><!--[if IE]><embed src="http://www.youtube.com/v/$1" type="application/x-shockwave-flash" width="425" height="350" /><![endif]--></object>', $Text);
@@ -393,11 +525,15 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// Unhide all [noparse] contained bbtags unspacefying them
// and triming the [noparse] tag.
-
- $Text = preg_replace_callback("/\[noparse\](.*?)\[\/noparse\]/ism", 'bb_unspacefy_and_trim',$Text);
- $Text = preg_replace_callback("/\[nobb\](.*?)\[\/nobb\]/ism", 'bb_unspacefy_and_trim',$Text);
- $Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_unspacefy_and_trim',$Text);
-
+ if (strpos($Text,'[noparse]') !== false) {
+ $Text = preg_replace_callback("/\[noparse\](.*?)\[\/noparse\]/ism", 'bb_unspacefy_and_trim',$Text);
+ }
+ if (strpos($Text,'[nobb]') !== false) {
+ $Text = preg_replace_callback("/\[nobb\](.*?)\[\/nobb\]/ism", 'bb_unspacefy_and_trim',$Text);
+ }
+ if (strpos($Text,'[pre]') !== false) {
+ $Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_unspacefy_and_trim',$Text);
+ }
$Text = preg_replace('/\[\&amp\;([#a-z0-9]+)\;\]/','&$1;',$Text);
@@ -411,22 +547,22 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// Clean up the HTML by loading and saving the HTML with the DOM
// Only do it when it has to be done - for performance reasons
- if (!$tryoembed) {
- $doc = new DOMDocument();
- $doc->preserveWhiteSpace = false;
+// if (!$tryoembed) {//
+// $doc = new DOMDocument();
+// $doc->preserveWhiteSpace = false;
- $Text = mb_convert_encoding($Text, 'HTML-ENTITIES', "UTF-8");
+// $Text = mb_convert_encoding($Text, 'HTML-ENTITIES', "UTF-8");
- $doctype = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">';
- @$doc->loadHTML($doctype."<html><body>".$Text."</body></html>");
+// $doctype = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">';
+// @$doc->loadHTML($doctype."<html><body>".$Text."</body></html>");
- $Text = $doc->saveHTML();
- $Text = str_replace(array("<html><body>", "</body></html>", $doctype), array("", "", ""), $Text);
+// $Text = $doc->saveHTML();
+// $Text = str_replace(array("<html><body>", "</body></html>", $doctype), array("", "", ""), $Text);
- $Text = str_replace('<br></li>','</li>', $Text);
+// $Text = str_replace('<br></li>','</li>', $Text);
- $Text = mb_convert_encoding($Text, "UTF-8", 'HTML-ENTITIES');
- }
+// $Text = mb_convert_encoding($Text, "UTF-8", 'HTML-ENTITIES');
+// }
call_hooks('bbcode',$Text);
diff --git a/include/cache.php b/include/cache.php
index 567046f7a..b546cd0e9 100644
--- a/include/cache.php
+++ b/include/cache.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
/**
* cache api
diff --git a/include/cli_startup.php b/include/cli_startup.php
index d9f6ecb8e..6bd4e7520 100644
--- a/include/cli_startup.php
+++ b/include/cli_startup.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('boot.php');
@@ -14,14 +14,13 @@ function cli_startup() {
if(is_null($db)) {
@include(".htconfig.php");
- require_once("dba.php");
- $db = new dba($db_host, $db_user, $db_pass, $db_data);
- unset($db_host, $db_user, $db_pass, $db_data);
+ require_once('include/dba/dba_driver.php');
+ $db = dba_factory($db_host, $db_port, $db_user, $db_pass, $db_data);
+ unset($db_host, $db_port, $db_user, $db_pass, $db_data);
};
require_once('include/session.php');
- load_config('config');
load_config('system');
$a->set_baseurl(get_config('system','baseurl'));
diff --git a/include/cli_suggest.php b/include/cli_suggest.php
new file mode 100644
index 000000000..321ffd2e0
--- /dev/null
+++ b/include/cli_suggest.php
@@ -0,0 +1,22 @@
+<?php /** @file */
+
+require_once('boot.php');
+require_once('include/cli_startup.php');
+require_once('include/socgraph.php');
+
+
+function cli_suggest_run($argv, $argc){
+
+ cli_startup();
+
+ $a = get_app();
+
+ update_suggestions();
+
+}
+
+if (array_search(__file__,get_included_files())===0){
+ cli_suggest_run($argv,$argc);
+ killme();
+}
+
diff --git a/include/comanche.php b/include/comanche.php
new file mode 100644
index 000000000..56a16fd3b
--- /dev/null
+++ b/include/comanche.php
@@ -0,0 +1,168 @@
+<?php /** @file */
+
+require_once('include/security.php');
+
+// When editing a webpage - a dropdown is needed to select a page layout
+// On submit, the pdl_select value (which is the mid of an item with item_restrict = ITEM_PDL) is stored in
+// the webpage's resource_id, with resource_type 'pdl'.
+
+// Then when displaying a webpage, we can see if it has a pdl attached. If not we'll
+// use the default site/page layout.
+
+// If it has a pdl we'll load it as we know the mid and pass the body through comanche_parser() which will generate the
+// page layout from the given description
+
+
+function pdl_selector($uid,$current="") {
+
+ $o = '';
+
+ $sql_extra = item_permissions_sql($uid);
+
+ $r = q("select item_id.*, mid from item_id left join item on iid = item.id where item_id.uid = %d and item_id.uid = item.uid and service = 'PDL' order by sid asc",
+ intval($owner)
+ );
+
+ $arr = array('channel_id' => $uid, 'current' => $current, 'entries' => $r);
+ call_hooks('pdl_selector',$arr);
+
+ $entries = $arr['entries'];
+ $current = $arr['current'];
+
+ $o .= "<select name=\"pdl_select\" id=\"pdl_select\" size=\"1\" >";
+ $entries[] = array('title' => t('Default'), 'mid' => '');
+ foreach($entries as $selection) {
+ $selected = (($selection == $current) ? ' selected="selected" ' : '');
+ $o .= "<option value=\"{$selection['mid']}\" $selected >{$selection['sid']}</option>";
+ }
+
+ $o .= '</select>';
+ return $o;
+}
+
+
+
+function comanche_parser(&$a,$s) {
+
+
+ $cnt = preg_match("/\[layout\](.*?)\[\/layout\]/ism", $s, $matches);
+ if($cnt)
+ $a->page['template'] = trim($matches[1]);
+
+ $cnt = preg_match("/\[theme\](.*?)\[\/theme\]/ism", $s, $matches);
+ if($cnt)
+ $a->layout['theme'] = trim($matches[1]);
+
+ $cnt = preg_match_all("/\[region=(.*?)\](.*?)\[\/region\]/ism", $s, $matches, PREG_SET_ORDER);
+ if($cnt) {
+ foreach($matches as $mtch) {
+ $a->layout['region_' . $mtch[1]] = comanche_region($a,$mtch[2]);
+ }
+ }
+
+ $cnt = preg_match_all("/\[webpage\](.*?)\[\/webpage\]/ism", $s, $matches, PREG_SET_ORDER);
+ if($cnt) {
+ // only the last webpage definition is used if there is more than one
+ foreach($matches as $mtch) {
+ $a->layout['webpage'] = comanche_webpage($a,$mtch[1]);
+ }
+ }
+
+}
+
+
+function comanche_menu($name) {
+ $a = get_app();
+ $m = menu_fetch($name,$a->profile['profile_uid'],get_observer_hash());
+ return render_menu($m);
+}
+
+function comanche_replace_region($match) {
+ $a = get_app();
+ if(array_key_exists($match[1],$a->page)) {
+ return $a->page[$match[1]];
+ }
+}
+
+function comanche_block($name) {
+ $o = '';
+ $r = q("select * from item left join item_id on iid = item_id and item_id.uid = item.uid and service = 'BUILDBLOCK' and sid = '%s' limit 1",
+ dbesc($name)
+ );
+ if($r) {
+ $o = '<div class="widget bblock">';
+ if($r[0]['title'])
+ $o .= '<h3>' . $r[0]['title'] . '</h3>';
+ $o .= prepare_text($r[0]['body'],$r[0]['mimetype']);
+ $o .= '</div>';
+
+ }
+ return $o;
+}
+
+// This doesn't really belong in Comanche, but it could also be argued that it is the perfect place.
+// We need to be able to select what kind of template and decoration to use for the webpage at the heart of our content.
+// For now we'll allow an '[authored]' element which defaults to name and date, or 'none' to remove these, and perhaps
+// 'full' to provide a social network style profile photo.
+// But leave it open to have richer templating options and perhaps ultimately discard this one, once we have a better idea
+// of what template and webpage options we might desire.
+
+function comanche_webpage(&$a,$s) {
+
+ $ret = array();
+ $cnt = preg_match_all("/\[authored\](.*?)\[\/authored\]/ism", $s, $matches, PREG_SET_ORDER);
+ if($cnt) {
+ foreach($matches as $mtch) {
+ $ret['authored'] = $mtch[1];
+ }
+ }
+ return $ret;
+}
+
+
+// Widgets will have to get any operational arguments from the session,
+// the global app environment, or config storage until we implement argument passing
+
+
+function comanche_widget($name,$args = null) {
+ $a = get_app();
+ $func = 'widget_' . trim($name);
+ if(function_exists($func))
+ return $func($args);
+}
+
+
+function comanche_region(&$a,$s) {
+
+
+ $cnt = preg_match_all("/\[menu\](.*?)\[\/menu\]/ism", $s, $matches, PREG_SET_ORDER);
+ if($cnt) {
+ foreach($matches as $mtch) {
+ $s = str_replace($mtch[0],comanche_menu(trim($mtch[1])),$s);
+ }
+ }
+ $cnt = preg_match_all("/\[block\](.*?)\[\/block\]/ism", $s, $matches, PREG_SET_ORDER);
+ if($cnt) {
+ foreach($matches as $mtch) {
+ $s = str_replace($mtch[0],comanche_block(trim($mtch[1])),$s);
+ }
+ }
+
+ // need to modify this to accept parameters
+
+ $cnt = preg_match_all("/\[widget\](.*?)\[\/widget\]/ism", $s, $matches, PREG_SET_ORDER);
+ if($cnt) {
+ foreach($matches as $mtch) {
+ $s = str_replace($mtch[0],comanche_widget(trim($mtch[1])),$s);
+ }
+ }
+
+ return $s;
+}
+
+
+function widget_profile($args) {
+ $a = get_app();
+ $block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
+ return profile_sidebar($a->profile, $block, true);
+}
diff --git a/include/config.php b/include/config.php
index 44606e329..38840f5e4 100644
--- a/include/config.php
+++ b/include/config.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
/**
*
@@ -15,24 +15,26 @@
// retrieve a "family" of config variables from database to cached storage
-if(! function_exists('load_config')) {
function load_config($family) {
global $a;
- $r = q("SELECT * FROM `config` WHERE `cat` = '%s'", dbesc($family));
- if(count($r)) {
- foreach($r as $rr) {
- $k = $rr['k'];
- if ($family === 'config') {
- $a->config[$k] = $rr['v'];
- } else {
- $a->config[$family][$k] = $rr['v'];
+
+ if(! array_key_exists($family,$a->config))
+ $a->config[$family] = array();
+
+ if(! array_key_exists('config_loaded',$a->config[$family])) {
+
+ $r = q("SELECT * FROM config WHERE cat = '%s'", dbesc($family));
+ if($r !== false) {
+ if($r) {
+ foreach($r as $rr) {
+ $k = $rr['k'];
+ $a->config[$family][$k] = $rr['v'];
+ }
}
+ $a->config[$family]['config_loaded'] = true;
}
- } else if ($family != 'config') {
- // Negative caching
- $a->config[$family] = "!<unset>!";
- }
-}}
+ }
+}
// get a particular config variable given the family name
// and key. Returns false if not set.
@@ -42,55 +44,50 @@ function load_config($family) {
// local config cache, pull it into the cache so we don't have
// to hit the DB again for this item.
-if(! function_exists('get_config')) {
-function get_config($family, $key, $instore = false) {
+
+function get_config($family, $key) {
global $a;
- if(! $instore) {
- // Looking if the whole family isn't set
- if(isset($a->config[$family])) {
- if($a->config[$family] === '!<unset>!') {
- return false;
- }
- }
+ if((! array_key_exists($family,$a->config)) || (! array_key_exists('config_loaded',$a->config[$family])))
+ load_config($family);
- if(isset($a->config[$family][$key])) {
- if($a->config[$family][$key] === '!<unset>!') {
- return false;
- }
- return $a->config[$family][$key];
+ if(array_key_exists('config_loaded',$a->config[$family])) {
+ if(! array_key_exists($key,$a->config[$family])) {
+ return false;
}
+ return ((preg_match('|^a:[0-9]+:{.*}$|s', $a->config[$family][$key]))
+ ? unserialize($a->config[$family][$key])
+ : $a->config[$family][$key]
+ );
}
- $ret = q("SELECT `v` FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1",
+ return false;
+}
+
+function get_config_from_storage($family,$key) {
+ $ret = q("select * from config where cat = '%s' and k = '%s' limit 1",
dbesc($family),
dbesc($key)
);
- if(count($ret)) {
- // manage array value
- $val = (preg_match("|^a:[0-9]+:{.*}$|s", $ret[0]['v'])?unserialize( $ret[0]['v']):$ret[0]['v']);
- $a->config[$family][$key] = $val;
- return $val;
- }
- else {
- $a->config[$family][$key] = '!<unset>!';
- }
- return false;
-}}
+ return $ret;
+}
+
+
// Store a config value ($value) in the category ($family)
// under the key ($key)
// Return the value, or false if the database update failed
-if(! function_exists('set_config')) {
function set_config($family,$key,$value) {
global $a;
// manage array value
- $dbvalue = (is_array($value)?serialize($value):$value);
- $dbvalue = (is_bool($dbvalue) ? intval($dbvalue) : $dbvalue);
- if(get_config($family,$key,true) === false) {
+ $dbvalue = ((is_array($value)) ? serialize($value) : $value);
+ $dbvalue = ((is_bool($dbvalue)) ? intval($dbvalue) : $dbvalue);
+
+ if(get_config($family,$key) === false || (! get_config_from_storage($family,$key))) {
$a->config[$family][$key] = $value;
- $ret = q("INSERT INTO `config` ( `cat`, `k`, `v` ) VALUES ( '%s', '%s', '%s' ) ",
+
+ $ret = q("INSERT INTO config ( cat, k, v ) VALUES ( '%s', '%s', '%s' ) ",
dbesc($family),
dbesc($key),
dbesc($dbvalue)
@@ -100,7 +97,7 @@ function set_config($family,$key,$value) {
return $ret;
}
- $ret = q("UPDATE `config` SET `v` = '%s' WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1",
+ $ret = q("UPDATE config SET v = '%s' WHERE cat = '%s' AND k = '%s' LIMIT 1",
dbesc($dbvalue),
dbesc($family),
dbesc($key)
@@ -111,129 +108,255 @@ function set_config($family,$key,$value) {
if($ret)
return $value;
return $ret;
-}}
-
+}
-if(! function_exists('load_pconfig')) {
-function load_pconfig($uid,$family) {
+function del_config($family,$key) {
global $a;
- $r = q("SELECT * FROM `pconfig` WHERE `cat` = '%s' AND `uid` = %d",
+ if(array_key_exists($family,$a->config) && array_key_exists($key,$a->config[$family]))
+ unset($a->config[$family][$key]);
+ $ret = q("DELETE FROM config WHERE cat = '%s' AND k = '%s' LIMIT 1",
dbesc($family),
+ dbesc($key)
+ );
+ return $ret;
+}
+
+
+function load_pconfig($uid,$family = '') {
+ global $a;
+
+ if($uid === false)
+ return false;
+
+ if(! array_key_exists($uid,$a->config))
+ $a->config[$uid] = array();
+
+ // family is no longer used - load entire user config
+
+ $r = q("SELECT * FROM `pconfig` WHERE `uid` = %d",
intval($uid)
);
- if(count($r)) {
+
+ if($r) {
foreach($r as $rr) {
$k = $rr['k'];
- $a->config[$uid][$family][$k] = $rr['v'];
+ $c = $rr['cat'];
+ if(! array_key_exists($c,$a->config[$uid])) {
+ $a->config[$uid][$c] = array();
+ $a->config[$uid][$c]['config_loaded'] = true;
+ }
+ $a->config[$uid][$c][$k] = $rr['v'];
}
- } else if ($family != 'config') {
- // Negative caching
- $a->config[$uid][$family] = "!<unset>!";
- }
-}}
+ }
+}
+
-if(! function_exists('get_pconfig')) {
function get_pconfig($uid,$family, $key, $instore = false) {
global $a;
- if(! $instore) {
- // Looking if the whole family isn't set
- if(isset($a->config[$uid][$family])) {
- if($a->config[$uid][$family] === '!<unset>!') {
- return false;
- }
- }
+ if($uid === false)
+ return false;
- if(isset($a->config[$uid][$family][$key])) {
- if($a->config[$uid][$family][$key] === '!<unset>!') {
- return false;
- }
- return $a->config[$uid][$family][$key];
- }
+ if(! array_key_exists($uid,$a->config))
+ load_pconfig($uid);
+
+ if((! array_key_exists($family,$a->config[$uid])) || (! array_key_exists($key,$a->config[$uid][$family])))
+ return false;
+
+ return ((preg_match('|^a:[0-9]+:{.*}$|s', $a->config[$uid][$family][$key]))
+ ? unserialize($a->config[$uid][$family][$key])
+ : $a->config[$uid][$family][$key]
+ );
+}
+
+function set_pconfig($uid,$family,$key,$value) {
+
+ global $a;
+
+
+ // manage array value
+ $dbvalue = ((is_array($value)) ? serialize($value) : $value);
+ $dbvalue = ((is_bool($dbvalue)) ? intval($dbvalue) : $dbvalue);
+
+ if(get_pconfig($uid,$family,$key) === false) {
+ if(! array_key_exists($uid,$a->config))
+ $a->config[$uid] = array();
+ if(! array_key_exists($family,$a->config[$uid]))
+ $a->config[$uid][$family] = array();
+
+ // keep a separate copy for all variables which were
+ // set in the life of this page. We need this to
+ // synchronise channel clones.
+
+ if(! array_key_exists('transient',$a->config[$uid]))
+ $a->config[$uid]['transient'] = array();
+ if(! array_key_exists($family,$a->config[$uid]['transient']))
+ $a->config[$uid]['transient'][$family] = array();
+
+ $a->config[$uid][$family][$key] = $value;
+ $a->config[$uid]['transient'][$family][$key] = $value;
+
+ $ret = q("INSERT INTO pconfig ( uid, cat, k, v ) VALUES ( %d, '%s', '%s', '%s' ) ",
+ intval($uid),
+ dbesc($family),
+ dbesc($key),
+ dbesc($dbvalue)
+ );
+ if($ret)
+ return $value;
+ return $ret;
}
- $ret = q("SELECT `v` FROM `pconfig` WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s' LIMIT 1",
+ $ret = q("UPDATE pconfig SET v = '%s' WHERE uid = %d and cat = '%s' AND k = '%s' LIMIT 1",
+ dbesc($dbvalue),
intval($uid),
dbesc($family),
dbesc($key)
);
- if(count($ret)) {
- $val = (preg_match("|^a:[0-9]+:{.*}$|s", $ret[0]['v'])?unserialize( $ret[0]['v']):$ret[0]['v']);
- $a->config[$uid][$family][$key] = $val;
- return $val;
- }
- else {
- $a->config[$uid][$family][$key] = '!<unset>!';
- }
- return false;
-}}
+ // keep a separate copy for all variables which were
+ // set in the life of this page. We need this to
+ // synchronise channel clones.
-if(! function_exists('del_config')) {
-function del_config($family,$key) {
+ if(! array_key_exists('transient',$a->config[$uid]))
+ $a->config[$uid]['transient'] = array();
+ if(! array_key_exists($family,$a->config[$uid]['transient']))
+ $a->config[$uid]['transient'][$family] = array();
+
+ $a->config[$uid][$family][$key] = $value;
+ $a->config[$uid]['transient'][$family][$key] = $value;
+
+ if($ret)
+ return $value;
+ return $ret;
+}
+
+
+function del_pconfig($uid,$family,$key) {
global $a;
- if(x($a->config[$family],$key))
- unset($a->config[$family][$key]);
- $ret = q("DELETE FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1",
+ if(x($a->config[$uid][$family],$key))
+ unset($a->config[$uid][$family][$key]);
+ $ret = q("DELETE FROM pconfig WHERE uid = %d AND cat = '%s' AND k = '%s' LIMIT 1",
+ intval($uid),
dbesc($family),
dbesc($key)
);
return $ret;
-}}
+}
+
+function load_xconfig($xchan,$family = '') {
+ global $a;
-// Same as above functions except these are for personal config storage and take an
-// additional $uid argument.
+ if(! $xchan)
+ return false;
-if(! function_exists('set_pconfig')) {
-function set_pconfig($uid,$family,$key,$value) {
+ if(! array_key_exists($xchan,$a->config))
+ $a->config[$xchan] = array();
+
+ // family is no longer used. Entire config is loaded
+
+ $r = q("SELECT * FROM `xconfig` WHERE `xchan` = '%s'",
+ dbesc($xchan)
+ );
+
+ if($r) {
+ foreach($r as $rr) {
+ $k = $rr['k'];
+ $c = $rr['cat'];
+ if(! array_key_exists($c,$a->config[$xchan])) {
+ $a->config[$xchan][$c] = array();
+ $a->config[$xchan][$c]['config_loaded'] = true;
+ }
+ $a->config[$xchan][$c][$k] = $rr['v'];
+ }
+ }
+
+}
+
+
+
+
+function get_xconfig($xchan,$family, $key) {
global $a;
- // manage array value
- $dbvalue = (is_array($value)?serialize($value):$value);
+ if(! $xchan)
+ return false;
- if(get_pconfig($uid,$family,$key,true) === false) {
- $a->config[$uid][$family][$key] = $value;
- $ret = q("INSERT INTO `pconfig` ( `uid`, `cat`, `k`, `v` ) VALUES ( %d, '%s', '%s', '%s' ) ",
- intval($uid),
+ if(! array_key_exists($xchan,$a->config))
+ load_xconfig($xchan);
+
+ if((! array_key_exists($family,$a->config[$xchan])) || (! array_key_exists($key,$a->config[$xchan][$family])))
+ return false;
+
+ return ((preg_match('|^a:[0-9]+:{.*}$|s', $a->config[$xchan][$family][$key]))
+ ? unserialize($a->config[$xchan][$family][$key])
+ : $a->config[$xchan][$family][$key]
+ );
+
+}
+
+
+function set_xconfig($xchan,$family,$key,$value) {
+
+ global $a;
+
+ // manage array value
+ $dbvalue = ((is_array($value)) ? serialize($value) : $value);
+ $dbvalue = ((is_bool($dbvalue)) ? intval($dbvalue) : $dbvalue);
+
+ if(get_xconfig($xchan,$family,$key) === false) {
+ if(! array_key_exists($xchan,$a->config))
+ $a->config[$xchan] = array();
+ if(! array_key_exists($family,$a->config[$xchan]))
+ $a->config[$xchan][$family] = array();
+
+ $a->config[$xchan][$family][$key] = $value;
+ $ret = q("INSERT INTO xconfig ( xchan, cat, k, v ) VALUES ( '%s', '%s', '%s', '%s' ) ",
+ dbesc($xchan),
dbesc($family),
dbesc($key),
dbesc($dbvalue)
);
- if($ret)
+ if($ret)
return $value;
return $ret;
}
- $ret = q("UPDATE `pconfig` SET `v` = '%s' WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s' LIMIT 1",
+
+ $ret = q("UPDATE xconfig SET v = '%s' WHERE xchan = '%s' and cat = '%s' AND k = '%s' LIMIT 1",
dbesc($dbvalue),
- intval($uid),
+ dbesc($xchan),
dbesc($family),
dbesc($key)
);
- $a->config[$uid][$family][$key] = $value;
+ $a->config[$xchan][$family][$key] = $value;
if($ret)
return $value;
return $ret;
-}}
-if(! function_exists('del_pconfig')) {
-function del_pconfig($uid,$family,$key) {
+}
+
+
+function del_xconfig($xchan,$family,$key) {
global $a;
- if(x($a->config[$uid][$family],$key))
- unset($a->config[$uid][$family][$key]);
- $ret = q("DELETE FROM `pconfig` WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s' LIMIT 1",
- intval($uid),
+ if(x($a->config[$xchan][$family],$key))
+ unset($a->config[$xchan][$family][$key]);
+ $ret = q("DELETE FROM `xconfig` WHERE `xchan` = '%s' AND `cat` = '%s' AND `k` = '%s' LIMIT 1",
+ dbesc($xchan),
dbesc($family),
dbesc($key)
);
return $ret;
-}}
+}
+
+
+
diff --git a/include/contact_selectors.php b/include/contact_selectors.php
index 76d005305..b56a77937 100644
--- a/include/contact_selectors.php
+++ b/include/contact_selectors.php
@@ -1,21 +1,19 @@
-<?php
+<?php /** @file */
-function contact_profile_assign($current,$foreign_net) {
+function contact_profile_assign($current) {
$o = '';
- $disabled = (($foreign_net) ? ' disabled="true" ' : '');
+ $o .= "<select id=\"contact-profile-selector\" name=\"profile-assign\" />\r\n";
- $o .= "<select id=\"contact-profile-selector\" $disabled name=\"profile-assign\" />\r\n";
+ $r = q("SELECT profile_guid, profile_name FROM `profile` WHERE `uid` = %d",
+ intval($_SESSION['uid']));
- $r = q("SELECT `id`, `profile_name` FROM `profile` WHERE `uid` = %d",
- intval($_SESSION['uid']));
-
- if(count($r)) {
+ if($r) {
foreach($r as $rr) {
- $selected = (($rr['id'] == $current) ? " selected=\"selected\" " : "");
- $o .= "<option value=\"{$rr['id']}\" $selected >{$rr['profile_name']}</option>\r\n";
+ $selected = (($rr['profile_guid'] == $current) ? " selected=\"selected\" " : "");
+ $o .= "<option value=\"{$rr['profile_guid']}\" $selected >{$rr['profile_name']}</option>\r\n";
}
}
$o .= "</select>\r\n";
diff --git a/include/contact_widgets.php b/include/contact_widgets.php
index 54e2ad967..bc7faebc3 100644
--- a/include/contact_widgets.php
+++ b/include/contact_widgets.php
@@ -1,12 +1,27 @@
-<?php
+<?php /** @file */
function follow_widget() {
-
+ $a = get_app();
+ $uid =$a->channel['channel_id'];
+ $r = q("select count(*) as total from abook where abook_channel = %d and not (abook_flags & %d) ",
+ intval($uid),
+ intval(ABOOK_FLAG_SELF)
+ );
+ if($r)
+ $total_channels = $r[0]['total'];
+ $limit = service_class_fetch($uid,'total_channels');
+ if($limit !== false) {
+ $abook_usage_message = sprintf( t("You have %1$.0f of %2$.0f allowed connections."), $total_channels, $limit);
+ }
+ else {
+ $abook_usage_message = '';
+ }
return replace_macros(get_markup_template('follow.tpl'),array(
'$connect' => t('Add New Connection'),
'$desc' => t('Enter the channel address'),
'$hint' => t('Example: bob@example.com, http://example.com/barbara'),
- '$follow' => t('Connect')
+ '$follow' => t('Connect'),
+ '$abook_usage_message' => $abook_usage_message
));
}
@@ -70,15 +85,22 @@ function fileas_widget($baseurl,$selected = '') {
function categories_widget($baseurl,$selected = '') {
+ $a = get_app();
+
if(! feature_enabled($a->profile['profile_uid'],'categories'))
return '';
- $a = get_app();
-
$terms = array();
- $r = q("select distinct(term) from term where uid = %d and type = %d order by term asc",
+ $r = q("select distinct(term.term)
+ from term join item on term.oid = item.id
+ where item.uid = %d
+ and term.uid = item.uid
+ and term.type = %d
+ and item.author_xchan = '%s'
+ order by term.term asc",
intval($a->profile['profile_uid']),
- intval(TERM_CATEGORY)
+ intval(TERM_CATEGORY),
+ dbesc($a->profile['channel_hash'])
);
if($r && count($r)) {
foreach($r as $rr)
diff --git a/include/conversation.php b/include/conversation.php
index 368a0b0df..c3f29295e 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('include/items.php');
@@ -6,7 +6,7 @@ require_once('include/items.php');
// is identical to the code in mod/message.php for 'item_extract_images' and
// 'item_redir_and_replace_images'
-if(! function_exists('item_extract_images')) {
+
function item_extract_images($body) {
$saved_image = array();
@@ -46,9 +46,9 @@ function item_extract_images($body) {
$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;
@@ -81,7 +81,7 @@ function item_redir_and_replace_images($body, $images, $cid) {
}
return $newbody;
-}}
+}
@@ -91,13 +91,15 @@ function item_redir_and_replace_images($body, $images, $cid) {
function localize_item(&$item){
- $extracted = item_extract_images($item['body']);
- if($extracted['images'])
- $item['body'] = item_redir_and_replace_images($extracted['body'], $extracted['images'], $item['contact-id']);
-
if (activity_match($item['verb'],ACTIVITY_LIKE) || activity_match($item['verb'],ACTIVITY_DISLIKE)){
-
- $obj= json_decode($item['object'],true);
+
+ if(! $item['object'])
+ return;
+
+ $obj = json_decode_plus($item['object']);
+ if((! $obj) && ($item['object'])) {
+ logger('localize_item: failed to decode object: ' . print_r($item['object'],true));
+ }
if($obj['author'] && $obj['author']['link'])
$author_link = get_rel_link($obj['author']['link'],'alternate');
@@ -108,32 +110,52 @@ function localize_item(&$item){
$item_url = get_rel_link($obj['link'],'alternate');
+ $Bphoto = '';
+
+ switch($obj['type']) {
+ case ACTIVITY_OBJ_PHOTO:
+ $post_type = t('photo');
+ break;
+ case ACTIVITY_OBJ_EVENT:
+ $post_type = t('event');
+ break;
+ case ACTIVITY_OBJ_PERSON:
+ $post_type = t('channel');
+ $author_name = $obj['title'];
+ if($obj['link']) {
+ $author_link = get_rel_link($obj['link'],'alternate');
+ $Bphoto = get_rel_link($obj['link'],'photo');
+ }
+ break;
+ case ACTIVITY_OBJ_THING:
+ $post_type = $obj['title'];
+ if($obj['owner']) {
+ if(array_key_exists('name',$obj['owner']))
+ $obj['owner']['name'];
+ if(array_key_exists('link',$obj['owner']))
+ $author_link = get_rel_link($obj['owner']['link'],'alternate');
+ }
+ if($obj['link']) {
+ $Bphoto = get_rel_link($obj['link'],'photo');
+ }
+ break;
+
+ case ACTIVITY_OBJ_NOTE:
+ default:
+ $post_type = t('status');
+ if($obj['mid'] != $obj['parent_mid'])
+ $post_type = t('comment');
+ break;
+ }
// If we couldn't parse something useful, don't bother translating.
// We need something better than zid here, probably magic_link(), but it needs writing
if($author_link && $author_name && $item_url) {
-
- $author = '[url=' . chanlink_url($item['author']['xchan_url']) . ']' . $item['author']['xchan_name'] . '[/url]';
- $objauthor = '[url=' . chanlink_url($author_link) . ']' . $author_name . '[/url]';
+ $author = '[zrl=' . chanlink_url($item['author']['xchan_url']) . ']' . $item['author']['xchan_name'] . '[/zrl]';
+ $objauthor = '[zrl=' . chanlink_url($author_link) . ']' . $author_name . '[/zrl]';
- switch($obj->type) {
- case ACTIVITY_OBJ_PHOTO:
- $post_type = t('photo');
- break;
- case ACTIVITY_OBJ_EVENT:
- $post_type = t('event');
- break;
- case ACTIVITY_OBJ_NOTE:
- default:
- if(! ($item_flags & ITEM_THREAD_TOP))
- $post_type = t('comment');
- else
- $post_type = t('status');
- break;
- }
-
- $plink = '[url=' . zid($item_url) . ']' . $post_type . '[/url]';
+ $plink = '[zrl=' . zid($item_url) . ']' . $post_type . '[/zrl]';
if(activity_match($item['verb'],ACTIVITY_LIKE)) {
$bodyverb = t('%1$s likes %2$s\'s %3$s');
@@ -142,20 +164,26 @@ function localize_item(&$item){
$bodyverb = t('%1$s doesn\'t like %2$s\'s %3$s');
}
$item['body'] = $item['localize'] = sprintf($bodyverb, $author, $objauthor, $plink);
+ if($Bphoto != "")
+ $item['body'] .= "\n\n\n" . '[zrl=' . chanlink_url($author_link) . '][zmg=80x80]' . $Bphoto . '[/zmg][/zrl]';
}
+ else {
+ logger('localize_item like failed: link ' . $author_link . ' name ' . $author_name . ' url ' . $item_url);
+ }
}
if (activity_match($item['verb'],ACTIVITY_FRIEND)) {
- if ($item['obj_type']=="" || $item['obj_type']!== ACTIVITY_OBJ_PERSON) return;
+
+// if ($item['obj_type']=="" || $item['obj_type']!== ACTIVITY_OBJ_PERSON) return;
$Aname = $item['author']['xchan_name'];
$Alink = $item['author']['xchan_url'];
- $obj= json_decode($item['object'],true);
+ $obj= json_decode_plus($item['object']);
$Blink = $Bphoto = '';
@@ -166,9 +194,9 @@ function localize_item(&$item){
$Bname = $obj['title'];
- $A = '[url=' . chanlink_url($Alink) . ']' . $Aname . '[/url]';
- $B = '[url=' . chanlink_url($Blink) . ']' . $Bname . '[/url]';
- if ($Bphoto!="") $Bphoto = '[url=' . chanlink_url($Blink) . '][img=80x80]' . $Bphoto . '[/img][/url]';
+ $A = '[zrl=' . chanlink_url($Alink) . ']' . $Aname . '[/zrl]';
+ $B = '[zrl=' . chanlink_url($Blink) . ']' . $Bname . '[/zrl]';
+ if ($Bphoto!="") $Bphoto = '[zrl=' . chanlink_url($Blink) . '][zmg=80x80]' . $Bphoto . '[/zmg][/zrl]';
$item['body'] = $item['localize'] = sprintf( t('%1$s is now connected with %2$s'), $A, $B);
$item['body'] .= "\n\n\n" . $Bphoto;
@@ -184,7 +212,7 @@ function localize_item(&$item){
$Alink = $item['author']['xchan_url'];
- $obj= json_decode($item['object'],true);
+ $obj= json_decode_plus($item['object']);
$Blink = $Bphoto = '';
@@ -194,9 +222,9 @@ function localize_item(&$item){
}
$Bname = $obj['title'];
- $A = '[url=' . chanlink_url($Alink) . ']' . $Aname . '[/url]';
- $B = '[url=' . chanlink_url($Blink) . ']' . $Bname . '[/url]';
- if ($Bphoto!="") $Bphoto = '[url=' . chanlink_url($Blink) . '][img=80x80]' . $Bphoto . '[/img][/url]';
+ $A = '[zrl=' . chanlink_url($Alink) . ']' . $Aname . '[/zrl]';
+ $B = '[zrl=' . chanlink_url($Blink) . ']' . $Bname . '[/zrl]';
+ if ($Bphoto!="") $Bphoto = '[zrl=' . chanlink_url($Blink) . '][zmg=80x80]' . $Bphoto . '[/zmg][/zrl]';
// we can't have a translation string with three positions but no distinguishable text
// So here is the translate string.
@@ -221,7 +249,7 @@ function localize_item(&$item){
$Aname = $item['author']['xchan_name'];
$Alink = $item['author']['xchan_url'];
- $A = '[url=' . chanlink_url($Alink) . ']' . $Aname . '[/url]';
+ $A = '[zrl=' . chanlink_url($Alink) . ']' . $Aname . '[/zrl]';
$txt = t('%1$s is currently %2$s');
@@ -233,13 +261,13 @@ function localize_item(&$item){
if (activity_match($item['verb'],ACTIVITY_TAG)) {
$r = q("SELECT * from `item`,`contact` WHERE
- `item`.`contact-id`=`contact`.`id` AND `item`.`uri`='%s';",
- dbesc($item['parent_uri']));
+ `item`.`contact-id`=`contact`.`id` AND `item`.`mid`='%s';",
+ dbesc($item['parent_mid']));
if(count($r)==0) return;
$obj=$r[0];
- $author = '[url=' . zid($item['author-link']) . ']' . $item['author-name'] . '[/url]';
- $objauthor = '[url=' . zid($obj['author-link']) . ']' . $obj['author-name'] . '[/url]';
+ $author = '[zrl=' . zid($item['author-link']) . ']' . $item['author-name'] . '[/zrl]';
+ $objauthor = '[zrl=' . zid($obj['author-link']) . ']' . $obj['author-name'] . '[/zrl]';
switch($obj['verb']){
case ACTIVITY_POST:
@@ -254,17 +282,17 @@ function localize_item(&$item){
default:
if($obj['resource_id']){
$post_type = t('photo');
- $m=array(); preg_match("/\[url=([^]]*)\]/", $obj['body'], $m);
+ $m=array(); preg_match("/\[[zu]rl=([^]]*)\]/", $obj['body'], $m);
$rr['plink'] = $m[1];
} else {
$post_type = t('status');
}
}
- $plink = '[url=' . $obj['plink'] . ']' . $post_type . '[/url]';
+ $plink = '[zrl=' . $obj['plink'] . ']' . $post_type . '[/zrl]';
$parsedobj = parse_xml_string($xmlhead.$item['object']);
- $tag = sprintf('#[url=%s]%s[/url]', $parsedobj->id, $parsedobj->content);
+ $tag = sprintf('#[zrl=%s]%s[/zrl]', $parsedobj->id, $parsedobj->content);
$item['body'] = sprintf( t('%1$s tagged %2$s\'s %3$s with %4$s'), $author, $objauthor, $plink, $tag );
}
@@ -281,7 +309,7 @@ function localize_item(&$item){
$obj = parse_xml_string($xmlhead.$item['object']);
if(strlen($obj->id)) {
- $r = q("select * from item where uri = '%s' and uid = %d limit 1",
+ $r = q("select * from item where mid = '%s' and uid = %d limit 1",
dbesc($obj->id),
intval($item['uid'])
);
@@ -289,9 +317,9 @@ function localize_item(&$item){
$target = $r[0];
$Bname = $target['author-name'];
$Blink = $target['author-link'];
- $A = '[url=' . zid($Alink) . ']' . $Aname . '[/url]';
- $B = '[url=' . zid($Blink) . ']' . $Bname . '[/url]';
- $P = '[url=' . $target['plink'] . ']' . t('post/item') . '[/url]';
+ $A = '[zrl=' . zid($Alink) . ']' . $Aname . '[/zrl]';
+ $B = '[zrl=' . zid($Blink) . ']' . $Bname . '[/zrl]';
+ $P = '[zrl=' . $target['plink'] . ']' . t('post/item') . '[/zrl]';
$item['body'] = sprintf( t('%1$s marked %2$s\'s %3$s as favorite'), $A, $B, $P)."\n";
}
@@ -299,25 +327,26 @@ function localize_item(&$item){
}
*/
+/*
$matches = null;
- if(strpos($item['body'],'[url') !== false) {
- if(preg_match_all('/@\[url=(.*?)\]/is',$item['body'],$matches,PREG_SET_ORDER)) {
+ if(strpos($item['body'],'[zrl') !== false) {
+ if(preg_match_all('/@\[zrl=(.*?)\]/is',$item['body'],$matches,PREG_SET_ORDER)) {
foreach($matches as $mtch) {
if(! strpos($mtch[1],'zid='))
- $item['body'] = str_replace($mtch[0],'@[url=' . zid($mtch[1]). ']',$item['body']);
+ $item['body'] = str_replace($mtch[0],'@[zrl=' . zid($mtch[1]). ']',$item['body']);
}
}
}
- if(strpos($item['body'],'[img') !== false) {
+ if(strpos($item['body'],'[zmg') !== false) {
// add zid's to public images
- if(preg_match_all('/\[url=(.*?)\/photos\/(.*?)\/image\/(.*?)\]\[img(.*?)\]h(.*?)\[\/img\]\[\/url\]/is',$item['body'],$matches,PREG_SET_ORDER)) {
+ if(preg_match_all('/\[zrl=(.*?)\/photos\/(.*?)\/image\/(.*?)\]\[zmg(.*?)\]h(.*?)\[\/zmg\]\[\/zrl\]/is',$item['body'],$matches,PREG_SET_ORDER)) {
foreach($matches as $mtch) {
- $item['body'] = str_replace($mtch[0],'[url=' . zid( $mtch[1] . '/photos/' . $mtch[2] . '/image/' . $mtch[3]) . '][img' . $mtch[4] . ']h' . $mtch[5] . '[/img][/url]',$item['body']);
+ $item['body'] = str_replace($mtch[0],'[zrl=' . zid( $mtch[1] . '/photos/' . $mtch[2] . '/image/' . $mtch[3]) . '][zmg' . $mtch[4] . ']h' . $mtch[5] . '[/zmg][/zrl]',$item['body']);
}
}
}
-
+*/
// add sparkle links to appropriate permalinks
// $x = stristr($item['plink'],'/display/');
@@ -349,7 +378,9 @@ function count_descendants($item) {
function visible_activity($item) {
- if(activity_match($item['verb'],ACTIVITY_LIKE) || activity_match($item['verb'],ACTIVITY_DISLIKE))
+ // likes can apply to other things besides posts. Check if they are post children, in which case we handle them specially
+
+ if((activity_match($item['verb'],ACTIVITY_LIKE) || activity_match($item['verb'],ACTIVITY_DISLIKE)) && ($item['mid'] != $item['parent_mid']))
return false;
return true;
}
@@ -365,15 +396,34 @@ function visible_activity($item) {
*
*/
-if(!function_exists('conversation')) {
+
function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
$tstart = dba_timer();
+ $t0 = $t1 = $t2 = $t3 = $t4 = $t5 = $t6 = null;
+ $content_html = '';
+ $o = '';
require_once('bbcode.php');
$ssl_state = ((local_user()) ? true : false);
+ if(local_user())
+ load_pconfig(local_user(),'');
+
+ $arr_blocked = null;
+
+ if(local_user()) {
+ $str_blocked = get_pconfig(local_user(),'system','blocked');
+ if($str_blocked) {
+ $arr_blocked = explode(',',$str_blocked);
+ for($x = 0; $x < count($arr_blocked); $x ++)
+ $arr_blocked[$x] = trim($arr_blocked[$x]);
+ }
+
+ }
+
+
$profile_owner = 0;
$page_writeable = false;
$live_update_div = '';
@@ -450,10 +500,16 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
}
- else if($mode === 'search') {
+ elseif($mode === 'search') {
$live_update_div = '<div id="live-search"></div>' . "\r\n";
}
-
+ elseif($mode === 'photos') {
+ $profile_onwer = $a->profile['profile_uid'];
+ $page_writeable = ($profile_owner == local_user());
+ $live_update_div = '<div id="live-photos"></div>' . "\r\n";
+ // for photos we've already formatted the top-level item (the photo)
+ $content_html = $a->data['photo_html'];
+ }
$page_dropping = ((local_user() && local_user() == $profile_owner) ? true : false);
@@ -496,10 +552,24 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
// "New Item View" on network page or search page results
// - just loop through the items and format them minimally for display
+
//$tpl = get_markup_template('search_item.tpl');
$tpl = 'search_item.tpl';
foreach($items as $item) {
+
+ if($arr_blocked) {
+ $blocked = false;
+ foreach($arr_blocked as $b) {
+ if(($b) && ($item['author_xchan'] == $b)) {
+ $blocked = true;
+ break;
+ }
+ }
+ if($blocked)
+ continue;
+ }
+
$threadsid++;
$comment = '';
@@ -526,17 +596,6 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
$tags=array();
$hashtags = array();
$mentions = array();
- foreach(explode(',',$item['tag']) as $tag){
- $tag = trim($tag);
- if ($tag!="") {
- $t = bbcode($tag);
- $tags[] = $t;
- if($t[0] == '#')
- $hashtags[] = $t;
- elseif($t[0] == '@')
- $mentions[] = $t;
- }
- }
$sp = false;
$profile_link = best_link_url($item,$sp);
@@ -592,7 +651,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
$tmp_item = array(
'template' => $tpl,
'toplevel' => 'toplevel_item',
- 'tags' => $tags,
+ 'mode' => $mode,
'id' => (($preview) ? 'P0' : $item['item_id']),
'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, $profile_url),
'profile_url' => $profile_link,
@@ -617,7 +676,8 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
'ago' => relative_date($item['created']),
'app' => $item['app'],
'str_app' => sprintf( t(' from %s'), $item['app']),
- 'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'c'),
+ 'isotime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'c'),
+ 'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'),
'location' => $location,
'indent' => '',
'owner_name' => $owner_name,
@@ -632,7 +692,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
'like' => '',
'dislike' => '',
'comment' => '',
- 'conv' => (($preview) ? '' : array('href'=> z_root() . '/display/' . $item['uri'], 'title'=> t('View in context'))),
+ 'conv' => (($preview) ? '' : array('href'=> z_root() . '/display/' . $item['mid'], 'title'=> t('View in context'))),
'previewing' => $previewing,
'wait' => t('Please wait'),
'thread_level' => 1,
@@ -649,13 +709,21 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
}
else
{
+
// Normal View
+// logger('conv: items: ' . print_r($items,true));
require_once('include/ConversationObject.php');
require_once('include/ItemObject.php');
$conv = new Conversation($mode, $preview);
+ // In the display mode we don't have a profile owner.
+
+ if($mode === 'display' && $items)
+ $conv->set_profile_owner($items[0]['uid']);
+
+
// get all the topmost parents
// this shouldn't be needed, as we should have only them in our array
// But for now, this array respects the old style, just in case
@@ -663,6 +731,32 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
$threads = array();
foreach($items as $item) {
+ // Check for any blocked authors
+
+ if($arr_blocked) {
+ $blocked = false;
+ foreach($arr_blocked as $b) {
+ if(($b) && ($item['author_xchan'] == $b)) {
+ $blocked = true;
+ break;
+ }
+ }
+ if($blocked)
+ continue;
+ }
+
+ // Check all the kids too
+
+ if($arr_blocked && $item['children']) {
+ for($d = 0; $d < count($item['children']); $d ++) {
+ foreach($arr_blocked as $b) {
+ if(($b) && ($item['children'][$d]['author_xchan'] == $b))
+ $item['children'][$d]['author_blocked'] = true;
+ }
+ }
+ }
+
+
// Can we put this after the visibility check?
like_puller($a,$item,$alike,'like');
@@ -720,8 +814,9 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
// logger('nouveau: ' . print_r($threads,true));
- $o = replace_macros($page_template, array(
+ $o .= replace_macros($page_template, array(
'$baseurl' => $a->get_baseurl($ssl_state),
+ '$photo_item' => $content_html,
'$live_update' => $live_update_div,
'$remove' => t('remove'),
'$mode' => $mode,
@@ -742,7 +837,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
return $o;
-}}
+}
function best_link_url($item) {
@@ -775,13 +870,19 @@ function best_link_url($item) {
}
-if(! function_exists('item_photo_menu')){
+
function item_photo_menu($item){
$a = get_app();
$contact = null;
$ssl_state = false;
+ $sub_link="";
+ $poke_link="";
+ $contact_url="";
+ $pm_url="";
+ $vsrc_link = "";
+
if(local_user()) {
$ssl_state = true;
if(! count($a->contacts))
@@ -790,14 +891,11 @@ function item_photo_menu($item){
$channel_hash = (($channel) ? $channel['channel_hash'] : '');
}
- $sub_link="";
- $poke_link="";
- $contact_url="";
- $pm_url="";
-
- if((local_user()) && local_user() == $item['uid'] && $item['parent'] == $item['id']
- && $channel && ($channel_hash != $item['author_xchan'])) {
- $sub_link = 'javascript:dosubthread(' . $item['id'] . '); return false;';
+ if((local_user()) && local_user() == $item['uid']) {
+ $vsrc_link = $a->get_baseurl() . '/viewsrc/' . $item['id'];
+ if($item['parent'] == $item['id'] && $channel && ($channel_hash != $item['author_xchan'])) {
+ $sub_link = 'javascript:dosubthread(' . $item['id'] . '); return false;';
+ }
}
$profile_link = z_root() . "/chanview/?f=&hash=" . $item['author_xchan'];
@@ -816,6 +914,7 @@ function item_photo_menu($item){
}
$menu = Array(
+ t("View Source") => $vsrc_link,
t("Follow Thread") => $sub_link,
t("View Status") => $status_link,
t("View Profile") => $profile_link,
@@ -842,9 +941,9 @@ function item_photo_menu($item){
elseif ($v!="") $o .= "<li><a href=\"$v\">$k</a></li>\n";
}
return $o;
-}}
+}
+
-if(! function_exists('like_puller')) {
function like_puller($a,$item,&$arr,$mode) {
$url = '';
@@ -861,7 +960,7 @@ function like_puller($a,$item,&$arr,$mode) {
$url = zid($url);
if(! $item['thr_parent'])
- $item['thr_parent'] = $item['parent_uri'];
+ $item['thr_parent'] = $item['parent_mid'];
if(! ((isset($arr[$item['thr_parent'] . '-l'])) && (is_array($arr[$item['thr_parent'] . '-l']))))
$arr[$item['thr_parent'] . '-l'] = array();
@@ -872,7 +971,7 @@ function like_puller($a,$item,&$arr,$mode) {
$arr[$item['thr_parent'] . '-l'][] = '<a href="'. $url . '"'. $sparkle .'>' . $item['author']['xchan_name'] . '</a>';
}
return;
-}}
+}
// Format the like/dislike text for a profile item
// $cnt = number of people who like/dislike the item
@@ -881,7 +980,7 @@ function like_puller($a,$item,&$arr,$mode) {
// $id = item id
// returns formatted text
-if(! function_exists('format_like')) {
+
function format_like($cnt,$arr,$type,$id) {
$o = '';
if($cnt == 1)
@@ -905,7 +1004,7 @@ function format_like($cnt,$arr,$type,$id) {
$o .= "\t" . '<div id="' . $type . 'list-' . $id . '" style="display: none;" >' . $str . '</div>';
}
return $o;
-}}
+}
function status_editor($a,$x,$popup=false) {
@@ -915,9 +1014,34 @@ function status_editor($a,$x,$popup=false) {
$geotag = (($x['allow_location']) ? replace_macros(get_markup_template('jot_geotag.tpl'), array()) : '');
$plaintext = true;
+
if(feature_enabled(local_user(),'richtext'))
$plaintext = false;
+ $mimeselect = '';
+ if(array_key_exists('mimetype',$x) && $x['mimetype']) {
+ if($x['mimetype'] != 'text/bbcode')
+ $plaintext = true;
+ if($x['mimetype'] === 'choose') {
+ $mimeselect = mimetype_select($x['profile_uid']);
+ }
+ else
+ $mimeselect = '<input type="hidden" name="mimetype" value="' . $x['mimetype'] . '" />';
+ }
+
+ $layoutselect = '';
+ if(array_key_exists('layout',$x) && $x['layout']) {
+ if($x['layout'] === 'choose') {
+ $layoutselect = layout_select($x['profile_uid']);
+ }
+ else
+ $layoutselect = '<input type="hidden" name="layout_mid" value="' . $x['layout'] . '" />';
+ }
+
+
+
+ $webpage = ((x($x,'webpage')) ? $x['webpage'] : '');
+
$tpl = get_markup_template('jot-header.tpl');
$a->page['htmlhead'] .= replace_macros($tpl, array(
@@ -948,6 +1072,9 @@ function status_editor($a,$x,$popup=false) {
'$return_path' => $a->query_string,
'$action' => $a->get_baseurl(true) . '/item',
'$share' => (x($x,'button') ? $x['button'] : t('Share')),
+ '$webpage' => $webpage,
+ '$placeholdpagetitle' => t('Page link title'),
+ '$pagetitle' => (x($x,'pagetitle') ? $x['pagetitle'] : ''),
'$upload' => t('Upload photo'),
'$shortupload' => t('upload photo'),
'$attach' => t('Attach file'),
@@ -964,7 +1091,7 @@ function status_editor($a,$x,$popup=false) {
'$shortnoloc' => t('clear location'),
'$title' => "",
'$placeholdertitle' => t('Set title'),
- '$catsenabled' => ((feature_enabled($x['profile_uid'],'categories')) ? 'categories' : ''),
+ '$catsenabled' => ((feature_enabled($x['profile_uid'],'categories') && (! $webpage)) ? 'categories' : ''),
'$category' => "",
'$placeholdercategory' => t('Categories (comma-separated list)'),
'$wait' => t('Please wait'),
@@ -982,6 +1109,9 @@ function status_editor($a,$x,$popup=false) {
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $x['lockstate'],
'$acl' => $x['acl'],
+ '$mimeselect' => $mimeselect,
+ '$layoutselect' => $layoutselect,
+ '$showacl' => ((array_key_exists('showacl',$x)) ? $x['showacl'] : 'yes'),
'$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'],
'$preview' => ((feature_enabled($x['profile_uid'],'preview')) ? t('Preview') : ''),
@@ -1004,12 +1134,12 @@ function get_item_children($arr, $parent) {
foreach($arr as $item) {
if($item['id'] != $item['parent']) {
if(get_config('system','thread_allow')) {
- // Fallback to parent_uri if thr_parent is not set
+ // Fallback to parent_mid if thr_parent is not set
$thr_parent = $item['thr_parent'];
if($thr_parent == '')
- $thr_parent = $item['parent_uri'];
+ $thr_parent = $item['parent_mid'];
- if($thr_parent == $parent['uri']) {
+ if($thr_parent == $parent['mid']) {
$item['children'] = get_item_children($arr, $item);
$children[] = $item;
}
@@ -1057,6 +1187,9 @@ function conv_sort($arr,$order) {
usort($parents,'sort_thr_created');
elseif(stristr($order,'commented'))
usort($parents,'sort_thr_commented');
+ elseif(stristr($order,'ascending'))
+ usort($parents,'sort_thr_created_rev');
+
if(count($parents))
foreach($parents as $i=>$_x)
@@ -1133,12 +1266,21 @@ function render_location_default($item) {
function prepare_page($item) {
+
+ $a = get_app();
+ $naked = ((get_pconfig($item['uid'],'system','nakedpage')) ? 1 : 0);
+ 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' => $item['author']['xchan_name'],
- '$auth_url' => $item['author']['xchan_url'],
- '$date' => datetime_convert('UTC',date_default_timezone_get(),$item['created'],'Y-m-d H:i'),
+ '$author' => (($naked) ? '' : $item['author']['xchan_name']),
+ '$auth_url' => (($naked) ? '' : $item['author']['xchan_url']),
+ '$date' => (($naked) ? '' : datetime_convert('UTC',date_default_timezone_get(),$item['created'],'Y-m-d H:i')),
'$title' => smilies(bbcode($item['title'])),
- '$body' => smilies(bbcode($item['body']))
+ '$body' => prepare_text($item['body'],$item['mimetype'])
));
}
diff --git a/include/cronhooks.php b/include/cronhooks.php
index 9ff8141c4..a314593d2 100644
--- a/include/cronhooks.php
+++ b/include/cronhooks.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('boot.php');
require_once('include/cli_startup.php');
diff --git a/include/crypto.php b/include/crypto.php
index a646910a1..a0268ef93 100644
--- a/include/crypto.php
+++ b/include/crypto.php
@@ -1,7 +1,4 @@
-<?php
-
-require_once('library/ASNValue.class.php');
-require_once('library/asn1.php');
+<?php /** @file */
function rsa_sign($data,$key,$alg = 'sha256') {
if(! $key)
@@ -20,164 +17,6 @@ function rsa_verify($data,$sig,$key,$alg = 'sha256') {
return $verify;
}
-
-function DerToPem($Der, $Private=false)
-{
- //Encode:
- $Der = base64_encode($Der);
- //Split lines:
- $lines = str_split($Der, 65);
- $body = implode("\n", $lines);
- //Get title:
- $title = $Private? 'RSA PRIVATE KEY' : 'PUBLIC KEY';
- //Add wrapping:
- $result = "-----BEGIN {$title}-----\n";
- $result .= $body . "\n";
- $result .= "-----END {$title}-----\n";
-
- return $result;
-}
-
-function DerToRsa($Der)
-{
- //Encode:
- $Der = base64_encode($Der);
- //Split lines:
- $lines = str_split($Der, 64);
- $body = implode("\n", $lines);
- //Get title:
- $title = 'RSA PUBLIC KEY';
- //Add wrapping:
- $result = "-----BEGIN {$title}-----\n";
- $result .= $body . "\n";
- $result .= "-----END {$title}-----\n";
-
- return $result;
-}
-
-
-function pkcs8_encode($Modulus,$PublicExponent) {
- //Encode key sequence
- $modulus = new ASNValue(ASNValue::TAG_INTEGER);
- $modulus->SetIntBuffer($Modulus);
- $publicExponent = new ASNValue(ASNValue::TAG_INTEGER);
- $publicExponent->SetIntBuffer($PublicExponent);
- $keySequenceItems = array($modulus, $publicExponent);
- $keySequence = new ASNValue(ASNValue::TAG_SEQUENCE);
- $keySequence->SetSequence($keySequenceItems);
- //Encode bit string
- $bitStringValue = $keySequence->Encode();
- $bitStringValue = chr(0x00) . $bitStringValue; //Add unused bits byte
- $bitString = new ASNValue(ASNValue::TAG_BITSTRING);
- $bitString->Value = $bitStringValue;
- //Encode body
- $bodyValue = "\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00" . $bitString->Encode();
- $body = new ASNValue(ASNValue::TAG_SEQUENCE);
- $body->Value = $bodyValue;
- //Get DER encoded public key:
- $PublicDER = $body->Encode();
- return $PublicDER;
-}
-
-
-function pkcs1_encode($Modulus,$PublicExponent) {
- //Encode key sequence
- $modulus = new ASNValue(ASNValue::TAG_INTEGER);
- $modulus->SetIntBuffer($Modulus);
- $publicExponent = new ASNValue(ASNValue::TAG_INTEGER);
- $publicExponent->SetIntBuffer($PublicExponent);
- $keySequenceItems = array($modulus, $publicExponent);
- $keySequence = new ASNValue(ASNValue::TAG_SEQUENCE);
- $keySequence->SetSequence($keySequenceItems);
- //Encode bit string
- $bitStringValue = $keySequence->Encode();
- return $bitStringValue;
-}
-
-
-function metopem($m,$e) {
- $der = pkcs8_encode($m,$e);
- $key = DerToPem($der,false);
- return $key;
-}
-
-
-function pubrsatome($key,&$m,&$e) {
- require_once('library/asn1.php');
-
- $lines = explode("\n",$key);
- unset($lines[0]);
- unset($lines[count($lines)]);
- $x = base64_decode(implode('',$lines));
-
- $r = ASN_BASE::parseASNString($x);
-
- $m = base64url_decode($r[0]->asnData[0]->asnData);
- $e = base64url_decode($r[0]->asnData[1]->asnData);
-}
-
-
-function rsatopem($key) {
- pubrsatome($key,$m,$e);
- return(metopem($m,$e));
-}
-
-function pemtorsa($key) {
- pemtome($key,$m,$e);
- return(metorsa($m,$e));
-}
-
-function pemtome($key,&$m,&$e) {
- $lines = explode("\n",$key);
- unset($lines[0]);
- unset($lines[count($lines)]);
- $x = base64_decode(implode('',$lines));
-
- $r = ASN_BASE::parseASNString($x);
-
- $m = base64url_decode($r[0]->asnData[1]->asnData[0]->asnData[0]->asnData);
- $e = base64url_decode($r[0]->asnData[1]->asnData[0]->asnData[1]->asnData);
-}
-
-function metorsa($m,$e) {
- $der = pkcs1_encode($m,$e);
- $key = DerToRsa($der);
- return $key;
-}
-
-function salmon_key($pubkey) {
- pemtome($pubkey,$m,$e);
- return 'RSA' . '.' . base64url_encode($m,true) . '.' . base64url_encode($e,true) ;
-}
-
-
-
-if(! function_exists('aes_decrypt')) {
-function aes_decrypt($val,$ky)
-{
- $key="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
- for($a=0;$a<strlen($ky);$a++)
- $key[$a%16]=chr(ord($key[$a%16]) ^ ord($ky[$a]));
- $mode = MCRYPT_MODE_ECB;
- $enc = MCRYPT_RIJNDAEL_128;
- $dec = @mcrypt_decrypt($enc, $key, $val, $mode, @mcrypt_create_iv( @mcrypt_get_iv_size($enc, $mode), MCRYPT_DEV_URANDOM ) );
- return rtrim($dec,(( ord(substr($dec,strlen($dec)-1,1))>=0 and ord(substr($dec, strlen($dec)-1,1))<=16)? chr(ord( substr($dec,strlen($dec)-1,1))):null));
-}}
-
-
-if(! function_exists('aes_encrypt')) {
-function aes_encrypt($val,$ky)
-{
- $key="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
- for($a=0;$a<strlen($ky);$a++)
- $key[$a%16]=chr(ord($key[$a%16]) ^ ord($ky[$a]));
- $mode=MCRYPT_MODE_ECB;
- $enc=MCRYPT_RIJNDAEL_128;
- $val=str_pad($val, (16*(floor(strlen($val) / 16)+(strlen($val) % 16==0?2:1))), chr(16-(strlen($val) % 16)));
- return mcrypt_encrypt($enc, $key, $val, $mode, mcrypt_create_iv( mcrypt_get_iv_size($enc, $mode), MCRYPT_DEV_URANDOM));
-}}
-
-
function pkcs5_pad ($text, $blocksize)
{
$pad = $blocksize - (strlen($text) % $blocksize);
@@ -211,11 +50,17 @@ function AES256CBC_decrypt($data,$key,$iv) {
}
function aes_encapsulate($data,$pubkey) {
+ if(! $pubkey)
+ logger('aes_encapsulate: no key. data: ' . $data);
$key = random_string(32,RANDOM_STRING_TEXT);
$iv = random_string(16,RANDOM_STRING_TEXT);
$result['data'] = base64url_encode(AES256CBC_encrypt($data,$key,$iv),true);
- openssl_public_encrypt($key,$k,$pubkey);
- $result['key'] = base64url_encode($k,true);
+ // log the offending call so we can track it down
+ if(! openssl_public_encrypt($key,$k,$pubkey)) {
+ $x = debug_backtrace();
+ logger('aes_encapsulate: RSA failed. ' . print_r($x[0],true));
+ }
+ $result['key'] = base64url_encode($k,true);
openssl_public_encrypt($iv,$i,$pubkey);
$result['iv'] = base64url_encode($i,true);
return $result;
diff --git a/include/datetime.php b/include/datetime.php
index a573e43a2..94c2e4f1c 100644
--- a/include/datetime.php
+++ b/include/datetime.php
@@ -1,8 +1,8 @@
-<?php
+<?php /** @file */
// two-level sort for timezones.
-if(! function_exists('timezone_cmp')) {
+
function timezone_cmp($a, $b) {
if(strstr($a,'/') && strstr($b,'/')) {
if ( t($a) == t($b)) return 0;
@@ -12,10 +12,10 @@ function timezone_cmp($a, $b) {
if(strstr($b,'/')) return 1;
if ( t($a) == t($b)) return 0;
return ( t($a) < t($b)) ? -1 : 1;
-}}
+}
// emit a timezone selector grouped (primarily) by continent
-if(! function_exists('select_timezone')) {
+
function select_timezone($current = 'America/Los_Angeles') {
$timezone_identifiers = DateTimeZone::listIdentifiers();
@@ -52,13 +52,13 @@ function select_timezone($current = 'America/Los_Angeles') {
}
$o .= '</optgroup></select>';
return $o;
-}}
+}
// return a select using 'field_select_raw' template, with timezones
// groupped (primarily) by continent
// arguments follow convetion as other field_* template array:
// 'name', 'label', $value, 'help'
-if (!function_exists('field_timezone')){
+
function field_timezone($name='timezone', $label='', $current = 'America/Los_Angeles', $help){
$options = select_timezone($current);
$options = str_replace('<select id="timezone_select" name="timezone">','', $options);
@@ -69,7 +69,7 @@ function field_timezone($name='timezone', $label='', $current = 'America/Los_Ang
'$field' => array($name, $label, $current, $help, $options),
));
-}}
+}
// General purpose date parse/convert function.
// $from = source timezone
@@ -77,7 +77,7 @@ function field_timezone($name='timezone', $label='', $current = 'America/Los_Ang
// $s = some parseable date/time string
// $fmt = output format
-if(! function_exists('datetime_convert')) {
+
function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d H:i:s") {
// Defaults to UTC if nothing is set, but throws an exception if set to empty string.
@@ -124,7 +124,7 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d
$d->setTimeZone($to_obj);
return($d->format($fmt));
-}}
+}
// wrapper for date selector, tailored for use in birthday fields
@@ -180,7 +180,7 @@ function datesel_format($f) {
// $m = already selected month
// $d = already selected day
-if(! function_exists('datesel')) {
+
function datesel($f,$pre,$ymin,$ymax,$allow_blank,$y,$m,$d) {
$o = '';
@@ -231,9 +231,9 @@ function datesel($f,$pre,$ymin,$ymax,$allow_blank,$y,$m,$d) {
$o .= "</select>";
return $o;
-}}
+}
+
-if(! function_exists('timesel')) {
function timesel($pre,$h,$m) {
$o = '';
@@ -250,7 +250,7 @@ function timesel($pre,$h,$m) {
$o .= "</select>";
return $o;
-}}
+}
@@ -264,7 +264,7 @@ function timesel($pre,$h,$m) {
// Results relative to current timezone
// Limited to range of timestamps
-if(! function_exists('relative_date')) {
+
function relative_date($posted_date,$format = null) {
$localtime = datetime_convert('UTC',date_default_timezone_get(),$posted_date);
@@ -300,7 +300,7 @@ function relative_date($posted_date,$format = null) {
return sprintf( $format,$r, (($r == 1) ? $str[0] : $str[1]));
}
}
-}}
+}
@@ -341,7 +341,7 @@ function age($dob,$owner_tz = '',$viewer_tz = '') {
// $month[1] = 'January';
// to match human usage.
-if(! function_exists('get_dim')) {
+
function get_dim($y,$m) {
$dim = array( 0,
@@ -353,7 +353,7 @@ function get_dim($y,$m) {
if(((($y % 4) == 0) && (($y % 100) != 0)) || (($y % 400) == 0))
return 29;
return $dim[2];
-}}
+}
// Returns the first day in month for a given month, year
@@ -361,11 +361,11 @@ function get_dim($y,$m) {
// returns 0 = Sunday through 6 = Saturday
// Months start at 1.
-if(! function_exists('get_first_dim')) {
+
function get_first_dim($y,$m) {
$d = sprintf('%04d-%02d-01 00:00', intval($y), intval($m));
return datetime_convert('UTC','UTC',$d,'w');
-}}
+}
// output a calendar for the given month, year.
// if $links are provided (array), e.g. $links[12] => 'http://mylink' ,
@@ -376,8 +376,6 @@ function get_first_dim($y,$m) {
// TODO: provide (prev,next) links, define class variations for different size calendars
-
-if(! function_exists('cal')) {
function cal($y = 0,$m = 0, $links = false, $class='') {
@@ -442,6 +440,6 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
$o .= '</tr></table>'."\r\n";
return $o;
-}}
+}
diff --git a/include/dba.php b/include/dba.php
deleted file mode 100644
index d1502af12..000000000
--- a/include/dba.php
+++ /dev/null
@@ -1,289 +0,0 @@
-<?php
-
-require_once('include/datetime.php');
-
-/**
- *
- * MySQL database class
- *
- * For debugging, insert 'dbg(1);' anywhere in the program flow.
- * dbg(0); will turn it off. Logging is performed at LOGGER_DATA level.
- * When logging, all binary info is converted to text and html entities are escaped so that
- * the debugging stream is safe to view within both terminals and web pages.
- *
- */
-
-if(! class_exists('dba')) {
-class dba {
-
- private $debug = 0;
- private $db;
- public $mysqli = true;
- public $connected = false;
- public $error = false;
-
- function __construct($server,$user,$pass,$db,$install = false) {
-
- $server = trim($server);
- $user = trim($user);
- $pass = trim($pass);
- $db = trim($db);
-
- if (!(strlen($server) && strlen($user))){
- $this->connected = false;
- $this->db = null;
- return;
- }
-
- if($install) {
- if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) {
- if(! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) {
- $this->error = sprintf( t('Cannot locate DNS info for database server \'%s\''), $server);
- $this->connected = false;
- $this->db = null;
- return;
- }
- }
- }
-
- if(class_exists('mysqli')) {
- $this->db = @new mysqli($server,$user,$pass,$db);
- if(! mysqli_connect_errno()) {
- $this->connected = true;
- }
- }
- else {
- $this->mysqli = false;
- $this->db = mysql_connect($server,$user,$pass);
- if($this->db && mysql_select_db($db,$this->db)) {
- $this->connected = true;
- }
- }
- if(! $this->connected) {
- $this->db = null;
- if(! $install)
- system_unavailable();
- }
- }
-
- public function getdb() {
- return $this->db;
- }
-
- public function q($sql) {
- global $a;
-
- if((! $this->db) || (! $this->connected))
- return false;
-
- $this->error = '';
-
- if(x($a->config,'system') && x($a->config['system'],'db_log'))
- $stamp1 = microtime(true);
-
- if($this->mysqli)
- $result = @$this->db->query($sql);
- else
- $result = @mysql_query($sql,$this->db);
-
- if(x($a->config,'system') && x($a->config['system'],'db_log')) {
- $stamp2 = microtime(true);
- $duration = round($stamp2-$stamp1, 3);
- if ($duration > $a->config["system"]["db_loglimit"]) {
- $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
- @file_put_contents($a->config["system"]["db_log"], $duration."\t".
- basename($backtrace[1]["file"])."\t".
- $backtrace[1]["line"]."\t".$backtrace[2]["function"]."\t".
- substr($sql, 0, 2000)."\n", FILE_APPEND);
- }
- }
-
- if($this->mysqli) {
- if($this->db->errno)
- $this->error = $this->db->error;
- }
- elseif(mysql_errno($this->db))
- $this->error = mysql_error($this->db);
-
- if(strlen($this->error)) {
- logger('dba: ' . $this->error);
- }
-
- if($this->debug) {
-
- $mesg = '';
-
- if($result === false)
- $mesg = 'false';
- elseif($result === true)
- $mesg = 'true';
- else {
- if($this->mysqli)
- $mesg = $result->num_rows . ' results' . EOL;
- else
- $mesg = mysql_num_rows($result) . ' results' . EOL;
- }
-
- $str = 'SQL = ' . printable($sql) . EOL . 'SQL returned ' . $mesg
- . (($this->error) ? ' error: ' . $this->error : '')
- . EOL;
-
- logger('dba: ' . $str );
- }
-
- /**
- * If dbfail.out exists, we will write any failed calls directly to it,
- * regardless of any logging that may or may nor be in effect.
- * These usually indicate SQL syntax errors that need to be resolved.
- */
-
- if($result === false) {
- logger('dba: ' . printable($sql) . ' returned false.' . "\n" . $this->error);
- if(file_exists('dbfail.out'))
- file_put_contents('dbfail.out', datetime_convert() . "\n" . printable($sql) . ' returned false' . "\n" . $this->error . "\n", FILE_APPEND);
- }
-
- if(($result === true) || ($result === false))
- return $result;
-
- $r = array();
- if($this->mysqli) {
- if($result->num_rows) {
- while($x = $result->fetch_array(MYSQLI_ASSOC))
- $r[] = $x;
- $result->free_result();
- }
- }
- else {
- if(mysql_num_rows($result)) {
- while($x = mysql_fetch_array($result, MYSQL_ASSOC))
- $r[] = $x;
- mysql_free_result($result);
- }
- }
-
-
- if($this->debug)
- logger('dba: ' . printable(print_r($r, true)));
- return($r);
- }
-
- public function dbg($dbg) {
- $this->debug = $dbg;
- }
-
- public function escape($str) {
- if($this->db && $this->connected) {
- if($this->mysqli)
- return @$this->db->real_escape_string($str);
- else
- return @mysql_real_escape_string($str,$this->db);
- }
- }
-
- function __destruct() {
- if ($this->db)
- if($this->mysqli)
- $this->db->close();
- else
- mysql_close($this->db);
- }
-}}
-
-if(! function_exists('printable')) {
-function printable($s) {
- $s = preg_replace("~([\x01-\x08\x0E-\x0F\x10-\x1F\x7F-\xFF])~",".", $s);
- $s = str_replace("\x00",'.',$s);
- if(x($_SERVER,'SERVER_NAME'))
- $s = escape_tags($s);
- return $s;
-}}
-
-// Procedural functions
-if(! function_exists('dbg')) {
-function dbg($state) {
- global $db;
- if($db)
- $db->dbg($state);
-}}
-
-if(! function_exists('dbesc')) {
-function dbesc($str) {
- global $db;
- if($db && $db->connected)
- return($db->escape($str));
- else
- return(str_replace("'","\\'",$str));
-}}
-
-
-
-// Function: q($sql,$args);
-// Description: execute SQL query with printf style args.
-// Example: $r = q("SELECT * FROM `%s` WHERE `uid` = %d",
-// 'user', 1);
-
-if(! function_exists('q')) {
-function q($sql) {
-
- global $db;
- $args = func_get_args();
- unset($args[0]);
-
- if($db && $db->connected) {
- $stmt = vsprintf($sql,$args);
- if($stmt === false)
- logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true));
- return $db->q($stmt);
- }
-
- /**
- *
- * This will happen occasionally trying to store the
- * session data after abnormal program termination
- *
- */
- logger('dba: no database: ' . print_r($args,true));
- return false;
-
-}}
-
-/**
- *
- * Raw db query, no arguments
- *
- */
-
-if(! function_exists('dbq')) {
-function dbq($sql) {
-
- global $db;
- if($db && $db->connected)
- $ret = $db->q($sql);
- else
- $ret = false;
- return $ret;
-}}
-
-
-// Caller is responsible for ensuring that any integer arguments to
-// dbesc_array are actually integers and not malformed strings containing
-// SQL injection vectors. All integer array elements should be specifically
-// cast to int to avoid trouble.
-
-
-if(! function_exists('dbesc_array_cb')) {
-function dbesc_array_cb(&$item, $key) {
- if(is_string($item))
- $item = dbesc($item);
-}}
-
-
-if(! function_exists('dbesc_array')) {
-function dbesc_array(&$arr) {
- if(is_array($arr) && count($arr)) {
- array_walk($arr,'dbesc_array_cb');
- }
-}}
-
-
diff --git a/include/dba/dba_driver.php b/include/dba/dba_driver.php
new file mode 100755
index 000000000..c829c3714
--- /dev/null
+++ b/include/dba/dba_driver.php
@@ -0,0 +1,167 @@
+<?php /** @file */
+
+function dba_factory($server, $port,$user,$pass,$db,$install = false) {
+ $dba = null;
+
+ if(class_exists('mysqli')) {
+ if (is_null($port)) $port = ini_get("mysqli.default_port");
+ require_once('include/dba/dba_mysqli.php');
+ $dba = new dba_mysqli($server, $port,$user,$pass,$db,$install);
+ }
+ else {
+ if (is_null($port)) $port = "3306";
+ require_once('include/dba/dba_mysql.php');
+ $dba = new dba_mysql($server, $port,$user,$pass,$db,$install);
+ }
+
+ return $dba;
+}
+
+
+abstract class dba_driver {
+
+ protected $debug = 0;
+ protected $db;
+ public $connected = false;
+ public $error = false;
+
+ abstract function connect($server, $port, $user,$pass,$db);
+ abstract function q($sql);
+ abstract function escape($str);
+ abstract function close();
+
+ function __construct($server, $port, $user,$pass,$db,$install = false) {
+ if(($install) && (! $this->install($server, $port, $user,$pass,$db))) {
+ return;
+ }
+ $this->connect($server, $port, $user,$pass,$db);
+ }
+
+
+ function install($server,$user,$pass,$db) {
+ if (!(strlen($server) && strlen($user))){
+ $this->connected = false;
+ $this->db = null;
+ return false;
+ }
+
+ if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) {
+ if(! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) {
+ $this->error = sprintf( t('Cannot locate DNS info for database server \'%s\''), $server);
+ $this->connected = false;
+ $this->db = null;
+ return false;
+ }
+ }
+ return true;
+ }
+
+
+ function dbg($dbg) {
+ $this->debug = $dbg;
+ }
+
+ function __destruct() {
+ if($this->db && $this->connected) {
+ $this->close();
+ }
+ }
+
+}
+
+
+
+function printable($s) {
+ $s = preg_replace("~([\x01-\x08\x0E-\x0F\x10-\x1F\x7F-\xFF])~",".", $s);
+ $s = str_replace("\x00",'.',$s);
+ if(x($_SERVER,'SERVER_NAME'))
+ $s = escape_tags($s);
+ return $s;
+}
+
+// Procedural functions
+
+function dbg($state) {
+ global $db;
+ if($db)
+ $db->dbg($state);
+}
+
+
+function dbesc($str) {
+ global $db;
+ if($db && $db->connected)
+ return($db->escape($str));
+ else
+ return(str_replace("'","\\'",$str));
+}
+
+
+
+// Function: q($sql,$args);
+// Description: execute SQL query with printf style args.
+// Example: $r = q("SELECT * FROM `%s` WHERE `uid` = %d",
+// 'user', 1);
+
+
+function q($sql) {
+
+ global $db;
+ $args = func_get_args();
+ unset($args[0]);
+
+ if($db && $db->connected) {
+ $stmt = vsprintf($sql,$args);
+ if($stmt === false)
+ logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true));
+ return $db->q($stmt);
+ }
+
+ /**
+ *
+ * This will happen occasionally trying to store the
+ * session data after abnormal program termination
+ *
+ */
+ logger('dba: no database: ' . print_r($args,true));
+ return false;
+
+}
+
+/**
+ *
+ * Raw db query, no arguments
+ *
+ */
+
+
+function dbq($sql) {
+
+ global $db;
+ if($db && $db->connected)
+ $ret = $db->q($sql);
+ else
+ $ret = false;
+ return $ret;
+}
+
+
+// Caller is responsible for ensuring that any integer arguments to
+// dbesc_array are actually integers and not malformed strings containing
+// SQL injection vectors. All integer array elements should be specifically
+// cast to int to avoid trouble.
+
+
+
+function dbesc_array_cb(&$item, $key) {
+ if(is_string($item))
+ $item = dbesc($item);
+}
+
+
+
+function dbesc_array(&$arr) {
+ if(is_array($arr) && count($arr)) {
+ array_walk($arr,'dbesc_array_cb');
+ }
+}
diff --git a/include/dba/dba_mysql.php b/include/dba/dba_mysql.php
new file mode 100755
index 000000000..f5a2a47ba
--- /dev/null
+++ b/include/dba/dba_mysql.php
@@ -0,0 +1,63 @@
+<?php
+
+require_once('include/dba/dba_driver.php');
+
+
+class dba_mysql extends dba_driver {
+
+ function connect($server, $port, $user,$pass,$db) {
+ $this->db = mysql_connect($server.":".$port,$user,$pass);
+ if($this->db && mysql_select_db($db,$this->db)) {
+ $this->connected = true;
+ }
+ if($this->connected) {
+ return true;
+ }
+ return false;
+ }
+
+
+ function q($sql) {
+ if((! $this->db) || (! $this->connected))
+ return false;
+
+ $this->error = '';
+ $result = @mysql_query($sql,$this->db);
+
+
+ if(mysql_errno($this->db))
+ $this->error = mysql_error($this->db);
+
+ if($result === false || $this->error) {
+ logger('dba_mysql: ' . printable($sql) . ' returned false.' . "\n" . $this->error);
+ if(file_exists('dbfail.out'))
+ file_put_contents('dbfail.out', datetime_convert() . "\n" . printable($sql) . ' returned false' . "\n" . $this->error . "\n", FILE_APPEND);
+ }
+
+ if(($result === true) || ($result === false))
+ return $result;
+
+ $r = array();
+ if(mysql_num_rows($result)) {
+ while($x = mysql_fetch_array($result,MYSQL_ASSOC))
+ $r[] = $x;
+ mysql_free_result($result);
+ if($this->debug)
+ logger('dba_mysql: ' . printable(print_r($r,true)));
+ }
+ return $r;
+ }
+
+ function escape($str) {
+ if($this->db && $this->connected) {
+ return @mysql_real_escape_string($str,$this->db);
+ }
+ }
+
+ function close() {
+ if($this->db)
+ mysql_close($this->db);
+ $this->connected = false;
+ }
+
+}
diff --git a/include/dba/dba_mysqli.php b/include/dba/dba_mysqli.php
new file mode 100755
index 000000000..19907705b
--- /dev/null
+++ b/include/dba/dba_mysqli.php
@@ -0,0 +1,76 @@
+<?php /** @file */
+
+require_once('include/dba/dba_driver.php');
+
+class dba_mysqli extends dba_driver {
+
+ function connect($server, $port, $user,$pass,$db) {
+ if($port)
+ $this->db = new mysqli($server,$user,$pass,$db, $port);
+ else
+ $this->db = new mysqli($server,$user,$pass,$db);
+
+ if(! mysqli_connect_errno()) {
+ $this->connected = true;
+ }
+ if($this->connected) {
+ return true;
+ }
+ $this->error = $this->db->connect_error;
+ return false;
+ }
+
+ function q($sql) {
+ if((! $this->db) || (! $this->connected))
+ return false;
+
+ $this->error = '';
+ $result = $this->db->query($sql);
+
+ if($this->db->errno)
+ $this->error = $this->db->error;
+
+
+ if($this->error) {
+ logger('dba_mysqli: ERROR: ' . printable($sql) . "\n" . $this->error);
+ if(file_exists('dbfail.out')) {
+ file_put_contents('dbfail.out', datetime_convert() . "\n" . printable($sql) . "\n" . $this->error . "\n", FILE_APPEND);
+ }
+ }
+
+ if(($result === true) || ($result === false)) {
+ if($this->debug) {
+ logger('dba_mysqli: DEBUG: returns ' . (($result) ? 'true' : 'false'));
+ }
+ return $result;
+ }
+
+ if($this->debug) {
+ logger('dba_mysqli: DEBUG: ' . printable($sql) . ' returned ' . $result->num_rows . ' results.');
+ }
+
+ $r = array();
+ if($result->num_rows) {
+ while($x = $result->fetch_array(MYSQLI_ASSOC))
+ $r[] = $x;
+ $result->free_result();
+ if($this->debug) {
+ logger('dba_mysqli: ' . printable(print_r($r,true)));
+ }
+ }
+ return $r;
+ }
+
+ function escape($str) {
+ if($this->db && $this->connected) {
+ return @$this->db->real_escape_string($str);
+ }
+ }
+
+ function close() {
+ if($this->db)
+ $this->db->close();
+ $this->connected = false;
+ }
+
+} \ No newline at end of file
diff --git a/include/deliver.php b/include/deliver.php
index 471ea580d..547d009cc 100644
--- a/include/deliver.php
+++ b/include/deliver.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('include/cli_startup.php');
require_once('include/zot.php');
@@ -23,11 +23,14 @@ function deliver_run($argv, $argc) {
if($r[0]['outq_posturl'] === z_root() . '/post') {
// local delivery
// we should probably batch these and save a few delivery processes
- $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);
- $r = q("delete from outq where outq_hash = '%s' limit 1",
- dbesc($argv[$x])
- );
+ // 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);
+ $r = q("delete from outq where outq_hash = '%s' limit 1",
+ dbesc($argv[$x])
+ );
+ }
}
else {
$result = zot_zot($r[0]['outq_posturl'],$r[0]['outq_notify']);
diff --git a/include/dir_fns.php b/include/dir_fns.php
index be1bcd503..0b678fd91 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('include/permissions.php');
@@ -6,11 +6,54 @@ function find_upstream_directory($dirmode) {
return '';
}
+
+function sync_directories($dirmode) {
+
+ if($dirmode == DIRECTORY_MODE_STANDALONE || $dirmode == DIRECTORY_MODE_NORMAL)
+ return;
+
+ $r = q("select * from site where (site_flags & %d) and site_url != '%s'",
+ intval(DIRECTORY_MODE_PRIMARY),
+ dbesc(z_root())
+ );
+
+ // If there are no directory servers, setup the fallback master
+
+ if((! $r) && (z_root() != DIRECTORY_FALLBACK_MASTER)) {
+ $r = array(
+ 'site_url' => DIRECTORY_FALLBACK_MASTER,
+ 'site_flags' => DIRECTORY_MODE_PRIMARY,
+ 'site_update' => '0000-00-00 00:00:00',
+ 'site_directory' => DIRECTORY_FALLBACK_MASTER . '/dirsearch'
+ );
+ $x = q("insert into site ( site_url, site_flags, site_update, site_directory )
+ values ( '%s', %d', '%s', '%s' ) ",
+ dbesc($r[0]['site_url']),
+ intval($r[0]['site_flags']),
+ dbesc($r[0]['site_update']),
+ dbesc($r[0]['site_directory'])
+ );
+
+ }
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
function syncdirs($uid) {
logger('syncdirs', LOGGER_DEBUG);
- $p = q("select channel.channel_hash, profile.* from profile left join channel on channel_id = uid where uid = %d and is_default = 1",
+ $p = q("select channel.channel_hash, channel_timezone, profile.* from profile left join channel on channel_id = uid where uid = %d and is_default = 1",
intval($uid)
);
@@ -21,6 +64,9 @@ function syncdirs($uid) {
$profile['description'] = $p[0]['pdesc'];
$profile['birthday'] = $p[0]['dob'];
+ if($age = age($p[0]['dob'],$p[0]['channel_timezone'],''))
+ $profile['age'] = $age;
+
$profile['gender'] = $p[0]['gender'];
$profile['marital'] = $p[0]['marital'];
$profile['sexual'] = $p[0]['sexual'];
@@ -39,6 +85,30 @@ function syncdirs($uid) {
$profile['keywords'] = $tags;
}
+ $hidden = (1 - intval($p[0]['publish']));
+
+ logger('hidden: ' . $hidden);
+
+ $r = q("select xchan_flags from xchan where xchan_hash = '%s' limit 1",
+ dbesc($p[0]['channel_hash'])
+ );
+
+ // Be careful - XCHAN_FLAGS_HIDDEN should evaluate to 1
+ if(($r[0]['xchan_flags'] & XCHAN_FLAGS_HIDDEN) != $hidden)
+ $new_flags = $r[0]['xchan_flags'] ^ XCHAN_FLAGS_HIDDEN;
+ else
+ $new_flags = $r[0]['xchan_flags'];
+
+ if($new_flags != $r[0]['xchan_flags']) {
+
+ $r = q("update xchan set xchan_flags = %d where xchan_hash = '%s' limit 1",
+ intval($new_flags),
+ dbesc($p[0]['channel_hash'])
+ );
+
+ }
+
+
if(perm_is_allowed($uid,'','view_profile')) {
import_directory_profile($hash,$profile);
diff --git a/include/directory.php b/include/directory.php
index b0b975358..c0a8928c0 100644
--- a/include/directory.php
+++ b/include/directory.php
@@ -1,4 +1,5 @@
-g<?php
+<?php /** @file */
+
require_once('boot.php');
require_once('include/zot.php');
require_once('include/cli_startup.php');
@@ -18,11 +19,6 @@ function directory_run($argv, $argc){
if($dirmode === false)
$dirmode = DIRECTORY_MODE_NORMAL;
- if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) {
- syncdirs($argv[1]);
- return;
- }
-
$x = q("select * from channel where channel_id = %d limit 1",
intval($argv[1])
);
@@ -31,26 +27,34 @@ function directory_run($argv, $argc){
$channel = $x[0];
- // is channel profile visible to the public?
- // FIXME - remove dir entry if permission is revoked
- if(! perm_is_allowed($channel['channel_id'],null,'view_profile'))
+ if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) {
+ syncdirs($argv[1]);
+
+ // Now update all the connections
+ proc_run('php','include/notifier.php','refresh_all',$channel['channel_id']);
return;
+ }
$directory = find_upstream_directory($dirmode);
if($directory) {
- $url = $directory['url'];
+ $url = $directory['url'] . '/post';
}
else {
$url = DIRECTORY_FALLBACK_MASTER . '/post';
}
+ // ensure the upstream directory is updated
+
$packet = zot_build_packet($channel,'refresh');
$z = zot_zot($url,$packet);
-
// re-queue if unsuccessful
+ // Now update all the connections
+
+ proc_run('php','include/notifier.php','refresh_all',$channel['channel_id']);
+
}
if (array_search(__file__,get_included_files())===0){
diff --git a/include/enotify.php b/include/enotify.php
index 32f4cc2e7..b2a4f5856 100644
--- a/include/enotify.php
+++ b/include/enotify.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function notification($params) {
@@ -33,8 +33,8 @@ function notification($params) {
push_lang($recip['account_language']); // should probably have a channel language
- $banner = t('Red Notification');
- $product = FRIENDICA_PLATFORM;
+ $banner = t('Red Matrix Notification');
+ $product = RED_PLATFORM;
$siteurl = $a->get_baseurl(true);
$thanks = t('Thank You,');
$sitename = get_config('system','sitename');
@@ -51,13 +51,26 @@ function notification($params) {
$additional_mail_header = "";
if(array_key_exists('item',$params)) {
- $title = $params['item']['title'];
- $body = $params['item']['body'];
+ // if it's a normal item...
+ if(array_key_exists('verb',$params['item'])) {
+ require_once('include/conversation.php');
+ // localize_item() alters the original item so make a copy first
+ $i = $params['item'];
+ logger('calling localize');
+ localize_item($i);
+ $title = $i['title'];
+ $body = $i['body'];
+ }
+ else {
+ $title = $params['item']['title'];
+ $body = $params['item']['body'];
+ }
}
else {
$title = $body = '';
}
+
// e.g. "your post", "David's photo", etc.
$possess_desc = t('%s <!item_type!>');
@@ -66,7 +79,7 @@ function notification($params) {
$subject = sprintf( t('[Red:Notify] New mail received at %s'),$sitename);
$preamble = sprintf( t('%1$s sent you a new private message at %2$s.'),$sender['xchan_name'],$sitename);
- $epreamble = sprintf( t('%1$s sent you %2$s.'),'[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]', '[url=$itemlink]' . t('a private message') . '[/url]');
+ $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>');
@@ -87,7 +100,7 @@ function notification($params) {
intval($recip['channel_id'])
);
if($p) {
- logger('notification comment already notified');
+ logger('notification: comment already notified');
pop_lang();
return;
}
@@ -108,26 +121,28 @@ function notification($params) {
$item_post_type = item_post_type($p[0]);
+ $private = $p[0]['item_private'];
+
//$possess_desc = str_replace('<!item_type!>',$possess_desc);
// "a post"
- $dest_str = sprintf(t('%1$s commented on [url=%2$s]a %3$s[/url]'),
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $dest_str = sprintf(t('%1$s commented on [zrl=%2$s]a %3$s[/zrl]'),
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$itemlink,
$item_post_type);
// "George Bull's post"
if($p)
- $dest_str = sprintf(t('%1$s commented on [url=%2$s]%3$s\'s %4$s[/url]'),
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $dest_str = sprintf(t('%1$s commented on [zrl=%2$s]%3$s\'s %4$s[/zrl]'),
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$itemlink,
$p[0]['author']['xchan_name'],
$item_post_type);
// "your post"
if($p[0]['owner']['xchan_name'] == $p[0]['author']['xchan_name'] && ($p[0]['item_flags'] & ITEM_WALL))
- $dest_str = sprintf(t('%1$s commented on [url=%2$s]your %3$s[/url]'),
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $dest_str = sprintf(t('%1$s commented on [zrl=%2$s]your %3$s[/zrl]'),
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$itemlink,
$item_post_type);
@@ -151,9 +166,11 @@ function notification($params) {
$preamble = sprintf( t('%1$s posted to your profile wall at %2$s') , $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s posted to [url=%2$s]your wall[/url]') ,
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $epreamble = sprintf( t('%1$s posted to [zrl=%2$s]your wall[/zrl]') ,
+ '[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 );
@@ -162,10 +179,23 @@ function notification($params) {
}
if($params['type'] == NOTIFY_TAGSELF) {
+
+ $p = null;
+ $p = q("select id from notify where link = '%s' and uid = %d limit 1",
+ dbesc($params['link']),
+ intval($recip['channel_id'])
+ );
+ if($p) {
+ logger('enotify: tag: already notified about this post');
+ pop_lang();
+ return;
+ }
+
+
$subject = sprintf( t('[Red:Notify] %s tagged you') , $sender['xchan_name']);
$preamble = sprintf( t('%1$s tagged you at %2$s') , $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s [url=%2$s]tagged you[/url].') ,
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $epreamble = sprintf( t('%1$s [zrl=%2$s]tagged you[/zrl].') ,
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$params['link']);
$sitelink = t('Please visit %s to view and/or reply to the conversation.');
@@ -178,8 +208,8 @@ function notification($params) {
$subject = sprintf( t('[Red:Notify] %1$s poked you') , $sender['xchan_name']);
$preamble = sprintf( t('%1$s poked you at %2$s') , $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s [url=%2$s]poked you[/url].') ,
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $epreamble = sprintf( t('%1$s [zrl=%2$s]poked you[/zrl].') ,
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$params['link']);
$subject = str_replace('poked', t($params['activity']), $subject);
@@ -195,8 +225,8 @@ function notification($params) {
if($params['type'] == NOTIFY_TAGSHARE) {
$subject = sprintf( t('[Red:Notify] %s tagged your post') , $sender['xchan_name']);
$preamble = sprintf( t('%1$s tagged your post at %2$s') , $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s tagged [url=%2$s]your post[/url]') ,
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $epreamble = sprintf( t('%1$s tagged [zrl=%2$s]your post[/zrl]') ,
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$itemlink);
$sitelink = t('Please visit %s to view and/or reply to the conversation.');
@@ -208,9 +238,9 @@ function notification($params) {
if($params['type'] == NOTIFY_INTRO) {
$subject = sprintf( t('[Red:Notify] Introduction received'));
$preamble = sprintf( t('You\'ve received an introduction from \'%1$s\' at %2$s'), $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('You\'ve received [url=%1$s]an introduction[/url] from %2$s.'),
+ $epreamble = sprintf( t('You\'ve received [zrl=%1$s]an introduction[/zrl] from %2$s.'),
$itemlink,
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]');
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]');
$body = sprintf( t('You may visit their profile at %s'),$sender['xchan_url']);
$sitelink = t('Please visit %s to approve or reject the introduction.');
@@ -222,10 +252,10 @@ function notification($params) {
if($params['type'] == NOTIFY_SUGGEST) {
$subject = sprintf( t('[Red:Notify] Friend suggestion received'));
$preamble = sprintf( t('You\'ve received a friend suggestion from \'%1$s\' at %2$s'), $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('You\'ve received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s.'),
+ $epreamble = sprintf( t('You\'ve received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s.'),
$itemlink,
- '[url=' . $params['item']['url'] . ']' . $params['item']['name'] . '[/url]',
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]');
+ '[zrl=' . $params['item']['url'] . ']' . $params['item']['name'] . '[/zrl]',
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]');
$body = t('Name:') . ' ' . $params['item']['name'] . "\n";
$body .= t('Photo:') . ' ' . $params['item']['photo'] . "\n";
@@ -293,9 +323,16 @@ function notification($params) {
$datarray['type'] = $params['type'];
$datarray['verb'] = $params['verb'];
$datarray['otype'] = $params['otype'];
+ $datarray['abort'] = false;
call_hooks('enotify_store', $datarray);
+ if($datarray['abort']) {
+ pop_lang();
+ return;
+ }
+
+
// create notification entry in DB
$r = q("insert into notify (hash,name,url,photo,date,uid,link,parent,type,verb,otype)
@@ -341,10 +378,26 @@ function notification($params) {
logger('notification: sending notification email');
- $textversion = strip_tags(html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r", "\\n"), "\n",
- $body))),ENT_QUOTES,'UTF-8'));
- $htmlversion = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"),
- "<br />\n",$body))));
+
+ $textversion = strip_tags(html_entity_decode(bbcode(stripslashes(str_replace(array("\\r", "\\n"), array( "", "\n"), $body))),ENT_QUOTES,'UTF-8'));
+
+ $htmlversion = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r","\\n"), array("","<br />\n"),$body))), ENT_QUOTES,'UTF-8');
+
+
+ // use $_SESSION['zid_override'] to force zid() to use
+ // the recipient address instead of the current observer
+
+ $_SESSION['zid_override'] = $recip['channel_address'] . '@' . get_app()->get_hostname();
+ $_SESSION['zrl_override'] = z_root() . '/channel/' . $recip['channel_address'];
+
+ $textversion = zidify_links($textversion);
+ $htmlversion = zidify_links($htmlversion);
+
+ // unset when done to revert to normal behaviour
+
+ unset($_SESSION['zid_override']);
+ unset($_SESSION['zrl_override']);
+
$datarray = array();
$datarray['banner'] = $banner;
@@ -370,9 +423,28 @@ function notification($params) {
$datarray['textversion'] = $textversion;
$datarray['subject'] = $subject;
$datarray['headers'] = $additional_mail_header;
+ $datarray['email_secure'] = false;
call_hooks('enotify_mail', $datarray);
+ // Default to private - don't disclose message contents over insecure channels (such as email)
+ // Might be interesting to use GPG,PGP,S/MIME encryption instead
+ // but we'll save that for a clever plugin developer to implement
+
+ if(! $datarray['email_secure']) {
+ switch($params['type']) {
+ case NOTIFY_WALL:
+ case NOTIFY_COMMENT:
+ if(! $private)
+ break;
+ case NOTIFY_MAIL:
+ $datarray['textversion'] = $datarray['htmlversion'] = $datarray['title'] = '';
+ break;
+ default:
+ break;
+ }
+ }
+
// load the template for private message notifications
$tpl = get_markup_template('email_notify_html.tpl');
$email_html_body = replace_macros($tpl,array(
diff --git a/include/event.php b/include/event.php
index 8bf65016f..7873de1ef 100644
--- a/include/event.php
+++ b/include/event.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function format_event_html($ev) {
@@ -45,74 +45,6 @@ function format_event_html($ev) {
return $o;
}
-/*
-function parse_event($h) {
-
- require_once('include/Scrape.php');
- require_once('library/HTMLPurifier.auto.php');
- require_once('include/html2bbcode');
-
- $h = '<html><body>' . $h . '</body></html>';
-
- $ret = array();
-
-
- try {
- $dom = HTML5_Parser::parse($h);
- } catch (DOMException $e) {
- logger('parse_event: parse error: ' . $e);
- }
-
- if(! $dom)
- return $ret;
-
- $items = $dom->getElementsByTagName('*');
-
- foreach($items as $item) {
- if(attribute_contains($item->getAttribute('class'), 'vevent')) {
- $level2 = $item->getElementsByTagName('*');
- foreach($level2 as $x) {
- if(attribute_contains($x->getAttribute('class'),'dtstart') && $x->getAttribute('title')) {
- $ret['start'] = $x->getAttribute('title');
- if(! strpos($ret['start'],'Z'))
- $ret['adjust'] = true;
- }
- if(attribute_contains($x->getAttribute('class'),'dtend') && $x->getAttribute('title'))
- $ret['finish'] = $x->getAttribute('title');
-
- if(attribute_contains($x->getAttribute('class'),'description'))
- $ret['desc'] = $x->textContent;
- if(attribute_contains($x->getAttribute('class'),'location'))
- $ret['location'] = $x->textContent;
- }
- }
- }
-
- // sanitise
-
- if((x($ret,'desc')) && ((strpos($ret['desc'],'<') !== false) || (strpos($ret['desc'],'>') !== false))) {
- $config = HTMLPurifier_Config::createDefault();
- $config->set('Cache.DefinitionImpl', null);
- $purifier = new HTMLPurifier($config);
- $ret['desc'] = html2bbcode($purifier->purify($ret['desc']));
- }
-
- if((x($ret,'location')) && ((strpos($ret['location'],'<') !== false) || (strpos($ret['location'],'>') !== false))) {
- $config = HTMLPurifier_Config::createDefault();
- $config->set('Cache.DefinitionImpl', null);
- $purifier = new HTMLPurifier($config);
- $ret['location'] = html2bbcode($purifier->purify($ret['location']));
- }
-
- if(x($ret,'start'))
- $ret['start'] = datetime_convert('UTC','UTC',$ret['start']);
- if(x($ret,'finish'))
- $ret['finish'] = datetime_convert('UTC','UTC',$ret['finish']);
-
- return $ret;
-}
-*/
-
function format_event_bbcode($ev) {
$o = '';
@@ -237,6 +169,8 @@ function event_store($arr) {
return $r[0]['id'];
}
+ $event_hash = $r[0]['event_hash'];
+
// The event changed. Update it.
$r = q("UPDATE `event` SET
@@ -273,7 +207,7 @@ function event_store($arr) {
);
$r = q("SELECT * FROM item left join xchan on author_xchan = xchan_hash WHERE resource_id = '%s' AND resource_type = 'event' and uid = %d LIMIT 1",
- intval($r[0]['event_hash']),
+ dbesc($event_hash),
intval($arr['uid'])
);
@@ -328,11 +262,11 @@ function event_store($arr) {
$hash = random_string();
- if(! $arr['uri'])
- $arr['uri'] = item_message_id();
+ if(! $arr['mid'])
+ $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, `desc`,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']),
@@ -382,8 +316,8 @@ function event_store($arr) {
$item_arr['uid'] = $arr['uid'];
$item_arr['author_xchan'] = $arr['event_xchan'];
- $item_arr['uri'] = $arr['uri'];
- $item_arr['parent_uri'] = $arr['uri'];
+ $item_arr['mid'] = $arr['mid'];
+ $item_arr['parent_mid'] = $arr['mid'];
$item_arr['item_flags'] = $item_flags;
@@ -426,7 +360,8 @@ function event_store($arr) {
}
- $item_id = item_store($item_arr);
+ $res = item_store($item_arr);
+ $item_id = $res['item_id'];
call_hooks("event_created", $event['id']);
diff --git a/include/expire.php b/include/expire.php
index 3a914a41d..f1002b890 100644
--- a/include/expire.php
+++ b/include/expire.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('boot.php');
require_once('include/cli_startup.php');
diff --git a/include/fcontact.php b/include/fcontact.php
deleted file mode 100644
index 8821a985f..000000000
--- a/include/fcontact.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-
-
-function fcontact_store($url,$name,$photo) {
-
- $nurl = str_replace(array('https:','//www.'), array('http:','//'), $url);
-
- $r = q("SELECT `id` FROM `fcontact` WHERE `url` = '%s' LIMIT 1",
- dbesc($nurl)
- );
-
- if(count($r))
- return $r[0]['id'];
-
- $r = q("INSERT INTO `fcontact` ( `url`, `name`, `photo` ) VALUES ( '%s', '%s', '%s' ) ",
- dbesc($nurl),
- dbesc($name),
- dbesc($photo)
- );
-
- if($r) {
- $r = q("SELECT `id` FROM `fcontact` WHERE `url` = '%s' LIMIT 1",
- dbesc($nurl)
- );
- if(count($r))
- return $r[0]['id'];
- }
-
- return 0;
-}
-
-function ffinder_store($uid,$cid,$fid) {
- $r = q("INSERT INTO `ffinder` ( `uid`, `cid`, `fid` ) VALUES ( %d, %d, %d ) ",
- intval($uid),
- intval($cid),
- intval($fid)
- );
- return $r;
-}
-
diff --git a/include/features.php b/include/features.php
index 094e96c78..6272b33ea 100644
--- a/include/features.php
+++ b/include/features.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
/*
* Features management
@@ -19,12 +19,15 @@ function get_features() {
// General
'general' => array(
t('General Features'),
- array('expire', t('Content Expiration'), t('Remove old posts/comments after a period of time')),
+// uncomment when expire is fixed
+// array('expire', t('Content Expiration'), t('Remove old posts/comments after a period of time')),
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('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('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')),
),
// Post composition
@@ -55,6 +58,7 @@ function get_features() {
array('filing', t('Saved Folders'), t('Ability to file posts under folders')),
array('dislike', t('Dislike Posts'), t('Ability to dislike posts/comments')),
array('star_posts', t('Star Posts'), t('Ability to mark special posts with a star indicator')),
+ array('tagadelic', t('Tag Cloud'), t('Provide a personal tag cloud on your channel page')),
),
);
diff --git a/include/follow.php b/include/follow.php
index a094a979f..10bcddf2b 100644
--- a/include/follow.php
+++ b/include/follow.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
//
@@ -11,7 +11,7 @@
require_once('include/zot.php');
-function new_contact($uid,$url,$channel,$interactive = false) {
+function new_contact($uid,$url,$channel,$interactive = false, $confirm = false) {
$result = array('success' => false,'message' => '');
@@ -60,6 +60,11 @@ function new_contact($uid,$url,$channel,$interactive = false) {
return $result;
}
+ // Premium channel, set confirm before callback to avoid recursion
+
+ if(array_key_exists('connect_url',$j) && (! $confirm))
+ goaway(zid($j['connect_url']));
+
// check service class limits
@@ -111,7 +116,10 @@ function new_contact($uid,$url,$channel,$interactive = false) {
if((local_user()) && $uid == local_user()) {
$aid = get_account_id();
- $hash = $a->observer['xchan_hash'];
+ $hash = get_observer_hash();
+ $ch = $a->get_channel();
+ $default_group = $ch['channel_default_group'];
+
}
else {
$r = q("select * from channel where channel_id = %d limit 1",
@@ -123,6 +131,7 @@ function new_contact($uid,$url,$channel,$interactive = false) {
}
$aid = $r[0]['channel_account_id'];
$hash = $r[0]['channel_hash'];
+ $default_group = $r[0]['channel_default_group'];
}
if($hash == $xchan_hash) {
@@ -141,12 +150,13 @@ function new_contact($uid,$url,$channel,$interactive = false) {
);
}
else {
- $r = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_their_perms, abook_created, abook_updated )
- values( %d, %d, '%s', %d, '%s', '%s' ) ",
+ $r = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_their_perms, abook_my_perms, abook_created, abook_updated )
+ values( %d, %d, '%s', %d, %d, '%s', '%s' ) ",
intval($aid),
intval($uid),
dbesc($xchan_hash),
intval($their_perms),
+ intval(PERMS_W_STREAM|PERMS_W_MAIL),
dbesc(datetime_convert()),
dbesc(datetime_convert())
);
@@ -160,62 +170,21 @@ function new_contact($uid,$url,$channel,$interactive = false) {
dbesc($xchan_hash),
intval($uid)
);
- if($r)
+ if($r) {
$result['abook'] = $r[0];
-
- // Then send a ping/message to the other side
-
-
-/*
-
- $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `addr`, `alias`, `batch`, `notify`, `poll`, `poco`, `name`, `nick`, `photo`, `network`, `pubkey`, `rel`, `priority`,
- `writable`, `hidden`, `blocked`, `readonly`, `pending` )
- VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, 0, 0, 0) ",
- intval($uid),
- dbesc(datetime_convert()),
- dbesc($ret['url']),
- dbesc(normalise_link($ret['url'])),
- dbesc($ret['addr']),
- dbesc($ret['alias']),
- dbesc($ret['batch']),
- dbesc($ret['notify']),
- dbesc($ret['poll']),
- dbesc($ret['poco']),
- dbesc($ret['name']),
- dbesc($ret['nick']),
- dbesc($ret['photo']),
- dbesc($ret['network']),
- dbesc($ret['pubkey']),
- intval($new_relation),
- intval($ret['priority']),
- intval($writeable),
- intval($hidden)
- );
+ proc_run('php', 'include/notifier.php', 'permission_update', $result['abook']['abook_id']);
}
- $r = q("SELECT * FROM `contact` WHERE `url` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($ret['url']),
- intval($uid)
- );
-
- if(! count($r)) {
- $result['message'] .= t('Unable to retrieve contact information.') . EOL;
- return $result;
- }
+ /** If there is a default group for this channel, add this member to it */
- $contact = $r[0];
- $contact_id = $r[0]['id'];
-
-
- $g = q("select def_gid from user where uid = %d limit 1",
- intval($uid)
- );
- if($g && intval($g[0]['def_gid'])) {
+ if($default_group) {
require_once('include/group.php');
- group_add_member($uid,'',$contact_id,$g[0]['def_gid']);
+ $g = group_rec_byhash($uid,$default_group);
+ if($g)
+ group_add_member($uid,'',$xchan_hash,$g['id']);
}
-*/
+ // Then send a ping/message to the other side
$result['success'] = true;
diff --git a/include/friendica_smarty.php b/include/friendica_smarty.php
index 2f4694c58..12a789c9a 100644..100755
--- a/include/friendica_smarty.php
+++ b/include/friendica_smarty.php
@@ -1,7 +1,8 @@
-<?php
-
+<?php /** @file */
+require_once 'include/ITemplateEngine.php';
require_once("library/Smarty/libs/Smarty.class.php");
+
class FriendicaSmarty extends Smarty {
public $filename;
@@ -14,15 +15,17 @@ class FriendicaSmarty extends Smarty {
// setTemplateDir can be set to an array, which Smarty will parse in order.
// The order is thus very important here
- $template_dirs = array('theme' => "view/theme/$theme/tpl/smarty3/");
+ $template_dirs = array('theme' => "view/theme/$theme/tpl/");
if( x($a->theme_info,"extends") )
- $template_dirs = $template_dirs + array('extends' => "view/theme/".$a->theme_info["extends"]."/tpl/smarty3/");
- $template_dirs = $template_dirs + array('base' => 'view/tpl/smarty3/');
+ $template_dirs = $template_dirs + array('extends' => "view/theme/".$a->theme_info["extends"]."/tpl/");
+ $template_dirs = $template_dirs + array('base' => 'view/tpl/');
$this->setTemplateDir($template_dirs);
- $this->setCompileDir('view/tpl/smarty3/compiled/');
- $this->setConfigDir('view/tpl/smarty3/config/');
- $this->setCacheDir('view/tpl/smarty3/cache/');
+ $basecompiledir = $a->config['system']['smarty3_folder'];
+
+ $this->setCompileDir($basecompiledir.'/compiled/');
+ $this->setConfigDir($basecompiledir.'/config/');
+ $this->setCacheDir($basecompiledir.'/cache/');
$this->left_delimiter = $a->get_template_ldelim('smarty3');
$this->right_delimiter = $a->get_template_rdelim('smarty3');
@@ -41,3 +44,67 @@ class FriendicaSmarty extends Smarty {
+class FriendicaSmartyEngine implements ITemplateEngine {
+ static $name ="smarty3";
+
+ public function __construct(){
+ $a = get_app();
+ $basecompiledir = ((array_key_exists('smarty3_folder',$a->config['system'])) ? $a->config['system']['smarty3_folder'] : '');
+ if (!$basecompiledir) $basecompiledir = dirname(__dir__)."/view/tpl/smarty3";
+ if (!is_dir($basecompiledir)) {
+ echo "<b>ERROR:</b> folder <tt>$basecompiledir</tt> does not exist."; killme();
+ }
+ if(!is_writable($basecompiledir)){
+ echo "<b>ERROR:</b> folder <tt>$basecompiledir</tt> must be writable by webserver."; killme();
+ }
+ $a->config['system']['smarty3_folder'] = $basecompiledir;
+ }
+
+ // ITemplateEngine interface
+ public function replace_macros($s, $r) {
+ $template = '';
+ if(gettype($s) === 'string') {
+ $template = $s;
+ $s = new FriendicaSmarty();
+ }
+ foreach($r as $key=>$value) {
+ if($key[0] === '$') {
+ $key = substr($key, 1);
+ }
+ $s->assign($key, $value);
+ }
+ return $s->parsed($template);
+ }
+
+ public function get_markup_template($file, $root=''){
+ $template_file = theme_include($file, $root);
+ if($template_file) {
+ $template = new FriendicaSmarty();
+ $template->filename = $template_file;
+
+ return $template;
+ }
+ return "";
+ }
+
+ public function get_intltext_template($file, $root='') {
+ $a = get_app();
+
+ if(file_exists("view/{$a->language}/$file"))
+ $template_file = "view/{$a->language}/$file";
+ elseif(file_exists("view/en/$file"))
+ $template_file = "view/en/$file";
+ else
+ $template_file = theme_include($file,$root);
+ if($template_file) {
+ $template = new FriendicaSmarty();
+ $template->filename = $template_file;
+
+ return $template;
+ }
+ return "";
+ }
+
+
+
+}
diff --git a/include/gprobe.php b/include/gprobe.php
index 2cc87d149..48c1c8e14 100644
--- a/include/gprobe.php
+++ b/include/gprobe.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('include/cli_startup.php');
require_once('include/zot.php');
diff --git a/include/group.php b/include/group.php
index 6042acbb4..7ba14a49d 100644
--- a/include/group.php
+++ b/include/group.php
@@ -1,7 +1,7 @@
-<?php
+<?php /** @file */
-function group_add($uid,$name) {
+function group_add($uid,$name,$public = 0) {
$ret = false;
if(x($uid) && x($name)) {
@@ -37,10 +37,11 @@ function group_add($uid,$name) {
} while($dups == true);
- $r = q("INSERT INTO `group` ( hash, uid, name )
- VALUES( '%s', %d, '%s' ) ",
+ $r = q("INSERT INTO `group` ( hash, uid, visible, name )
+ VALUES( '%s', %d, %d, '%s' ) ",
dbesc($hash),
intval($uid),
+ intval($public),
dbesc($name)
);
$ret = $r;
@@ -52,40 +53,43 @@ function group_add($uid,$name) {
function group_rmv($uid,$name) {
$ret = false;
if(x($uid) && x($name)) {
- $r = q("SELECT id FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
+ $r = q("SELECT id, hash FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
intval($uid),
dbesc($name)
);
- if(count($r))
+ if($r) {
$group_id = $r[0]['id'];
+ $group_hash = $r[0]['hash'];
+ }
+
if(! $group_id)
return false;
// remove group from default posting lists
- $r = q("SELECT channel_default_gid, channel_allow_gid, channel_deny_gid FROM channel WHERE channel_id = %d LIMIT 1",
+ $r = q("SELECT channel_default_group, channel_allow_gid, channel_deny_gid FROM channel WHERE channel_id = %d LIMIT 1",
intval($uid)
);
if($r) {
$user_info = $r[0];
$change = false;
- if($user_info['channel_default_gid'] == $group_id) {
- $user_info['channel_default_gid'] = 0;
+ if($user_info['channel_default_group'] == $group_hash) {
+ $user_info['channel_default_group'] = '';
$change = true;
}
if(strpos($user_info['channel_allow_gid'], '<' . $group_id . '>') !== false) {
- $user_info['channel_allow_gid'] = str_replace('<' . $group_id . '>', '', $user_info['channel_allow_gid']);
+ $user_info['channel_allow_gid'] = str_replace('<' . $group_hash . '>', '', $user_info['channel_allow_gid']);
$change = true;
}
if(strpos($user_info['channel_deny_gid'], '<' . $group_id . '>') !== false) {
- $user_info['channel_deny_gid'] = str_replace('<' . $group_id . '>', '', $user_info['channel_deny_gid']);
+ $user_info['channel_deny_gid'] = str_replace('<' . $group_hash . '>', '', $user_info['channel_deny_gid']);
$change = true;
}
if($change) {
- q("UPDATE channel SET channel_default_gid = %d, channel_allow_gid = '%s', channel_deny_gid = '%s'
+ q("UPDATE channel SET channel_default_group = '%s', channel_allow_gid = '%s', channel_deny_gid = '%s'
WHERE channel_id = %d",
- intval($user_info['channel_default_gid']),
+ intval($user_info['channel_default_group']),
dbesc($user_info['channel_allow_gid']),
dbesc($user_info['channel_deny_gid']),
intval($uid)
@@ -124,6 +128,19 @@ function group_byname($uid,$name) {
return false;
}
+
+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",
+ intval($uid),
+ dbesc($hash)
+ );
+ if($r)
+ return $r[0];
+ return false;
+}
+
function group_rmv_member($uid,$name,$member) {
$gid = group_byname($uid,$name);
if(! $gid)
@@ -171,9 +188,10 @@ function group_get_members($gid) {
if(intval($gid)) {
$r = q("SELECT * FROM `group_member`
LEFT JOIN abook ON abook_xchan = `group_member`.`xchan` left join xchan on xchan_hash = abook_xchan
- WHERE `gid` = %d AND `group_member`.`uid` = %d and not ( abook_flags & %d ) and not ( abook_flags & %d ) and not ( abook_flags & %d ) ORDER BY xchan_name ASC ",
+ WHERE `gid` = %d AND abook_channel = %d and `group_member`.`uid` = %d and not ( abook_flags & %d ) and not ( abook_flags & %d ) and not ( abook_flags & %d ) ORDER BY xchan_name ASC ",
intval($gid),
intval(local_user()),
+ intval(local_user()),
intval(ABOOK_FLAG_SELF),
intval(ABOOK_FLAG_BLOCKED),
intval(ABOOK_FLAG_PENDING)
@@ -221,7 +239,7 @@ function group_side($every="contacts",$each="group",$edit = false, $group_id = 0
$groups = array();
$groups[] = array(
- 'text' => t('All Connections'),
+ 'text' => t('All Channels'),
'id' => 0,
'selected' => (($group_id == 0) ? 'group-selected' : ''),
'href' => $every,
@@ -279,12 +297,14 @@ function group_side($every="contacts",$each="group",$edit = false, $group_id = 0
function expand_groups($a) {
if(! (is_array($a) && count($a)))
return array();
- stringify_array_elms($groups);
- $groups = implode(',', $a);
+ $x = $a;
+ stringify_array_elms($x);
+ $groups = implode(',', $x);
$groups = dbesc($groups);
- $r = q("SELECT xchan FROM `group_member` WHERE `gid` IN ( $groups )");
+ if($groups)
+ $r = q("SELECT xchan FROM group_member WHERE gid IN ( $groups )");
$ret = array();
- if(count($r))
+ if($r)
foreach($r as $rr)
$ret[] = $rr['xchan'];
return $ret;
diff --git a/include/html2bbcode.php b/include/html2bbcode.php
index 985c36eaa..9bb755da5 100644
--- a/include/html2bbcode.php
+++ b/include/html2bbcode.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
/*
html2bbcode.php
Converter for HTML to BBCode
diff --git a/include/html2plain.php b/include/html2plain.php
index b8c9c440d..2f5be7f69 100644
--- a/include/html2plain.php
+++ b/include/html2plain.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once "html2bbcode.php";
function breaklines($line, $level, $wraplength = 75)
@@ -219,4 +219,4 @@ function html2plain($html, $wraplength = 75, $compact = false)
return(trim($message));
}
-?>
+
diff --git a/include/identity.php b/include/identity.php
index 62092443e..98209c8ae 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('include/zot.php');
require_once('include/crypto.php');
@@ -7,7 +7,7 @@ require_once('include/crypto.php');
function identity_check_service_class($account_id) {
$ret = array('success' => false, $message => '');
- $r = q("select count(channel_id) as total from channel were channel_account_id = %d ",
+ $r = q("select count(channel_id) as total from channel where channel_account_id = %d ",
intval($account_id)
);
if(! ($r && count($r))) {
@@ -44,6 +44,29 @@ function validate_channelname($name) {
}
+// Create the system channel for directory synchronisation - this has no account attached
+
+
+function create_dir_account() {
+ create_account(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
+ ));
+}
+
+
+function channel_total() {
+ $r = q("select channel_id from channel where true");
+ if(is_array($r))
+ return count($r);
+ return false;
+}
+
+
+
// Required: name, nickname, account_id
// optional: pageflags
@@ -57,8 +80,11 @@ function create_identity($arr) {
$ret['message'] = t('No account identifier');
return $ret;
}
-
- $nick = trim($arr['nickname']);
+ $ret=identity_check_service_class($arr['account_id']);
+ if (!$ret['success']) {
+ return $ret;
+ }
+ $nick = mb_strtolower(trim($arr['nickname']));
$name = escape_tags($arr['name']);
$pageflags = ((x($arr,'pageflags')) ? intval($arr['pageflags']) : PAGE_NORMAL);
@@ -92,11 +118,19 @@ function create_identity($arr) {
if(array_key_exists('primary', $arr))
$primary = intval($arr['primary']);
+ $perms_sql = '';
+
+ $defperms = site_default_perms();
+ $global_perms = get_perms();
+ foreach($defperms as $p => $v) {
+ $perms_keys .= ', ' . $global_perms[$p][0];
+ $perms_vals .= ', ' . intval($v);
+ }
$r = q("insert into channel ( channel_account_id, channel_primary,
channel_name, channel_address, channel_guid, channel_guid_sig,
- channel_hash, channel_prvkey, channel_pubkey, channel_pageflags )
- values ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d ) ",
+ channel_hash, channel_prvkey, channel_pubkey, channel_pageflags $perms_keys )
+ values ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d $perms_vals ) ",
intval($arr['account_id']),
intval($primary),
@@ -107,9 +141,12 @@ function create_identity($arr) {
dbesc($hash),
dbesc($key['prvkey']),
dbesc($key['pubkey']),
- intval(PAGE_NORMAL)
+ intval($pageflags)
);
+
+
+
$r = q("select * from channel where channel_account_id = %d
and channel_guid = '%s' limit 1",
intval($arr['account_id']),
@@ -123,16 +160,8 @@ function create_identity($arr) {
$ret['channel'] = $r[0];
- set_default_login_identity($arr['account_id'],$ret['channel']['channel_id'],false);
-
- // Ensure that there is a host keypair.
-
- if((! get_config('system','pubkey')) && (! get_config('system','prvkey'))) {
- $hostkey = new_keypair(4096);
- set_config('system','pubkey',$hostkey['pubkey']);
- set_config('system','prvkey',$hostkey['prvkey']);
- }
-
+ if(intval($arr['account_id']))
+ set_default_login_identity($arr['account_id'],$ret['channel']['channel_id'],false);
// Create a verified hub location pointing to this site.
@@ -156,7 +185,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_name, xchan_network, xchan_photo_date, xchan_name_date ) values ('%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_name, xchan_network, xchan_photo_date, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
dbesc($hash),
dbesc($guid),
dbesc($sig),
@@ -166,6 +195,7 @@ function create_identity($arr) {
dbesc($a->get_baseurl() . "/photo/profile/s/{$newuid}"),
dbesc($ret['channel']['channel_address'] . '@' . get_app()->get_hostname()),
dbesc(z_root() . '/channel/' . $ret['channel']['channel_address']),
+ dbesc(z_root() . '/follow?f=&url=%s'),
dbesc($ret['channel']['channel_name']),
dbesc('zot'),
dbesc(datetime_convert()),
@@ -200,16 +230,18 @@ function create_identity($arr) {
intval(ABOOK_FLAG_SELF)
);
+ if(intval($ret['channel']['channel_account_id'])) {
- // Create a group with no members. This allows somebody to use it
- // right away as a default group for new contacts.
-
- require_once('include/group.php');
- group_add($newuid, t('Friends'));
+ // Create a group with no members. This allows somebody to use it
+ // right away as a default group for new contacts.
- call_hooks('register_account', $newuid);
+ require_once('include/group.php');
+ group_add($newuid, t('Friends'));
- proc_run('php','include/directory.php', $ret['channel']['channel_id']);
+ call_hooks('register_account', $newuid);
+
+ proc_run('php','include/directory.php', $ret['channel']['channel_id']);
+ }
$ret['success'] = true;
return $ret;
@@ -223,11 +255,13 @@ function set_default_login_identity($account_id,$channel_id,$force = true) {
$r = q("select account_default_channel from account where account_id = %d limit 1",
intval($account_id)
);
- if(($r) && (count($r)) && ((! intval($r[0]['account_default_channel'])) || $force)) {
- $r = q("update account set account_default_channel = %d where account_id = %d limit 1",
- intval($channel_id),
- intval($account_id)
- );
+ if($r) {
+ if((intval($r[0]['account_default_channel']) == 0) || ($force)) {
+ $r = q("update account set account_default_channel = %d where account_id = %d limit 1",
+ intval($channel_id),
+ intval($account_id)
+ );
+ }
}
}
@@ -239,7 +273,7 @@ function identity_basic_export($channel_id) {
$ret = array();
- $ret['compatibility'] = array('project' => FRIENDICA_PLATFORM, 'version' => FRIENDICA_VERSION, 'database' => DB_UPDATE_VERSION);
+ $ret['compatibility'] = array('project' => RED_PLATFORM, 'version' => RED_VERSION, 'database' => DB_UPDATE_VERSION);
$r = q("select * from channel where channel_id = %d limit 1",
intval($channel_id)
@@ -275,6 +309,26 @@ function identity_basic_export($channel_id) {
$ret['hubloc'] = $r;
}
+ $r = q("select * from `group` where uid = %d ",
+ intval($channel_id)
+ );
+
+ if($r)
+ $ret['group'] = $r;
+
+ $r = q("select * from group_member where uid = %d ",
+ intval($channel_id)
+ );
+ if($r)
+ $ret['group_member'] = $r;
+
+ $r = q("select * from pconfig where uid = %d",
+ intval($channel_id)
+ );
+ if($r)
+ $ret['config'] = $r;
+
+
$r = q("select type, data from photo where scale = 4 and profile = 1 and uid = %d limit 1",
intval($channel_id)
);
@@ -334,4 +388,4 @@ function identity_basic_import($arr, $seize_primary = false) {
return $ret;
-} \ No newline at end of file
+}
diff --git a/include/iquery.php b/include/iquery.php
deleted file mode 100644
index 0d51134a4..000000000
--- a/include/iquery.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-
-function network_query($a,$arr) {
-
-
- $parent_options = '';
- $child_options = '';
-
- $ordering = (($arr['order'] === 'post') ? "`created`" : "`commented`") . " DESC ";
-
- $itemspage = get_pconfig($arr['uid'],'system','itemspage');
- $a->set_pager_itemspage(((intval($itemspage)) ? $itemspage : 40));
-
- $pager_sql = ((intval($arr['update'])) ? '' : sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage'])));
-
- $arr['cmin'] = ((x($arr,'cmin')) ? $arr['cmin'] : 0);
- $arr['cmax'] = ((x($arr,'cmax')) ? $arr['cmax'] : 0);
-
- $simple_update = (($arr['update']) ? " and `item`.`unseen` = 1 " : '');
-
- if($arr['new']) {
-
- // "New Item View" - show all items unthreaded in reverse created date order
-
- $items = q("SELECT `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, `contact`.`writable`,
- `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`.`visible` = 1
- AND `item`.`deleted` = 0 and `item`.`moderated` = 0
- $simple_update
- AND `contact`.`closeness` >= %d and `contact`.`closeness` <= %d
- AND `contact`.`id` = `item`.`contact-id`
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- $sql_extra $sql_nets
- ORDER BY `item`.`received` DESC $pager_sql ",
- intval($arr['uid']),
- intval($arr['cmin']),
- intval($arr['cmax'])
-
- );
-
- $items = fetch_post_tags($items);
- return $items;
-
- }
- if($update) {
- $r = q("SELECT `parent` AS `item_id`, `contact`.`uid` AS `contact_uid`
- FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
- WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND
- `contact`.`closeness` >= %d and `contact`.`closeness` <= %d
- (`item`.`deleted` = 0 OR item.verb = '" . ACTIVITY_LIKE ."' OR item.verb = '" . ACTIVITY_DISLIKE . "')
- and `item`.`moderated` = 0 $simple_update
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- $sql_extra3 $sql_extra $sql_nets ",
- intval($arr['uid']),
- intval($arr['cmin']),
- intval($arr['cmax'])
- );
- }
- else {
- $r = q("SELECT `item`.`id` AS `item_id`, `contact`.`uid` AS `contact_uid`
- FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
- WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
- AND `item`.`moderated` = 0 AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- AND `contact`.`closeness` >= %d and `contact`.`closeness` <= %d
- AND `item`.`parent` = `item`.`id`
- $sql_extra3 $sql_extra $sql_nets
- ORDER BY `item`.$ordering $pager_sql ",
- intval($arr['uid']),
- intval($arr['cmin']),
- intval($arr['cmax'])
- );
- }
-
- // Then fetch all the children of the parents that are on this page
-
- $parents_arr = array();
- $parents_str = '';
-
- if(count($r)) {
- foreach($r as $rr)
- if(! in_array($rr['item_id'],$parents_arr))
- $parents_arr[] = $rr['item_id'];
- $parents_str = implode(', ', $parents_arr);
-
- $items = q("SELECT `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`alias`,
- `contact`.`rel`, `contact`.`writable`,
- `contact`.`network`, `contact`.`thumb`, `contact`.`self`,
- `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
- FROM `item`, `contact`
- WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
- AND `item`.`moderated` = 0 AND `contact`.`id` = `item`.`contact-id`
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- AND `item`.`parent` IN ( %s )
- $sql_extra ",
- intval($arr['uid']),
- dbesc($parents_str)
- );
-
- $items = fetch_post_tags($items);
-
- $items = conv_sort($items,$ordering);
- }
- else {
- $items = array();
- }
-
- return $items;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/include/items.php b/include/items.php
index 3fd43ca4e..c83eceabe 100755
--- a/include/items.php
+++ b/include/items.php
@@ -1,9 +1,9 @@
-<?php
+<?php /** @file */
require_once('include/bbcode.php');
require_once('include/oembed.php');
require_once('include/crypto.php');
-require_once('include/Photo.php');
+require_once('include/photo/photo_driver.php');
require_once('include/permissions.php');
@@ -18,6 +18,9 @@ function collect_recipients($item,&$private) {
require_once('include/group.php');
+ if($item['item_private'])
+ $private = true;
+
if($item['allow_cid'] || $item['allow_gid'] || $item['deny_cid'] || $item['deny_gid']) {
$allow_people = expand_acl($item['allow_cid']);
$allow_groups = expand_groups(expand_acl($item['allow_gid']));
@@ -31,10 +34,11 @@ function collect_recipients($item,&$private) {
}
else {
$recipients = array();
- $r = q("select * from abook where abook_channel = %d and not (abook_flags & %d) and not (abook_flags & %d)",
+ $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_PENDING),
+ intval(ABOOK_FLAG_ARCHIVED)
);
if($r) {
foreach($r as $rr) {
@@ -49,237 +53,265 @@ function collect_recipients($item,&$private) {
$recipients = check_list_permissions($item['uid'],$recipients,'view_stream');
+ // add ourself just in case we have nomadic clones that need to get a copy.
+
+ $recipients[] = $item['author_xchan'];
+ if($item['owner_xchan'] != $item['author_xchan'])
+ $recipients[] = $item['owner_xchan'];
return $recipients;
}
-function get_public_feed($channel,$params) {
-
- $type = 'xml';
- $begin = '0000-00-00 00:00:00';
- $end = '';
- $start = 0;
- $records = 40;
- $direction = 'desc';
-
- if(is_array($params)) {
- $type = ((x($params,'type')) ? $params['type'] : $type);
- $begin = ((x($params,'begin')) ? $params['begin'] : $begin);
- $end = ((x($params,'end')) ? $params['end'] : $end);
- $start = ((x($params,'start')) ? $params['start'] : $start);
- $records = ((x($params,'records')) ? $params['records'] : $records);
- $direction = ((x($params,'direction')) ? $params['direction'] : $direction);
- }
-
- switch($type) {
- case 'json':
- header("Content-type: application/atom+json");
+function can_comment_on_post($observer_xchan,$item) {
+ if(! $observer_xchan)
+ return false;
+ if($item['comment_policy'] === 'none')
+ return false;
+ switch($item['comment_policy']) {
+ case 'self':
+ if($observer_xchan === $item['author_xchan'] || $observer_xchan === $item['owner_xchan'])
+ return true;
+ break;
+ case 'public':
+ return false;
+ break;
+ case 'contacts':
+ case '':
+ if(($item['owner']['abook_xchan']) && ($item['owner']['abook_their_perms'] & PERMS_W_COMMENT))
+ return true;
break;
- case 'xml':
default:
- header("Content-type: application/atom+xml");
break;
}
+ if(strstr($item['comment_policy'],'network:') && strstr($item['comment_policy'],'red'))
+ return true;
+ if(strstr($item['comment_policy'],'site:') && strstr($item['comment_policy'],get_app()->get_hostname()))
+ return true;
+
+ return false;
+}
+/**
+ * @function red_zrl_callback
+ * preg_match function when fixing 'naked' links in mod item.php
+ * Check if we've got a hubloc for the site and use a zrl if we do, a url if we don't.
+ *
+ */
-
+function red_zrl_callback($matches) {
+ $m = @parse_url($matches[2]);
+ $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)
+ return $matches[1] . '[zrl=' . $matches[2] . ']' . $matches[2] . '[/zrl]';
+ return $matches[0];
}
-function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0) {
- $sitefeed = ((strlen($owner_nick)) ? false : true); // not yet implemented, need to rewrite huge chunks of following logic
- $public_feed = (($dfrn_id) ? false : true);
- $starred = false; // not yet implemented, possible security issues
- $converse = false;
+/**
+ * @function post_activity_item($arr)
+ *
+ * post an activity
+ *
+ * @param array $arr
+ *
+ * In its simplest form one needs only to set $arr['body'] to post a note to the logged in channel's wall.
+ * Much more complex activities can be created. Permissions are checked. No filtering, tag expansion
+ * or other processing is performed.
+ *
+ * @returns array
+ * 'success' => true or false
+ * 'activity' => the resulting activity if successful
+ */
- if($public_feed && $a->argc > 2) {
- for($x = 2; $x < $a->argc; $x++) {
- if($a->argv[$x] == 'converse')
- $converse = true;
- if($a->argv[$x] == 'starred')
- $starred = true;
- if($a->argv[$x] === 'category' && $a->argc > ($x + 1) && strlen($a->argv[$x+1]))
- $category = $a->argv[$x+1];
- }
- }
+function post_activity_item($arr) {
-
+ $ret = array('success' => false);
- // default permissions - anonymous user
+ $is_comment = false;
+ if((($arr['parent']) && $arr['parent'] != $arr['id']) || (($arr['parent_mid']) && $arr['parent_mid'] != $arr['mid']))
+ $is_comment = true;
- $sql_extra = " AND `allow_cid` = '' AND `allow_gid` = '' AND `deny_cid` = '' AND `deny_gid` = '' ";
+ if(! x($arr,'item_flags')) {
+ if($is_comment)
+ $arr['item_flags'] = ITEM_ORIGIN;
+ else
+ $arr['item_flags'] = ITEM_ORIGIN | ITEM_WALL | ITEM_THREAD_TOP;
+ }
- $r = q("SELECT `contact`.*, `user`.`uid` AS `user_uid`, `user`.`nickname`, `user`.`timezone`, `user`.`page-flags`
- FROM `contact` LEFT JOIN `user` ON `user`.`uid` = `contact`.`uid`
- WHERE `contact`.`self` = 1 AND `user`.`nickname` = '%s' LIMIT 1",
- dbesc($owner_nick)
- );
- if(! count($r))
- killme();
+ $channel = get_app()->get_channel();
+ $observer = get_app()->get_observer();
- $owner = $r[0];
- $owner_id = $owner['user_uid'];
- $owner_nick = $owner['nickname'];
+ $arr['aid'] = ((x($arr,'aid')) ? $arr['aid'] : $channel['channel_account_id']);
+ $arr['uid'] = ((x($arr,'uid')) ? $arr['uid'] : $channel['channel_id']);
- $birthday = feed_birthday($owner_id,$owner['timezone']);
+ if(! perm_is_allowed($arr['uid'],$observer['xchan_hash'],(($is_comment) ? 'post_comments' : 'post_wall'))) {
+ $ret['message'] = t('Permission denied');
+ return $ret;
+ }
- if(! $public_feed) {
+ if(array_key_exists('content_type',$arr) && $arr['content_type'] == 'text/html')
+ $arr['body'] = purify_html($arr['body']);
+ else
+ $arr['body'] = escape_tags($arr['body']);
- $sql_extra = '';
- switch($direction) {
- case (-1):
- $sql_extra = sprintf(" AND `issued_id` = '%s' ", dbesc($dfrn_id));
- $my_id = $dfrn_id;
- break;
- case 0:
- $sql_extra = sprintf(" AND `issued_id` = '%s' AND `duplex` = 1 ", dbesc($dfrn_id));
- $my_id = '1:' . $dfrn_id;
- break;
- case 1:
- $sql_extra = sprintf(" AND `dfrn_id` = '%s' AND `duplex` = 1 ", dbesc($dfrn_id));
- $my_id = '0:' . $dfrn_id;
- break;
- default:
- return false;
- break; // NOTREACHED
- }
- $r = q("SELECT * FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `contact`.`uid` = %d $sql_extra LIMIT 1",
- intval($owner_id)
- );
+ $arr['mid'] = ((x($arr,'mid')) ? $arr['mid'] : item_message_id());
+ $arr['parent_mid'] = ((x($arr,'parent_mid')) ? $arr['parent_mid'] : $arr['mid']);
+ $arr['thr_parent'] = ((x($arr,'thr_parent')) ? $arr['thr_parent'] : $arr['mid']);
- if(! count($r))
- killme();
+ $arr['owner_xchan'] = ((x($arr,'owner_xchan')) ? $arr['owner_xchan'] : $channel['channel_hash']);
+ $arr['author_xchan'] = ((x($arr,'author_xchan')) ? $arr['author_xchan'] : $observer['xchan_hash']);
- $contact = $r[0];
- require_once('include/security.php');
- $groups = init_groups_visitor($contact['id']);
+ $arr['verb'] = ((x($arr,'verb')) ? $arr['verb'] : ACTIVITY_POST);
+ $arr['obj_type'] = ((x($arr,'obj_type')) ? $arr['obj_type'] : ACTIVITY_OBJ_NOTE);
- if(count($groups)) {
- for($x = 0; $x < count($groups); $x ++)
- $groups[$x] = '<' . intval($groups[$x]) . '>' ;
- $gs = implode('|', $groups);
- }
- else
- $gs = '<<>>' ; // Impossible to match
-
- $sql_extra = sprintf("
- AND ( `allow_cid` = '' OR `allow_cid` REGEXP '<%d>' )
- AND ( `deny_cid` = '' OR NOT `deny_cid` REGEXP '<%d>' )
- AND ( `allow_gid` = '' OR `allow_gid` REGEXP '%s' )
- AND ( `deny_gid` = '' OR NOT `deny_gid` REGEXP '%s')
- ",
- intval($contact['id']),
- intval($contact['id']),
- dbesc($gs),
- dbesc($gs)
- );
- }
+ $arr['allow_cid'] = ((x($arr,'allow_cid')) ? $arr['allow_cid'] : $channel['channel_allow_cid']);
+ $arr['allow_gid'] = ((x($arr,'allow_gid')) ? $arr['allow_gid'] : $channel['channel_allow_gid']);
+ $arr['deny_cid'] = ((x($arr,'deny_cid')) ? $arr['deny_cid'] : $channel['channel_deny_cid']);
+ $arr['deny_gid'] = ((x($arr,'deny_gid')) ? $arr['deny_gid'] : $channel['channel_deny_gid']);
- if($public_feed)
- $sort = 'DESC';
- else
- $sort = 'ASC';
+ $arr['comment_policy'] = map_scope($channel['channel_w_comment']);
- if(! strlen($last_update))
- $last_update = 'now -30 days';
+ // for the benefit of plugins, we will behave as if this is an API call rather than a normal online post
- if(isset($category)) {
- $sql_extra .= file_tag_file_query('item',$category,'category');
- }
+ $_REQUEST['api_source'] = 1;
- if($public_feed) {
- if(! $converse)
- $sql_extra .= " AND `contact`.`self` = 1 ";
+ call_hooks('post_local',$arr);
+
+ if(x($arr,'cancel')) {
+ logger('post_activity_item: post cancelled by plugin.');
+ return $ret;
}
- $check_date = datetime_convert('UTC','UTC',$last_update,'Y-m-d H:i:s');
-
- $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`network`, `contact`.`photo`, `contact`.`url`,
- `contact`.`name_date`, `contact`.`uri_date`, `contact`.`avatar_date`,
- `contact`.`thumb`, `contact`.`dfrn_id`, `contact`.`self`,
- `contact`.`id` AS `contact-id`, `contact`.`uid` AS `contact-uid`,
- `sign`.`signed_text`, `sign`.`signature`, `sign`.`signer`
- FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
- LEFT JOIN `sign` ON `sign`.`iid` = `item`.`id`
- WHERE `item`.`uid` = %d AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`parent` != 0
- AND `item`.`wall` = 1 AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- AND ( `item`.`edited` > '%s' OR `item`.`changed` > '%s' )
- $sql_extra
- ORDER BY `parent` %s, `created` ASC LIMIT 0, 300",
- intval($owner_id),
- dbesc($check_date),
- dbesc($check_date),
- dbesc($sort)
- );
- // Will check further below if this actually returned results.
- // We will provide an empty feed if that is the case.
+ $post = item_store($arr);
+ if($post['result'])
+ $post_id = $post['item_id'];
- $items = $r;
- $items = fetch_post_tags($items);
+ if($post_id) {
+ $arr['id'] = $post_id;
+ call_hooks('post_local_end', $arr);
+ proc_run('php','include/notifier.php','activity',$post_id);
+ $ret['success'] = true;
+ $r = q("select * from item where id = %d limit 1",
+ intval($post_id)
+ );
+ if($r)
+ $ret['activity'] = $r[0];
+ }
- $feed_template = get_markup_template(($dfrn_id) ? 'atom_feed_dfrn.tpl' : 'atom_feed.tpl');
+ return $ret;
- $atom = '';
+}
- $hubxml = feed_hublinks();
- $salmon = feed_salmonlinks($owner_nick);
+function get_public_feed($channel,$params) {
- $atom .= replace_macros($feed_template, array(
- '$version' => xmlify(FRIENDICA_VERSION),
- '$feed_id' => xmlify($a->get_baseurl() . '/channel/' . $owner_nick),
- '$feed_title' => xmlify($owner['name']),
- '$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', 'now' , ATOM_TIME)) ,
- '$hub' => $hubxml,
- '$salmon' => $salmon,
- '$name' => xmlify($owner['name']),
- '$profile_page' => xmlify($owner['url']),
- '$photo' => xmlify($owner['photo']),
- '$thumb' => xmlify($owner['thumb']),
- '$picdate' => xmlify(datetime_convert('UTC','UTC',$owner['avatar_date'] . '+00:00' , ATOM_TIME)) ,
- '$uridate' => xmlify(datetime_convert('UTC','UTC',$owner['uri_date'] . '+00:00' , ATOM_TIME)) ,
- '$namdate' => xmlify(datetime_convert('UTC','UTC',$owner['name_date'] . '+00:00' , ATOM_TIME)) ,
- '$birthday' => ((strlen($birthday)) ? '<dfrn:birthday>' . xmlify($birthday) . '</dfrn:birthday>' : ''),
- '$community' => (($owner['page-flags'] == PAGE_COMMUNITY) ? '<dfrn:community>1</dfrn:community>' : '')
- ));
+ $type = 'xml';
+ $begin = '0000-00-00 00:00:00';
+ $end = '';
+ $start = 0;
+ $records = 40;
+ $direction = 'desc';
+ $pages = 0;
+
+ if(! $params)
+ $params = array();
+
+ $params['type'] = ((x($params,'type')) ? $params['type'] : 'xml');
+ $params['begin'] = ((x($params,'begin')) ? $params['begin'] : '0000-00-00 00:00:00');
+ $params['end'] = ((x($params,'end')) ? $params['end'] : datetime_convert('UTC','UTC','now'));
+ $params['start'] = ((x($params,'start')) ? $params['start'] : 0);
+ $params['records'] = ((x($params,'records')) ? $params['records'] : 40);
+ $params['direction'] = ((x($params,'direction')) ? $params['direction'] : 'desc');
+ $params['pages'] = ((x($params,'pages')) ? intval($params['pages']) : 0);
+
+ switch($params['type']) {
+ case 'json':
+ header("Content-type: application/atom+json");
+ break;
+ case 'xml':
+ default:
+ header("Content-type: application/atom+xml");
+ break;
+ }
- call_hooks('atom_feed', $atom);
+
+ return get_feed_for($channel,get_observer_hash(),$params);
+}
+
+function get_feed_for($channel, $observer_hash, $params) {
- if(! count($items)) {
+ if(! channel)
+ http_status_exit(401);
- call_hooks('atom_feed_end', $atom);
- $atom .= '</feed>' . "\r\n";
- return $atom;
+ if($params['pages']) {
+ if(! perm_is_allowed($channel['channel_id'],$observer_hash,'view_pages'))
+ http_status_exit(403);
}
+ else {
+ if(! perm_is_allowed($channel['channel_id'],$observer_hash,'view_stream'))
+ http_status_exit(403);
+ }
+ $items = items_fetch(array(
+ 'wall' => '1',
+ 'datequery' => $params['begin'],
+ 'datequery2' => $params['end'],
+ 'start' => $params['start'], // FIXME
+ 'records' => $params['records'], // FIXME
+ 'direction' => $params['direction'], // FIXME
+ 'pages' => $params['pages'],
+ 'order' => 'post'
+ ), $channel, $observer_hash, CLIENT_MODE_NORMAL, get_app()->module);
- foreach($items as $item) {
- // prevent private email from leaking.
- if($item['network'] === NETWORK_MAIL)
- continue;
+ $feed_template = get_markup_template('atom_feed.tpl');
- // public feeds get html, our own nodes use bbcode
+ $atom = '';
- if($public_feed) {
- $type = 'html';
- // catch any email that's in a public conversation and make sure it doesn't leak
- if($item['private'])
+ $atom .= replace_macros($feed_template, array(
+ '$version' => xmlify(RED_VERSION),
+ '$red' => xmlify(RED_PLATFORM),
+ '$feed_id' => xmlify($channel['channel_url']),
+ '$feed_title' => xmlify($channel['channel_name']),
+ '$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', 'now' , ATOM_TIME)) ,
+ '$hub' => '', // feed_hublinks(),
+ '$salmon' => '', // feed_salmonlinks($channel['channel_address']),
+ '$name' => xmlify($channel['channel_name']),
+ '$profile_page' => xmlify($channel['channel_url']),
+ '$mimephoto' => xmlify($channel['xchan_photo_mimetype']),
+ '$photo' => xmlify($channel['xchan_photo_l']),
+ '$thumb' => xmlify($channel['xchan_photo_m']),
+ '$picdate' => '',
+ '$uridate' => '',
+ '$namdate' => '',
+ '$birthday' => '',
+ '$community' => '',
+ ));
+
+ call_hooks('atom_feed', $atom);
+
+ if($items) {
+ $type = 'html';
+ foreach($items as $item) {
+ if($item['item_private'])
continue;
- }
- else {
- $type = 'text';
- }
- $atom .= atom_entry($item,$type,null,$owner,true);
+ $atom .= atom_entry($item,$type,null,$owner,true);
+ }
}
call_hooks('atom_feed_end', $atom);
@@ -300,8 +332,7 @@ function construct_activity_object($item) {
if($item['object']) {
$o = '<as:object>' . "\r\n";
- $r = parse_xml_string($item['object'],false);
-
+ $r = json_decode($item['object'],false);
if(! $r)
return '';
@@ -311,7 +342,8 @@ function construct_activity_object($item) {
$o .= '<id>' . xmlify($r->id) . '</id>' . "\r\n";
if($r->title)
$o .= '<title>' . xmlify($r->title) . '</title>' . "\r\n";
- if($r->link) {
+ if($r->links) {
+ // FIXME!!
if(substr($r->link,0,1) === '<') {
$r->link = preg_replace('/\<link(.*?)\"\>/','<link$1"/>',$r->link);
$o .= $r->link;
@@ -332,7 +364,7 @@ function construct_activity_target($item) {
if($item['target']) {
$o = '<as:target>' . "\r\n";
- $r = parse_xml_string($item['target'],false);
+ $r = json_decode($item['target'],false);
if(! $r)
return '';
if($r->type)
@@ -341,7 +373,8 @@ function construct_activity_target($item) {
$o .= '<id>' . xmlify($r->id) . '</id>' . "\r\n";
if($r->title)
$o .= '<title>' . xmlify($r->title) . '</title>' . "\r\n";
- if($r->link) {
+ if($r->links) {
+ // FIXME !!!
if(substr($r->link,0,1) === '<') {
if(strstr($r->link,'&') && (! strstr($r->link,'&amp;')))
$r->link = str_replace('&','&amp;', $r->link);
@@ -365,7 +398,7 @@ function construct_activity_target($item) {
* The purpose of this function is to apply system message length limits to
* imported messages without including any embedded photos in the length
*/
-if(! function_exists('limit_body_size')) {
+
function limit_body_size($body) {
$maxlen = get_max_import_size();
@@ -443,7 +476,7 @@ function limit_body_size($body) {
}
else
return $body;
-}}
+}
function title_is_body($title, $body) {
@@ -473,7 +506,6 @@ function title_is_body($title, $body) {
function get_item_elements($x) {
$arr = array();
-
$arr['body'] = (($x['body']) ? htmlentities($x['body'],ENT_COMPAT,'UTF-8',false) : '');
$arr['created'] = datetime_convert('UTC','UTC',$x['created']);
@@ -488,9 +520,14 @@ function get_item_elements($x) {
$arr['edited'] = datetime_convert();
$arr['title'] = (($x['title']) ? htmlentities($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['uri'] = (($x['message_id']) ? htmlentities($x['message_id'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['parent_uri'] = (($x['message_top']) ? htmlentities($x['message_top'], 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['plink'] = (($x['permalink']) ? htmlentities($x['permalink'], ENT_COMPAT,'UTF-8',false) : '');
@@ -500,7 +537,8 @@ function get_item_elements($x) {
$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['object'] = activity_sanitise($x['object']);
$arr['target'] = activity_sanitise($x['target']);
@@ -509,6 +547,21 @@ function get_item_elements($x) {
$arr['item_private'] = ((array_key_exists('flags',$x) && is_array($x['flags']) && in_array('private',$x['flags'])) ? 1 : 0);
+ $arr['item_flags'] = 0;
+
+ // if it's a private post, encrypt it in the DB.
+ // We have to do that here because we need to cleanse the input and prevent bad stuff from getting in,
+ // and we need plaintext to do that.
+
+ if(intval($arr['item_private'])) {
+ $arr['item_flags'] = $arr['item_flags'] | ITEM_OBSCURED;
+ $key = get_config('system','pubkey');
+ if($arr['title'])
+ $arr['title'] = json_encode(aes_encapsulate($arr['title'],$key));
+ if($arr['body'])
+ $arr['body'] = json_encode(aes_encapsulate($arr['body'],$key));
+ }
+
if(array_key_exists('flags',$x) && in_array('deleted',$x['flags']))
$arr['item_restrict'] = ITEM_DELETED;
@@ -564,20 +617,32 @@ function encode_item($item) {
logger('encode_item: ' . print_r($item,true));
- $r = q("select channel_r_stream from channel where channel_id = %d limit 1",
+ $r = q("select channel_r_stream, channel_w_comment from channel where channel_id = %d limit 1",
intval($item['uid'])
);
- if($r)
+ if($r) {
$public_scope = $r[0]['channel_r_stream'];
- else
+ $comment_scope = $r[0]['channel_w_comment'];
+ }
+ else {
$public_scope = 0;
+ $comment_scope = 0;
+ }
$scope = map_scope($public_scope);
+ $c_scope = map_scope($comment_scope);
+ if(array_key_exists('item_flags',$item) && ($item['item_flags'] & ITEM_OBSCURED)) {
+ $key = get_config('system','prvkey');
+ if($item['title'])
+ $item['title'] = aes_unencapsulate(json_decode_plus($item['title']),$key);
+ if($item['body'])
+ $item['body'] = aes_unencapsulate(json_decode_plus($item['body']),$key);
+ }
if($item['item_restrict'] & ITEM_DELETED) {
- $x['message_id'] = $item['uri'];
+ $x['message_id'] = $item['mid'];
$x['created'] = $item['created'];
$x['flags'] = array('deleted');
$x['owner'] = encode_item_xchan($item['owner']);
@@ -585,8 +650,8 @@ function encode_item($item) {
return $x;
}
- $x['message_id'] = $item['uri'];
- $x['message_top'] = $item['parent_uri'];
+ $x['message_id'] = $item['mid'];
+ $x['message_top'] = $item['parent_mid'];
$x['message_parent'] = $item['thr_parent'];
$x['created'] = $item['created'];
$x['edited'] = $item['edited'];
@@ -605,17 +670,22 @@ function encode_item($item) {
$x['owner'] = encode_item_xchan($item['owner']);
$x['author'] = encode_item_xchan($item['author']);
if($item['object'])
- $x['object'] = json_decode($item['object'],true);
+ $x['object'] = json_decode_plus($item['object']);
if($item['target'])
- $x['target'] = json_decode($item['target'],true);
+ $x['target'] = json_decode_plus($item['target']);
if($item['attach'])
- $x['attach'] = json_decode($item['attach'],true);
+ $x['attach'] = json_decode_plus($item['attach']);
if($y = encode_item_flags($item))
$x['flags'] = $y;
if(! in_array('private',$y))
$x['public_scope'] = $scope;
+ if($item['item_flags'] & ITEM_NOCOMMENT)
+ $x['comment_scope'] = 'none';
+ else
+ $x['comment_scope'] = $c_scope;
+
if($item['term'])
$x['tags'] = encode_item_terms($item['term']);
@@ -717,14 +787,19 @@ function decode_tags($t) {
function activity_sanitise($arr) {
if($arr) {
- $ret = array();
- foreach($arr as $k => $x) {
- if(is_array($x))
- $ret[$k] = activity_sanitise($x);
- else
- $ret[$k] = htmlentities($x, ENT_COMPAT,'UTF-8',false);
+ if(is_array($arr)) {
+ $ret = array();
+ foreach($arr as $k => $x) {
+ if(is_array($x))
+ $ret[$k] = activity_sanitise($x);
+ else
+ $ret[$k] = htmlentities($x, ENT_COMPAT,'UTF-8',false);
+ }
+ return $ret;
+ }
+ else {
+ return htmlentities($arr, ENT_COMPAT,'UTF-8', false);
}
- return $ret;
}
return '';
}
@@ -763,16 +838,33 @@ function encode_mail($item) {
$x = array();
$x['type'] = 'mail';
- logger('encode_mail: ' . print_r($item,true));
+ if(array_key_exists('mail_flags',$item) && ($item['mail_flags'] & MAIL_OBSCURED)) {
+ $key = get_config('system','prvkey');
+ if($item['title'])
+ $item['title'] = aes_unencapsulate(json_decode_plus($item['title']),$key);
+ if($item['body'])
+ $item['body'] = aes_unencapsulate(json_decode_plus($item['body']),$key);
+ }
- $x['message_id'] = $item['uri'];
- $x['message_parent'] = $item['parent_uri'];
+ $x['message_id'] = $item['mid'];
+ $x['message_parent'] = $item['parent_mid'];
$x['created'] = $item['created'];
$x['title'] = $item['title'];
$x['body'] = $item['body'];
$x['from'] = encode_item_xchan($item['from']);
$x['to'] = encode_item_xchan($item['to']);
+ if($item['attach'])
+ $x['attach'] = json_decode_plus($item['attach']);
+
+ $x['flags'] = array();
+
+ if($item['mail_flags'] & MAIL_RECALLED) {
+ $x['flags'][] = 'recalled';
+ $x['title'] = '';
+ $x['body'] = '';
+ }
+
return $x;
}
@@ -782,16 +874,36 @@ function get_mail_elements($x) {
$arr = array();
- $arr['body'] = (($x['body']) ? htmlentities($x['body'],ENT_COMPAT,'UTF-8',false) : '');
+ $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['created'] = datetime_convert('UTC','UTC',$x['created']);
+ $arr['mail_flags'] = 0;
+
+ if($x['flags'] && is_array($x['flags'])) {
+ if(in_array('recalled',$x['flags'])) {
+ $arr['mail_flags'] |= MAIL_RECALLED;
+ }
+ }
+
+ $key = get_config('system','pubkey');
+ $arr['mail_flags'] |= MAIL_OBSCURED;
+ $arr['body'] = htmlentities($arr['body'],ENT_COMPAT,'UTF-8',false);
+ if($arr['body'])
+ $arr['body'] = json_encode(aes_encapsulate($arr['body'],$key));
+ $arr['title'] = htmlentities($arr['title'],ENT_COMPAT,'UTF-8',false);
+ if($arr['title'])
+ $arr['title'] = json_encode(aes_encapsulate($arr['title'],$key));
+
if($arr['created'] > datetime_convert())
$arr['created'] = datetime_convert();
- $arr['title'] = (($x['title']) ? htmlentities($x['title'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['uri'] = (($x['message_id']) ? htmlentities($x['message_id'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['parent_uri'] = (($x['message_parent']) ? htmlentities($x['message_parent'], ENT_COMPAT,'UTF-8',false) : '');
+ $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) : '');
+
+ if($x['attach'])
+ $arr['attach'] = activity_sanitise($x['attach']);
if(import_author_xchan($x['from']))
@@ -822,6 +934,7 @@ function get_profile_elements($x) {
$arr['desc'] = (($x['title']) ? htmlentities($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) : '');
@@ -841,8 +954,6 @@ function get_profile_elements($x) {
function get_atom_elements($feed,$item) {
- require_once('library/HTMLPurifier.auto.php');
- require_once('include/html2bbcode.php');
$best_photo = array();
@@ -857,13 +968,14 @@ function get_atom_elements($feed,$item) {
$res['author-name'] = unxmlify($feed->get_title());
$res['author-link'] = unxmlify($feed->get_permalink());
}
- $res['uri'] = unxmlify($item->get_id());
+ $res['mid'] = unxmlify($item->get_id());
$res['title'] = unxmlify($item->get_title());
$res['body'] = unxmlify($item->get_content());
$res['plink'] = unxmlify($item->get_link(0));
// removing the content of the title if its identically to the body
// This helps with auto generated titles e.g. from tumblr
+
if (title_is_body($res["title"], $res["body"]))
$res['title'] = "";
@@ -978,14 +1090,7 @@ function get_atom_elements($feed,$item) {
$res['body'] = oembed_html2bbcode($res['body']);
- $config = HTMLPurifier_Config::createDefault();
- $config->set('Cache.DefinitionImpl', null);
-
- // we shouldn't need a whitelist, because the bbcode converter
- // will strip out any unsupported tags.
-
- $purifier = new HTMLPurifier($config);
- $res['body'] = $purifier->purify($res['body']);
+ $res['body'] = purify_html($res['body']);
$res['body'] = @html2bbcode($res['body']);
@@ -1212,6 +1317,7 @@ function get_atom_elements($feed,$item) {
// This is some experimental stuff. By now retweets are shown with "RT:"
// But: There is data so that the message could be shown similar to native retweets
// There is some better way to parse this array - but it didn't worked for me.
+
$child = $item->feed->data["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["feed"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["entry"][0]["child"]["http://activitystrea.ms/spec/1.0/"][object][0]["child"];
if (is_array($child)) {
$message = $child["http://activitystrea.ms/spec/1.0/"]["object"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["content"][0]["data"];
@@ -1238,12 +1344,6 @@ function get_atom_elements($feed,$item) {
call_hooks('parse_atom', $arr);
- //if (($res["title"] != "") or (strpos($res["body"], "RT @") > 0)) {
- //if (strpos($res["body"], "RT @") !== false) {
- // $debugfile = tempnam("/home/ike/log", "item-res2-");
- // file_put_contents($debugfile, serialize($arr));
- //}
-
return $res;
}
@@ -1268,31 +1368,87 @@ function encode_rel_links($links) {
return xmlify($o);
}
-function item_store($arr,$force_parent = false) {
+function item_store($arr,$allow_exec = false) {
+
+ $ret = array('result' => false, 'item_id' => 0);
if(! $arr['uid']) {
logger('item_store: no uid');
- return 0;
+ $ret['message'] = 'No uid.';
+ return ret;
}
- $arr['lang'] = detect_language($arr['body']);
+ // If a page layout is provided, ensure it exists and belongs to us.
- $allowed_languages = get_pconfig($arr['uid'],'system','allowed_languages');
+ if(array_key_exists('layout_mid',$arr) && $arr['layout_mid']) {
+ $l = q("select item_restrict from item where mid = '%s' and uid = %d limit 1",
+ dbesc($arr['layout_mid']),
+ intval($arr['uid'])
+ );
+ if((! $l) || (! ($l[0]['item_restrict'] & ITEM_PDL)))
+ unset($arr['layout_mid']);
+ }
+
+ // Don't let anybody set these, either intentionally or accidentally
+
+ if(array_key_exists('id',$arr))
+ unset($arr['id']);
+ if(array_key_exists('parent',$arr))
+ unset($arr['parent']);
+
+ $arr['mimetype'] = ((x($arr,'mimetype')) ? notags(trim($arr['mimetype'])) : 'text/bbcode');
+
+ if(($arr['mimetype'] == 'application/x-php') && (! $allow_exec)) {
+ logger('item_store: php mimetype but allow_exec is denied.');
+ $ret['message'] = 'exec denied.';
+ return $ret;
+ }
+
+
+ $arr['title'] = ((x($arr,'title')) ? notags(trim($arr['title'])) : '');
+ $arr['body'] = ((x($arr,'body')) ? trim($arr['body']) : '');
+
+ $arr['allow_cid'] = ((x($arr,'allow_cid')) ? trim($arr['allow_cid']) : '');
+ $arr['allow_gid'] = ((x($arr,'allow_gid')) ? trim($arr['allow_gid']) : '');
+ $arr['deny_cid'] = ((x($arr,'deny_cid')) ? trim($arr['deny_cid']) : '');
+ $arr['deny_gid'] = ((x($arr,'deny_gid')) ? trim($arr['deny_gid']) : '');
+ $arr['item_private'] = ((x($arr,'item_private')) ? intval($arr['item_private']) : 0 );
+ $arr['item_flags'] = ((x($arr,'item_flags')) ? intval($arr['item_flags']) : 0 );
- if((is_array($allowed_languages)) && ($arr['lang']) && (! array_key_exists($arr['lang'],$allowed_languages))) {
- $translate = array('item' => $arr, 'from' => $arr['lang'], 'to' => $allowed_languages, 'translated' => false);
- call_hooks('item_translate', $translate);
- if((! $translate['translated']) && (intval(get_pconfig($arr['uid'],'system','reject_disallowed_languages')))) {
- logger('item_store: language ' . $arr['lang'] . ' not accepted for uid ' . $arr['uid']);
- return;
+
+ $arr['title'] = escape_tags($arr['title']);
+
+ // only detect language if we have text content, and if the post is private but not yet
+ // obscured, make it so.
+
+ if(! ($arr['item_flags'] & ITEM_OBSCURED)) {
+ $arr['lang'] = detect_language($arr['body']);
+ // apply the input filter here - if it is obscured it has been filtered already
+ $arr['body'] = z_input_filter($arr['uid'],$arr['body'],$arr['mimetype']);
+
+ $allowed_languages = get_pconfig($arr['uid'],'system','allowed_languages');
+
+ if((is_array($allowed_languages)) && ($arr['lang']) && (! array_key_exists($arr['lang'],$allowed_languages))) {
+ $translate = array('item' => $arr, 'from' => $arr['lang'], 'to' => $allowed_languages, 'translated' => false);
+ call_hooks('item_translate', $translate);
+ if((! $translate['translated']) && (intval(get_pconfig($arr['uid'],'system','reject_disallowed_languages')))) {
+ logger('item_store: language ' . $arr['lang'] . ' not accepted for uid ' . $arr['uid']);
+ $ret['message'] = 'language not accepted';
+ return $ret;
+ }
+ $arr = $translate['item'];
+ }
+ if($arr['item_private']) {
+ $key = get_config('system','pubkey');
+ $arr['item_flags'] = $arr['item_flags'] | ITEM_OBSCURED;
+ if($arr['title'])
+ $arr['title'] = json_encode(aes_encapsulate($arr['title'],$key));
+ if($arr['body'])
+ $arr['body'] = json_encode(aes_encapsulate($arr['body'],$key));
}
- $arr = $translate['item'];
- }
- // Shouldn't happen but we want to make absolutely sure it doesn't leak from a plugin.
+ }
- if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
- $arr['body'] = escape_tags($arr['body']);
if((x($arr,'object')) && is_array($arr['object'])) {
activity_sanitise($arr['object']);
@@ -1310,7 +1466,7 @@ function item_store($arr,$force_parent = false) {
}
$arr['aid'] = ((x($arr,'aid')) ? intval($arr['aid']) : 0);
- $arr['uri'] = ((x($arr,'uri')) ? notags(trim($arr['uri'])) : random_string());
+ $arr['mid'] = ((x($arr,'mid')) ? notags(trim($arr['mid'])) : random_string());
$arr['author_xchan'] = ((x($arr,'author_xchan')) ? notags(trim($arr['author_xchan'])) : '');
$arr['owner_xchan'] = ((x($arr,'owner_xchan')) ? notags(trim($arr['owner_xchan'])) : '');
$arr['created'] = ((x($arr,'created') !== false) ? datetime_convert('UTC','UTC',$arr['created']) : datetime_convert());
@@ -1319,38 +1475,44 @@ function item_store($arr,$force_parent = false) {
$arr['commented'] = datetime_convert();
$arr['received'] = datetime_convert();
$arr['changed'] = datetime_convert();
- $arr['mimetype'] = ((x($arr,'mimetype')) ? notags(trim($arr['mimetype'])) : 'text/bbcode');
- $arr['title'] = ((x($arr,'title')) ? notags(trim($arr['title'])) : '');
$arr['location'] = ((x($arr,'location')) ? notags(trim($arr['location'])) : '');
$arr['coord'] = ((x($arr,'coord')) ? notags(trim($arr['coord'])) : '');
- $arr['parent_uri'] = ((x($arr,'parent_uri')) ? notags(trim($arr['parent_uri'])) : '');
+ $arr['parent_mid'] = ((x($arr,'parent_mid')) ? notags(trim($arr['parent_mid'])) : '');
+ $arr['thr_parent'] = ((x($arr,'thr_parent')) ? notags(trim($arr['thr_parent'])) : $arr['parent_mid']);
$arr['verb'] = ((x($arr,'verb')) ? notags(trim($arr['verb'])) : '');
$arr['obj_type'] = ((x($arr,'obj_type')) ? notags(trim($arr['obj_type'])) : '');
$arr['object'] = ((x($arr,'object')) ? trim($arr['object']) : '');
$arr['tgt_type'] = ((x($arr,'tgt_type')) ? notags(trim($arr['tgt_type'])) : '');
$arr['target'] = ((x($arr,'target')) ? trim($arr['target']) : '');
$arr['plink'] = ((x($arr,'plink')) ? notags(trim($arr['plink'])) : '');
- $arr['allow_cid'] = ((x($arr,'allow_cid')) ? trim($arr['allow_cid']) : '');
- $arr['allow_gid'] = ((x($arr,'allow_gid')) ? trim($arr['allow_gid']) : '');
- $arr['deny_cid'] = ((x($arr,'deny_cid')) ? trim($arr['deny_cid']) : '');
- $arr['deny_gid'] = ((x($arr,'deny_gid')) ? trim($arr['deny_gid']) : '');
- $arr['item_private'] = ((x($arr,'item_private')) ? intval($arr['item_private']) : 0 );
- $arr['body'] = ((x($arr,'body')) ? trim($arr['body']) : '');
$arr['attach'] = ((x($arr,'attach')) ? notags(trim($arr['attach'])) : '');
$arr['app'] = ((x($arr,'app')) ? notags(trim($arr['app'])) : '');
$arr['item_restrict'] = ((x($arr,'item_restrict')) ? intval($arr['item_restrict']) : 0 );
- $arr['item_flags'] = ((x($arr,'item_flags')) ? intval($arr['item_flags']) : 0 );
+
+ $arr['comment_policy'] = ((x($arr,'comment_policy')) ? notags(trim($arr['comment_policy'])) : 'contacts' );
+
$arr['item_flags'] = $arr['item_flags'] | ITEM_UNSEEN;
-
- $arr['thr_parent'] = $arr['parent_uri'];
- $arr['llink'] = z_root() . '/display/' . $arr['uri'];
+ if($arr['comment_policy'] == 'none')
+ $arr['item_flags'] = $arr['item_flags'] | ITEM_NOCOMMENT;
+
+
+
+ // handle time travelers
+ // Allow a bit of fudge in case somebody just has a slightly slow/fast clock
+
+ $d1 = new DateTime('now +10 minutes', new DateTimeZone('UTC'));
+ $d2 = new DateTime($arr['created'] . '+00:00');
+ if($d2 > $d1)
+ $arr['item_restrict'] = $arr['item_restrict'] | ITEM_DELAYED_PUBLISH;
+
+ $arr['llink'] = z_root() . '/display/' . $arr['mid'];
if(! $arr['plink'])
$arr['plink'] = $arr['llink'];
- if($arr['parent_uri'] === $arr['uri']) {
+ if($arr['parent_mid'] === $arr['mid']) {
$parent_id = 0;
$parent_deleted = 0;
$allow_cid = $arr['allow_cid'];
@@ -1364,23 +1526,23 @@ function item_store($arr,$force_parent = false) {
// find the parent and snarf the item id and ACL's
// and anything else we need to inherit
- $r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d ORDER BY `id` ASC LIMIT 1",
- dbesc($arr['parent_uri']),
+ $r = q("SELECT * FROM `item` WHERE `mid` = '%s' AND `uid` = %d ORDER BY `id` ASC LIMIT 1",
+ dbesc($arr['parent_mid']),
intval($arr['uid'])
);
- if(count($r)) {
+ if($r) {
// is the new message multi-level threaded?
// even though we don't support it now, preserve the info
// and re-attach to the conversation parent.
- if($r[0]['uri'] != $r[0]['parent_uri']) {
- $arr['parent_uri'] = $r[0]['parent_uri'];
- $z = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `parent_uri` = '%s' AND `uid` = %d
+ if($r[0]['mid'] != $r[0]['parent_mid']) {
+ $arr['parent_mid'] = $r[0]['parent_mid'];
+ $z = q("SELECT * FROM `item` WHERE `mid` = '%s' AND `parent_mid` = '%s' AND `uid` = %d
ORDER BY `id` ASC LIMIT 1",
- dbesc($r[0]['parent_uri']),
- dbesc($r[0]['parent_uri']),
+ dbesc($r[0]['parent_mid']),
+ dbesc($r[0]['parent_mid']),
intval($arr['uid'])
);
if($z && count($z))
@@ -1412,22 +1574,9 @@ function item_store($arr,$force_parent = false) {
$arr['item_private'] = 0;
}
else {
-
- // Allow one to see reply tweets from status.net even when
- // we don't have or can't see the original post.
-
- if($force_parent) {
- logger('item_store: $force_parent=true, reply converted to top-level post.');
- $parent_id = 0;
- $arr['parent_uri'] = $arr['uri'];
- $arr['flags'] = $arr['flags'] | ITEM_THREAD_TOP;
- }
- else {
- logger('item_store: item parent was not found - ignoring item');
- return 0;
- }
-
- $parent_deleted = 0;
+ logger('item_store: item parent was not found - ignoring item');
+ $ret['message'] = 'parent not found.';
+ return $ret;
}
}
@@ -1435,20 +1584,22 @@ function item_store($arr,$force_parent = false) {
$arr['item_restrict'] = $arr['item_restrict'] | ITEM_DELETED;
- $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($arr['uri']),
+ $r = q("SELECT `id` FROM `item` WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
+ dbesc($arr['mid']),
intval($arr['uid'])
);
if($r) {
- logger('item-store: duplicate item ignored. ' . print_r($arr,true));
- return 0;
+ logger('item_store: duplicate item ignored. ' . print_r($arr,true));
+ $ret['message'] = 'duplicate post.';
+ return $ret;
}
call_hooks('post_remote',$arr);
if(x($arr,'cancel')) {
logger('item_store: post cancelled by plugin.');
- return 0;
+ $ret['message'] = 'cancelled.';
+ return $ret;
}
// pull out all the taxonomy stuff for separate storage
@@ -1459,10 +1610,10 @@ function item_store($arr,$force_parent = false) {
unset($arr['term']);
}
- dbesc_array($arr);
-
logger('item_store: ' . print_r($arr,true), LOGGER_DATA);
+ dbesc_array($arr);
+
$r = dbq("INSERT INTO `item` (`"
. implode("`, `", array_keys($arr))
. "`) VALUES ('"
@@ -1471,40 +1622,43 @@ function item_store($arr,$force_parent = false) {
// find the item we just created
- $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d ORDER BY `id` ASC ",
- $arr['uri'], // already dbesc'd
+ $r = q("SELECT * FROM `item` WHERE `mid` = '%s' AND `uid` = %d ORDER BY `id` ASC ",
+ $arr['mid'], // already dbesc'd
intval($arr['uid'])
);
+
if($r && count($r)) {
$current_post = $r[0]['id'];
+ $arr = $r[0]; // This will gives us a fresh copy of what's now in the DB and undo the db escaping, which really messes up the notifications
logger('item_store: created item ' . $current_post, LOGGER_DEBUG);
}
else {
- logger('item_store: could not locate created item');
- return 0;
+ logger('item_store: could not locate stored item');
+ $ret['message'] = 'unable to retrieve.';
+ return $ret;
}
if(count($r) > 1) {
logger('item_store: duplicated post occurred. Removing duplicates.');
- q("DELETE FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `id` != %d ",
- $arr['uri'],
+ q("DELETE FROM `item` WHERE `mid` = '%s' AND `uid` = %d AND `id` != %d ",
+ $arr['mid'],
intval($arr['uid']),
intval($current_post)
);
}
- if((! $parent_id) || ($arr['parent_uri'] === $arr['uri']))
+ if((! $parent_id) || ($arr['parent_mid'] === $arr['mid']))
$parent_id = $current_post;
if(strlen($allow_cid) || strlen($allow_gid) || strlen($deny_cid) || strlen($deny_gid))
$private = 1;
else
- $private = $arr['private'];
+ $private = $arr['item_private'];
// Set parent id - and also make sure to inherit the parent's ACL's.
- $r = q("UPDATE `item` SET `parent` = %d, `allow_cid` = '%s', `allow_gid` = '%s',
- `deny_cid` = '%s', `deny_gid` = '%s', `item_private` = %d WHERE `id` = %d LIMIT 1",
+ $r = q("UPDATE item SET parent = %d, allow_cid = '%s', allow_gid = '%s',
+ deny_cid = '%s', deny_gid = '%s', item_private = %d WHERE id = %d LIMIT 1",
intval($parent_id),
dbesc($allow_cid),
dbesc($allow_gid),
@@ -1514,13 +1668,14 @@ function item_store($arr,$force_parent = false) {
intval($current_post)
);
+ // These are probably redundant now that we've queried the just stored post
$arr['id'] = $current_post;
$arr['parent'] = $parent_id;
$arr['allow_cid'] = $allow_cid;
$arr['allow_gid'] = $allow_gid;
$arr['deny_cid'] = $deny_cid;
$arr['deny_gid'] = $deny_gid;
- $arr['private'] = $private;
+ $arr['item_private'] = $private;
// Store taxonomy
@@ -1544,7 +1699,7 @@ function item_store($arr,$force_parent = false) {
// update the commented timestamp on the parent
- q("UPDATE `item` set `commented` = '%s', `changed` = '%s' WHERE `id` = %d LIMIT 1",
+ q("UPDATE item set commented = '%s', changed = '%s' WHERE id = %d LIMIT 1",
dbesc(datetime_convert()),
dbesc(datetime_convert()),
intval($parent_id)
@@ -1554,11 +1709,199 @@ function item_store($arr,$force_parent = false) {
send_status_notifications($current_post,$arr);
tag_deliver($arr['uid'],$current_post);
+ $ret['success'] = true;
+ $ret['item_id'] = $current_post;
- return $current_post;
+ return $ret;
}
+
+function item_store_update($arr,$allow_exec = false) {
+
+ $ret = array('result' => false, 'item_id' => 0);
+ if(! intval($arr['uid'])) {
+ logger('item_store_update: no uid');
+ $ret['message'] = 'no uid.';
+ return $ret;
+ }
+ if(! intval($arr['id'])) {
+ logger('item_store_update: no id');
+ $ret['message'] = 'no id.';
+ return $ret;
+ }
+
+ $orig_post_id = $arr['id'];
+ unset($arr['id']);
+ $uid = $arr['uid'];
+ unset($arr['uid']);
+
+
+ $arr['lang'] = detect_language($arr['body']);
+
+ $allowed_languages = get_pconfig($arr['uid'],'system','allowed_languages');
+
+ if((is_array($allowed_languages)) && ($arr['lang']) && (! array_key_exists($arr['lang'],$allowed_languages))) {
+ $translate = array('item' => $arr, 'from' => $arr['lang'], 'to' => $allowed_languages, 'translated' => false);
+ call_hooks('item_translate', $translate);
+ if((! $translate['translated']) && (intval(get_pconfig($arr['uid'],'system','reject_disallowed_languages')))) {
+ logger('item_store: language ' . $arr['lang'] . ' not accepted for uid ' . $arr['uid']);
+ $ret['message'] = 'language not accepted';
+ return $ret;
+ }
+ $arr = $translate['item'];
+ }
+
+ $arr['mimetype'] = ((x($arr,'mimetype')) ? notags(trim($arr['mimetype'])) : 'text/bbcode');
+
+ if(($arr['mimetype'] == 'application/x-php') && (! $allow_exec)) {
+ logger('item_store: php mimetype but allow_exec is denied.');
+ $ret['message'] = 'exec denied.';
+ return $ret;
+ }
+
+
+ // Shouldn't happen but we want to make absolutely sure it doesn't leak from a plugin.
+
+ if($arr['mimetype'] != 'text/html' && $arr['mimetype'] != 'application/x-php') {
+
+ if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
+ $arr['body'] = escape_tags($arr['body']);
+
+ if((x($arr,'object')) && is_array($arr['object'])) {
+ activity_sanitise($arr['object']);
+ $arr['object'] = json_encode($arr['object']);
+ }
+
+ if((x($arr,'target')) && is_array($arr['target'])) {
+ activity_sanitise($arr['target']);
+ $arr['target'] = json_encode($arr['target']);
+ }
+
+ if((x($arr,'attach')) && is_array($arr['attach'])) {
+ activity_sanitise($arr['attach']);
+ $arr['attach'] = json_encode($arr['attach']);
+ }
+ }
+
+ $orig = q("select * from item where id = %d and uid = %d limit 1",
+ intval($orig_post_id),
+ intval($uid)
+ );
+ if(! $orig) {
+ logger('item_store_update: original post not found: ' . $orig_post_id);
+ $ret['message'] = 'no original';
+ return $ret;
+ }
+
+ unset($arr['aid']);
+ unset($arr['mid']);
+ unset($arr['parent']);
+ unset($arr['parent_mid']);
+ unset($arr['created']);
+ unset($arr['author_xchan']);
+ unset($arr['owner_xchan']);
+ unset($arr['thr_parent']);
+ unset($arr['llink']);
+
+ $arr['edited'] = ((x($arr,'edited') !== false) ? datetime_convert('UTC','UTC',$arr['edited']) : datetime_convert());
+ $arr['expires'] = ((x($arr,'expires') !== false) ? datetime_convert('UTC','UTC',$arr['expires']) : $orig[0]['expires']);
+ $arr['commented'] = datetime_convert();
+ $arr['received'] = datetime_convert();
+ $arr['changed'] = datetime_convert();
+ $arr['title'] = ((x($arr,'title')) ? notags(trim($arr['title'])) : '');
+ $arr['location'] = ((x($arr,'location')) ? notags(trim($arr['location'])) : '');
+ $arr['coord'] = ((x($arr,'coord')) ? notags(trim($arr['coord'])) : '');
+ $arr['verb'] = ((x($arr,'verb')) ? notags(trim($arr['verb'])) : '');
+ $arr['obj_type'] = ((x($arr,'obj_type')) ? notags(trim($arr['obj_type'])) : '');
+ $arr['object'] = ((x($arr,'object')) ? trim($arr['object']) : '');
+ $arr['tgt_type'] = ((x($arr,'tgt_type')) ? notags(trim($arr['tgt_type'])) : '');
+ $arr['target'] = ((x($arr,'target')) ? trim($arr['target']) : '');
+ $arr['plink'] = ((x($arr,'plink')) ? notags(trim($arr['plink'])) : $orig[0]['plink']);
+ $arr['allow_cid'] = ((x($arr,'allow_cid')) ? trim($arr['allow_cid']) : $orig[0]['allow_cid']);
+ $arr['allow_gid'] = ((x($arr,'allow_gid')) ? trim($arr['allow_gid']) : $orig[0]['allow_gid']);
+ $arr['deny_cid'] = ((x($arr,'deny_cid')) ? trim($arr['deny_cid']) : $orig[0]['deny_cid']);
+ $arr['deny_gid'] = ((x($arr,'deny_gid')) ? trim($arr['deny_gid']) : $orig[0]['deny_gid']);
+ $arr['item_private'] = ((x($arr,'item_private')) ? intval($arr['item_private']) : $orig[0]['item_private']);
+ $arr['body'] = ((x($arr,'body')) ? trim($arr['body']) : '');
+ $arr['attach'] = ((x($arr,'attach')) ? notags(trim($arr['attach'])) : '');
+ $arr['app'] = ((x($arr,'app')) ? notags(trim($arr['app'])) : '');
+ $arr['item_restrict'] = ((x($arr,'item_restrict')) ? intval($arr['item_restrict']) : $orig[0]['item_restrict'] );
+ $arr['item_flags'] = ((x($arr,'item_flags')) ? intval($arr['item_flags']) : $orig[0]['item_flags'] );
+
+
+ call_hooks('post_remote_update',$arr);
+
+ if(x($arr,'cancel')) {
+ logger('item_store_update: post cancelled by plugin.');
+ $ret['message'] = 'cancelled.';
+ return $ret;
+ }
+
+ // pull out all the taxonomy stuff for separate storage
+
+ $terms = null;
+ if(array_key_exists('term',$arr)) {
+ $terms = $arr['term'];
+ unset($arr['term']);
+ }
+
+ dbesc_array($arr);
+
+ logger('item_store_update: ' . print_r($arr,true), LOGGER_DATA);
+
+ $str = '';
+ foreach($arr as $k => $v) {
+ if($str)
+ $str .= ",";
+ $str .= " `" . $k . "` = '" . $v . "' ";
+ }
+
+ $r = dbq("update `item` set " . $str . " where id = " . $orig_post_id . " limit 1");
+
+ if($r)
+ logger('item_store_update: updated item ' . $orig_post_id, LOGGER_DEBUG);
+ else {
+ logger('item_store_update: could not update item');
+ $ret['message'] = 'DB update failed.';
+ return $ret;
+ }
+
+ $r = q("delete from term where oid = %d and otype = %d",
+ intval($orig_post_id),
+ intval(TERM_OBJ_POST)
+ );
+
+ if(($terms) && (is_array($terms))) {
+ foreach($terms as $t) {
+ q("insert into term (uid,oid,otype,type,term,url)
+ values(%d,%d,%d,%d,'%s','%s') ",
+ intval($uid),
+ intval($orig_post_id),
+ intval(TERM_OBJ_POST),
+ intval($t['type']),
+ dbesc($t['term']),
+ dbesc($t['url'])
+ );
+ }
+
+ $arr['term'] = $terms;
+ }
+
+ call_hooks('post_remote_update_end',$arr);
+
+ send_status_notifications($orig_post_id,$arr);
+
+ tag_deliver($uid,$orig_post_id);
+ $ret['success'] = true;
+ $ret['item_id'] = $orig_post_id;
+
+ return $ret;
+}
+
+
+
+
function send_status_notifications($post_id,$item) {
$notify = false;
@@ -1581,8 +1924,8 @@ function send_status_notifications($post_id,$item) {
// Was I involved in this conversation?
- $x = q("select * from item where parent_uri = '%s' and uid = %d",
- dbesc($item['parent_uri']),
+ $x = q("select * from item where parent_mid = '%s' and uid = %d",
+ dbesc($item['parent_mid']),
intval($item['uid'])
);
if($x) {
@@ -1604,11 +1947,11 @@ function send_status_notifications($post_id,$item) {
'from_xchan' => $item['author_xchan'],
'to_xchan' => $r[0]['channel_hash'],
'item' => $item,
- 'link' => get_app()->get_baseurl() . '/display/' . $item['uri'],
+ 'link' => get_app()->get_baseurl() . '/display/' . $item['mid'],
'verb' => ACTIVITY_POST,
'otype' => 'item',
'parent' => $parent,
- 'parent_uri' => $item['parent_uri']
+ 'parent_mid' => $item['parent_mid']
));
return;
}
@@ -1633,7 +1976,9 @@ function get_item_contact($item,$contacts) {
function tag_deliver($uid,$item_id) {
- // look for mention tags and setup a second delivery chain for forum/community posts if appropriate
+ // Called when we deliver things that might be tagged in ways that require delivery processing.
+ // Handles community tagging of posts and also look for mention tags
+ // and sets up a second delivery chain if appropriate
$a = get_app();
@@ -1649,16 +1994,92 @@ function tag_deliver($uid,$item_id) {
intval($item_id),
intval($uid)
);
- if(! count($i))
+ if(! $i)
return;
$i = fetch_post_tags($i);
$item = $i[0];
+
+ if($item['obj_type'] === ACTIVITY_OBJ_TAGTERM) {
+
+ // We received a community tag activity for a post.
+ // See if we are the owner of the parent item and have given permission to tag our posts.
+ // If so tag the parent post.
+
+ logger('tag_deliver: community tag activity received');
+
+ if(($item['owner_xchan'] === $u[0]['channel_hash']) && (! get_pconfig($u[0]['channel_id'],'system','blocktags'))) {
+ $j_tgt = json_decode_plus($item['target']);
+ if($j_tgt && $j_tgt['id']) {
+ $p = q("select * from item where mid = '%s' and uid = %d limit 1",
+ dbesc($j_tgt['id']),
+ intval($u[0]['channel_id'])
+ );
+ if($p) {
+ $j_obj = json_decode_plus($item['object']);
+ logger('tag_deliver: tag object: ' . print_r($j_obj,true), LOGGER_DATA);
+ if($j_obj && $j_obj['id'] && $j_obj['title']) {
+ if(is_array($j_obj['link']))
+ $taglink = get_rel_link($j_obj['link'],'alternate');
+ store_item_tag($u[0]['channel_id'],$p[0]['id'],TERM_OBJ_POST,TERM_HASHTAG,$j_obj['title'],$j_obj['id']);
+ proc_run('php','include/notifier.php','edit_post',$p[0]['id']);
+ }
+ }
+ }
+ }
+ else
+ logger('tag_deliver: tag permission denied for ' . $u[0]['channel_address']);
+ }
+
+ // This might be a followup by the original post author to a tagged forum
+ // If so setup a second delivery chain
+
+ $r = null;
+
+ if( ! ($item['item_flags'] & ITEM_THREAD_TOP)) {
+ $x = q("select * from item where id = parent and parent = %d and uid = %d limit 1",
+ intval($item['parent']),
+ intval($uid)
+ );
+
+// issue #59
+// FIXME - check security on post and allowed senders, right now we just allow it. The author *may* be foreign and the original owner is lost on our copy of the post. So this could be very hard to verify. For instance what happens if the top-level post was a wall-to-wall?
+// if(($x) && ($x[0]['item_flags'] & ITEM_UPLINK) && ($x[0]['author_xchan'] == $item['author_xchan'])) {
+ if(($x) && ($x[0]['item_flags'] & ITEM_UPLINK)) {
+// logger('tag_deliver: creating second delivery chain for owner comment.');
+ logger('tag_deliver: creating second delivery chain for comment to tagged post.');
+
+ // now change this copy of the post to a forum head message and deliver to all the tgroup members
+ // also reset all the privacy bits to the forum default permissions
+
+ $private = (($u[0]['allow_cid'] || $u[0]['allow_gid'] || $u[0]['deny_cid'] || $u[0]['deny_gid']) ? 1 : 0);
+
+ $flag_bits = ITEM_WALL|ITEM_ORIGIN;
+
+ $r = q("update item set item_flags = ( item_flags | %d ), owner_xchan = '%s', allow_cid = '%s', allow_gid = '%s',
+ deny_cid = '%s', deny_gid = '%s', item_private = %d where id = %d limit 1",
+ intval($flag_bits),
+ dbesc($u[0]['channel_hash']),
+ dbesc($u[0]['allow_cid']),
+ dbesc($u[0]['allow_gid']),
+ dbesc($u[0]['deny_cid']),
+ dbesc($u[0]['deny_gid']),
+ intval($private),
+ intval($item_id)
+ );
+ if($r)
+ proc_run('php','include/notifier.php','tgroup',$item_id);
+ else
+ logger('tag_deliver: failed to update item');
+ }
+ }
+
$terms = get_terms_oftype($item['term'],TERM_MENTION);
- logger('tag_deliver: post mentions: ' . print_r($terms,true), LOGGER_DATA);
+ if($terms)
+ logger('tag_deliver: post mentions: ' . print_r($terms,true), LOGGER_DATA);
$link = normalise_link($a->get_baseurl() . '/channel/' . $u[0]['channel_address']);
@@ -1687,7 +2108,7 @@ function tag_deliver($uid,$item_id) {
$body = preg_replace('/\[share(.*?)\[\/share\]/','',$item['body']);
- $pattern = '/@\[url\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'],'/') . '\[\/url\]/';
+ $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');
@@ -1710,16 +2131,20 @@ function tag_deliver($uid,$item_id) {
));
- if(! perm_is_allowed($uid,$item['author_xchan'],'tag_deliver'))
+ if(! perm_is_allowed($uid,$item['author_xchan'],'tag_deliver')) {
+ logger('tag_delivery denied for uid ' . $uid . ' and xchan ' . $item['author_xchan']);
return;
+ }
// tgroup delivery - setup a second delivery chain
// prevent delivery looping - only proceed
// if the message originated elsewhere and is a top-level post
- if(($item['item_flags'] & ITEM_WALL) || ($item['item_flags'] & ITEM_ORIGIN) || (!($item['item_flags'] & ITEM_THREAD_TOP)) || ($item['id'] != $item['parent']))
+ if(($item['item_flags'] & ITEM_WALL) || ($item['item_flags'] & ITEM_ORIGIN) || (!($item['item_flags'] & ITEM_THREAD_TOP)) || ($item['id'] != $item['parent'])) {
+ logger('tag_deliver: item was local or a comment. rejected.');
return;
+ }
logger('tag_deliver: creating second delivery chain.');
@@ -1757,46 +2182,60 @@ 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
- if(($item['wall']) || ($item['origin']) || ($item['uri'] != $item['parent-uri']))
+ if($item['mid'] != $item['parent_mid']) {
+ $r = q("select id from item where mid = '%s' and uid = %d limit 1",
+ dbesc($item['parent_mid']),
+ intval($uid)
+ );
+ if($r)
+ return true;
+ return false;
+ }
+ if(! perm_is_allowed($uid,$item['author_xchan'],'tag_deliver'))
return false;
-
- $u = q("select * from user where uid = %d limit 1",
+ $u = q("select * from channel where channel_id = %d limit 1",
intval($uid)
);
- if(! count($u))
- return false;
-
- $community_page = (($u[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
- $prvgroup = (($u[0]['page-flags'] == PAGE_PRVGROUP) ? true : false);
+ if(! $u)
+ return false;
- $link = normalise_link($a->get_baseurl() . '/channel/' . $u[0]['nickname']);
+ $terms = get_terms_oftype($item['term'],TERM_MENTION);
- // Diaspora uses their own hardwired link URL in @-tags
- // instead of the one we supply with webfinger
+ if($terms)
+ logger('tgroup_check: post mentions: ' . print_r($terms,true), LOGGER_DATA);
- $dlink = normalise_link($a->get_baseurl() . '/u/' . $u[0]['nickname']);
+ $link = normalise_link($a->get_baseurl() . '/channel/' . $u[0]['channel_address']);
- $body = preg_replace("/\[share\](.*?)\[\/share\]/ism", '', $item['body']);
-
- $cnt = preg_match_all('/[\@\!]\[url\=(.*?)\](.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER);
- if($cnt) {
- foreach($matches as $mtch) {
- if(link_compare($link,$mtch[1]) || link_compare($dlink,$mtch[1])) {
+ if($terms) {
+ foreach($terms as $term) {
+ if(($term['term'] == $u[0]['channel_name']) && link_compare($term['url'],$link)) {
$mention = true;
- logger('tgroup_check: mention found: ' . $mtch[2]);
+ break;
}
}
- }
+ }
- if(! $mention)
+ if($mention) {
+ logger('tgroup_check: mention found for ' . $u[0]['channel_name']);
+ }
+ else
return false;
- if((! $community_page) && (! $prvgroup))
- return false;
+ // At this point we've determined that the person receiving this post was mentioned in it.
+ // Now let's check if this mention was inside a reshare so we don't spam a forum
+ $body = preg_replace('/\[share(.*?)\[\/share\]/','',$item['body']);
+
+ $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');
+ return false;
+ }
return true;
@@ -1814,24 +2253,28 @@ function mail_store($arr) {
if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
$arr['body'] = escape_tags($arr['body']);
+ if(array_key_exists('attach',$arr) && is_array($arr['attach']))
+ $arr['attach'] = json_encode($arr['attach']);
+
$arr['account_id'] = ((x($arr,'account_id')) ? intval($arr['account_id']) : 0);
- $arr['uri'] = ((x($arr,'uri')) ? notags(trim($arr['uri'])) : random_string());
+ $arr['mid'] = ((x($arr,'mid')) ? notags(trim($arr['mid'])) : random_string());
$arr['from_xchan'] = ((x($arr,'from_xchan')) ? notags(trim($arr['from_xchan'])) : '');
$arr['to_xchan'] = ((x($arr,'to_xchan')) ? notags(trim($arr['to_xchan'])) : '');
$arr['created'] = ((x($arr,'created') !== false) ? datetime_convert('UTC','UTC',$arr['created']) : datetime_convert());
$arr['title'] = ((x($arr,'title')) ? notags(trim($arr['title'])) : '');
- $arr['parent_uri'] = ((x($arr,'parent_uri')) ? notags(trim($arr['parent_uri'])) : '');
+ $arr['parent_mid'] = ((x($arr,'parent_mid')) ? notags(trim($arr['parent_mid'])) : '');
$arr['body'] = ((x($arr,'body')) ? trim($arr['body']) : '');
+
$arr['mail_flags'] = ((x($arr,'mail_flags')) ? intval($arr['mail_flags']) : 0 );
- if(! $arr['parent_uri']) {
+ if(! $arr['parent_mid']) {
logger('mail_store: missing parent');
- $arr['parent_uri'] = $arr['uri'];
+ $arr['parent_mid'] = $arr['mid'];
}
- $r = q("SELECT `id` FROM mail WHERE `uri` = '%s' AND channel_id = %d LIMIT 1",
- dbesc($arr['uri']),
+ $r = q("SELECT `id` FROM mail WHERE `mid` = '%s' AND channel_id = %d LIMIT 1",
+ dbesc($arr['mid']),
intval($arr['channel_id'])
);
if($r) {
@@ -1858,8 +2301,8 @@ function mail_store($arr) {
// find the item we just created
- $r = q("SELECT `id` FROM mail WHERE `uri` = '%s' AND `channel_id` = %d ORDER BY `id` ASC ",
- $arr['uri'], // already dbesc'd
+ $r = q("SELECT `id` FROM mail WHERE `mid` = '%s' AND `channel_id` = %d ORDER BY `id` ASC ",
+ $arr['mid'], // already dbesc'd
intval($arr['channel_id'])
);
@@ -1874,8 +2317,8 @@ function mail_store($arr) {
}
if(count($r) > 1) {
logger('mail_store: duplicated post occurred. Removing duplicates.');
- q("DELETE FROM mail WHERE `uri` = '%s' AND `channel_id` = %d AND `id` != %d ",
- $arr['uri'],
+ q("DELETE FROM mail WHERE `mid` = '%s' AND `channel_id` = %d AND `id` != %d ",
+ $arr['mid'],
intval($arr['channel_id']),
intval($current_post)
);
@@ -1922,21 +2365,21 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
if(! $rino_enable)
$rino = 0;
- $ssl_val = intval(get_config('system','ssl_policy'));
- $ssl_policy = '';
-
- switch($ssl_val){
- case SSL_POLICY_FULL:
- $ssl_policy = 'full';
- break;
- case SSL_POLICY_SELFSIGN:
- $ssl_policy = 'self';
- break;
- case SSL_POLICY_NONE:
- default:
- $ssl_policy = 'none';
- break;
- }
+// $ssl_val = intval(get_config('system','ssl_policy'));
+// $ssl_policy = '';
+
+// switch($ssl_val){
+// case SSL_POLICY_FULL:
+// $ssl_policy = 'full';
+// break;
+// case SSL_POLICY_SELFSIGN:
+// $ssl_policy = 'self';
+// break;
+// case SSL_POLICY_NONE:
+// default:
+// $ssl_policy = 'none';
+// break;
+// }
$url = $contact['notify'] . '&dfrn_id=' . $idtosend . '&dfrn_version=' . DFRN_PROTOCOL_VERSION . (($rino) ? '&rino=1' : '');
@@ -2025,7 +2468,7 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
$postvars['perm'] = 'r';
}
- $postvars['ssl_policy'] = $ssl_policy;
+// $postvars['ssl_policy'] = $ssl_policy;
if($page)
$postvars['page'] = $page;
@@ -2150,176 +2593,6 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$photo_url = '';
$birthday = '';
- $hubs = $feed->get_links('hub');
- logger('consume_feed: hubs: ' . print_r($hubs,true), LOGGER_DATA);
-
- if(count($hubs))
- $hub = implode(',', $hubs);
-
- $rawtags = $feed->get_feed_tags( NAMESPACE_DFRN, 'owner');
- if(! $rawtags)
- $rawtags = $feed->get_feed_tags( SIMPLEPIE_NAMESPACE_ATOM_10, 'author');
- if($rawtags) {
- $elems = $rawtags[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10];
- if($elems['name'][0]['attribs'][NAMESPACE_DFRN]['updated']) {
- $name_updated = $elems['name'][0]['attribs'][NAMESPACE_DFRN]['updated'];
- $new_name = $elems['name'][0]['data'];
- }
- if((x($elems,'link')) && ($elems['link'][0]['attribs']['']['rel'] === 'photo') && ($elems['link'][0]['attribs'][NAMESPACE_DFRN]['updated'])) {
- $photo_timestamp = datetime_convert('UTC','UTC',$elems['link'][0]['attribs'][NAMESPACE_DFRN]['updated']);
- $photo_url = $elems['link'][0]['attribs']['']['href'];
- }
-
- if((x($rawtags[0]['child'], NAMESPACE_DFRN)) && (x($rawtags[0]['child'][NAMESPACE_DFRN],'birthday'))) {
- $birthday = datetime_convert('UTC','UTC', $rawtags[0]['child'][NAMESPACE_DFRN]['birthday'][0]['data']);
- }
- }
-
- if((is_array($contact)) && ($photo_timestamp) && (strlen($photo_url)) && ($photo_timestamp > $contact['avatar_date'])) {
- logger('consume_feed: Updating photo for ' . $contact['name']);
- require_once("Photo.php");
- $photo_failure = false;
- $have_photo = false;
-
- $r = q("SELECT `resource_id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d LIMIT 1",
- intval($contact['id']),
- intval($contact['uid'])
- );
- if(count($r)) {
- $resource_id = $r[0]['resource_id'];
- $have_photo = true;
- }
- else {
- $resource_id = photo_new_resource();
- }
-
- $img_str = fetch_url($photo_url,true);
- // guess mimetype from headers or filename
- $type = guess_image_type($photo_url,true);
-
-
- $img = new Photo($img_str, $type);
- if($img->is_valid()) {
- if($have_photo) {
- q("DELETE FROM `photo` WHERE `resource_id` = '%s' AND `contact-id` = %d AND `uid` = %d",
- dbesc($resource_id),
- intval($contact['id']),
- intval($contact['uid'])
- );
- }
-
- $img->scaleImageSquare(175);
-
- $hash = $resource_id;
- $r = $img->store(0, $contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 4);
-
- $img->scaleImage(80);
- $r = $img->store(0, $contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 5);
-
- $img->scaleImage(48);
- $r = $img->store(0, $contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 6);
-
- $a = get_app();
-
- q("UPDATE `contact` SET `avatar_date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
- WHERE `uid` = %d AND `id` = %d LIMIT 1",
- dbesc(datetime_convert()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-4.'.$img->getExt()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-5.'.$img->getExt()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-6.'.$img->getExt()),
- intval($contact['uid']),
- intval($contact['id'])
- );
- }
- }
-
- if((is_array($contact)) && ($name_updated) && (strlen($new_name)) && ($name_updated > $contact['name_date'])) {
- $r = q("select * from contact where uid = %d and id = %d limit 1",
- intval($contact['uid']),
- intval($contact['id'])
- );
-
- $x = q("UPDATE `contact` SET `name` = '%s', `name_date` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
- dbesc(notags(trim($new_name))),
- dbesc(datetime_convert()),
- intval($contact['uid']),
- intval($contact['id'])
- );
-
- // do our best to update the name on content items
-
- if(count($r)) {
- q("update item set `author-name` = '%s' where `author-name` = '%s' and `author-link` = '%s' and uid = %d",
- dbesc(notags(trim($new_name))),
- dbesc($r[0]['name']),
- dbesc($r[0]['url']),
- intval($contact['uid'])
- );
- }
- }
-
- if(strlen($birthday)) {
- if(substr($birthday,0,4) != $contact['bdyear']) {
- logger('consume_feed: updating birthday: ' . $birthday);
-
- /**
- *
- * Add new birthday event for this person
- *
- * $bdtext is just a readable placeholder in case the event is shared
- * with others. We will replace it during presentation to our $importer
- * to contain a sparkle link and perhaps a photo.
- *
- */
-
- $bdtext = sprintf( t('%s\'s birthday'), $contact['name']);
- $bdtext2 = sprintf( t('Happy Birthday %s'), ' [url=' . $contact['url'] . ']' . $contact['name'] . '[/url]' ) ;
-
-
- $r = q("INSERT INTO `event` (`uid`,`cid`,`created`,`edited`,`start`,`finish`,`summary`,`desc`,`type`)
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
- intval($contact['uid']),
- intval($contact['id']),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(datetime_convert('UTC','UTC', $birthday)),
- dbesc(datetime_convert('UTC','UTC', $birthday . ' + 1 day ')),
- dbesc($bdtext),
- dbesc($bdtext2),
- dbesc('birthday')
- );
-
-
- // update bdyear
-
- q("UPDATE `contact` SET `bdyear` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
- dbesc(substr($birthday,0,4)),
- intval($contact['uid']),
- intval($contact['id'])
- );
-
- // This function is called twice without reloading the contact
- // Make sure we only create one event. This is why &$contact
- // is a reference var in this function
-
- $contact['bdyear'] = substr($birthday,0,4);
- }
-
- }
-
- $community_page = 0;
- $rawtags = $feed->get_feed_tags( NAMESPACE_DFRN, 'community');
- if($rawtags) {
- $community_page = intval($rawtags[0]['data']);
- }
- if(is_array($contact) && intval($contact['forum']) != $community_page) {
- q("update contact set forum = %d where id = %d limit 1",
- intval($community_page),
- intval($contact['id'])
- );
- $contact['forum'] = (string) $community_page;
- }
-
// process any deleted entries
@@ -2328,7 +2601,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
foreach($del_entries as $dentry) {
$deleted = false;
if(isset($dentry['attribs']['']['ref'])) {
- $uri = $dentry['attribs']['']['ref'];
+ $mid = $dentry['attribs']['']['ref'];
$deleted = true;
if(isset($dentry['attribs']['']['when'])) {
$when = $dentry['attribs']['']['when'];
@@ -2338,70 +2611,38 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$when = datetime_convert('UTC','UTC','now','Y-m-d H:i:s');
}
if($deleted && is_array($contact)) {
- $r = q("SELECT `item`.*, `contact`.`self` FROM `item` left join `contact` on `item`.`contact-id` = `contact`.`id`
- WHERE `uri` = '%s' AND `item`.`uid` = %d AND `contact-id` = %d AND NOT `item`.`file` LIKE '%%[%%' LIMIT 1",
- dbesc($uri),
+/* $r = q("SELECT `item`.*, `contact`.`self` FROM `item` left join `contact` on `item`.`contact-id` = `contact`.`id`
+ WHERE `mid` = '%s' AND `item`.`uid` = %d AND `contact-id` = %d AND NOT `item`.`file` LIKE '%%[%%' LIMIT 1",
+ dbesc($mid),
intval($importer['uid']),
intval($contact['id'])
);
+*/
if(count($r)) {
$item = $r[0];
if(! $item['deleted'])
- logger('consume_feed: deleting item ' . $item['id'] . ' uri=' . $item['uri'], LOGGER_DEBUG);
-
- if(($item['verb'] === ACTIVITY_TAG) && ($item['obj_type'] === ACTIVITY_OBJ_TAGTERM)) {
- $xo = parse_xml_string($item['object'],false);
- $xt = parse_xml_string($item['target'],false);
- if($xt->type === ACTIVITY_OBJ_NOTE) {
- $i = q("select * from `item` where uri = '%s' and uid = %d limit 1",
- dbesc($xt->id),
- intval($importer['importer_uid'])
- );
- if(count($i)) {
-
- // For tags, the owner cannot remove the tag on the author's copy of the post.
-
- $owner_remove = (($item['contact-id'] == $i[0]['contact-id']) ? true: false);
- $author_remove = (($item['origin'] && $item['self']) ? true : false);
- $author_copy = (($item['origin']) ? true : false);
-
- if($owner_remove && $author_copy)
- continue;
- if($author_remove || $owner_remove) {
- $tags = explode(',',$i[0]['tag']);
- $newtags = array();
- if(count($tags)) {
- foreach($tags as $tag)
- if(trim($tag) !== trim($xo->body))
- $newtags[] = trim($tag);
- }
- q("update item set tag = '%s' where id = %d limit 1",
- dbesc(implode(',',$newtags)),
- intval($i[0]['id'])
- );
- }
- }
- }
- }
+ logger('consume_feed: deleting item ' . $item['id'] . ' mid=' . $item['mid'], LOGGER_DEBUG);
- if($item['uri'] == $item['parent_uri']) {
- $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s',
+ if($item['mid'] == $item['parent_mid']) {
+ $r = q("UPDATE `item` SET item_restrict = (item_restrict | %d), `edited` = '%s', `changed` = '%s',
`body` = '', `title` = ''
- WHERE `parent_uri` = '%s' AND `uid` = %d",
+ WHERE `parent_mid` = '%s' AND `uid` = %d",
+ intval(ITEM_DELETED),
dbesc($when),
dbesc(datetime_convert()),
- dbesc($item['uri']),
+ dbesc($item['mid']),
intval($importer['uid'])
);
}
else {
- $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s',
+ $r = q("UPDATE `item` SET item_restrict = ( item_restrict | %d ), `edited` = '%s', `changed` = '%s',
`body` = '', `title` = ''
- WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
+ WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
+ intval(ITEM_DELETED),
dbesc($when),
dbesc(datetime_convert()),
- dbesc($uri),
+ dbesc($mid),
intval($importer['uid'])
);
}
@@ -2430,18 +2671,18 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$rawthread = $item->get_item_tags( NAMESPACE_THREAD,'in-reply-to');
if(isset($rawthread[0]['attribs']['']['ref'])) {
$is_reply = true;
- $parent_uri = $rawthread[0]['attribs']['']['ref'];
+ $parent_mid = $rawthread[0]['attribs']['']['ref'];
}
- if(($is_reply) && is_array($contact)) {
+ if($is_reply) {
if($pass == 1)
continue;
// not allowed to post
-
- if($contact['rel'] == CONTACT_IS_FOLLOWER)
- continue;
+// FIXME - check permissions
+// if($contact['rel'] == CONTACT_IS_FOLLOWER)
+// continue;
// Have we seen it? If not, import it.
@@ -2462,7 +2703,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
}
- $r = q("SELECT `uid`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
+ $r = q("SELECT `uid`, `edited`, `body` FROM `item` WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
dbesc($item_id),
intval($importer['uid'])
);
@@ -2476,7 +2717,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
if(datetime_convert('UTC','UTC',$datarray['edited']) < $r[0]['edited'])
continue;
- $r = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `edited` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
+ $r = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `edited` = '%s' WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
dbesc($datarray['title']),
dbesc($datarray['body']),
dbesc(datetime_convert('UTC','UTC',$datarray['edited'])),
@@ -2489,19 +2730,19 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
}
- $datarray['parent_uri'] = $parent_uri;
+ $datarray['parent_mid'] = $parent_mid;
$datarray['uid'] = $importer['uid'];
$datarray['contact-id'] = $contact['id'];
if((activity_match($datarray['verb'],ACTIVITY_LIKE)) || (activity_match($datarray['verb'],ACTIVITY_DISLIKE))) {
$datarray['type'] = 'activity';
$datarray['gravity'] = GRAVITY_LIKE;
// only one like or dislike per person
- $r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and deleted = 0 and (`parent_uri` = '%s' OR `thr_parent` = '%s') limit 1",
+ $r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and deleted = 0 and (`parent_mid` = '%s' OR `thr_parent` = '%s') limit 1",
intval($datarray['uid']),
intval($datarray['contact-id']),
dbesc($datarray['verb']),
- dbesc($parent_uri),
- dbesc($parent_uri)
+ dbesc($parent_mid),
+ dbesc($parent_mid)
);
if($r && count($r))
continue;
@@ -2512,7 +2753,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$xt = parse_xml_string($datarray['target'],false);
if($xt->type == ACTIVITY_OBJ_NOTE) {
- $r = q("select * from item where `uri` = '%s' AND `uid` = %d limit 1",
+ $r = q("select * from item where `mid` = '%s' AND `uid` = %d limit 1",
dbesc($xt->id),
intval($importer['importer_uid'])
);
@@ -2521,7 +2762,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
// extract tag, if not duplicate, add to parent item
if($xo->id && $xo->content) {
- $newtag = '#[url=' . $xo->id . ']'. $xo->content . '[/url]';
+ $newtag = '#[zrl=' . $xo->id . ']'. $xo->content . '[/zrl]';
if(! (stristr($r[0]['tag'],$newtag))) {
q("UPDATE item SET tag = '%s' WHERE id = %d LIMIT 1",
dbesc($r[0]['tag'] . (strlen($r[0]['tag']) ? ',' : '') . $newtag),
@@ -2532,7 +2773,8 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
}
}
- $r = item_store($datarray,$force_parent);
+ $xx = item_store($datarray);
+ $r = $xx['item_id'];
continue;
}
@@ -2564,13 +2806,13 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$ev = bbtoevent($datarray['body']);
if(x($ev,'desc') && x($ev,'start')) {
$ev['uid'] = $importer['uid'];
- $ev['uri'] = $item_id;
+ $ev['mid'] = $item_id;
$ev['edited'] = $datarray['edited'];
$ev['private'] = $datarray['private'];
if(is_array($contact))
$ev['cid'] = $contact['id'];
- $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
+ $r = q("SELECT * FROM `event` WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
dbesc($item_id),
intval($importer['uid'])
);
@@ -2581,7 +2823,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
}
}
- $r = q("SELECT `uid`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
+ $r = q("SELECT `uid`, `edited`, `body` FROM `item` WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
dbesc($item_id),
intval($importer['uid'])
);
@@ -2595,7 +2837,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
if(datetime_convert('UTC','UTC',$datarray['edited']) < $r[0]['edited'])
continue;
- $r = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `edited` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
+ $r = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `edited` = '%s' WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
dbesc($datarray['title']),
dbesc($datarray['body']),
dbesc(datetime_convert('UTC','UTC',$datarray['edited'])),
@@ -2639,7 +2881,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$datarray['wall'] = 1;
}
- $datarray['parent_uri'] = $item_id;
+ $datarray['parent_mid'] = $item_id;
$datarray['uid'] = $importer['uid'];
$datarray['contact-id'] = $contact['id'];
@@ -2662,1125 +2904,18 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
continue;
- $r = item_store($datarray);
- continue;
-
- }
- }
- }
-}
-
-function local_delivery($importer,$data) {
-
- $a = get_app();
-
- if($importer['readonly']) {
- // We aren't receiving stuff from this person. But we will quietly ignore them
- // rather than a blatant "go away" message.
- logger('local_delivery: ignoring');
- return 0;
- //NOTREACHED
- }
-
- // Consume notification feed. This may differ from consuming a public feed in several ways
- // - might contain email or friend suggestions
- // - might contain remote followup to our message
- // - in which case we need to accept it and then notify other conversants
- // - we may need to send various email notifications
-
- $feed = new SimplePie();
- $feed->set_raw_data($data);
- $feed->enable_order_by_date(false);
- $feed->init();
-
-
- if($feed->error())
- logger('local_delivery: Error parsing XML: ' . $feed->error());
-
-
- // Check at the feed level for updated contact name and/or photo
-
- $name_updated = '';
- $new_name = '';
- $photo_timestamp = '';
- $photo_url = '';
-
-
- $rawtags = $feed->get_feed_tags( NAMESPACE_DFRN, 'owner');
- if(! $rawtags)
- $rawtags = $feed->get_feed_tags( SIMPLEPIE_NAMESPACE_ATOM_10, 'author');
- if($rawtags) {
- $elems = $rawtags[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10];
- if($elems['name'][0]['attribs'][NAMESPACE_DFRN]['updated']) {
- $name_updated = $elems['name'][0]['attribs'][NAMESPACE_DFRN]['updated'];
- $new_name = $elems['name'][0]['data'];
- }
- if((x($elems,'link')) && ($elems['link'][0]['attribs']['']['rel'] === 'photo') && ($elems['link'][0]['attribs'][NAMESPACE_DFRN]['updated'])) {
- $photo_timestamp = datetime_convert('UTC','UTC',$elems['link'][0]['attribs'][NAMESPACE_DFRN]['updated']);
- $photo_url = $elems['link'][0]['attribs']['']['href'];
- }
- }
-
- if(($photo_timestamp) && (strlen($photo_url)) && ($photo_timestamp > $importer['avatar_date'])) {
- logger('local_delivery: Updating photo for ' . $importer['name']);
- require_once("Photo.php");
- $photo_failure = false;
- $have_photo = false;
-
- $r = q("SELECT `resource_id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d LIMIT 1",
- intval($importer['id']),
- intval($importer['importer_uid'])
- );
- if(count($r)) {
- $resource_id = $r[0]['resource_id'];
- $have_photo = true;
- }
- else {
- $resource_id = photo_new_resource();
- }
-
- $img_str = fetch_url($photo_url,true);
- // guess mimetype from headers or filename
- $type = guess_image_type($photo_url,true);
-
-
- $img = new Photo($img_str, $type);
- if($img->is_valid()) {
- if($have_photo) {
- q("DELETE FROM `photo` WHERE `resource_id` = '%s' AND `contact-id` = %d AND `uid` = %d",
- dbesc($resource_id),
- intval($importer['id']),
- intval($importer['importer_uid'])
- );
- }
-
- $img->scaleImageSquare(175);
-
- $hash = $resource_id;
- $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 4);
-
- $img->scaleImage(80);
- $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 5);
-
- $img->scaleImage(48);
- $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 6);
-
- $a = get_app();
-
- q("UPDATE `contact` SET `avatar_date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
- WHERE `uid` = %d AND `id` = %d LIMIT 1",
- dbesc(datetime_convert()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-4.'.$img->getExt()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-5.'.$img->getExt()),
- dbesc($a->get_baseurl() . '/photo/' . $hash . '-6.'.$img->getExt()),
- intval($importer['importer_uid']),
- intval($importer['id'])
- );
- }
- }
-
- if(($name_updated) && (strlen($new_name)) && ($name_updated > $importer['name_date'])) {
- $r = q("select * from contact where uid = %d and id = %d limit 1",
- intval($importer['importer_uid']),
- intval($importer['id'])
- );
-
- $x = q("UPDATE `contact` SET `name` = '%s', `name_date` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
- dbesc(notags(trim($new_name))),
- dbesc(datetime_convert()),
- intval($importer['importer_uid']),
- intval($importer['id'])
- );
-
- // do our best to update the name on content items
-
- if(count($r)) {
- q("update item set `author-name` = '%s' where `author-name` = '%s' and `author-link` = '%s' and uid = %d",
- dbesc(notags(trim($new_name))),
- dbesc($r[0]['name']),
- dbesc($r[0]['url']),
- intval($importer['importer_uid'])
- );
- }
- }
-
-
-/*
- // Currently unsupported - needs a lot of work
- $reloc = $feed->get_feed_tags( NAMESPACE_DFRN, 'relocate' );
- if(isset($reloc[0]['child'][NAMESPACE_DFRN])) {
- $base = $reloc[0]['child'][NAMESPACE_DFRN];
- $newloc = array();
- $newloc['uid'] = $importer['importer_uid'];
- $newloc['cid'] = $importer['id'];
- $newloc['name'] = notags(unxmlify($base['name'][0]['data']));
- $newloc['photo'] = notags(unxmlify($base['photo'][0]['data']));
- $newloc['url'] = notags(unxmlify($base['url'][0]['data']));
- $newloc['request'] = notags(unxmlify($base['request'][0]['data']));
- $newloc['confirm'] = notags(unxmlify($base['confirm'][0]['data']));
- $newloc['notify'] = notags(unxmlify($base['notify'][0]['data']));
- $newloc['poll'] = notags(unxmlify($base['poll'][0]['data']));
- $newloc['site_pubkey'] = notags(unxmlify($base['site_pubkey'][0]['data']));
- $newloc['pubkey'] = notags(unxmlify($base['pubkey'][0]['data']));
- $newloc['prvkey'] = notags(unxmlify($base['prvkey'][0]['data']));
-
- // TODO
- // merge with current record, current contents have priority
- // update record, set url-updated
- // update profile photos
- // schedule a scan?
-
- }
-*/
-
- // handle friend suggestion notification
-
- $sugg = $feed->get_feed_tags( NAMESPACE_DFRN, 'suggest' );
- if(isset($sugg[0]['child'][NAMESPACE_DFRN])) {
- $base = $sugg[0]['child'][NAMESPACE_DFRN];
- $fsugg = array();
- $fsugg['uid'] = $importer['importer_uid'];
- $fsugg['cid'] = $importer['id'];
- $fsugg['name'] = notags(unxmlify($base['name'][0]['data']));
- $fsugg['photo'] = notags(unxmlify($base['photo'][0]['data']));
- $fsugg['url'] = notags(unxmlify($base['url'][0]['data']));
- $fsugg['request'] = notags(unxmlify($base['request'][0]['data']));
- $fsugg['body'] = escape_tags(unxmlify($base['note'][0]['data']));
-
- // Does our member already have a friend matching this description?
-
- $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `nurl` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($fsugg['name']),
- dbesc(normalise_link($fsugg['url'])),
- intval($fsugg['uid'])
- );
- if(count($r))
- return 0;
-
- // Do we already have an fcontact record for this person?
-
- $fid = 0;
- $r = q("SELECT * FROM `fcontact` WHERE `url` = '%s' AND `name` = '%s' AND `request` = '%s' LIMIT 1",
- dbesc($fsugg['url']),
- dbesc($fsugg['name']),
- dbesc($fsugg['request'])
- );
- if(count($r)) {
- $fid = $r[0]['id'];
-
- // OK, we do. Do we already have an introduction for this person ?
- $r = q("select id from intro where uid = %d and fid = %d limit 1",
- intval($fsugg['uid']),
- intval($fid)
- );
- if(count($r))
- return 0;
- }
- if(! $fid)
- $r = q("INSERT INTO `fcontact` ( `name`,`url`,`photo`,`request` ) VALUES ( '%s', '%s', '%s', '%s' ) ",
- dbesc($fsugg['name']),
- dbesc($fsugg['url']),
- dbesc($fsugg['photo']),
- dbesc($fsugg['request'])
- );
- $r = q("SELECT * FROM `fcontact` WHERE `url` = '%s' AND `name` = '%s' AND `request` = '%s' LIMIT 1",
- dbesc($fsugg['url']),
- dbesc($fsugg['name']),
- dbesc($fsugg['request'])
- );
- if(count($r)) {
- $fid = $r[0]['id'];
- }
- // database record did not get created. Quietly give up.
- else
- return 0;
-
-
- $hash = random_string();
-
- $r = q("INSERT INTO `intro` ( `uid`, `fid`, `contact-id`, `note`, `hash`, `datetime`, `blocked` )
- VALUES( %d, %d, %d, '%s', '%s', '%s', %d )",
- intval($fsugg['uid']),
- intval($fid),
- intval($fsugg['cid']),
- dbesc($fsugg['body']),
- dbesc($hash),
- dbesc(datetime_convert()),
- intval(0)
- );
-
- notification(array(
- 'type' => NOTIFY_SUGGEST,
- 'notify_flags' => $importer['notify-flags'],
- 'language' => $importer['language'],
- 'to_name' => $importer['username'],
- 'to_email' => $importer['email'],
- 'uid' => $importer['importer_uid'],
- 'item' => $fsugg,
- 'link' => $a->get_baseurl() . '/notifications/intros',
- 'source_name' => $importer['name'],
- 'source_link' => $importer['url'],
- 'source_photo' => $importer['photo'],
- 'verb' => ACTIVITY_REQ_FRIEND,
- 'otype' => 'intro'
- ));
-
- return 0;
- }
-
- $ismail = false;
-
- $rawmail = $feed->get_feed_tags( NAMESPACE_DFRN, 'mail' );
- if(isset($rawmail[0]['child'][NAMESPACE_DFRN])) {
-
- logger('local_delivery: private message received');
-
- $ismail = true;
- $base = $rawmail[0]['child'][NAMESPACE_DFRN];
-
- $msg = array();
- $msg['uid'] = $importer['importer_uid'];
- $msg['from-name'] = notags(unxmlify($base['sender'][0]['child'][NAMESPACE_DFRN]['name'][0]['data']));
- $msg['from-photo'] = notags(unxmlify($base['sender'][0]['child'][NAMESPACE_DFRN]['avatar'][0]['data']));
- $msg['from-url'] = notags(unxmlify($base['sender'][0]['child'][NAMESPACE_DFRN]['uri'][0]['data']));
- $msg['contact-id'] = $importer['id'];
- $msg['title'] = notags(unxmlify($base['subject'][0]['data']));
- $msg['body'] = escape_tags(unxmlify($base['content'][0]['data']));
- $msg['seen'] = 0;
- $msg['replied'] = 0;
- $msg['uri'] = notags(unxmlify($base['id'][0]['data']));
- $msg['parent_uri'] = notags(unxmlify($base['in-reply-to'][0]['data']));
- $msg['created'] = datetime_convert(notags(unxmlify('UTC','UTC',$base['sentdate'][0]['data'])));
-
- dbesc_array($msg);
-
- $r = dbq("INSERT INTO `mail` (`" . implode("`, `", array_keys($msg))
- . "`) VALUES ('" . implode("', '", array_values($msg)) . "')" );
-
- // send notifications.
-
- require_once('include/enotify.php');
-
- $notif_params = array(
- 'type' => NOTIFY_MAIL,
- 'notify_flags' => $importer['notify-flags'],
- 'language' => $importer['language'],
- 'to_name' => $importer['username'],
- 'to_email' => $importer['email'],
- 'uid' => $importer['importer_uid'],
- 'item' => $msg,
- 'source_name' => $msg['from-name'],
- 'source_link' => $importer['url'],
- 'source_photo' => $importer['thumb'],
- 'verb' => ACTIVITY_POST,
- 'otype' => 'mail'
- );
-
- notification($notif_params);
- return 0;
-
- // NOTREACHED
- }
-
- $community_page = 0;
- $rawtags = $feed->get_feed_tags( NAMESPACE_DFRN, 'community');
- if($rawtags) {
- $community_page = intval($rawtags[0]['data']);
- }
- if(intval($importer['forum']) != $community_page) {
- q("update contact set forum = %d where id = %d limit 1",
- intval($community_page),
- intval($importer['id'])
- );
- $importer['forum'] = (string) $community_page;
- }
-
- logger('local_delivery: feed item count = ' . $feed->get_item_quantity());
-
- // process any deleted entries
-
- $del_entries = $feed->get_feed_tags(NAMESPACE_TOMB, 'deleted-entry');
- if(is_array($del_entries) && count($del_entries)) {
- foreach($del_entries as $dentry) {
- $deleted = false;
- if(isset($dentry['attribs']['']['ref'])) {
- $uri = $dentry['attribs']['']['ref'];
- $deleted = true;
- if(isset($dentry['attribs']['']['when'])) {
- $when = $dentry['attribs']['']['when'];
- $when = datetime_convert('UTC','UTC', $when, 'Y-m-d H:i:s');
- }
- else
- $when = datetime_convert('UTC','UTC','now','Y-m-d H:i:s');
- }
- if($deleted) {
-
- // check for relayed deletes to our conversation
-
- $is_reply = false;
- $r = q("select * from item where uri = '%s' and uid = %d limit 1",
- dbesc($uri),
- intval($importer['importer_uid'])
- );
- if(count($r)) {
- $parent_uri = $r[0]['parent_uri'];
- if($r[0]['id'] != $r[0]['parent'])
- $is_reply = true;
- }
-
- if($is_reply) {
- $community = false;
-
- if($importer['page-flags'] == PAGE_COMMUNITY || $importer['page-flags'] == PAGE_PRVGROUP ) {
- $sql_extra = '';
- $community = true;
- logger('local_delivery: possible community delete');
- }
- else
- $sql_extra = " and contact.self = 1 and item.wall = 1 ";
-
- // was the top-level post for this reply written by somebody on this site?
- // Specifically, the recipient?
-
- $is_a_remote_delete = false;
-
- $r = q("select `item`.`id`, `item`.`uri`, `item`.`forum_mode`,`item`.`origin`,`item`.`wall`,
- `contact`.`name`, `contact`.`url`, `contact`.`thumb` from `item`
- LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
- WHERE `item`.`uri` = '%s' AND (`item`.`parent_uri` = '%s' or `item`.`thr_parent` = '%s')
- AND `item`.`uid` = %d
- $sql_extra
- LIMIT 1",
- dbesc($parent_uri),
- dbesc($parent_uri),
- dbesc($parent_uri),
- intval($importer['importer_uid'])
- );
- if($r && count($r))
- $is_a_remote_delete = true;
-
- // Does this have the characteristics of a community or private group comment?
- // If it's a reply to a wall post on a community/prvgroup page it's a
- // valid community comment. Also forum_mode makes it valid for sure.
- // If neither, it's not.
-
- if($is_a_remote_delete && $community) {
- if((! $r[0]['forum_mode']) && (! $r[0]['wall'])) {
- $is_a_remote_delete = false;
- logger('local_delivery: not a community delete');
- }
- }
-
- if($is_a_remote_delete) {
- logger('local_delivery: received remote delete');
- }
- }
-
- $r = q("SELECT `item`.*, `contact`.`self` FROM `item` left join contact on `item`.`contact-id` = `contact`.`id`
- WHERE `uri` = '%s' AND `item`.`uid` = %d AND `contact-id` = %d AND NOT `item`.`file` LIKE '%%[%%' LIMIT 1",
- dbesc($uri),
- intval($importer['importer_uid']),
- intval($importer['id'])
- );
-
- if(count($r)) {
- $item = $r[0];
-
- if($item['deleted'])
- continue;
-
- logger('local_delivery: deleting item ' . $item['id'] . ' uri=' . $item['uri'], LOGGER_DEBUG);
-
- if(($item['verb'] === ACTIVITY_TAG) && ($item['obj_type'] === ACTIVITY_OBJ_TAGTERM)) {
- $xo = parse_xml_string($item['object'],false);
- $xt = parse_xml_string($item['target'],false);
-
- if($xt->type === ACTIVITY_OBJ_NOTE) {
- $i = q("select * from `item` where uri = '%s' and uid = %d limit 1",
- dbesc($xt->id),
- intval($importer['importer_uid'])
- );
- if(count($i)) {
-
- // For tags, the owner cannot remove the tag on the author's copy of the post.
-
- $owner_remove = (($item['contact-id'] == $i[0]['contact-id']) ? true: false);
- $author_remove = (($item['origin'] && $item['self']) ? true : false);
- $author_copy = (($item['origin']) ? true : false);
-
- if($owner_remove && $author_copy)
- continue;
- if($author_remove || $owner_remove) {
-//FIXME
- $tags = explode(',',$i[0]['tag']);
- $newtags = array();
- if(count($tags)) {
- foreach($tags as $tag)
- if(trim($tag) !== trim($xo->body))
- $newtags[] = trim($tag);
- }
- q("update item set tag = '%s' where id = %d limit 1",
- dbesc(implode(',',$newtags)),
- intval($i[0]['id'])
- );
- }
- }
- }
- }
-
- if($item['uri'] == $item['parent_uri']) {
- $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s',
- `body` = '', `title` = ''
- WHERE `parent_uri` = '%s' AND `uid` = %d",
- dbesc($when),
- dbesc(datetime_convert()),
- dbesc($item['uri']),
- intval($importer['importer_uid'])
- );
- }
- else {
- $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s',
- `body` = '', `title` = ''
- WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($when),
- dbesc(datetime_convert()),
- dbesc($uri),
- intval($importer['importer_uid'])
- );
-
- // if this is a relayed delete, propagate it to other recipients
-
- if($is_a_remote_delete)
- proc_run('php',"include/notifier.php","drop",$item['id']);
- }
- }
- }
- }
- }
-
-
- foreach($feed->get_items() as $item) {
-
- $is_reply = false;
- $item_id = $item->get_id();
- $rawthread = $item->get_item_tags( NAMESPACE_THREAD, 'in-reply-to');
- if(isset($rawthread[0]['attribs']['']['ref'])) {
- $is_reply = true;
- $parent_uri = $rawthread[0]['attribs']['']['ref'];
- }
-
- if($is_reply) {
- $community = false;
-
- if($importer['page-flags'] == PAGE_COMMUNITY || $importer['page-flags'] == PAGE_PRVGROUP ) {
- $sql_extra = '';
- $community = true;
- logger('local_delivery: possible community reply');
- }
- else
- $sql_extra = " and contact.self = 1 and item.wall = 1 ";
-
- // was the top-level post for this reply written by somebody on this site?
- // Specifically, the recipient?
-
- $is_a_remote_comment = false;
-
- // POSSIBLE CLEANUP --> Why select so many fields when only forum_mode and wall are used?
- $r = q("select `item`.`id`, `item`.`uri`, `item`.`forum_mode`,`item`.`origin`,`item`.`wall`,
- `contact`.`name`, `contact`.`url`, `contact`.`thumb` from `item`
- LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
- WHERE `item`.`uri` = '%s' AND (`item`.`parent_uri` = '%s' or `item`.`thr_parent` = '%s')
- AND `item`.`uid` = %d
- $sql_extra
- LIMIT 1",
- dbesc($parent_uri),
- dbesc($parent_uri),
- dbesc($parent_uri),
- intval($importer['importer_uid'])
- );
- if($r && count($r))
- $is_a_remote_comment = true;
-
- // Does this have the characteristics of a community or private group comment?
- // If it's a reply to a wall post on a community/prvgroup page it's a
- // valid community comment. Also forum_mode makes it valid for sure.
- // If neither, it's not.
-
- if($is_a_remote_comment && $community) {
- if((! $r[0]['forum_mode']) && (! $r[0]['wall'])) {
- $is_a_remote_comment = false;
- logger('local_delivery: not a community reply');
- }
- }
-
- if($is_a_remote_comment) {
- logger('local_delivery: received remote comment');
- $is_like = false;
- // remote reply to our post. Import and then notify everybody else.
-
- $datarray = get_atom_elements($feed,$item);
-
- $r = q("SELECT `id`, `uid`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($item_id),
- intval($importer['importer_uid'])
- );
-
- // Update content if 'updated' changes
-
- if(count($r)) {
- $iid = $r[0]['id'];
- if((x($datarray,'edited') !== false) && (datetime_convert('UTC','UTC',$datarray['edited']) !== $r[0]['edited'])) {
-
- // do not accept (ignore) an earlier edit than one we currently have.
- if(datetime_convert('UTC','UTC',$datarray['edited']) < $r[0]['edited'])
- continue;
-
- logger('received updated comment' , LOGGER_DEBUG);
- $r = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `edited` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($datarray['title']),
- dbesc($datarray['body']),
- dbesc(datetime_convert('UTC','UTC',$datarray['edited'])),
- dbesc($item_id),
- intval($importer['importer_uid'])
- );
-
- proc_run('php',"include/notifier.php","comment-import",$iid);
-
- }
-
- continue;
- }
-
-
-
- $own = q("select name,url,thumb from contact where uid = %d and self = 1 limit 1",
- intval($importer['importer_uid'])
- );
-
-
- $datarray['type'] = 'remote-comment';
- $datarray['wall'] = 1;
- $datarray['parent_uri'] = $parent_uri;
- $datarray['uid'] = $importer['importer_uid'];
- $datarray['owner-name'] = $own[0]['name'];
- $datarray['owner-link'] = $own[0]['url'];
- $datarray['owner-avatar'] = $own[0]['thumb'];
- $datarray['contact-id'] = $importer['id'];
-
- if(($datarray['verb'] === ACTIVITY_LIKE) || ($datarray['verb'] === ACTIVITY_DISLIKE)) {
- $is_like = true;
- $datarray['type'] = 'activity';
- $datarray['gravity'] = GRAVITY_LIKE;
-
- // only one like or dislike per person
- $r = q("select id from item where uid = %d and `contact-id` = %d and verb = '%s' and (`thr_parent` = '%s' or `parent_uri` = '%s') and deleted = 0 limit 1",
- intval($datarray['uid']),
- intval($datarray['contact-id']),
- dbesc($datarray['verb']),
- dbesc($datarray['parent_uri']),
- dbesc($datarray['parent_uri'])
-
- );
- if($r && count($r))
- continue;
- }
-
- if(($datarray['verb'] === ACTIVITY_TAG) && ($datarray['obj_type'] === ACTIVITY_OBJ_TAGTERM)) {
-
- $xo = parse_xml_string($datarray['object'],false);
- $xt = parse_xml_string($datarray['target'],false);
-
- if(($xt->type == ACTIVITY_OBJ_NOTE) && ($xt->id)) {
-
- // fetch the parent item
-
- $tagp = q("select * from item where uri = '%s' and uid = %d limit 1",
- dbesc($xt->id),
- intval($importer['importer_uid'])
- );
- if(! count($tagp))
- continue;
-
- // extract tag, if not duplicate, and this user allows tags, add to parent item
-//FIXME
- if($xo->id && $xo->content) {
- $newtag = '#[url=' . $xo->id . ']'. $xo->content . '[/url]';
- if(! (stristr($tagp[0]['tag'],$newtag))) {
- $i = q("SELECT `blocktags` FROM `user` where `uid` = %d LIMIT 1",
- intval($importer['importer_uid'])
- );
- if(count($i) && ! intval($i[0]['blocktags'])) {
- q("UPDATE item SET tag = '%s', `edited` = '%s' WHERE id = %d LIMIT 1",
- dbesc($tagp[0]['tag'] . (strlen($tagp[0]['tag']) ? ',' : '') . $newtag),
- intval($tagp[0]['id']),
- dbesc(datetime_convert())
- );
- }
- }
- }
- }
- }
-
-
- $posted_id = item_store($datarray);
- $parent = 0;
-
- if($posted_id) {
- $r = q("SELECT `parent`, `parent_uri` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($posted_id),
- intval($importer['importer_uid'])
- );
- if(count($r)) {
- $parent = $r[0]['parent'];
- $parent_uri = $r[0]['parent_uri'];
- }
-
- if(! $is_like) {
- $r1 = q("UPDATE `item` SET `changed` = '%s' WHERE `uid` = %d AND `parent` = %d",
- dbesc(datetime_convert()),
- intval($importer['importer_uid']),
- intval($r[0]['parent'])
- );
-
- $r2 = q("UPDATE `item` SET `changed` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
- dbesc(datetime_convert()),
- intval($importer['importer_uid']),
- intval($posted_id)
- );
- }
-
- if($posted_id && $parent) {
-
- proc_run('php',"include/notifier.php","comment-import","$posted_id");
-
- if((! $is_like) && (! $importer['self'])) {
-
- require_once('include/enotify.php');
-
- notification(array(
- 'type' => NOTIFY_COMMENT,
- 'notify_flags' => $importer['notify-flags'],
- 'language' => $importer['language'],
- 'to_name' => $importer['username'],
- 'to_email' => $importer['email'],
- 'uid' => $importer['importer_uid'],
- 'item' => $datarray,
- 'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id,
- 'source_name' => stripslashes($datarray['author-name']),
- 'source_link' => $datarray['author-link'],
- 'source_photo' => ((link_compare($datarray['author-link'],$importer['url']))
- ? $importer['thumb'] : $datarray['author-avatar']),
- 'verb' => ACTIVITY_POST,
- 'otype' => 'item',
- 'parent' => $parent,
- 'parent_uri' => $parent_uri,
- ));
-
- }
- }
-
- return 0;
- // NOTREACHED
- }
- }
- else {
-
- // regular comment that is part of this total conversation. Have we seen it? If not, import it.
-
- $item_id = $item->get_id();
- $datarray = get_atom_elements($feed,$item);
-
- if($importer['rel'] == CONTACT_IS_FOLLOWER)
- continue;
-
-
- $r = q("SELECT `uid`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($item_id),
- intval($importer['importer_uid'])
- );
-
- // Update content if 'updated' changes
-
- if(count($r)) {
- if((x($datarray,'edited') !== false) && (datetime_convert('UTC','UTC',$datarray['edited']) !== $r[0]['edited'])) {
-
- // do not accept (ignore) an earlier edit than one we currently have.
- if(datetime_convert('UTC','UTC',$datarray['edited']) < $r[0]['edited'])
- continue;
-
- $r = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `edited` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($datarray['title']),
- dbesc($datarray['body']),
- dbesc(datetime_convert('UTC','UTC',$datarray['edited'])),
- dbesc($item_id),
- intval($importer['importer_uid'])
- );
- }
-
- continue;
- }
-
- $datarray['parent_uri'] = $parent_uri;
- $datarray['uid'] = $importer['importer_uid'];
- $datarray['contact-id'] = $importer['id'];
- if(($datarray['verb'] == ACTIVITY_LIKE) || ($datarray['verb'] == ACTIVITY_DISLIKE)) {
- $datarray['type'] = 'activity';
- $datarray['gravity'] = GRAVITY_LIKE;
- // only one like or dislike per person
- $r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and deleted = 0 and (`parent_uri` = '%s' OR `thr_parent` = '%s') limit 1",
- intval($datarray['uid']),
- intval($datarray['contact-id']),
- dbesc($datarray['verb']),
- dbesc($parent_uri),
- dbesc($parent_uri)
- );
- if($r && count($r))
- continue;
-
- }
-
- if(($datarray['verb'] === ACTIVITY_TAG) && ($datarray['obj_type'] === ACTIVITY_OBJ_TAGTERM)) {
-
- $xo = parse_xml_string($datarray['object'],false);
- $xt = parse_xml_string($datarray['target'],false);
-
- if($xt->type == ACTIVITY_OBJ_NOTE) {
- $r = q("select * from item where `uri` = '%s' AND `uid` = %d limit 1",
- dbesc($xt->id),
- intval($importer['importer_uid'])
- );
- if(! count($r))
- continue;
-
- // extract tag, if not duplicate, add to parent item
- if($xo->content) {
- if(! (stristr($r[0]['tag'],trim($xo->content)))) {
- q("UPDATE item SET tag = '%s' WHERE id = %d LIMIT 1",
- dbesc($r[0]['tag'] . (strlen($r[0]['tag']) ? ',' : '') . '#[url=' . $xo->id . ']'. $xo->content . '[/url]'),
- intval($r[0]['id'])
- );
- }
- }
- }
- }
-
- $posted_id = item_store($datarray);
-
- // find out if our user is involved in this conversation and wants to be notified.
-
- if(!x($datarray['type']) || $datarray['type'] != 'activity') {
-
- $myconv = q("SELECT `author-link`, `author-avatar`, `parent` FROM `item` WHERE `parent_uri` = '%s' AND `uid` = %d AND `parent` != 0 AND `deleted` = 0",
- dbesc($parent_uri),
- intval($importer['importer_uid'])
- );
-
- if(count($myconv)) {
- $importer_url = $a->get_baseurl() . '/channel/' . $importer['nickname'];
-
- // first make sure this isn't our own post coming back to us from a wall-to-wall event
- if(! link_compare($datarray['author-link'],$importer_url)) {
-
-
- foreach($myconv as $conv) {
-
- // now if we find a match, it means we're in this conversation
-
- if(! link_compare($conv['author-link'],$importer_url))
- continue;
-
- require_once('include/enotify.php');
-
- $conv_parent = $conv['parent'];
-
- notification(array(
- 'type' => NOTIFY_COMMENT,
- 'notify_flags' => $importer['notify-flags'],
- 'language' => $importer['language'],
- 'to_name' => $importer['username'],
- 'to_email' => $importer['email'],
- 'uid' => $importer['importer_uid'],
- 'item' => $datarray,
- 'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id,
- 'source_name' => stripslashes($datarray['author-name']),
- 'source_link' => $datarray['author-link'],
- 'source_photo' => ((link_compare($datarray['author-link'],$importer['url']))
- ? $importer['thumb'] : $datarray['author-avatar']),
- 'verb' => ACTIVITY_POST,
- 'otype' => 'item',
- 'parent' => $conv_parent,
- 'parent_uri' => $parent_uri
-
- ));
-
- // only send one notification
- break;
- }
- }
- }
- }
+ $xx = item_store($datarray);
+ $r = $xx['item_id'];
continue;
- }
- }
-
- else {
-
- // Head post of a conversation. Have we seen it? If not, import it.
-
-
- $item_id = $item->get_id();
- $datarray = get_atom_elements($feed,$item);
-
- if((x($datarray,'obj_type')) && ($datarray['obj_type'] === ACTIVITY_OBJ_EVENT)) {
- $ev = bbtoevent($datarray['body']);
- if(x($ev,'desc') && x($ev,'start')) {
- $ev['cid'] = $importer['id'];
- $ev['uid'] = $importer['uid'];
- $ev['uri'] = $item_id;
- $ev['edited'] = $datarray['edited'];
- $ev['private'] = $datarray['private'];
-
- $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($item_id),
- intval($importer['uid'])
- );
- if(count($r))
- $ev['id'] = $r[0]['id'];
- $xyz = event_store($ev);
- continue;
- }
- }
-
- $r = q("SELECT `uid`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($item_id),
- intval($importer['importer_uid'])
- );
-
- // Update content if 'updated' changes
-
- if(count($r)) {
- if((x($datarray,'edited') !== false) && (datetime_convert('UTC','UTC',$datarray['edited']) !== $r[0]['edited'])) {
-
- // do not accept (ignore) an earlier edit than one we currently have.
- if(datetime_convert('UTC','UTC',$datarray['edited']) < $r[0]['edited'])
- continue;
-
- $r = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `edited` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($datarray['title']),
- dbesc($datarray['body']),
- dbesc(datetime_convert('UTC','UTC',$datarray['edited'])),
- dbesc($item_id),
- intval($importer['importer_uid'])
- );
- }
-
- continue;
- }
-
- // This is my contact on another system, but it's really me.
- // Turn this into a wall post.
-
- if($importer['remote_self'])
- $datarray['wall'] = 1;
-
- $datarray['parent_uri'] = $item_id;
- $datarray['uid'] = $importer['importer_uid'];
- $datarray['contact-id'] = $importer['id'];
-
- if(! link_compare($datarray['owner-link'],$importer['url'])) {
- // The item owner info is not our contact. It's OK and is to be expected if this is a tgroup delivery,
- // but otherwise there's a possible data mixup on the sender's system.
- // the tgroup delivery code called from item_store will correct it if it's a forum,
- // but we're going to unconditionally correct it here so that the post will always be owned by our contact.
- logger('local_delivery: Correcting item owner.', LOGGER_DEBUG);
- $datarray['owner-name'] = $importer['senderName'];
- $datarray['owner-link'] = $importer['url'];
- $datarray['owner-avatar'] = $importer['thumb'];
- }
-
- if(($importer['rel'] == CONTACT_IS_FOLLOWER) && (! tgroup_check($importer['importer_uid'],$datarray)))
- continue;
-
- $posted_id = item_store($datarray);
-
- if(stristr($datarray['verb'],ACTIVITY_POKE)) {
- $verb = urldecode(substr($datarray['verb'],strpos($datarray['verb'],'#')+1));
- if(! $verb)
- continue;
- $xo = parse_xml_string($datarray['object'],false);
-
- if(($xo->type == ACTIVITY_OBJ_PERSON) && ($xo->id)) {
-
- // somebody was poked/prodded. Was it me?
-
- $links = parse_xml_string("<links>".unxmlify($xo->link)."</links>",false);
-
- foreach($links->link as $l) {
- $atts = $l->attributes();
- switch($atts['rel']) {
- case "alternate":
- $Blink = $atts['href'];
- break;
- default:
- break;
- }
- }
- if($Blink && link_compare($Blink,$a->get_baseurl() . '/channel/' . $importer['nickname'])) {
-
- // send a notification
- require_once('include/enotify.php');
-
- notification(array(
- 'type' => NOTIFY_POKE,
- 'notify_flags' => $importer['notify-flags'],
- 'language' => $importer['language'],
- 'to_name' => $importer['username'],
- 'to_email' => $importer['email'],
- 'uid' => $importer['importer_uid'],
- 'item' => $datarray,
- 'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id,
- 'source_name' => stripslashes($datarray['author-name']),
- 'source_link' => $datarray['author-link'],
- 'source_photo' => ((link_compare($datarray['author-link'],$importer['url']))
- ? $importer['thumb'] : $datarray['author-avatar']),
- 'verb' => $datarray['verb'],
- 'otype' => 'person',
- 'activity' => $verb,
-
- ));
- }
- }
- }
-
- continue;
- }
- }
-
- return 0;
- // NOTREACHED
-
-}
-
-
-function new_follower($importer,$contact,$datarray,$item,$sharing = false) {
- $url = notags(trim($datarray['author-link']));
- $name = notags(trim($datarray['author-name']));
- $photo = notags(trim($datarray['author-avatar']));
-
- $rawtag = $item->get_item_tags(NAMESPACE_ACTIVITY,'actor');
- if($rawtag && $rawtag[0]['child'][NAMESPACE_POCO]['preferredUsername'][0]['data'])
- $nick = $rawtag[0]['child'][NAMESPACE_POCO]['preferredUsername'][0]['data'];
-
- if(is_array($contact)) {
- if(($contact['network'] == NETWORK_OSTATUS && $contact['rel'] == CONTACT_IS_SHARING)
- || ($sharing && $contact['rel'] == CONTACT_IS_FOLLOWER)) {
- $r = q("UPDATE `contact` SET `rel` = %d WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval(CONTACT_IS_FRIEND),
- intval($contact['id']),
- intval($importer['uid'])
- );
- }
- // send email notification to owner?
- }
- else {
-
- // create contact record
-
- $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `name`, `nick`, `photo`, `network`, `rel`,
- `blocked`, `readonly`, `pending`, `writable` )
- VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, 0, 0, 1, 1 ) ",
- intval($importer['uid']),
- dbesc(datetime_convert()),
- dbesc($url),
- dbesc(normalise_link($url)),
- dbesc($name),
- dbesc($nick),
- dbesc($photo),
- dbesc(($sharing) ? NETWORK_ZOT : NETWORK_OSTATUS),
- intval(($sharing) ? CONTACT_IS_SHARING : CONTACT_IS_FOLLOWER)
- );
- $r = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `pending` = 1 LIMIT 1",
- intval($importer['uid']),
- dbesc($url)
- );
- if(count($r))
- $contact_record = $r[0];
-
- // create notification
- $hash = random_string();
-
- if(is_array($contact_record)) {
- $ret = q("INSERT INTO `intro` ( `uid`, `contact-id`, `blocked`, `knowyou`, `hash`, `datetime`)
- VALUES ( %d, %d, 0, 0, '%s', '%s' )",
- intval($importer['uid']),
- intval($contact_record['id']),
- dbesc($hash),
- dbesc(datetime_convert())
- );
- }
- $r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
- intval($importer['uid'])
- );
- $a = get_app();
- if(count($r)) {
-
- if(intval($r[0]['def_gid'])) {
- require_once('include/group.php');
- group_add_member($r[0]['uid'],'',$contact_record['id'],$r[0]['def_gid']);
- }
-
- if(($r[0]['notify-flags'] & NOTIFY_INTRO) && ($r[0]['page-flags'] == PAGE_NORMAL)) {
-
- $email_tpl = get_intltext_template('follow_notify_eml.tpl');
- $email = replace_macros($email_tpl, array(
- '$requestor' => ((strlen($name)) ? $name : t('[Name Withheld]')),
- '$url' => $url,
- '$myname' => $r[0]['username'],
- '$siteurl' => $a->get_baseurl(),
- '$sitename' => $a->config['sitename']
- ));
-
- $res = mail($r[0]['email'],
- (($sharing) ? t('A new person is sharing with you at ') : t("You have a new follower at ")) . $a->config['sitename'],
- $email,
- 'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
- . 'Content-type: text/plain; charset=UTF-8' . "\n"
- . 'Content-transfer-encoding: 8bit' );
-
}
}
}
}
-function lose_follower($importer,$contact,$datarray,$item) {
- if(($contact['rel'] == CONTACT_IS_FRIEND) || ($contact['rel'] == CONTACT_IS_SHARING)) {
- q("UPDATE `contact` SET `rel` = %d WHERE `id` = %d LIMIT 1",
- intval(CONTACT_IS_SHARING),
- intval($contact['id'])
- );
- }
- else {
-// contact_remove($contact['id']);
- }
-}
-
-function lose_sharer($importer,$contact,$datarray,$item) {
- if(($contact['rel'] == CONTACT_IS_FRIEND) || ($contact['rel'] == CONTACT_IS_FOLLOWER)) {
- q("UPDATE `contact` SET `rel` = %d WHERE `id` = %d LIMIT 1",
- intval(CONTACT_IS_FOLLOWER),
- intval($contact['id'])
- );
- }
- else {
-// contact_remove($contact['id']);
- }
-}
-
-
-function atom_author($tag,$name,$uri,$h,$w,$photo) {
+function atom_author($tag,$name,$uri,$h,$w,$type,$photo) {
$o = '';
if(! $tag)
return $o;
@@ -3794,8 +2929,8 @@ function atom_author($tag,$name,$uri,$h,$w,$photo) {
$o .= "<$tag>\r\n";
$o .= "<name>$name</name>\r\n";
$o .= "<uri>$uri</uri>\r\n";
- $o .= '<link rel="photo" type="image/jpeg" media:width="' . $w . '" media:height="' . $h . '" href="' . $photo . '" />' . "\r\n";
- $o .= '<link rel="avatar" type="image/jpeg" media:width="' . $w . '" media:height="' . $h . '" href="' . $photo . '" />' . "\r\n";
+ $o .= '<link rel="photo" type="' . $type . '" media:width="' . $w . '" media:height="' . $h . '" href="' . $photo . '" />' . "\r\n";
+ $o .= '<link rel="avatar" type="' . $type . '" media:width="' . $w . '" media:height="' . $h . '" href="' . $photo . '" />' . "\r\n";
call_hooks('atom_author', $o);
@@ -3811,7 +2946,7 @@ function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
return;
if($item['deleted'])
- return '<at:deleted-entry ref="' . xmlify($item['uri']) . '" when="' . xmlify(datetime_convert('UTC','UTC',$item['edited'] . '+00:00',ATOM_TIME)) . '" />' . "\r\n";
+ return '<at:deleted-entry ref="' . xmlify($item['mid']) . '" when="' . xmlify(datetime_convert('UTC','UTC',$item['edited'] . '+00:00',ATOM_TIME)) . '" />' . "\r\n";
if($item['allow_cid'] || $item['allow_gid'] || $item['deny_cid'] || $item['deny_gid'])
@@ -3823,35 +2958,35 @@ function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
$o = "\r\n\r\n<entry>\r\n";
if(is_array($author))
- $o .= atom_author('author',$author['name'],$author['url'],80,80,$author['thumb']);
+ $o .= atom_author('author',$author['xchan_name'],$author['xchan_url'],80,80,$author['xchan_photo_mimetype'],$author['xchan_photo_m']);
else
- $o .= atom_author('author',(($item['author-name']) ? $item['author-name'] : $item['name']),(($item['author-link']) ? $item['author-link'] : $item['url']),80,80,(($item['author-avatar']) ? $item['author-avatar'] : $item['thumb']));
- if(strlen($item['owner-name']))
- $o .= atom_author('dfrn:owner',$item['owner-name'],$item['owner-link'],80,80,$item['owner-avatar']);
+ $o .= atom_author('author',$item['author']['xchan_name'],$item['author']['xchan_url'],80,80,$item['author']['xchan_photo_mimetype'], $item['author']['xchan_photo_m']);
- if(($item['parent'] != $item['id']) || ($item['parent_uri'] !== $item['uri']) || (($item['thr_parent'] !== '') && ($item['thr_parent'] !== $item['uri']))) {
- $parent_item = (($item['thr_parent']) ? $item['thr_parent'] : $item['parent_uri']);
- $o .= '<thr:in-reply-to ref="' . xmlify($parent_item) . '" type="text/html" href="' . xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['parent']) . '" />' . "\r\n";
+ $o .= atom_author('zot:owner',$item['owner']['xchan_name'],$item['owner']['xchan_url'],80,80,$item['owner']['xchan_photo_mimetype'],$item['owner']['xchan_photo_m']);
+
+ if(($item['parent'] != $item['id']) || ($item['parent_mid'] !== $item['mid']) || (($item['thr_parent'] !== '') && ($item['thr_parent'] !== $item['mid']))) {
+ $parent_item = (($item['thr_parent']) ? $item['thr_parent'] : $item['parent_mid']);
+ $o .= '<thr:in-reply-to ref="' . xmlify($parent_item) . '" type="text/html" href="' . xmlify($item['plink']) . '" />' . "\r\n";
}
- $o .= '<id>' . xmlify($item['uri']) . '</id>' . "\r\n";
+ $o .= '<id>' . xmlify($item['mid']) . '</id>' . "\r\n";
$o .= '<title>' . xmlify($item['title']) . '</title>' . "\r\n";
$o .= '<published>' . xmlify(datetime_convert('UTC','UTC',$item['created'] . '+00:00',ATOM_TIME)) . '</published>' . "\r\n";
$o .= '<updated>' . xmlify(datetime_convert('UTC','UTC',$item['edited'] . '+00:00',ATOM_TIME)) . '</updated>' . "\r\n";
- $o .= '<dfrn:env>' . base64url_encode($body, true) . '</dfrn:env>' . "\r\n";
- $o .= '<content type="' . $type . '" >' . xmlify((($type === 'html') ? bbcode($body) : $body)) . '</content>' . "\r\n";
- $o .= '<link rel="alternate" type="text/html" href="' . xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']) . '" />' . "\r\n";
+
+ $o .= '<content type="' . $type . '" >' . xmlify(prepare_text($body,$item['mimetype'])) . '</content>' . "\r\n";
+ $o .= '<link rel="alternate" type="text/html" href="' . xmlify($item['plink']) . '" />' . "\r\n";
if($item['location']) {
- $o .= '<dfrn:location>' . xmlify($item['location']) . '</dfrn:location>' . "\r\n";
+ $o .= '<zot:location>' . xmlify($item['location']) . '</zot:location>' . "\r\n";
$o .= '<poco:address><poco:formatted>' . xmlify($item['location']) . '</poco:formatted></poco:address>' . "\r\n";
}
if($item['coord'])
$o .= '<georss:point>' . xmlify($item['coord']) . '</georss:point>' . "\r\n";
- if(($item['private']) || strlen($item['allow_cid']) || strlen($item['allow_gid']) || strlen($item['deny_cid']) || strlen($item['deny_gid']))
- $o .= '<dfrn:private>' . (($item['private']) ? $item['private'] : 1) . '</dfrn:private>' . "\r\n";
+ if(($item['item_private']) || strlen($item['allow_cid']) || strlen($item['allow_gid']) || strlen($item['deny_cid']) || strlen($item['deny_gid']))
+ $o .= '<zot:private>' . (($item['item_private']) ? $item['item_private'] : 1) . '</zot:private>' . "\r\n";
if($item['app'])
@@ -3867,18 +3002,20 @@ function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
if(strlen($actarg))
$o .= $actarg;
- $tags = item_getfeedtags($item);
- if(count($tags)) {
- foreach($tags as $t) {
- $o .= '<category scheme="X-DFRN:' . xmlify($t[0]) . ':' . xmlify($t[1]) . '" term="' . xmlify($t[2]) . '" />' . "\r\n";
- }
- }
+ // FIXME
+// $tags = item_getfeedtags($item);
+// if(count($tags)) {
+// foreach($tags as $t) {
+// $o .= '<category scheme="X-DFRN:' . xmlify($t[0]) . ':' . xmlify($t[1]) . '" term="' . xmlify($t[2]) . '" />' . "\r\n";
+// }
+// }
- $o .= item_getfeedattach($item);
+// FIXME
+// $o .= item_getfeedattach($item);
- $mentioned = get_mentions($item,$tags);
- if($mentioned)
- $o .= $mentioned;
+// $mentioned = get_mentions($item,$tags);
+// if($mentioned)
+// $o .= $mentioned;
call_hooks('atom_entry', $o);
@@ -3896,9 +3033,9 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) {
$orig_body = $s;
$new_body = '';
- $img_start = strpos($orig_body, '[img');
+ $img_start = strpos($orig_body, '[zmg');
$img_st_close = ($img_start !== false ? strpos(substr($orig_body, $img_start), ']') : false);
- $img_len = ($img_start !== false ? strpos(substr($orig_body, $img_start + $img_st_close + 1), '[/img]') : false);
+ $img_len = ($img_start !== false ? strpos(substr($orig_body, $img_start + $img_st_close + 1), '[/zmg]') : false);
while( ($img_st_close !== false) && ($img_len !== false) ) {
$img_st_close++; // make it point to AFTER the closing bracket
@@ -3948,13 +3085,13 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) {
$type = $r[0]['type'];
// If a custom width and height were specified, apply before embedding
- if(preg_match("/\[img\=([0-9]*)x([0-9]*)\]/is", substr($orig_body, $img_start, $img_st_close), $match)) {
+ if(preg_match("/\[zmg\=([0-9]*)x([0-9]*)\]/is", substr($orig_body, $img_start, $img_st_close), $match)) {
logger('fix_private_photos: scaling photo', LOGGER_DEBUG);
$width = intval($match[1]);
$height = intval($match[2]);
- $ph = new Photo($data, $type);
+ $ph = photo_factory($data, $type);
if($ph->is_valid()) {
$ph->scaleImage(max($width, $height));
$data = $ph->imageString();
@@ -3970,14 +3107,14 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) {
}
}
- $new_body = $new_body . substr($orig_body, 0, $img_start + $img_st_close) . $image . '[/img]';
- $orig_body = substr($orig_body, $img_start + $img_st_close + $img_len + strlen('[/img]'));
+ $new_body = $new_body . substr($orig_body, 0, $img_start + $img_st_close) . $image . '[/zmg]';
+ $orig_body = substr($orig_body, $img_start + $img_st_close + $img_len + strlen('[/zmg]'));
if($orig_body === false)
$orig_body = '';
- $img_start = strpos($orig_body, '[img');
+ $img_start = strpos($orig_body, '[zmg');
$img_st_close = ($img_start !== false ? strpos(substr($orig_body, $img_start), ']') : false);
- $img_len = ($img_start !== false ? strpos(substr($orig_body, $img_start + $img_st_close + 1), '[/img]') : false);
+ $img_len = ($img_start !== false ? strpos(substr($orig_body, $img_start + $img_st_close + 1), '[/zmg]') : false);
}
$new_body = $new_body . $orig_body;
@@ -4072,21 +3209,28 @@ function item_expire($uid,$days) {
// and just expire conversations started by others
$expire_network_only = get_pconfig($uid,'expire','network_only');
- $sql_extra = ((intval($expire_network_only)) ? " AND wall = 0 " : "");
+ $sql_extra = ((intval($expire_network_only)) ? " AND not (item_flags & " . intval(ITEM_WALL) . ") " : "");
$r = q("SELECT * FROM `item`
WHERE `uid` = %d
AND `created` < UTC_TIMESTAMP() - INTERVAL %d DAY
AND `id` = `parent`
$sql_extra
- AND `deleted` = 0",
+ AND NOT (item_restrict & %d )
+ AND NOT (item_restrict & %d )
+ AND NOT (item_restrict & %d ) ",
intval($uid),
- intval($days)
+ intval($days),
+ intval(ITEM_DELETED),
+ intval(ITEM_WEBPAGE),
+ intval(ITEM_BUILDBLOCK)
);
- if(! count($r))
+ if(! $r)
return;
+ $r = fetch_post_tags($r,true);
+
$expire_items = get_pconfig($uid, 'expire','items');
$expire_items = (($expire_items===false)?1:intval($expire_items)); // default if not set: 1
@@ -4103,20 +3247,19 @@ function item_expire($uid,$days) {
foreach($r as $item) {
+
+
// don't expire filed items
- if(strpos($item['file'],'[') !== false)
+ $terms = get_terms_oftype($item['term'],TERM_FILE);
+ if($terms)
continue;
// Only expire posts, not photos and photo comments
- if($expire_photos==0 && strlen($item['resource_id']))
- continue;
- if($expire_starred==0 && intval($item['starred']))
+ if($expire_photos==0 && ($item['resource_type'] === 'photo'))
continue;
- if($expire_notes==0 && $item['type']=='note')
- continue;
- if($expire_items==0 && $item['type']!='note')
+ if($expire_starred==0 && ($item['item_flags'] & ITEM_STARRED))
continue;
drop_item($item['id'],false);
@@ -4409,39 +3552,52 @@ function zot_feed($uid,$observer_xchan,$mindate) {
if(! $mindate)
$mindate = '0000-00-00 00:00:00';
+ $mindate = dbesc($mindate);
+
if(! perm_is_allowed($uid,$observer_xchan,'view_stream')) {
return $result;
}
-// FIXME
- $sql_extra = item_permissions_sql($uid,$remote_contact,$groups);
+ $sql_extra = item_permissions_sql($uid);
- if($mindate != '0000-00-00 00:00:00')
+ if($mindate != '0000-00-00 00:00:00') {
$sql_extra .= " and created > '$mindate' ";
+ $limit = "";
+ }
+ else
+ $limit = " limit 0, 50 ";
+ $items = array();
-// FIXME
- // We probably should use two queries and pick up total conversations.
- // For now get a chunk of raw posts in ascending created order so that
- // hopefully the parent is imported before we see the kids.
- // This will fail if there are more than $limit kids and you didn't
- // receive the parent via direct delivery
-
- $limit = 200;
-
- $items = q("SELECT item.* from item
- WHERE uid = %d AND item_restrict = 0
+ $r = q("SELECT item.*, item.id as item_id from item
+ WHERE uid = %d AND item_restrict = 0 and id = parent
AND (item_flags & %d)
- $sql_extra ORDER BY created ASC limit 0, $limit",
+ $sql_extra ORDER BY created ASC $limit",
intval($uid),
intval(ITEM_WALL)
);
+ if($r) {
+
+ $parents_str = ids_to_querystr($r,'id');
+
+ $items = q("SELECT `item`.*, `item`.`id` AS `item_id` FROM `item`
+ WHERE `item`.`uid` = %d AND `item`.`item_restrict` = 0
+ AND `item`.`parent` IN ( %s ) ",
+ intval($uid),
+ dbesc($parents_str)
+ );
+
+ }
+
if($items) {
xchan_query($items);
$items = fetch_post_tags($items);
- } else {
- $items = array();
+ require_once('include/conversation.php');
+ $items = conv_sort($items,'ascending');
+
}
+ else
+ $items = array();
foreach($items as $item)
$result[] = encode_item($item);
@@ -4449,3 +3605,241 @@ function zot_feed($uid,$observer_xchan,$mindate) {
return $result;
}
+
+
+
+function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = CLIENT_MODE_NORMAL,$module = 'network') {
+
+ $result = array('success' => false);
+
+ $a = get_app();
+
+ $sql_extra = '';
+ $sql_nets = '';
+ $sql_options = '';
+ $sql_extra2 = '';
+ $sql_extra3 = '';
+ $item_uids = ' true ';
+
+ 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['group'] && $uid) {
+ $r = q("SELECT * FROM `group` WHERE id = %d AND uid = %d LIMIT 1",
+ intval($arr['group']),
+ intval($uid)
+ );
+ if(! $r) {
+ $result['message'] = t('Collection not found.');
+ return $result;
+ }
+
+ $contacts = expand_groups(array($arr['group']));
+ if((is_array($contacts)) && count($contacts)) {
+ $contact_str = implode(',',$contacts);
+ }
+ else {
+ $contact_str = ' 0 ';
+ $result['message'] = t('Collection has no members.');
+ }
+
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND ( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str) or allow_gid like '" . protect_sprintf('%<' . dbesc($r[0]['hash']) . '>%') . "' ) and item_restrict = 0 ) ";
+
+ }
+ elseif($arr['cid'] && $uid) {
+
+ $r = q("SELECT * from abook where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ") limit 1",
+ intval($arr['cid']),
+ intval($uid)
+ );
+ if($r) {
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval($arr['uid']) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) and item_restrict = 0 ) ";
+ }
+ else {
+ $result['message'] = t('Connection not found.');
+ return $result;
+ }
+ }
+
+ if($arr['datequery']) {
+ $sql_extra3 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$arr['datequery']))));
+ }
+ if($arr['datequery2']) {
+ $sql_extra3 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$arr['datequery2']))));
+ }
+
+ if(! array_key_exists('nouveau',$arr)) {
+ $sql_extra2 = " AND item.parent = item.id ";
+ $sql_extra3 = '';
+ }
+
+ if($arr['search']) {
+ if(strpos($arr['search'],'#') === 0)
+ $sql_extra .= term_query('item',substr($arr['search'],1),TERM_HASHTAG);
+ else
+ $sql_extra .= sprintf(" AND item.body like '%s' ",
+ dbesc(protect_sprintf('%' . $arr['search'] . '%'))
+ );
+ }
+
+ if(strlen($arr['file'])) {
+ $sql_extra .= term_query('item',$arr['files'],TERM_FILE);
+ }
+
+ if($arr['conv'] && $channel) {
+ $sql_extra .= sprintf(" AND parent IN (SELECT distinct parent from item where ( author_xchan like '%s' or ( item_flags & %d ))) ",
+ dbesc(protect_sprintf($uidhash)),
+ intval(ITEM_MENTIONSME)
+ );
+ }
+
+ if(($client_mode & CLIENT_MODE_UPDATE) && (! ($client_mode & CLIENT_MODE_LOAD))) {
+
+ // only setup pagination on initial page view
+ $pager_sql = '';
+
+ }
+ else {
+ $itemspage = (($channel) ? get_pconfig($uid,'system','itemspage') : 20);
+ $a->set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
+ $pager_sql = sprintf(" LIMIT %d, %d ",intval(get_app()->pager['start']), intval(get_app()->pager['itemspage']));
+ }
+
+
+ if(($arr['cmin'] != 0) || ($arr['cmax'] != 99)) {
+
+ // Not everybody who shows up in the network stream will be in your address book.
+ // By default those that aren't are assumed to have closeness = 99; but this isn't
+ // recorded anywhere. So if cmax is 99, we'll open the search up to anybody in
+ // the stream with a NULL address book entry.
+
+ $sql_nets .= " AND ";
+
+ if($arr['cmax'] == 99)
+ $sql_nets .= " ( ";
+
+ $sql_nets .= "( abook.abook_closeness >= " . intval($arr['cmin']) . " ";
+ $sql_nets .= " AND abook.abook_closeness <= " . intval($arr['cmax']) . " ) ";
+ if($cmax == 99)
+ $sql_nets .= " OR abook.abook_closeness IS NULL ) ";
+ }
+
+ $simple_update = (($client_mode & CLIENT_MODE_UPDATE) ? " and ( item.item_flags & " . intval(ITEM_UNSEEN) . " ) " : '');
+ if($client_mode & CLIENT_MODE_LOAD)
+ $simple_update = '';
+
+ $start = dba_timer();
+
+ require_once('include/security.php');
+ $sql_extra .= item_permissions_sql($channel['channel_id']);
+
+ if($arr['pages'])
+ $item_restrict = " AND (item_restrict & " . ITEM_WEBPAGE . ") ";
+ else
+ $item_restrict = " AND item_restrict = 0 ";
+
+
+ if($arr['nouveau'] && ($client_mode & CLIENT_MODELOAD) && $channel) {
+ // "New Item View" - show all items unthreaded in reverse created date order
+
+ $items = q("SELECT item.*, item.id AS item_id FROM item
+ WHERE $item_uids $item_restrict
+ $simple_update
+ $sql_extra $sql_nets
+ ORDER BY item.received DESC $pager_sql "
+ );
+
+ require_once('include/items.php');
+
+ xchan_query($items);
+
+ $items = fetch_post_tags($items,true);
+ }
+ else {
+
+ // Normal conversation view
+
+ if($arr['order'] === 'post')
+ $ordering = "created";
+ else
+ $ordering = "commented";
+
+ if(($client_mode & CLIENT_MODE_LOAD) || ($client_mode & CLIENT_MODE_NORMAL)) {
+
+ // Fetch a page full of parent items for this page
+
+ $r = q("SELECT distinct item.id AS item_id FROM item
+ left join abook on item.author_xchan = abook.abook_xchan
+ WHERE $item_uids $item_restrict
+ AND item.parent = item.id
+ and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
+ $sql_extra3 $sql_extra $sql_nets
+ ORDER BY item.$ordering DESC $pager_sql ",
+ intval(ABOOK_FLAG_BLOCKED)
+ );
+
+ }
+ else {
+ // update
+ $r = q("SELECT item.parent AS item_id FROM item
+ left join abook on item.author_xchan = abook.abook_xchan
+ WHERE $item_uids $item_restrict $simple_update
+ and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
+ $sql_extra3 $sql_extra $sql_nets ",
+ intval(ABOOK_FLAG_BLOCKED)
+ );
+ }
+
+ $first = dba_timer();
+
+ // Then fetch all the children of the parents that are on this page
+
+ if($r) {
+
+ $parents_str = ids_to_querystr($r,'item_id');
+
+ $items = q("SELECT item.*, item.id AS item_id FROM item
+ WHERE $item_uids $item_restrict
+ AND item.parent IN ( %s )
+ $sql_extra ",
+ dbesc($parents_str)
+ );
+
+ $second = dba_timer();
+
+ xchan_query($items);
+
+ $third = dba_timer();
+
+ $items = fetch_post_tags($items,true);
+
+ $fourth = dba_timer();
+
+ require_once('include/conversation.php');
+ $items = conv_sort($items,$ordering);
+
+ //logger('items: ' . print_r($items,true));
+
+ }
+ else {
+ $items = array();
+ }
+
+ if($parents_str && $arr['mark_seen'])
+ $update_unseen = ' AND parent IN ( ' . dbesc($parents_str) . ' )';
+ // FIXME finish mark unseen sql
+ }
+
+ return $items;
+} \ No newline at end of file
diff --git a/include/js_strings.php b/include/js_strings.php
index 60a3e1a86..2e4f70774 100644
--- a/include/js_strings.php
+++ b/include/js_strings.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function js_strings() {
return replace_macros(get_markup_template('js_strings.tpl'), array(
diff --git a/include/language.php b/include/language.php
index 56d5f1cf4..2e7ad5ff1 100644
--- a/include/language.php
+++ b/include/language.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
/**
@@ -15,35 +15,33 @@
*
*/
-
-if(! function_exists('get_browser_language')) {
function get_browser_language() {
$langs = array();
if (x($_SERVER,'HTTP_ACCEPT_LANGUAGE')) {
- // break up string into pieces (languages and q factors)
- preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i',
+ // break up string into pieces (languages and q factors)
+ preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i',
$_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);
- if (count($lang_parse[1])) {
- // create a list like "en" => 0.8
- $langs = array_combine($lang_parse[1], $lang_parse[4]);
-
- // set default to 1 for any without q factor
- foreach ($langs as $lang => $val) {
- if ($val === '') $langs[$lang] = 1;
- }
-
- // sort list based on value
- arsort($langs, SORT_NUMERIC);
- }
+ if (count($lang_parse[1])) {
+ // create a list like "en" => 0.8
+ $langs = array_combine($lang_parse[1], $lang_parse[4]);
+
+ // set default to 1 for any without q factor
+ foreach ($langs as $lang => $val) {
+ if ($val === '') $langs[$lang] = 1;
+ }
+
+ // sort list based on value
+ arsort($langs, SORT_NUMERIC);
+ }
}
else
$langs['en'] = 1;
return $langs;
-}}
+}
function get_best_language() {
@@ -62,7 +60,7 @@ function get_best_language() {
if(isset($preferred))
return $preferred;
- $a = get_app();
+ $a = get_app();
return ((isset($a->config['system']['language'])) ? $a->config['system']['language'] : 'en');
}
@@ -101,15 +99,25 @@ function pop_lang() {
// load string translation table for alternate language
-if(! function_exists('load_translation_table')) {
-function load_translation_table($lang) {
+function load_translation_table($lang, $install = false) {
global $a;
+ $a->strings = array();
if(file_exists("view/$lang/strings.php")) {
include("view/$lang/strings.php");
}
- else
- $a->strings = array();
+
+ if(! $install) {
+ $plugins = q("SELECT name FROM addon WHERE installed=1;");
+ if ($plugins!==false) {
+ foreach($plugins as $p) {
+ $name = $p['name'];
+ if(file_exists("addon/$name/lang/$lang/strings.php")) {
+ include("addon/$name/lang/$lang/strings.php");
+ }
+ }
+ }
+ }
// Allow individual strings to be over-ridden on this site
// Either for the default language or for all languages
@@ -118,11 +126,10 @@ function load_translation_table($lang) {
include("view/local-$lang/strings.php");
}
-}}
+}
// translate string if translation exists
-if(! function_exists('t')) {
function t($s) {
global $a;
@@ -132,9 +139,9 @@ function t($s) {
return is_array($t)?$t[0]:$t;
}
return $s;
-}}
+}
+
-if(! function_exists('tt')){
function tt($singular, $plural, $count){
$a = get_app();
@@ -152,15 +159,14 @@ function tt($singular, $plural, $count){
} else {
return $singular;
}
-}}
+}
// provide a fallback which will not collide with
// a function defined in any language file
-if(! function_exists('string_plural_select_default')) {
function string_plural_select_default($n) {
return ($n != 1);
-}}
+}
diff --git a/include/menu.php b/include/menu.php
new file mode 100644
index 000000000..900b48e65
--- /dev/null
+++ b/include/menu.php
@@ -0,0 +1,260 @@
+<?php /** @file */
+
+require_once('include/security.php');
+
+function menu_fetch($name,$uid,$observer_xchan) {
+
+ $sql_options = permissions_sql($uid);
+
+ $r = q("select * from menu where menu_channel_id = %d and menu_name = '%s' limit 1",
+ intval($uid),
+ dbesc($name)
+ );
+ if($r) {
+ $x = q("select * from menu_item where mitem_menu_id = %d and mitem_channel_id = %d
+ $sql_options
+ order by mitem_order asc, mitem_desc asc",
+ intval($r[0]['menu_id']),
+ intval($uid)
+ );
+ return array('menu' => $r[0], 'items' => $x );
+ }
+
+ return null;
+}
+
+
+function menu_render($menu) {
+ if(! $menu)
+ return '';
+ for($x = 0; $x < count($menu['items']); $x ++)
+ if($menu['items']['mitem_flags'] & MENU_ITEM_ZID)
+ $menu['items']['mitem_link'] = zid($menu['items']['mitem_link']);
+ if($menu['items']['mitem_flags'] & MENU_ITEM_NEWWIN)
+ $menu['items']['newwin'] = '1';
+
+ return replace_macros(get_markup_template('usermenu.tpl'),array(
+ '$menu' => $menu['menu'],
+ '$items' => $menu['items']
+ ));
+}
+
+
+
+function menu_fetch_id($menu_id,$channel_id) {
+
+ $r = q("select * from menu where menu_id = %d and menu_channel_id = %d limit 1",
+ intval($menu_id),
+ intval($channel_id)
+ );
+
+ return (($r) ? $r[0] : false);
+}
+
+
+
+function menu_create($arr) {
+
+
+ $menu_name = trim(escape_tags($arr['menu_name']));
+ $menu_desc = trim(escape_tags($arr['menu_desc']));
+
+ if(! $menu_desc)
+ $menu_desc = $menu_name;
+
+ if(! $menu_name)
+ return false;
+
+
+ $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)
+ );
+
+ if($r)
+ return false;
+
+ $r = q("insert into menu ( menu_name, menu_desc, menu_channel_id )
+ values( '%s', '%s', %d )",
+ dbesc($menu_name),
+ dbesc($menu_desc),
+ intval($menu_channel_id)
+ );
+ if(! $r)
+ return false;
+
+ $r = q("select menu_id from menu where menu_name = '%s' and menu_channel_id = %d limit 1",
+ dbesc($menu_name),
+ intval($menu_channel_id)
+ );
+ if($r)
+ return $r[0]['menu_id'];
+ return false;
+
+}
+
+function menu_list($channel_id) {
+ $r = q("select * from menu where menu_channel_id = %d order by menu_name",
+ intval($channel_id)
+ );
+ return $r;
+}
+
+
+
+function menu_edit($arr) {
+
+ $menu_id = intval($arr['menu_id']);
+
+ $menu_name = trim(escape_tags($arr['menu_name']));
+ $menu_desc = trim(escape_tags($arr['menu_desc']));
+
+ if(! $menu_desc)
+ $menu_desc = $menu_name;
+
+ if(! $menu_name)
+ return false;
+
+
+ $menu_channel_id = intval($arr['menu_channel_id']);
+
+ $r = q("select menu_id from menu where menu_name = '%s' and menu_channel_id = %d limit 1",
+ dbesc($menu_name),
+ intval($menu_channel_id)
+ );
+ if(($r) && ($r[0]['menu_id'] != $menu_id)) {
+ logger('menu_edit: duplicate menu name for channel ' . $menu_channel_id);
+ return false;
+ }
+
+
+ $r = q("select * from menu where menu_id = %d and menu_channel_id = %d limit 1",
+ intval($menu_id),
+ intval($menu_channel_id)
+ );
+ if(! $r) {
+ logger('menu_edit: not found: ' . print_r($arr,true));
+ 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'
+ where menu_id = %d and menu_channel_id = %d limit 1",
+ dbesc($menu_name),
+ dbesc($menu_desc),
+ intval($menu_id),
+ intval($menu_channel_id)
+ );
+}
+
+function menu_delete($menu_name, $uid) {
+ $r = q("select menu_id from menu where menu_name = '%s' and menu_channel_id = %d limit 1",
+ dbesc($menu_name),
+ intval($uid)
+ );
+
+ if($r)
+ return menu_delete_id($r[0]['menu_id'],$uid);
+ return false;
+}
+
+function menu_delete_id($menu_id, $uid) {
+ $r = q("select menu_id from menu where menu_id = %d and menu_channel_id = %d limit 1",
+ intval($menu_id),
+ intval($uid)
+ );
+ if($r) {
+ $x = q("delete from menu_item where mitem_menu_id = %d and mitem_channel_id = %d",
+ intval($menu_id),
+ intval($uid)
+ );
+ return q("delete from menu where menu_id = %d and menu_channel_id = %d limit 1",
+ intval($menu_id),
+ intval($uid)
+ );
+ }
+ return false;
+}
+
+
+function menu_add_item($menu_id, $uid, $arr) {
+
+
+ $mitem_link = escape_tags($arr['mitem_link']);
+ $mitem_desc = escape_tags($arr['mitem_desc']);
+ $mitem_order = intval($arr['mitem_order']);
+ $mitem_flags = intval($arr['mitem_flags']);
+ $allow_cid = perms2str($arr['allow_cid']);
+ $allow_gid = perms2str($arr['allow_gid']);
+ $deny_cid = perms2str($arr['deny_cid']);
+ $deny_gid = perms2str($arr['deny_gid']);
+
+ $r = q("insert into menu_item ( mitem_link, mitem_desc, mitem_flags, allow_cid, allow_gid, deny_cid, deny_gid, mitem_channel_id, mitem_menu_id, mitem_order ) values ( '%s', '%s', %d, '%s', '%s', '%s', '%s', %d, %d, %d ) ",
+ dbesc($mitem_link),
+ dbesc($mitem_desc),
+ intval($mitem_flags),
+ dbesc($allow_cid),
+ dbesc($allow_gid),
+ dbesc($deny_cid),
+ dbesc($deny_gid),
+ intval($uid),
+ intval($menu_id),
+ intval($mitem_order)
+ );
+ return $r;
+
+}
+
+function menu_edit_item($menu_id, $uid, $arr) {
+
+
+ $mitem_id = intval($arr['mitem_id']);
+ $mitem_link = escape_tags($arr['mitem_link']);
+ $mitem_desc = escape_tags($arr['mitem_desc']);
+ $mitem_order = intval($arr['mitem_order']);
+ $mitem_flags = intval($arr['mitem_flags']);
+ $allow_cid = perms2str($arr['allow_cid']);
+ $allow_gid = perms2str($arr['allow_gid']);
+ $deny_cid = perms2str($arr['deny_cid']);
+ $deny_gid = perms2str($arr['deny_gid']);
+
+ $r = q("update menu_item set mitem_link = '%s', mitem_desc = '%s', mitem_flags = %d, allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', mitem_order = %d where mitem_channel_id = %d and mitem_menu_id = %d and mitem_id = %d limit 1",
+ dbesc($mitem_link),
+ dbesc($mitem_desc),
+ intval($mitem_flags),
+ dbesc($allow_cid),
+ dbesc($allow_gid),
+ dbesc($deny_cid),
+ dbesc($deny_gid),
+ intval($mitem_order),
+ intval($uid),
+ intval($menu_id),
+ intval($mitem_id)
+ );
+ return $r;
+}
+
+
+
+
+function menu_del_item($menu_id,$uid,$item_id) {
+ $r = q("delete from menu_item where mitem_menu_id = %d and mitem_channel_id = %d and mitem_id = %d limit 1",
+ intval($menu_id),
+ intval($uid),
+ intval($item_id)
+ );
+ return $r;
+}
+
diff --git a/include/message.php b/include/message.php
index 00cf30512..e54a6cd83 100644
--- a/include/message.php
+++ b/include/message.php
@@ -1,7 +1,9 @@
-<?php
+<?php /** @file */
/* Private Message backend API */
+require_once('include/crypto.php');
+require_once('include/attach.php');
// send a private message
@@ -43,37 +45,91 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
$dups = false;
$hash = random_string();
- $uri = $hash . '@' . get_app()->get_hostname();
+ $mid = $hash . '@' . get_app()->get_hostname();
- $r = q("SELECT id FROM mail WHERE uri = '%s' LIMIT 1",
- dbesc($uri));
+ $r = q("SELECT id FROM mail WHERE mid = '%s' LIMIT 1",
+ dbesc($mid));
if(count($r))
$dups = true;
} while($dups == true);
if(! strlen($replyto)) {
- $replyto = $uri;
+ $replyto = $mid;
}
+ /**
+ *
+ * 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.
+ *
+ */
+
+ $match = null;
+ $images = null;
+ if(preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match))
+ $images = $match[1];
+
+ $match = false;
+
+ if(preg_match_all("/\[attachment\](.*?)\[\/attachment\]/",$body,$match))
+ $attaches = $match[1];
+
+ $attachments = '';
+
+ if(preg_match_all('/(\[attachment\](.*?)\[\/attachment\])/',$body,$match)) {
+ $attachments = array();
+ foreach($match[2] as $mtch) {
+ $hash = substr($mtch,0,strpos($mtch,','));
+ $rev = intval(substr($mtch,strpos($mtch,',')));
+ $r = attach_by_hash_nodata($hash,$rev);
+ if($r['success']) {
+ $attachments[] = array(
+ 'href' => $a->get_baseurl() . '/attach/' . $r['data']['hash'],
+ 'length' => $r['data']['filesize'],
+ 'type' => $r['data']['filetype'],
+ 'title' => urlencode($r['data']['filename']),
+ 'revision' => $r['data']['revision']
+ );
+ }
+ $body = str_replace($match[1],'',$body);
+ }
+ }
+
+ $jattach = (($attachments) ? json_encode($attachments) : '');
+
+ $key = get_config('system','pubkey');
+ if($subject)
+ $subject = json_encode(aes_encapsulate($subject,$key));
+ if($body)
+ $body = json_encode(aes_encapsulate($body,$key));
- $r = q("INSERT INTO mail ( account_id, channel_id, from_xchan, to_xchan, title, body, uri, parent_uri, created )
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
+
+
+ $r = q("INSERT INTO mail ( account_id, mail_flags, channel_id, from_xchan, to_xchan, title, body, attach, mid, parent_mid, created )
+ VALUES ( %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
intval($channel['channel_account_id']),
+ intval(MAIL_OBSCURED),
intval($channel['channel_id']),
dbesc($channel['channel_hash']),
dbesc($recipient),
dbesc($subject),
dbesc($body),
- dbesc($uri),
+ dbesc($jattach),
+ dbesc($mid),
dbesc($replyto),
dbesc(datetime_convert())
);
// verify the save
- $r = q("SELECT * FROM mail WHERE uri = '%s' and channel_id = %d LIMIT 1",
- dbesc($uri),
+ $r = q("SELECT * FROM mail WHERE mid = '%s' and channel_id = %d LIMIT 1",
+ dbesc($mid),
intval($channel['channel_id'])
);
if($r)
@@ -83,38 +139,34 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
return $ret;
}
- /**
- *
- * 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.
- *
- */
-
- $match = null;
-
- if(preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match)) {
- $images = $match[1];
- if(count($images)) {
- foreach($images as $image) {
- if(! stristr($image,$a->get_baseurl() . '/photo/'))
- continue;
- $image_uri = substr($image,strrpos($image,'/') + 1);
- $image_uri = substr($image_uri,0, strpos($image_uri,'-'));
- $r = q("UPDATE photo SET allow_cid = '%s' WHERE resource_id = '%s' AND uid = %d and allow_cid = '%s'",
- dbesc('<' . $recipient . '>'),
- dbesc($image_uri),
- intval($channel['channel_id']),
- dbesc('<' . $channel['channel_hash'] . '>')
- );
- }
+ if(count($images)) {
+ foreach($images as $image) {
+ if(! stristr($image,$a->get_baseurl() . '/photo/'))
+ continue;
+ $image_uri = substr($image,strrpos($image,'/') + 1);
+ $image_uri = substr($image_uri,0, strpos($image_uri,'-'));
+ $r = q("UPDATE photo SET allow_cid = '%s' WHERE resource_id = '%s' AND uid = %d and allow_cid = '%s'",
+ dbesc('<' . $recipient . '>'),
+ dbesc($image_uri),
+ intval($channel['channel_id']),
+ dbesc('<' . $channel['channel_hash'] . '>')
+ );
}
}
+ if($attaches) {
+ foreach($attaches as $attach) {
+ $hash = substr($attach,0,strpos($attach,','));
+ $rev = intval(substr($attach,strpos($attach,',')));
+ attach_store($channel,$observer_hash,$options = 'update', array(
+ 'hash' => $hash,
+ 'revision' => $rev,
+ 'allow_cid' => '<' . $recipient . '>',
+
+ ));
+ }
+ }
+
proc_run('php','include/notifier.php','mail',$post_id);
$ret['success'] = true;
@@ -169,6 +221,15 @@ function private_messages_list($uid, $mailbox = '', $start = 0, $numitems = 0) {
$r[$k]['from'] = find_xchan_in_array($rr['from_xchan'],$c);
$r[$k]['to'] = find_xchan_in_array($rr['to_xchan'],$c);
$r[$k]['seen'] = (($rr['mail_flags'] & MAIL_SEEN) ? 1 : 0);
+ if($r[$k]['mail_flags'] & MAIL_OBSCURED) {
+ logger('unencrypting');
+ $key = get_config('system','prvkey');
+
+ if($r[$k]['title'])
+ $r[$k]['title'] = aes_unencapsulate(json_decode_plus($r[$k]['title']),$key);
+ if($r[$k]['body'])
+ $r[$k]['body'] = aes_unencapsulate(json_decode_plus($r[$k]['body']),$key);
+ }
}
return $r;
@@ -201,6 +262,13 @@ function private_messages_fetch_message($channel_id, $messageitem_id, $updatesee
foreach($messages as $k => $message) {
$messages[$k]['from'] = find_xchan_in_array($message['from_xchan'],$c);
$messages[$k]['to'] = find_xchan_in_array($message['to_xchan'],$c);
+ if($messages[$k]['mail_flags'] & MAIL_OBSCURED) {
+ $key = get_config('system','prvkey');
+ if($messages[$k]['title'])
+ $messages[$k]['title'] = aes_unencapsulate(json_decode_plus($messages[$k]['title']),$key);
+ if($messages[$k]['body'])
+ $messages[$k]['body'] = aes_unencapsulate(json_decode_plus($messages[$k]['body']),$key);
+ }
}
if($updateseen) {
@@ -221,13 +289,13 @@ function private_messages_drop($channel_id, $messageitem_id, $drop_conversation
if($drop_conversation) {
// find the parent_id
- $p = q("SELECT parent_uri FROM mail WHERE id = %d AND channel_id = %d LIMIT 1",
+ $p = q("SELECT parent_mid FROM mail WHERE id = %d AND channel_id = %d LIMIT 1",
intval($messageitem_id),
intval($channel_id)
);
if($p) {
- $r = q("DELETE FROM mail WHERE parent_uri = '%s' AND channel_id = %d ",
- dbesc($p[0]['parent_uri']),
+ $r = q("DELETE FROM mail WHERE parent_mid = '%s' AND channel_id = %d ",
+ dbesc($p[0]['parent_mid']),
intval($channel_id)
);
if($r)
@@ -248,9 +316,9 @@ function private_messages_drop($channel_id, $messageitem_id, $drop_conversation
function private_messages_fetch_conversation($channel_id, $messageitem_id, $updateseen = false) {
- // find the parent_uri of the message being requested
+ // find the parent_mid of the message being requested
- $r = q("SELECT parent_uri from mail WHERE channel_id = %d and id = %d limit 1",
+ $r = q("SELECT parent_mid from mail WHERE channel_id = %d and id = %d limit 1",
intval($channel_id),
intval($messageitem_id)
);
@@ -258,8 +326,8 @@ function private_messages_fetch_conversation($channel_id, $messageitem_id, $upda
if(! $r)
return array();
- $messages = q("select * from mail where parent_uri = '%s' and channel_id = %d order by created asc",
- dbesc($r[0]['parent_uri']),
+ $messages = q("select * from mail where parent_mid = '%s' and channel_id = %d order by created asc",
+ dbesc($r[0]['parent_mid']),
intval($channel_id)
);
@@ -282,14 +350,21 @@ function private_messages_fetch_conversation($channel_id, $messageitem_id, $upda
foreach($messages as $k => $message) {
$messages[$k]['from'] = find_xchan_in_array($message['from_xchan'],$c);
$messages[$k]['to'] = find_xchan_in_array($message['to_xchan'],$c);
+ if($messages[$k]['mail_flags'] & MAIL_OBSCURED) {
+ $key = get_config('system','prvkey');
+ if($messages[$k]['title'])
+ $messages[$k]['title'] = aes_unencapsulate(json_decode_plus($messages[$k]['title']),$key);
+ if($messages[$k]['body'])
+ $messages[$k]['body'] = aes_unencapsulate(json_decode_plus($messages[$k]['body']),$key);
+ }
}
if($updateseen) {
- $r = q("UPDATE `mail` SET mail_flags = (mail_flags ^ %d) where not (mail_flags & %d) and parent_uri = '%s' AND channel_id = %d",
+ $r = q("UPDATE `mail` SET mail_flags = (mail_flags ^ %d) where not (mail_flags & %d) and parent_mid = '%s' AND channel_id = %d",
intval(MAIL_SEEN),
intval(MAIL_SEEN),
- dbesc($r[0]['parent_uri']),
+ dbesc($r[0]['parent_mid']),
intval($channel_id)
);
}
diff --git a/include/nav.php b/include/nav.php
index 5490d6cd4..dd11f10d5 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function nav(&$a) {
@@ -71,7 +71,7 @@ EOT;
$nav['logout'] = Array('logout',t('Logout'), "", t('End this session'));
// user menu
- $nav['usermenu'][] = Array('channel/' . $channel['channel_address'], t('Status'), "", t('Your posts and conversations'));
+ $nav['usermenu'][] = Array('channel/' . $channel['channel_address'], t('Home'), "", t('Your posts and conversations'));
$nav['usermenu'][] = Array('profile/' . $channel['channel_address'], t('View Profile'), "", t('Your profile page'));
if(feature_enabled(local_user(),'multi_profiles'))
$nav['usermenu'][] = Array('profiles', t('Edit Profiles'),"", t('Manage/Edit Profiles'));
@@ -107,8 +107,10 @@ EOT;
*/
$homelink = get_my_url();
- if(! $homelink)
- $homelink = ((x($_SESSION,'visitor_home')) ? $_SESSION['visitor_home'] : '');
+ if(! $homelink) {
+ $observer = $a->get_observer();
+ $homelink = (($observer) ? $observer['xchan_url'] : '');
+ }
if(($a->module != 'home') && (! (local_user())))
$nav['home'] = array($homelink, t('Home'), "", t('Home Page'));
@@ -128,7 +130,7 @@ EOT;
$nav['search'] = array('search', t('Search'), "", t('Search site content'));
- $nav['directory'] = array('directory', t('Channel Directory'), "", t('Channel Locator'));
+ $nav['directory'] = array('directory', t('Directory'), "", t('Channel Locator'));
/**
@@ -139,24 +141,24 @@ EOT;
if(local_user()) {
- $nav['network'] = array('network', t('Network'), "", t('Conversations from your friends'));
- $nav['network']['all']=array('notifications/network', t('See all network notifications'), "", "");
- $nav['network']['mark'] = array('', t('Mark all network notifications seen'), '','');
+ $nav['network'] = array('network', t('Matrix'), "", t('Conversations from your grid'));
+ $nav['network']['all']=array('notifications/network', t('See all matrix notifications'), "", "");
+ $nav['network']['mark'] = array('', t('Mark all matrix notifications seen'), '','');
$nav['home'] = array('channel/' . $channel['channel_address'], t('Home'), "", t('Your posts and conversations'));
$nav['home']['all']=array('notifications/channel', t('See all channel notifications'), "", "");
$nav['home']['mark'] = array('', t('Mark all channel notifications seen'), '','');
- $nav['intros'] = array('connections/pending', t('Introductions'), "", t('New Connections'));
+ $nav['intros'] = array('connections/pending', t('Intros'), "", t('New Connections'));
$nav['intros']['all']=array('intro', t('See all channel introductions'), "", "");
- $nav['notifications'] = array('notifications/system', t('Notifications'), "", t('Notifications'));
+ $nav['notifications'] = array('notifications/system', t('Notices'), "", t('Notifications'));
$nav['notifications']['all']=array('notifications/system', t('See all notifications'), "", "");
$nav['notifications']['mark'] = array('', t('Mark all system notifications seen'), '','');
- $nav['messages'] = array('message', t('Messages'), "", t('Private mail'));
+ $nav['messages'] = array('message', t('Mail'), "", t('Private mail'));
$nav['messages']['all']=array('message', t('See all private messages'), "", "");
$nav['messages']['mark'] = array('', t('Mark all private messages seen'), '','');
$nav['messages']['inbox'] = array('message', t('Inbox'), "", t('Inbox'));
@@ -192,14 +194,13 @@ EOT;
$banner = get_config('system','banner');
if($banner === false)
-// $banner .= '<a href="http://friendica.com"><img id="logo-img" src="images/fred-32.png" alt="logo" /></a>';
$banner = 'red';
$tpl = get_markup_template('nav.tpl');
$a->page['nav'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(),
- '$langselector' => lang_selector(),
+ '$langselector' => ((get_config('system','select_language')) ? lang_selector() : ''),
'$sitelocation' => $sitelocation,
'$nav' => $nav,
'$banner' => $banner,
diff --git a/include/network.php b/include/network.php
index 555e76802..00d931f19 100644
--- a/include/network.php
+++ b/include/network.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
@@ -6,10 +6,20 @@ function get_capath() {
return appdirpath() . '/library/cacert.pem';
}
+
+
// curl wrapper. If binary flag is true, return binary
// results.
-if(! function_exists('fetch_url')) {
+/**
+ * fetch_url is deprecated and being replaced by the more capable z_fetch_url
+ * please use that function instead.
+ * Once all occurrences of fetch_url are removed from the codebase we will
+ * remove this function and perhaps rename z_fetch_url back to fetch_url
+ */
+
+
+
function fetch_url($url,$binary = false, &$redirects = 0, $timeout = 0, $accept_content=Null) {
$a = get_app();
@@ -28,8 +38,7 @@ function fetch_url($url,$binary = false, &$redirects = 0, $timeout = 0, $accept_
}
@curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
- //@curl_setopt($ch, CURLOPT_USERAGENT, "Friendica");
- @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Friendica)");
+ @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Red)");
if(intval($timeout)) {
@@ -98,11 +107,11 @@ function fetch_url($url,$binary = false, &$redirects = 0, $timeout = 0, $accept_
$a->set_curl_headers($header);
@curl_close($ch);
return($body);
-}}
+}
// post request to $url. $params is an array of post variables.
-if(! function_exists('post_url')) {
+
function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0) {
$a = get_app();
$ch = curl_init($url);
@@ -114,7 +123,7 @@ function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0)
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
- curl_setopt($ch, CURLOPT_USERAGENT, "Friendica");
+ curl_setopt($ch, CURLOPT_USERAGENT, "Red");
if(intval($timeout)) {
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
@@ -193,9 +202,29 @@ function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0)
curl_close($ch);
return($body);
-}}
+}
+
+/**
+ * @function z_fetch_url
+ * @param string $url
+ * URL to fetch
+ * @param boolean $binary = false
+ * TRUE if asked to return binary results (file download)
+ * @param int $redirects = 0
+ * internal use, recursion counter
+ * @param array $opts (optional parameters)
+ * 'accept_content' => supply Accept: header with 'accept_content' as the value
+ * 'timeout' => int seconds, default system config value or 60 seconds
+ * 'http_auth' => username:password
+ * 'novalidate' => do not validate SSL certs, default is to validate using our CA list
+ *
+ * @returns array
+ * 'return_code' => HTTP return code or 0 if timeout or failure
+ * 'success' => boolean true (if HTTP 2xx result) or false
+ * 'header' => HTTP headers
+ * 'body' => fetched content
+ */
-if(! function_exists('z_fetch_url')) {
function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
$ret = array('return_code' => 0, 'success' => false, 'header' => "", 'body' => "");
@@ -210,7 +239,7 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
@curl_setopt($ch, CURLOPT_CAINFO, get_capath());
@curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
@curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
- @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Friendica Red)");
+ @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Red)");
if (x($opts,'accept_content')){
curl_setopt($ch,CURLOPT_HTTPHEADER, array (
@@ -231,6 +260,10 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
@curl_setopt($ch, CURLOPT_USERPWD, $opts['http_auth']);
}
+ @curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
+ ((x($opts,'novalidate') && intval($opts['novalidate'])) ? false : true));
+
+
$prx = get_config('system','proxy');
if(strlen($prx)) {
@curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
@@ -279,16 +312,21 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
$rc = intval($http_code);
$ret['return_code'] = $rc;
$ret['success'] = (($rc >= 200 && $rc <= 299) ? true : false);
+ if(! $ret['success']) {
+ $ret['debug'] = $curl_info;
+ logger('z_fetch_url: debug:' . print_r($curl_info,true), LOGGER_DATA);
+ }
$ret['body'] = substr($s,strlen($header));
$ret['header'] = $header;
+
@curl_close($ch);
return($ret);
-}}
+}
+
-if(! function_exists('z_post_url')) {
-function z_post_url($url,$params, $headers = null, $redirects = 0, $timeout = 0) {
+function z_post_url($url,$params, $redirects = 0, $opts = array()) {
$ret = array('return_code' => 0, 'success' => false, 'header' => "", 'body' => "");
@@ -301,30 +339,30 @@ function z_post_url($url,$params, $headers = null, $redirects = 0, $timeout = 0)
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
- curl_setopt($ch, CURLOPT_USERAGENT, "Friendica");
+ curl_setopt($ch, CURLOPT_USERAGENT, "Red");
- if(intval($timeout)) {
- curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
+
+ if (x($opts,'accept_content')){
+ curl_setopt($ch,CURLOPT_HTTPHEADER, array (
+ "Accept: " . $opts['accept_content']
+ ));
+ }
+
+ if(x($opts,'timeout') && intval($opts['timeout'])) {
+ @curl_setopt($ch, CURLOPT_TIMEOUT, $opts['timeout']);
}
else {
$curl_time = intval(get_config('system','curl_timeout'));
- curl_setopt($ch, CURLOPT_TIMEOUT, (($curl_time !== false) ? $curl_time : 60));
+ @curl_setopt($ch, CURLOPT_TIMEOUT, (($curl_time !== false) ? $curl_time : 60));
}
- if(defined('LIGHTTPD')) {
- if(!is_array($headers)) {
- $headers = array('Expect:');
- } else {
- if(!in_array('Expect:', $headers)) {
- array_push($headers, 'Expect:');
- }
- }
+ if(x($opts,'http_auth')) {
+ // "username" . ':' . "password"
+ @curl_setopt($ch, CURLOPT_USERPWD, $opts['http_auth']);
}
- if($headers)
- curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
-
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
+ @curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
+ ((x($opts,'novalidate') && intval($opts['novalidate'])) ? false : true));
$prx = get_config('system','proxy');
if(strlen($prx)) {
@@ -365,20 +403,25 @@ function z_post_url($url,$params, $headers = null, $redirects = 0, $timeout = 0)
if (isset($url_parsed)) {
curl_close($ch);
if($http_code == 303) {
- return z_fetch_url($newurl,false,$headers,$redirects++,$timeout);
+ return z_fetch_url($newurl,false,$redirects++,$opts);
} else {
- return z_post_url($newurl,$params,$headers,$redirects++,$timeout);
+ return z_post_url($newurl,$params,$redirects++,$opts);
}
}
}
$rc = intval($http_code);
$ret['return_code'] = $rc;
$ret['success'] = (($rc >= 200 && $rc <= 299) ? true : false);
+ if(! $ret['success']) {
+ $ret['debug'] = $curl_info;
+ logger('z_fetch_url: debug:' . print_r($curl_info,true), LOGGER_DATA);
+ }
+
$ret['body'] = substr($s,strlen($header));
$ret['header'] = $header;
curl_close($ch);
return($ret);
-}}
+}
@@ -394,7 +437,7 @@ function json_return_and_die($x) {
// Outputs a basic dfrn XML status structure to STDOUT, with a <status> variable
// of $st and an optional text <message> of $message and terminates the current process.
-if(! function_exists('xml_status')) {
+
function xml_status($st, $message = '') {
$xml_message = ((strlen($message)) ? "\t<message>" . xmlify($message) . "</message>\r\n" : '');
@@ -406,29 +449,37 @@ function xml_status($st, $message = '') {
echo '<?xml version="1.0" encoding="UTF-8"?>'."\r\n";
echo "<result>\r\n\t<status>$st</status>\r\n$xml_message</result>\r\n";
killme();
-}}
-
+}
-if(! function_exists('http_status_exit')) {
-function http_status_exit($val) {
+/**
+ * @function http_status_exit
+ *
+ * Send HTTP status header and exit
+ * @param int $val
+ * integer HTTP status result value
+ * @param string $msg
+ * optional message
+ * @returns (does not return, process is terminated)
+ */
+
+function http_status_exit($val,$msg = '') {
$err = '';
if($val >= 400)
- $err = 'Error';
+ $msg = (($msg) ? $msg : 'Error');
if($val >= 200 && $val < 300)
- $err = 'OK';
+ $msg = (($msg) ? $msg : 'OK');
- logger('http_status_exit ' . $val);
- header($_SERVER["SERVER_PROTOCOL"] . ' ' . $val . ' ' . $err);
+ logger('http_status_exit ' . $val . ' ' . $msg);
+ header($_SERVER['SERVER_PROTOCOL'] . ' ' . $val . ' ' . $msg);
killme();
-
-}}
+}
// convert an XML document to a normalised, case-corrected array
// used by webfinger
-if(! function_exists('convert_xml_element_to_array')) {
+
function convert_xml_element_to_array($xml_element, &$recursion_depth=0) {
// If we're getting too deep, bail out
@@ -468,7 +519,7 @@ function convert_xml_element_to_array($xml_element, &$recursion_depth=0) {
} else {
return (trim(strval($xml_element)));
}
-}}
+}
// Given an email style address, perform webfinger lookup and
// return the resulting DFRN profile URL, or if no DFRN profile URL
@@ -482,7 +533,7 @@ function convert_xml_element_to_array($xml_element, &$recursion_depth=0) {
// amended 7/9/2011 to return an hcard which could save potentially loading
// a lengthy content page to scrape dfrn attributes
-if(! function_exists('webfinger_dfrn')) {
+
function webfinger_dfrn($s,&$hcard) {
if(! strstr($s,'@')) {
return $s;
@@ -502,14 +553,14 @@ function webfinger_dfrn($s,&$hcard) {
}
}
return $profile_link;
-}}
+}
// Given an email style address, perform webfinger lookup and
// return the array of link attributes from the personal XRD file.
// On error/failure return an empty array.
-if(! function_exists('webfinger')) {
+
function webfinger($s, $debug = false) {
$host = '';
if(strstr($s,'@')) {
@@ -532,9 +583,9 @@ function webfinger($s, $debug = false) {
}
}
return array();
-}}
+}
+
-if(! function_exists('lrdd')) {
function lrdd($uri, $debug = false) {
$a = get_app();
@@ -702,7 +753,7 @@ function lrdd($uri, $debug = false) {
return array();
-}}
+}
@@ -710,7 +761,7 @@ function lrdd($uri, $debug = false) {
// host. Returns the LRDD template or an empty string on
// error/failure.
-if(! function_exists('fetch_lrdd_template')) {
+
function fetch_lrdd_template($host) {
$tpl = '';
@@ -732,13 +783,13 @@ function fetch_lrdd_template($host) {
if(! strpos($tpl,'{uri}'))
$tpl = '';
return $tpl;
-}}
+}
// Given a URL, retrieve the page as an XRD document.
// Return an array of links.
// on error/failure return empty array.
-if(! function_exists('fetch_xrd_links')) {
+
function fetch_xrd_links($url) {
$xrd_timeout = intval(get_config('system','xrd_timeout'));
@@ -783,14 +834,14 @@ function fetch_xrd_links($url) {
return $links;
-}}
+}
// Take a URL from the wild, prepend http:// if necessary
// and check DNS to see if it's real (or check if is a valid IP address)
// return true if it's OK, false if something is wrong with it
-if(! function_exists('validate_url')) {
+
function validate_url(&$url) {
// no naked subdomains (allow localhost for tests)
@@ -804,11 +855,11 @@ function validate_url(&$url) {
return true;
}
return false;
-}}
+}
// checks that email is an actual resolvable internet address
-if(! function_exists('validate_email')) {
+
function validate_email($addr) {
if(get_config('system','disable_email_validation'))
@@ -822,14 +873,14 @@ function validate_email($addr) {
return true;
}
return false;
-}}
+}
// Check $url against our list of allowed sites,
// wildcards allowed. If allowed_sites is unset return true;
// If url is allowed, return true.
// otherwise, return false
-if(! function_exists('allowed_url')) {
+
function allowed_url($url) {
$h = @parse_url($url);
@@ -864,14 +915,14 @@ function allowed_url($url) {
}
}
return $found;
-}}
+}
// check if email address is allowed to register here.
// Compare against our list (wildcards allowed).
// Returns false if not allowed, true if allowed or if
// allowed list is not configured.
-if(! function_exists('allowed_email')) {
+
function allowed_email($email) {
@@ -898,10 +949,10 @@ function allowed_email($email) {
}
}
return $found;
-}}
+}
+
-if(! function_exists('avatar_img')) {
function avatar_img($email) {
$a = get_app();
@@ -918,10 +969,10 @@ function avatar_img($email) {
logger('Avatar: ' . $avatar['email'] . ' ' . $avatar['url'], LOGGER_DEBUG);
return $avatar['url'];
-}}
+}
+
-if(! function_exists('parse_xml_string')) {
function parse_xml_string($s,$strict = true) {
if($strict) {
if(! strstr($s,'<?xml'))
@@ -940,7 +991,7 @@ function parse_xml_string($s,$strict = true) {
libxml_clear_errors();
}
return $x;
-}}
+}
function add_fcontact($arr,$update = false) {
@@ -1008,14 +1059,21 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
$s = htmlspecialchars_decode($s);
$matches = null;
- $c = preg_match_all('/\[img.*?\](.*?)\[\/img\]/ism',$s,$matches,PREG_SET_ORDER);
+ $c = preg_match_all('/\[img(.*?)\](.*?)\[\/img\]/ism',$s,$matches,PREG_SET_ORDER);
if($c) {
- require_once('include/Photo.php');
+ require_once('include/photo/photo_driver.php');
+
foreach($matches as $mtch) {
- logger('scale_external_image: ' . $mtch[1]);
+ logger('scale_external_image: ' . $mtch[1] . ' ' . $mtch[2]);
+
+ if(substr($mtch[1],0,1) == '=') {
+ $owidth = intval(substr($mtch[1],1));
+ if(intval($owidth) > 0 && intval($owidth) < 640)
+ continue;
+ }
$hostname = str_replace('www.','',substr($a->get_baseurl(),strpos($a->get_baseurl(),'://')+3));
- if(stristr($mtch[1],$hostname))
+ if(stristr($mtch[2],$hostname))
continue;
// $scale_replace, if passed, is an array of two elements. The
@@ -1024,9 +1082,9 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
// This allows Friendica to display the smaller remote image if
// one exists, while still linking to the full-size image
if($scale_replace)
- $scaled = str_replace($scale_replace[0], $scale_replace[1], $mtch[1]);
+ $scaled = str_replace($scale_replace[0], $scale_replace[1], $mtch[2]);
else
- $scaled = $mtch[1];
+ $scaled = $mtch[2];
$i = fetch_url($scaled);
$cache = get_config('system','itemcache');
@@ -1036,10 +1094,10 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
}
// guess mimetype from headers or filename
- $type = guess_image_type($mtch[1],true);
+ $type = guess_image_type($mtch[2],true);
if($i) {
- $ph = new Photo($i, $type);
+ $ph = photo_factory($i, $type);
if($ph->is_valid()) {
$orig_width = $ph->getWidth();
$orig_height = $ph->getHeight();
@@ -1052,7 +1110,7 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
logger('scale_external_images: ' . $orig_width . '->' . $new_width . 'w ' . $orig_height . '->' . $new_height . 'h' . ' match: ' . $mtch[0], LOGGER_DEBUG);
$s = str_replace($mtch[0],'[img=' . $new_width . 'x' . $new_height. ']' . $scaled . '[/img]'
. "\n" . (($include_link)
- ? '[url=' . $mtch[1] . ']' . t('view full size') . '[/url]' . "\n"
+ ? '[zrl=' . $mtch[2] . ']' . t('view full size') . '[/zrl]' . "\n"
: ''),$s);
logger('scale_external_images: new string: ' . $s, LOGGER_DEBUG);
}
diff --git a/include/notifier.php b/include/notifier.php
index b22f77d91..0c7ac5264 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once("boot.php");
require_once('include/queue_fn.php');
@@ -53,6 +53,9 @@ require_once('include/html2plain.php');
*
* ZOT
* permission_update abook_id
+ * refresh_all channel_id
+ * purge_all channel_id
+ * expire channel_id
* relay item_id (item was relayed to owner, we will deliver it as owner)
*
*/
@@ -136,6 +139,7 @@ function notifier_run($argv, $argc){
$recipients = array();
$url_recipients = array();
$normal_mode = true;
+ $packet_type = 'undefined';
if($cmd === 'mail') {
$normal_mode = false;
@@ -164,14 +168,24 @@ function notifier_run($argv, $argc){
elseif($cmd === 'expire') {
$normal_mode = false;
$expire = true;
- $items = q("SELECT * FROM `item` WHERE `uid` = %d AND `wall` = 1
- AND `deleted` = 1 AND `changed` > UTC_TIMESTAMP() - INTERVAL 10 MINUTE",
- intval($item_id)
+ $items = q("SELECT * FROM item WHERE uid = %d AND ( item_flags & %d )
+ AND ( item_restrict & %d ) AND `changed` > UTC_TIMESTAMP() - INTERVAL 10 MINUTE",
+ intval($item_id),
+ intval(ITEM_WALL),
+ intval(ITEM_DELETED)
);
$uid = $item_id;
$item_id = 0;
- if(! count($items))
+ if(! $items)
return;
+
+// FIXME
+// This will require a special zot packet containing a list of item message_id's to be expired.
+// This packet will be public, since we cannot selectively deliver here.
+// We need the handling on this end to create the array, and the handling on the remote end
+// to verify permissions (for each item) and process it. Until this is complete, the expire feature will be disabled.
+
+ return;
}
elseif($cmd === 'suggest') {
$normal_mode = false;
@@ -186,6 +200,46 @@ function notifier_run($argv, $argc){
$recipients[] = $suggest[0]['cid'];
$item = $suggest[0];
}
+ elseif($cmd === 'refresh_all') {
+ logger('notifier: refresh_all: ' . $item_id);
+ $s = q("select * from channel where channel_id = %d limit 1",
+ intval($item_id)
+ );
+ if($s)
+ $channel = $s[0];
+ $uid = $item_id;
+ $recipients = array();
+ $r = q("select abook_xchan from abook where abook_channel = %d",
+ intval($item_id)
+ );
+ if($r) {
+ foreach($r as $rr) {
+ $recipients[] = $rr['abook_xchan'];
+ }
+ }
+ $private = false;
+ $packet_type = 'refresh';
+ }
+ elseif($cmd === 'purge_all') {
+ logger('notifier: purge_all: ' . $item_id);
+ $s = q("select * from channel where channel_id = %d limit 1",
+ intval($item_id)
+ );
+ if($s)
+ $channel = $s[0];
+ $uid = $item_id;
+ $recipients = array();
+ $r = q("select abook_xchan from abook where abook_channel = %d",
+ intval($item_id)
+ );
+ if($r) {
+ foreach($r as $rr) {
+ $recipients[] = $rr['abook_xchan'];
+ }
+ }
+ $private = false;
+ $packet_type = 'purge';
+ }
else {
// Normal items
@@ -208,6 +262,25 @@ function notifier_run($argv, $argc){
if($target_item['item_restrict'] & ITEM_DELETED)
logger('notifier: target item ITEM_DELETED', LOGGER_DEBUG);
+ if($target_item['item_restrict'] & ITEM_DELAYED_PUBLISH) {
+ logger('notifier: target item ITEM_DELAYED_PUBLISH', LOGGER_DEBUG);
+ return;
+ }
+
+ if($target_item['item_restrict'] & ITEM_WEBPAGE) {
+ logger('notifier: target item ITEM_WEBPAGE', LOGGER_DEBUG);
+ return;
+ }
+
+ if($target_item['item_restrict'] & ITEM_BUILDBLOCK) {
+ logger('notifier: target item ITEM_BUILDBLOCK', LOGGER_DEBUG);
+ return;
+ }
+
+ if($target_item['item_restrict'] & ITEM_PDL) {
+ logger('notifier: target item ITEM_PDL', LOGGER_DEBUG);
+ return;
+ }
$s = q("select * from channel where channel_id = %d limit 1",
intval($target_item['uid'])
@@ -295,24 +368,39 @@ function notifier_run($argv, $argc){
// Generic delivery section, we have an encoded item and recipients
// Now start the delivery process
- logger('notifier: encoded item: ' . print_r($encoded_item,true));
+ $x = $encoded_item;
+ $x['title'] = 'private';
+ $x['body'] = 'private';
+ logger('notifier: encoded item: ' . print_r($x,true), LOGGER_DATA);
stringify_array_elms($recipients);
if(! $recipients)
return;
- logger('notifier: recipients: ' . print_r($recipients,true));
+// logger('notifier: recipients: ' . print_r($recipients,true));
- $env_recips = null;
- if($private) {
- $r = q("select xchan_guid, xchan_guid_sig from xchan where xchan_hash in (" . implode(',',$recipients) . ")");
- if($r) {
- $env_recips = array();
- foreach($r as $rr)
- $env_recips[] = array('guid' => $rr['xchan_guid'],'guid_sig' => $rr['xchan_guid_sig']);
+ $env_recips = (($private) ? array() : null);
+
+ $details = q("select xchan_hash, xchan_addr, xchan_guid, xchan_guid_sig from xchan where xchan_hash in (" . implode(',',$recipients) . ")");
+
+ $recip_list = array();
+
+ if($details) {
+ foreach($details as $d) {
+ $recip_list[] = $d['xchan_addr'] . ' (' . $d['xchan_hash'] . ')';
+ if($private)
+ $env_recips[] = array('guid' => $d['xchan_guid'],'guid_sig' => $d['xchan_guid_sig']);
}
}
+ if(($private) && (! $env_recips)) {
+ // shouldn't happen
+ logger('notifier: private message with no envelope recipients.' . print_r($argv,true));
+ }
+
+ logger('notifier: recipients (may be delivered to more if public): ' . print_r($recip_list,true), LOGGER_DEBUG);
+
+
// Now we have collected recipients (except for external mentions, FIXME)
// Let's reduce this to a set of hubs.
@@ -321,14 +409,23 @@ function notifier_run($argv, $argc){
$sql_extra = (($private) ? "" : " or hubloc_url = '" . z_root() . "' ");
- $r = q("select distinct(hubloc_callback),hubloc_host,hubloc_sitekey from hubloc
- where hubloc_hash in (" . implode(',',$recipients) . ") $sql_extra group by hubloc_callback");
+ $r = q("select distinct 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;
}
$hubs = $r;
+ $hublist = array();
+ foreach($hubs as $hub) {
+ // don't try to deliver to deleted hublocs
+ if(! ($hub['hubloc_flags'] & HUBLOC_FLAGS_DELETED)) {
+ $hublist[] = $hub['hubloc_host'];
+ }
+ }
+
+ logger('notifier: will notify/deliver to these hubs: ' . print_r($hublist,true), LOGGER_DEBUG);
$interval = ((get_config('system','delivery_interval') !== false)
? intval(get_config('system','delivery_interval')) : 2 );
@@ -342,18 +439,34 @@ function notifier_run($argv, $argc){
foreach($hubs as $hub) {
$hash = random_string();
- $n = zot_build_packet($channel,'notify',$env_recips,(($private) ? $hub['hubloc_sitekey'] : null),$hash);
- q("insert into outq ( outq_hash, outq_account, outq_channel, outq_posturl, outq_async, outq_created, outq_updated, outq_notify, outq_msg ) values ( '%s', %d, %d, '%s', %d, '%s', '%s', '%s', '%s' )",
- dbesc($hash),
- intval($target_item['aid']),
- intval($target_item['uid']),
- dbesc($hub['hubloc_callback']),
- intval(1),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc($n),
- dbesc(json_encode($encoded_item))
- );
+ if($packet_type === 'refresh' || $packet_type === 'purge') {
+ $n = zot_build_packet($channel,$packet_type);
+ q("insert into outq ( outq_hash, outq_account, outq_channel, outq_posturl, outq_async, outq_created, outq_updated, outq_notify, outq_msg ) values ( '%s', %d, %d, '%s', %d, '%s', '%s', '%s', '%s' )",
+ dbesc($hash),
+ intval($channel['channel_account']),
+ intval($channel['channel_id']),
+ dbesc($hub['hubloc_callback']),
+ intval(1),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc($n),
+ dbesc('')
+ );
+ }
+ else {
+ $n = zot_build_packet($channel,'notify',$env_recips,(($private) ? $hub['hubloc_sitekey'] : null),$hash);
+ q("insert into outq ( outq_hash, outq_account, outq_channel, outq_posturl, outq_async, outq_created, outq_updated, outq_notify, outq_msg ) values ( '%s', %d, %d, '%s', %d, '%s', '%s', '%s', '%s' )",
+ dbesc($hash),
+ intval($target_item['aid']),
+ intval($target_item['uid']),
+ dbesc($hub['hubloc_callback']),
+ intval(1),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc($n),
+ dbesc(json_encode($encoded_item))
+ );
+ }
$deliver[] = $hash;
if(count($deliver) >= $deliveries_per_process) {
@@ -369,12 +482,16 @@ function notifier_run($argv, $argc){
if(count($deliver)) {
proc_run('php','include/deliver.php',$deliver);
}
+
+ logger('notifier: basic loop complete.', LOGGER_DEBUG);
if($normal_mode)
call_hooks('notifier_normal',$target_item);
+
call_hooks('notifier_end',$target_item);
+ logger('notifer: complete.');
return;
}
diff --git a/include/notify.php b/include/notify.php
index 3bfd1e58c..aa96fa279 100644
--- a/include/notify.php
+++ b/include/notify.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function format_notification($item) {
diff --git a/include/oauth.php b/include/oauth.php
index 99fc16eef..b10802ecd 100644
--- a/include/oauth.php
+++ b/include/oauth.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
/**
* OAuth server
* Based on oauth2-php <http://code.google.com/p/oauth2-php/>
@@ -18,11 +18,12 @@ class FKOAuthDataStore extends OAuthDataStore {
function lookup_consumer($consumer_key) {
logger(__function__.":".$consumer_key);
- //echo "<pre>"; var_dump($consumer_key); killme();
-
+// echo "<pre>"; var_dump($consumer_key); killme();
+
$r = q("SELECT client_id, pw, redirect_uri FROM clients WHERE client_id='%s'",
dbesc($consumer_key)
);
+
if (count($r))
return new OAuthConsumer($r[0]['client_id'],$r[0]['pw'],$r[0]['redirect_uri']);
return null;
@@ -30,11 +31,13 @@ class FKOAuthDataStore extends OAuthDataStore {
function lookup_token($consumer, $token_type, $token) {
logger(__function__.":".$consumer.", ". $token_type.", ".$token);
+
$r = q("SELECT id, secret,scope, expires, uid FROM tokens WHERE client_id='%s' AND scope='%s' AND id='%s'",
dbesc($consumer->key),
dbesc($token_type),
dbesc($token)
);
+
if (count($r)){
$ot=new OAuthToken($r[0]['id'],$r[0]['secret']);
$ot->scope=$r[0]['scope'];
@@ -46,12 +49,14 @@ class FKOAuthDataStore extends OAuthDataStore {
}
function lookup_nonce($consumer, $token, $nonce, $timestamp) {
- //echo __file__.":".__line__."<pre>"; var_dump($consumer,$key); killme();
+// echo __file__.":".__line__."<pre>"; var_dump($consumer,$key); killme();
+
$r = q("SELECT id, secret FROM tokens WHERE client_id='%s' AND id='%s' AND expires=%d",
dbesc($consumer->key),
dbesc($nonce),
intval($timestamp)
);
+
if (count($r))
return new OAuthToken($r[0]['id'],$r[0]['secret']);
return null;
@@ -67,13 +72,14 @@ class FKOAuthDataStore extends OAuthDataStore {
} else {
$k = $consumer;
}
-
+
$r = q("INSERT INTO tokens (id, secret, client_id, scope, expires) VALUES ('%s','%s','%s','%s', UNIX_TIMESTAMP()+%d)",
dbesc($key),
dbesc($sec),
dbesc($k),
'request',
intval(REQUEST_TOKEN_DURATION));
+
if (!$r) return null;
return new OAuthToken($key,$sec);
}
@@ -95,6 +101,7 @@ class FKOAuthDataStore extends OAuthDataStore {
$key = $this->gen_token();
$sec = $this->gen_token();
+
$r = q("INSERT INTO tokens (id, secret, client_id, scope, expires, uid) VALUES ('%s','%s','%s','%s', UNIX_TIMESTAMP()+%d, %d)",
dbesc($key),
dbesc($sec),
@@ -102,6 +109,7 @@ class FKOAuthDataStore extends OAuthDataStore {
'access',
intval(ACCESS_TOKEN_DURATION),
intval($uverifier));
+
if ($r)
$ret = new OAuthToken($key,$sec);
}
@@ -131,9 +139,9 @@ class FKOAuth1 extends OAuthServer {
}
function loginUser($uid){
- logger("FKOAuth1::loginUser $uid");
+ logger("RedOAuth1::loginUser $uid");
$a = get_app();
- $r = q("SELECT * FROM `user` WHERE uid=%d AND `blocked` = 0 AND `account_expired` = 0 AND `verified` = 1 LIMIT 1",
+ $r = q("SELECT * FROM channel WHERE channel_id = %d LIMIT 1",
intval($uid)
);
if(count($r)){
@@ -143,35 +151,36 @@ class FKOAuth1 extends OAuthServer {
header('HTTP/1.0 401 Unauthorized');
die('This api requires login');
}
- $_SESSION['uid'] = $record['uid'];
- $_SESSION['theme'] = $record['theme'];
- $_SESSION['mobile-theme'] = get_pconfig($record['uid'], 'system', 'mobile_theme');
+ $_SESSION['uid'] = $record['channel_id'];
+ $_SESSION['theme'] = $record['channel_theme'];
+ $_SESSION['account_id'] = $record['channel_account_id'];
+ $_SESSION['mobile_theme'] = get_pconfig($record['channel_id'], 'system', 'mobile_theme');
$_SESSION['authenticated'] = 1;
- $_SESSION['page_flags'] = $record['page-flags'];
- $_SESSION['my_url'] = $a->get_baseurl() . '/channel/' . $record['nickname'];
+// $_SESSION['page_flags'] = $record['page-flags'];
+ $_SESSION['my_url'] = $a->get_baseurl() . '/channel/' . $record['channel_address'];
$_SESSION['addr'] = $_SERVER['REMOTE_ADDR'];
+ $_SESSION['allow_api'] = true;
- //notice( t("Welcome back ") . $record['username'] . EOL);
- $a->user = $record;
+ $a->channel = $record;
- if(strlen($a->user['timezone'])) {
- date_default_timezone_set($a->user['timezone']);
- $a->timezone = $a->user['timezone'];
+ if(strlen($a->channel['channel_timezone'])) {
+ date_default_timezone_set($a->channel['channel_timezone']);
+// $a->timezone = $a->user['timezone'];
}
- $r = q("SELECT * FROM `contact` WHERE `uid` = %s AND `self` = 1 LIMIT 1",
- intval($_SESSION['uid']));
- if(count($r)) {
- $a->contact = $r[0];
- $a->cid = $r[0]['id'];
- $_SESSION['cid'] = $a->cid;
- }
- q("UPDATE `user` SET `login_date` = '%s' WHERE `uid` = %d LIMIT 1",
- dbesc(datetime_convert()),
- intval($_SESSION['uid'])
- );
-
- call_hooks('logged_in', $a->user);
+// $r = q("SELECT * FROM `contact` WHERE `uid` = %s AND `self` = 1 LIMIT 1",
+// intval($_SESSION['uid']));
+// if(count($r)) {
+// $a->contact = $r[0];
+// $a->cid = $r[0]['id'];
+// $_SESSION['cid'] = $a->cid;
+// }
+// q("UPDATE `user` SET `login_date` = '%s' WHERE `uid` = %d LIMIT 1",
+// dbesc(datetime_convert()),
+// intval($_SESSION['uid'])
+// );
+//
+// call_hooks('logged_in', $a->user);
}
}
diff --git a/include/oembed.php b/include/oembed.php
index 6fc4c5371..04a40f6ee 100755
--- a/include/oembed.php
+++ b/include/oembed.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function oembed_replacecb($matches){
// logger('oembedcb');
$embedurl=$matches[1];
@@ -29,7 +29,11 @@ function oembed_fetch_url($embedurl){
if (!in_array($ext, $noexts)){
// try oembed autodiscovery
$redirects = 0;
- $html_text = fetch_url($embedurl, false, $redirects, 15, "text/*");
+
+ $result = z_fetch_url($embedurl, false, $redirects, array('timeout' => 15, 'accept_content' => "text/*", 'novalidate' => true ));
+ if($result['success'])
+ $html_text = $result['body'];
+
if($html_text){
$dom = @DOMDocument::loadHTML($html_text);
if ($dom){
@@ -47,10 +51,17 @@ function oembed_fetch_url($embedurl){
}
}
- if ($txt==false || $txt==""){
+ if ($txt==false || $txt=="") {
+ $x = array('url' => $embedurl,'videowidth' => $a->videowidth);
+ 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;
- $txt = fetch_url($ourl);
+// $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);
diff --git a/include/onepoll.php b/include/onepoll.php
index 8b0c5211b..50c2566be 100644
--- a/include/onepoll.php
+++ b/include/onepoll.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('boot.php');
require_once('include/cli_startup.php');
@@ -69,7 +69,7 @@ function onepoll_run($argv, $argc){
$last_update = (($contact['abook_updated'] === '0000-00-00 00:00:00')
? datetime_convert('UTC','UTC','now - 7 days')
- : datetime_convert('UTC','UTC',$contact['abook_updated'])
+ : datetime_convert('UTC','UTC',$contact['abook_updated'] . ' - 2 days')
);
// update permissions
@@ -98,11 +98,12 @@ function onepoll_run($argv, $argc){
return;
if($contact['xchan_connurl']) {
- $feedurl = str_replace('/poco/','/zotfeed/',$channel['xchan_connurl']);
-
- $x = z_fetch_url($feedurl . '?f=$mindate=' . $last_update);
+ $feedurl = str_replace('/poco/','/zotfeed/',$channel['xchan_connurl']);
+ $x = z_fetch_url($feedurl . '?f=&mindate=' . $last_update);
if($x['success']) {
$total = 0;
+ logger('onepoll: feed update ' . $contact['xchan_name']);
+
$j = json_decode($x['body'],true);
if($j['success'] && $j['messages']) {
foreach($j['messages'] as $message) {
diff --git a/include/page_widgets.php b/include/page_widgets.php
new file mode 100644
index 000000000..23d6d25ba
--- /dev/null
+++ b/include/page_widgets.php
@@ -0,0 +1,39 @@
+<?php
+
+// A basic toolbar for observers with write_pages permissions
+function writepages_widget ($who,$which){
+ return replace_macros(get_markup_template('write_pages.tpl'), array(
+ '$new' => t('New Page'),
+ '$newurl' => "webpages/$who",
+ '$edit' => t('edit'),
+ '$editurl' => "editwebpage/$who/$which"
+ ));
+}
+
+
+
+// Chan is channel_id, $who is channel_address - we'll need to pass observer later too.
+function pagelist_widget ($chan,$who){
+ $r = q("select * from item_id where uid = %d and service = 'WEBPAGE' order by sid asc",
+ intval($chan)
+ );
+ $pages = null;
+// TODO - only list public pages. Doesn't matter for now, since we don't have ACL anyway.
+
+ if($r) {
+ $pages = array();
+ foreach($r as $rr) {
+ $pages[$rr['iid']][] = array('url' => $rr['iid'],'title' => $rr['sid']);
+ }
+ }
+
+ return replace_macros(get_markup_template('webpagelist.tpl'), array(
+ '$baseurl' => $url,
+ '$edit' => '',
+ '$pages' => $pages,
+ '$channel' => $who,
+ '$preview' => '',
+ '$widget' => 1,
+ ));
+
+}
diff --git a/include/permissions.php b/include/permissions.php
index 72e002ace..bf50ebdd1 100644
--- a/include/permissions.php
+++ b/include/permissions.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function get_perms() {
@@ -23,7 +23,7 @@ function get_perms() {
'post_comments' => array('channel_w_comment', intval(PERMS_W_COMMENT), false, t('Can comment on my posts'), ''),
'post_mail' => array('channel_w_mail', intval(PERMS_W_MAIL), false, t('Can send me private mail messages'), ''),
'post_photos' => array('channel_w_photos', intval(PERMS_W_PHOTOS), false, t('Can post photos to my photo albums'), ''),
- 'tag_deliver' => array('channel_w_tagwall', intval(PERMS_W_TAGWALL), false, t('Can forward to all my channel contacts via post tags'), t('Advanced - useful for creating group forum channels')),
+ 'tag_deliver' => array('channel_w_tagwall', intval(PERMS_W_TAGWALL), false, t('Can forward to all my channel contacts via post @mentions'), t('Advanced - useful for creating group forum channels')),
'chat' => array('channel_w_chat', intval(PERMS_W_CHAT), false, t('Can chat with me (when available)'), t('Requires compatible chat plugin')),
'write_storage' => array('channel_w_storage', intval(PERMS_W_STORAGE), false, t('Can write to my "public" file storage'), ''),
'write_pages' => array('channel_w_pages', intval(PERMS_W_PAGES), false, t('Can edit my "public" pages'), ''),
@@ -168,6 +168,13 @@ function get_all_perms($uid,$observer_xchan,$internal_use = true) {
$ret[$perm_name] = false;
continue;
}
+
+ // They are in your address book, but haven't been approved
+
+ if($x[0]['abook_flags'] & ABOOK_FLAG_PENDING) {
+ $ret[$perm_name] = false;
+ continue;
+ }
if(($r) && ($r[0][$channel_perm] & PERMS_CONTACTS)) {
@@ -192,6 +199,8 @@ function get_all_perms($uid,$observer_xchan,$internal_use = true) {
continue;
}
+
+
$arr = array(
'channel_id' => $uid,
'observer_hash' => $observer_xchan,
@@ -282,6 +291,10 @@ function perm_is_allowed($uid,$observer_xchan,$permission) {
return false;
}
+ if($x[0]['abook_flags'] & ABOOK_FLAG_PENDING) {
+ return false;
+ }
+
if($r[0][$channel_perm] & PERMS_CONTACTS) {
return true;
}
@@ -315,3 +328,38 @@ function check_list_permissions($uid,$arr,$perm) {
return($result);
}
+
+
+function site_default_perms() {
+
+ $typical = array(
+ 'view_stream' => PERMS_PUBLIC,
+ 'view_profile' => PERMS_PUBLIC,
+ 'view_photos' => PERMS_PUBLIC,
+ 'view_contacts' => PERMS_PUBLIC,
+ 'view_storage' => PERMS_PUBLIC,
+ 'view_pages' => PERMS_PUBLIC,
+ 'send_stream' => PERMS_SPECIFIC,
+ 'post_wall' => PERMS_SPECIFIC,
+ 'post_comments' => PERMS_SPECIFIC,
+ 'post_mail' => PERMS_SPECIFIC,
+ 'post_photos' => 0,
+ 'tag_deliver' => PERMS_SPECIFIC,
+ 'chat' => PERMS_SPECIFIC,
+ 'write_storage' => 0,
+ 'write_pages' => 0,
+ 'delegate' => 0,
+ );
+
+
+ $global_perms = get_perms();
+ $ret = array();
+
+ foreach($global_perms as $perm => $v) {
+ $x = get_config('default_perms',$perm);
+ if($x === false)
+ $x = $typical[$perm];
+ $ret[$perm] = $x;
+ }
+ return $ret;
+}
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php
new file mode 100644
index 000000000..38210ba26
--- /dev/null
+++ b/include/photo/photo_driver.php
@@ -0,0 +1,640 @@
+<?php /** @file */
+
+function photo_factory($data, $type = null) {
+ $ph = null;
+
+ if(class_exists('Imagick')) {
+ require_once('include/photo/photo_imagick.php');
+ $ph = new photo_imagick($data,$type);
+ }
+ else {
+ require_once('include/photo/photo_gd.php');
+ $ph = new photo_gd($data,$type);
+ }
+
+ return $ph;
+}
+
+
+
+
+abstract class photo_driver {
+
+ protected $image;
+ protected $width;
+ protected $height;
+ protected $valid;
+ protected $type;
+ protected $types;
+
+ abstract function supportedTypes();
+
+ abstract function load($data,$type);
+
+ abstract function destroy();
+
+ abstract function setDimensions();
+
+ abstract function getImage();
+
+ abstract function doScaleImage($new_width,$new_height);
+
+ abstract function rotate($degrees);
+
+ abstract function flip($horiz = true, $vert = false);
+
+ abstract function cropImage($max,$x,$y,$w,$h);
+
+ abstract function imageString();
+
+
+ public function __construct($data, $type='') {
+ $this->types = $this->supportedTypes();
+ if (! array_key_exists($type,$this->types)){
+ $type='image/jpeg';
+ }
+ $this->type = $type;
+ $this->valid = false;
+ $this->load($data,$type);
+ }
+
+ public function __destruct() {
+ if($this->is_valid())
+ $this->destroy();
+ }
+
+ public function is_valid() {
+ return $this->valid;
+ }
+
+ public function getWidth() {
+ if(!$this->is_valid())
+ return FALSE;
+ return $this->width;
+ }
+
+ public function getHeight() {
+ if(!$this->is_valid())
+ return FALSE;
+ return $this->height;
+ }
+
+
+ public function saveImage($path) {
+ if(!$this->is_valid())
+ return FALSE;
+ file_put_contents($path, $this->imageString());
+ }
+
+
+ public function getType() {
+ if(!$this->is_valid())
+ return FALSE;
+
+ return $this->type;
+ }
+
+ public function getExt() {
+ if(!$this->is_valid())
+ return FALSE;
+
+ return $this->types[$this->getType()];
+ }
+
+ public function scaleImage($max) {
+ if(!$this->is_valid())
+ return FALSE;
+
+ $width = $this->width;
+ $height = $this->height;
+
+ $dest_width = $dest_height = 0;
+
+ if((! $width)|| (! $height))
+ return FALSE;
+
+ if($width > $max && $height > $max) {
+
+ // very tall image (greater than 16:9)
+ // constrain the width - let the height float.
+
+ if((($height * 9) / 16) > $width) {
+ $dest_width = $max;
+ $dest_height = intval(( $height * $max ) / $width);
+ }
+
+ // else constrain both dimensions
+
+ elseif($width > $height) {
+ $dest_width = $max;
+ $dest_height = intval(( $height * $max ) / $width);
+ }
+ else {
+ $dest_width = intval(( $width * $max ) / $height);
+ $dest_height = $max;
+ }
+ }
+ else {
+ if( $width > $max ) {
+ $dest_width = $max;
+ $dest_height = intval(( $height * $max ) / $width);
+ }
+ else {
+ if( $height > $max ) {
+
+ // very tall image (greater than 16:9)
+ // but width is OK - don't do anything
+
+ if((($height * 9) / 16) > $width) {
+ $dest_width = $width;
+ $dest_height = $height;
+ }
+ else {
+ $dest_width = intval(( $width * $max ) / $height);
+ $dest_height = $max;
+ }
+ }
+ else {
+ $dest_width = $width;
+ $dest_height = $height;
+ }
+ }
+ }
+ $this->doScaleImage($dest_width,$dest_height);
+ }
+
+ public function scaleImageUp($min) {
+ if(!$this->is_valid())
+ return FALSE;
+
+
+ $width = $this->width;
+ $height = $this->height;
+
+ $dest_width = $dest_height = 0;
+
+ if((! $width)|| (! $height))
+ return FALSE;
+
+ if($width < $min && $height < $min) {
+ if($width > $height) {
+ $dest_width = $min;
+ $dest_height = intval(( $height * $min ) / $width);
+ }
+ else {
+ $dest_width = intval(( $width * $min ) / $height);
+ $dest_height = $min;
+ }
+ }
+ else {
+ if( $width < $min ) {
+ $dest_width = $min;
+ $dest_height = intval(( $height * $min ) / $width);
+ }
+ else {
+ if( $height < $min ) {
+ $dest_width = intval(( $width * $min ) / $height);
+ $dest_height = $min;
+ }
+ else {
+ $dest_width = $width;
+ $dest_height = $height;
+ }
+ }
+ }
+ $this->doScaleImage($dest_width,$dest_height);
+ }
+
+ public function scaleImageSquare($dim) {
+ if(!$this->is_valid())
+ return FALSE;
+ $this->doScaleImage($dim,$dim);
+ }
+
+
+
+
+ public function orient($filename) {
+
+ /**
+ * This function is a bit unusual, because it is operating on a file, but you must
+ * first create an image from that file to initialise the type and check validity
+ * of the image.
+ */
+
+ if(! $this->is_valid())
+ return FALSE;
+
+ if((! function_exists('exif_read_data')) || ($this->getType() !== 'image/jpeg'))
+ return;
+
+ $exif = @exif_read_data($filename);
+ if($exif) {
+ $ort = $exif['Orientation'];
+
+ switch($ort)
+ {
+ case 1: // nothing
+ break;
+
+ case 2: // horizontal flip
+ $this->flip();
+ break;
+
+ case 3: // 180 rotate left
+ $this->rotate(180);
+ break;
+
+ case 4: // vertical flip
+ $this->flip(false, true);
+ break;
+
+ case 5: // vertical flip + 90 rotate right
+ $this->flip(false, true);
+ $this->rotate(-90);
+ break;
+
+ case 6: // 90 rotate right
+ $this->rotate(-90);
+ break;
+
+ case 7: // horizontal flip + 90 rotate right
+ $this->flip();
+ $this->rotate(-90);
+ break;
+
+ case 8: // 90 rotate left
+ $this->rotate(90);
+ break;
+ }
+ }
+ }
+
+
+ public function save($arr) {
+
+ $p = array();
+
+ $p['aid'] = ((intval($arr['aid'])) ? intval($arr['aid']) : 0);
+ $p['uid'] = ((intval($arr['uid'])) ? intval($arr['uid']) : 0);
+ $p['xchan'] = (($arr['xchan']) ? $arr['xchan'] : '');
+ $p['resource_id'] = (($arr['resource_id']) ? $arr['resource_id'] : '');
+ $p['filename'] = (($arr['filename']) ? $arr['filename'] : '');
+ $p['album'] = (($arr['album']) ? $arr['album'] : '');
+ $p['scale'] = ((intval($arr['scale'])) ? intval($arr['scale']) : 0);
+ $p['photo_flags'] = ((intval($arr['photo_flags'])) ? intval($arr['photo_flags']) : 0);
+ $p['allow_cid'] = (($arr['allow_cid']) ? $arr['allow_cid'] : '');
+ $p['allow_gid'] = (($arr['allow_gid']) ? $arr['allow_gid'] : '');
+ $p['deny_cid'] = (($arr['deny_cid']) ? $arr['deny_cid'] : '');
+ $p['deny_gid'] = (($arr['deny_gid']) ? $arr['deny_gid'] : '');
+
+ // temporary until we get rid of photo['profile'] and just use photo['photo_flags']
+ // but this will require updating all existing photos in the DB.
+
+ $p['profile'] = (($p['photo_flags'] & PHOTO_PROFILE) ? 1 : 0);
+
+
+ $x = q("select id from photo where resource_id = '%s' and uid = %d and xchan = '%s' and `scale` = %d limit 1",
+ dbesc($p['resource_id']),
+ intval($p['uid']),
+ dbesc($p['xchan']),
+ intval($p['scale'])
+ );
+ if($x) {
+ $r = q("UPDATE `photo` set
+ `aid` = %d,
+ `uid` = %d,
+ `xchan` = '%s',
+ `resource_id` = '%s',
+ `created` = '%s',
+ `edited` = '%s',
+ `filename` = '%s',
+ `type` = '%s',
+ `album` = '%s',
+ `height` = %d,
+ `width` = %d,
+ `data` = '%s',
+ `size` = %d,
+ `scale` = %d,
+ `profile` = %d,
+ `photo_flags` = %d,
+ `allow_cid` = '%s',
+ `allow_gid` = '%s',
+ `deny_cid` = '%s',
+ `deny_gid` = '%s'
+ where id = %d limit 1",
+
+ intval($p['aid']),
+ intval($p['uid']),
+ dbesc($p['xchan']),
+ dbesc($p['resource_id']),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(basename($p['filename'])),
+ dbesc($this->getType()),
+ dbesc($p['album']),
+ intval($this->getHeight()),
+ intval($this->getWidth()),
+ dbesc($this->imageString()),
+ intval(strlen($this->imageString())),
+ intval($p['scale']),
+ intval($p['profile']),
+ intval($p['photo_flags']),
+ dbesc($p['allow_cid']),
+ dbesc($p['allow_gid']),
+ dbesc($p['deny_cid']),
+ dbesc($p['deny_gid']),
+ intval($x[0]['id'])
+ );
+ }
+ else {
+ $r = q("INSERT INTO `photo`
+ ( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `size`, `scale`, `profile`, `photo_flags`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s' )",
+ intval($p['aid']),
+ intval($p['uid']),
+ dbesc($p['xchan']),
+ dbesc($p['resource_id']),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(basename($filename)),
+ dbesc($this->getType()),
+ dbesc($p['album']),
+ intval($this->getHeight()),
+ intval($this->getWidth()),
+ dbesc($this->imageString()),
+ intval(strlen($this->imageString())),
+ intval($p['scale']),
+ intval($p['profile']),
+ intval($p['photo_flags']),
+ dbesc($p['allow_cid']),
+ dbesc($p['allow_gid']),
+ dbesc($p['deny_cid']),
+ dbesc($p['deny_gid'])
+ );
+ }
+ return $r;
+ }
+
+ public function store($aid, $uid, $xchan, $rid, $filename, $album, $scale, $profile = 0, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') {
+
+ $x = q("select id from photo where `resource_id` = '%s' and uid = %d and `xchan` = '%s' and `scale` = %d limit 1",
+ dbesc($rid),
+ intval($uid),
+ dbesc($xchan),
+ intval($scale)
+ );
+ if(count($x)) {
+ $r = q("UPDATE `photo`
+ set `aid` = %d,
+ `uid` = %d,
+ `xchan` = '%s',
+ `resource_id` = '%s',
+ `created` = '%s',
+ `edited` = '%s',
+ `filename` = '%s',
+ `type` = '%s',
+ `album` = '%s',
+ `height` = %d,
+ `width` = %d,
+ `data` = '%s',
+ `size` = %d,
+ `scale` = %d,
+ `profile` = %d,
+ `allow_cid` = '%s',
+ `allow_gid` = '%s',
+ `deny_cid` = '%s',
+ `deny_gid` = '%s'
+ where id = %d limit 1",
+
+ intval($aid),
+ intval($uid),
+ dbesc($xchan),
+ dbesc($rid),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(basename($filename)),
+ dbesc($this->getType()),
+ dbesc($album),
+ intval($this->getHeight()),
+ intval($this->getWidth()),
+ dbesc($this->imageString()),
+ intval(strlen($this->imageString())),
+ intval($scale),
+ intval($profile),
+ dbesc($allow_cid),
+ dbesc($allow_gid),
+ dbesc($deny_cid),
+ dbesc($deny_gid),
+ intval($x[0]['id'])
+ );
+ }
+ else {
+ $r = q("INSERT INTO `photo`
+ ( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `size`, `scale`, `profile`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s' )",
+ intval($aid),
+ intval($uid),
+ dbesc($xchan),
+ dbesc($rid),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(basename($filename)),
+ dbesc($this->getType()),
+ dbesc($album),
+ intval($this->getHeight()),
+ intval($this->getWidth()),
+ dbesc($this->imageString()),
+ intval(strlen($this->imageString())),
+ intval($scale),
+ intval($profile),
+ dbesc($allow_cid),
+ dbesc($allow_gid),
+ dbesc($deny_cid),
+ dbesc($deny_gid)
+ );
+ }
+ return $r;
+ }
+
+}
+
+
+
+
+
+
+
+
+/**
+ * Guess image mimetype from filename or from Content-Type header
+ *
+ * @arg $filename string Image filename
+ * @arg $fromcurl boolean Check Content-Type header from curl request
+ */
+
+function guess_image_type($filename, $fromcurl=false) {
+ logger('Photo: guess_image_type: '.$filename . ($fromcurl?' from curl headers':''), LOGGER_DEBUG);
+ $type = null;
+ if ($fromcurl) {
+ $a = get_app();
+ $headers=array();
+ $h = explode("\n",$a->get_curl_headers());
+ foreach ($h as $l) {
+ list($k,$v) = array_map("trim", explode(":", trim($l), 2));
+ $headers[$k] = $v;
+ }
+ if (array_key_exists('Content-Type', $headers))
+ $type = $headers['Content-Type'];
+ }
+ if (is_null($type)){
+// FIXME!!!!
+ // Guessing from extension? Isn't that... dangerous?
+ if(class_exists('Imagick') && file_exists($filename) && is_readable($filename)) {
+ /**
+ * 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
+ */
+ $image = new Imagick($filename);
+ $type = $image->getImageMimeType();
+ } else {
+ $ext = pathinfo($filename, PATHINFO_EXTENSION);
+ $ph = photo_factory('');
+ $types = $ph->supportedTypes();
+ $type = "image/jpeg";
+ foreach ($types as $m=>$e){
+ if ($ext==$e) $type = $m;
+ }
+ }
+ }
+ logger('Photo: guess_image_type: type='.$type, LOGGER_DEBUG);
+ return $type;
+
+}
+
+function import_profile_photo($photo,$xchan) {
+
+ $a = get_app();
+
+ 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 {
+ $hash = photo_new_resource();
+ }
+
+ $photo_failure = false;
+
+
+ $filename = basename($photo);
+ $type = guess_image_type($photo,true);
+ $result = z_fetch_url($photo,true);
+
+ if($result['success'])
+ $img_str = $result['body'];
+
+ $img = photo_factory($img_str, $type);
+ if($img->is_valid()) {
+
+ $img->scaleImageSquare(175);
+
+ $p = array('xchan' => $xchan,'resource_id' => $hash, 'filename' => 'Contact Photos', 'photo_flags' => PHOTO_XCHAN, 'scale' => 4);
+
+ $r = $img->save($p);
+
+ if($r === false)
+ $photo_failure = true;
+
+ $img->scaleImage(80);
+ $p['scale'] = 5;
+
+ $r = $img->save($p);
+
+ if($r === false)
+ $photo_failure = true;
+
+ $img->scaleImage(48);
+ $p['scale'] = 6;
+
+ $r = $img->save($p);
+
+ if($r === false)
+ $photo_failure = true;
+
+ $photo = $a->get_baseurl() . '/photo/' . $hash . '-4';
+ $thumb = $a->get_baseurl() . '/photo/' . $hash . '-5';
+ $micro = $a->get_baseurl() . '/photo/' . $hash . '-6';
+ }
+ else {
+ logger('import_profile_photo: invalid image from ' . $photo);
+ $photo_failure = true;
+ }
+ if($photo_failure) {
+ $photo = $a->get_baseurl() . '/images/person-175.jpg';
+ $thumb = $a->get_baseurl() . '/images/person-80.jpg';
+ $micro = $a->get_baseurl() . '/images/person-48.jpg';
+ $type = 'image/jpeg';
+ }
+
+ return(array($photo,$thumb,$micro,$type));
+
+}
+
+
+
+function import_channel_photo($photo,$type,$aid,$uid) {
+
+ $a = get_app();
+
+ logger('import_channel_photo: importing channel photo for ' . $uid, LOGGER_DEBUG);
+
+ $hash = photo_new_resource();
+
+ $photo_failure = false;
+
+
+ $filename = $hash;
+
+ $img = photo_factory($photo, $type);
+ if($img->is_valid()) {
+
+ $img->scaleImageSquare(175);
+
+ $p = array('aid' => $aid, 'uid' => $uid, 'resource_id' => $hash, 'filename' => $filename, 'album' => t('Profile Photos'), 'photo_flags' => PHOTO_PROFILE, 'scale' => 4);
+
+ $r = $img->save($p);
+
+ if($r === false)
+ $photo_failure = true;
+
+ $img->scaleImage(80);
+ $p['scale'] = 5;
+
+ $r = $img->save($p);
+
+ if($r === false)
+ $photo_failure = true;
+
+ $img->scaleImage(48);
+ $p['scale'] = 6;
+
+ $r = $img->save($p);
+
+ if($r === false)
+ $photo_failure = true;
+
+ }
+ else {
+ logger('import_channel_photo: invalid image.');
+ $photo_failure = true;
+ }
+
+ return(($photo_failure)? false : true);
+
+}
diff --git a/include/photo/photo_gd.php b/include/photo/photo_gd.php
new file mode 100644
index 000000000..466f8c23a
--- /dev/null
+++ b/include/photo/photo_gd.php
@@ -0,0 +1,140 @@
+<?php /** @file */
+
+
+require_once('include/photo/photo_driver.php');
+
+
+class photo_gd extends photo_driver {
+
+ function supportedTypes() {
+ $t = array();
+ $t['image/jpeg'] ='jpg';
+ if (imagetypes() & IMG_PNG) $t['image/png'] = 'png';
+
+ return $t;
+
+ }
+
+ function load($data, $type) {
+ $this->valid = false;
+ if(! $data)
+ return;
+
+ $this->image = @imagecreatefromstring($data);
+ if($this->image !== FALSE) {
+ $this->valid = true;
+ $this->setDimensions();
+ imagealphablending($this->image, false);
+ imagesavealpha($this->image, true);
+ }
+ }
+
+ function setDimensions() {
+ $this->width = imagesx($this->image);
+ $this->height = imagesy($this->image);
+ }
+
+
+ public function destroy() {
+ if($this->is_valid()) {
+ imagedestroy($this->image);
+ }
+ }
+
+ public function getImage() {
+ if(!$this->is_valid())
+ return FALSE;
+
+ return $this->image;
+ }
+
+ public function doScaleImage($dest_width,$dest_height) {
+
+ $dest = imagecreatetruecolor( $dest_width, $dest_height );
+ $width = imagesx($this->image);
+ $height = imagesy($this->image);
+
+ imagealphablending($dest, false);
+ imagesavealpha($dest, true);
+ if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
+ imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dest_width, $dest_height, $width, $height);
+ if($this->image)
+ imagedestroy($this->image);
+ $this->image = $dest;
+ $this->setDimensions();
+ }
+
+ public function rotate($degrees) {
+ if(!$this->is_valid())
+ return FALSE;
+
+ $this->image = imagerotate($this->image,$degrees,0);
+ $this->setDimensions();
+ }
+
+ public function flip($horiz = true, $vert = false) {
+ if(!$this->is_valid())
+ return FALSE;
+
+ $w = imagesx($this->image);
+ $h = imagesy($this->image);
+ $flipped = imagecreate($w, $h);
+ if($horiz) {
+ for ($x = 0; $x < $w; $x++) {
+ imagecopy($flipped, $this->image, $x, 0, $w - $x - 1, 0, 1, $h);
+ }
+ }
+ if($vert) {
+ for ($y = 0; $y < $h; $y++) {
+ imagecopy($flipped, $this->image, 0, $y, 0, $h - $y - 1, $w, 1);
+ }
+ }
+ $this->image = $flipped;
+ $this->setDimensions(); // Shouldn't really be necessary
+ }
+
+ public function cropImage($max,$x,$y,$w,$h) {
+ if(!$this->is_valid())
+ return FALSE;
+
+ $dest = imagecreatetruecolor( $max, $max );
+ imagealphablending($dest, false);
+ imagesavealpha($dest, true);
+ if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
+ imagecopyresampled($dest, $this->image, 0, 0, $x, $y, $max, $max, $w, $h);
+ if($this->image)
+ imagedestroy($this->image);
+ $this->image = $dest;
+ $this->setDimensions();
+ }
+
+ public function imageString() {
+ if(!$this->is_valid())
+ return FALSE;
+
+ $quality = FALSE;
+
+ ob_start();
+
+ switch($this->getType()){
+ case "image/png":
+ $quality = get_config('system','png_quality');
+ if((! $quality) || ($quality > 9))
+ $quality = PNG_QUALITY;
+ imagepng($this->image,NULL, $quality);
+ break;
+ case "image/jpeg":
+ default:
+ $quality = get_config('system','jpeg_quality');
+ if((! $quality) || ($quality > 100))
+ $quality = JPEG_QUALITY;
+ imagejpeg($this->image,NULL,$quality);
+ break;
+ }
+ $string = ob_get_contents();
+ ob_end_clean();
+
+ return $string;
+ }
+
+} \ No newline at end of file
diff --git a/include/photo/photo_imagick.php b/include/photo/photo_imagick.php
new file mode 100644
index 000000000..3f84fd06c
--- /dev/null
+++ b/include/photo/photo_imagick.php
@@ -0,0 +1,177 @@
+<?php /** @file */
+
+
+require_once('include/photo/photo_driver.php');
+
+
+class photo_imagick extends photo_driver {
+
+
+ function supportedTypes() {
+ return array(
+ 'image/jpeg' => 'jpg',
+ 'image/png' => 'png',
+ 'image/gif' => 'gif'
+ );
+ }
+
+ public function get_FormatsMap() {
+ return array(
+ 'image/jpeg' => 'JPG',
+ 'image/png' => 'PNG',
+ 'image/gif' => 'GIF'
+ );
+ }
+
+
+ function load($data, $type) {
+ $this->valid = false;
+ $this->image = new Imagick();
+
+ if(! $data)
+ return;
+
+ $this->image->readImageBlob($data);
+
+
+ /**
+ * Setup the image to the format it will be saved to
+ */
+
+ $map = $this->get_FormatsMap();
+ $format = $map[$type];
+
+ if($this->image) {
+ $this->image->setFormat($format);
+
+ // Always coalesce, if it is not a multi-frame image it won't hurt anyway
+ $this->image = $this->image->coalesceImages();
+
+
+ $this->valid = true;
+ $this->setDimensions();
+
+ /**
+ * setup the compression here, so we'll do it only once
+ */
+ switch($this->getType()) {
+ case "image/png":
+ $quality = get_config('system','png_quality');
+ if((! $quality) || ($quality > 9))
+ $quality = PNG_QUALITY;
+ /**
+ * From http://www.imagemagick.org/script/command-line-options.php#quality:
+ *
+ * 'For the MNG and PNG image formats, the quality value sets
+ * the zlib compression level (quality / 10) and filter-type (quality % 10).
+ * The default PNG "quality" is 75, which means compression level 7 with adaptive PNG filtering,
+ * unless the image has a color map, in which case it means compression level 7 with no PNG filtering'
+ */
+ $quality = $quality * 10;
+ $this->image->setCompressionQuality($quality);
+ break;
+ case "image/jpeg":
+ $quality = get_config('system','jpeg_quality');
+ if((! $quality) || ($quality > 100))
+ $quality = JPEG_QUALITY;
+ $this->image->setCompressionQuality($quality);
+ default:
+ break;
+
+ }
+ }
+ }
+
+ public function destroy() {
+ if($this->is_valid()) {
+ $this->image->clear();
+ $this->image->destroy();
+ }
+ }
+
+
+ public function setDimensions() {
+ $this->width = $this->image->getImageWidth();
+ $this->height = $this->image->getImageHeight();
+ }
+
+
+ public function getImage() {
+ if(!$this->is_valid())
+ return FALSE;
+
+ $this->image = $this->image->deconstructImages();
+ return $this->image;
+ }
+
+ public function doScaleImage($dest_width,$dest_height) {
+
+ /**
+ * If it is not animated, there will be only one iteration here,
+ * so don't bother checking
+ */
+ // Don't forget to go back to the first frame
+ $this->image->setFirstIterator();
+ do {
+ $this->image->scaleImage($dest_width, $dest_height);
+ } while ($this->image->nextImage());
+
+ $this->setDimensions();
+ }
+
+ public function rotate($degrees) {
+ if(!$this->is_valid())
+ return FALSE;
+
+ $this->image->setFirstIterator();
+ do {
+ // ImageMagick rotates in the opposite direction of imagerotate()
+ $this->image->rotateImage(new ImagickPixel(), -$degrees);
+ } while ($this->image->nextImage());
+
+ $this->setDimensions();
+ }
+
+ public function flip($horiz = true, $vert = false) {
+ if(!$this->is_valid())
+ return FALSE;
+
+ $this->image->setFirstIterator();
+ do {
+ if($horiz) $this->image->flipImage();
+ if($vert) $this->image->flopImage();
+ } while ($this->image->nextImage());
+
+ $this->setDimensions(); // Shouldn't really be necessary
+ }
+
+ public function cropImage($max,$x,$y,$w,$h) {
+ if(!$this->is_valid())
+ return FALSE;
+
+ $this->image->setFirstIterator();
+ do {
+ $this->image->cropImage($w, $h, $x, $y);
+ /**
+ * We need to remove the canvas,
+ * or the image is not resized to the crop:
+ * http://php.net/manual/en/imagick.cropimage.php#97232
+ */
+ $this->image->setImagePage(0, 0, 0, 0);
+ } while ($this->image->nextImage());
+
+ $this->doScaleImage($max,$max);
+ }
+
+ public function imageString() {
+ if(!$this->is_valid())
+ return FALSE;
+
+ /* Clean it */
+ $this->image = $this->image->deconstructImages();
+ return $this->image->getImagesBlob();
+ }
+
+
+
+} \ No newline at end of file
diff --git a/include/photos.php b/include/photos.php
index 885d2f958..ea4b494e0 100644
--- a/include/photos.php
+++ b/include/photos.php
@@ -1,7 +1,9 @@
-<?php
+<?php /** @file */
require_once('include/permissions.php');
require_once('include/items.php');
+require_once('include/photo/photo_driver.php');
+
function photo_upload($channel, $observer, $args) {
@@ -116,13 +118,13 @@ function photo_upload($channel, $observer, $args) {
}
- $ph = new Photo($imagedata, $type);
+ $ph = photo_factory($imagedata, $type);
if(! $ph->is_valid()) {
$ret['message'] = t('Unable to process image');
logger('photo_upload: unable to process image');
@unlink($src);
- call_hooks('photo_post_end',$ret);
+ call_hooks('photo_upload_end',$ret);
return $ret;
}
@@ -148,13 +150,20 @@ function photo_upload($channel, $observer, $args) {
$errors = false;
- $r1 = $ph->store($account_id, $channel_id, $visitor, $photo_hash, $filename, $album, 0 , 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
+ $p = array('aid' => $account_id, 'uid' => $channel_id, 'xchan' => $visitor, 'resource_id' => $photo_hash,
+ 'filename' => $filename, 'album' => $album, 'scale' => 0, 'photo_flags' => PHOTO_NORMAL,
+ 'allow_cid' => $str_contact_allow, 'allow_gid' => $str_group_allow,
+ 'deny_cid' => $str_contact_deny, 'deny_gid' => $str_group_deny
+ );
+
+ $r1 = $ph->save($p);
if(! $r1)
$errors = true;
if(($width > 640 || $height > 640) && (! $errors)) {
$ph->scaleImage(640);
- $r2 = $ph->store($account_id, $channel_id, $visitor, $photo_hash, $filename, $album, 1, 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
+ $p['scale'] = 1;
+ $r2 = $ph->save($p);
$smallest = 1;
if(! $r2)
$errors = true;
@@ -162,7 +171,8 @@ function photo_upload($channel, $observer, $args) {
if(($width > 320 || $height > 320) && (! $errors)) {
$ph->scaleImage(320);
- $r3 = $ph->store($account_id, $channel_id, $visitor, $photo_hash, $filename, $album, 2, 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
+ $p['scale'] = 2;
+ $r3 = $ph->save($p);
$smallest = 2;
if(! $r3)
$errors = true;
@@ -175,26 +185,26 @@ function photo_upload($channel, $observer, $args) {
);
$ret['message'] = t('Photo storage failed.');
logger('photo_upload: photo store failed.');
- call_hooks('photo_post_end',$ret);
+ call_hooks('photo_upload_end',$ret);
return $ret;
}
$basename = basename($filename);
- $uri = item_message_id();
+ $mid = item_message_id();
// Create item container
$item_flags = ITEM_WALL|ITEM_ORIGIN|ITEM_THREAD_TOP;
$item_restrict = (($visible) ? ITEM_VISIBLE : ITEM_HIDDEN);
$title = '';
- $uri = item_message_id();
+ $mid = item_message_id();
$arr = array();
$arr['aid'] = $account_id;
$arr['uid'] = $channel_id;
- $arr['uri'] = $uri;
- $arr['parent_uri'] = $uri;
+ $arr['mid'] = $mid;
+ $arr['parent_mid'] = $mid;
$arr['item_flags'] = $item_flags;
$arr['item_restrict'] = $item_restrict;
$arr['resource_type'] = 'photo';
@@ -206,13 +216,14 @@ function photo_upload($channel, $observer, $args) {
$arr['allow_gid'] = $str_group_allow;
$arr['deny_cid'] = $str_contact_deny;
$arr['deny_gid'] = $str_group_deny;
+ $arr['verb'] = ACTIVITY_POST;
-
- $arr['body'] = '[url=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']'
- . '[img]' . z_root() . "/photo/{$photo_hash}-{$smallest}.".$ph->getExt() . '[/img]'
- . '[/url]';
+ $arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']'
+ . '[zmg]' . z_root() . "/photo/{$photo_hash}-{$smallest}.".$ph->getExt() . '[/zmg]'
+ . '[/zrl]';
- $item_id = item_store($arr);
+ $result = item_store($arr);
+ $item_id = $result['item_id'];
if($visible)
proc_run('php', "include/notifier.php", 'wall-new', $item_id);
@@ -222,7 +233,7 @@ function photo_upload($channel, $observer, $args) {
$ret['resource_id'] = $photo_hash;
$ret['photoitem_id'] = $item_id;
- call_hooks('photo_post_end',$ret);
+ call_hooks('photo_upload_end',$ret);
return $ret;
}
@@ -242,19 +253,25 @@ function photos_albums_list($channel,$observer) {
$sql_extra = permissions_sql($channel_id);
- $albums = q("SELECT distinct album from photo where uid = %d $sql_extra order by created desc",
- intval($channel_id)
+ $albums = q("SELECT distinct album from photo where uid = %d and ( photo_flags = %d or photo_flags = %d ) $sql_extra order by created desc",
+ intval($channel_id),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE)
+
);
// add various encodings to the array so we can just loop through and pick them out in a template
+ $ret = array('success' => false);
+
if($albums) {
+ $ret['success'] = true;
foreach($albums as $k => $album) {
- $albums[$k]['urlencode'] = urlencode($album['album']);
- $albums[$k]['bin2hex'] = bin2hex($album['album']);
+ $entry = array('text' => $album['album'], 'urlencode' => urlencode($album['album']),'bin2hex' => bin2hex($album['album']));
+ $ret[] = $entry;
}
}
- return $albums;
+ return $ret;
}
@@ -278,6 +295,38 @@ function photos_album_widget($channelx,$observer,$albums = null) {
return $o;
}
+
+function photos_list_photos($channel,$observer,$album = '') {
+
+ $channel_id = $channel['channel_id'];
+ $observer_xchan = (($observer) ? $observer['xchan_hash'] : '');
+
+ if(! perm_is_allowed($channel_id,$observer_xchan,'view_photos'))
+ return false;
+
+ $sql_extra = permissions_sql($channel_id);
+
+ if($album)
+ $sql_extra .= " and album = '" . protect_sprintf(dbesc($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 ",
+ intval($channel_id),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE)
+ );
+
+ if($r) {
+ $ret['success'] = true;
+ $ret['photos'] = $r;
+ }
+
+ return $ret;
+}
+
+
+
function photos_album_exists($channel_id,$album) {
$r = q("SELECT id from photo where album = '%s' and uid = %d limit 1",
dbesc($album),
@@ -330,14 +379,14 @@ function photos_create_item($channel, $creator_hash, $photo, $visible = false) {
$item_restrict = (($visible) ? ITEM_HIDDEN : ITEM_VISIBLE);
$title = '';
- $uri = item_message_id();
+ $mid = item_message_id();
$arr = array();
$arr['aid'] = $channel['channel_account_id'];
$arr['uid'] = $channel['channel_id'];
- $arr['uri'] = $uri;
- $arr['parent_uri'] = $uri;
+ $arr['mid'] = $mid;
+ $arr['parent_mid'] = $mid;
$arr['item_flags'] = $item_flags;
$arr['item_restrict'] = $item_restrict;
$arr['resource_type'] = 'photo';
@@ -350,11 +399,12 @@ function photos_create_item($channel, $creator_hash, $photo, $visible = false) {
$arr['deny_cid'] = $photo['deny_cid'];
$arr['deny_gid'] = $photo['deny_gid'];
- $arr['body'] = '[url=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo['resource_id'] . ']'
- . '[img]' . z_root() . '/photo/' . $photo['resource_id'] . '-' . $photo['scale'] . '[/img]'
- . '[/url]';
+ $arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo['resource_id'] . ']'
+ . '[zmg]' . z_root() . '/photo/' . $photo['resource_id'] . '-' . $photo['scale'] . '[/zmg]'
+ . '[/zrl]';
- $item_id = item_store($arr);
+ $result = item_store($arr);
+ $item_id = $result['item_id'];
return $item_id;
} \ No newline at end of file
diff --git a/include/plugin.php b/include/plugin.php
index 6660fba59..ea88a61df 100644..100755
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -1,26 +1,43 @@
-<?php
+<?php /** @file */
require_once("include/friendica_smarty.php");
// install and uninstall plugin
-if (! function_exists('uninstall_plugin')){
-function uninstall_plugin($plugin){
- logger("Addons: uninstalling " . $plugin, LOGGER_DEBUG);
- q("DELETE FROM `addon` WHERE `name` = '%s' ",
- dbesc($plugin)
- );
+
+function unload_plugin($plugin){
+ logger("Addons: unloading " . $plugin, LOGGER_DEBUG);
@include_once('addon/' . $plugin . '/' . $plugin . '.php');
+ if(function_exists($plugin . '_unload')) {
+ $func = $plugin . '_unload';
+ $func();
+ }
+}
+
+
+
+function uninstall_plugin($plugin) {
+
+ unload_plugin($plugin);
+
+ if(! file_exists('addon/' . $plugin . '/' . $plugin . '.php'))
+ return false;
+
+ logger("Addons: uninstalling " . $plugin);
+ $t = @filemtime('addon/' . $plugin . '/' . $plugin . '.php');
+ @include_once('addon/' . $plugin . '/' . $plugin . '.php');
if(function_exists($plugin . '_uninstall')) {
$func = $plugin . '_uninstall';
$func();
}
-}}
-if (! function_exists('install_plugin')){
-function install_plugin($plugin) {
- // silently fail if plugin was removed
+ q("DELETE FROM `addon` WHERE `name` = '%s' ",
+ dbesc($plugin)
+ );
+
+}
+function install_plugin($plugin) {
if(! file_exists('addon/' . $plugin . '/' . $plugin . '.php'))
return false;
@@ -30,14 +47,34 @@ function install_plugin($plugin) {
if(function_exists($plugin . '_install')) {
$func = $plugin . '_install';
$func();
+ }
+
+ $plugin_admin = (function_exists($plugin . "_plugin_admin") ? 1 : 0);
- $plugin_admin = (function_exists($plugin . "_plugin_admin") ? 1 : 0);
+ $r = q("INSERT INTO `addon` (`name`, `installed`, `timestamp`, `plugin_admin`) VALUES ( '%s', 1, %d , %d ) ",
+ dbesc($plugin),
+ intval($t),
+ $plugin_admin
+ );
+
+ load_plugin($plugin);
+
+}
+
+
+function load_plugin($plugin) {
+ // silently fail if plugin was removed
+
+ if(! file_exists('addon/' . $plugin . '/' . $plugin . '.php'))
+ return false;
+
+ logger("Addons: loading " . $plugin);
+ $t = @filemtime('addon/' . $plugin . '/' . $plugin . '.php');
+ @include_once('addon/' . $plugin . '/' . $plugin . '.php');
+ if(function_exists($plugin . '_load')) {
+ $func = $plugin . '_load';
+ $func();
- $r = q("INSERT INTO `addon` (`name`, `installed`, `timestamp`, `plugin_admin`) VALUES ( '%s', 1, %d , %d ) ",
- dbesc($plugin),
- intval($t),
- $plugin_admin
- );
// we can add the following with the previous SQL
// once most site tables have been updated.
@@ -51,15 +88,14 @@ function install_plugin($plugin) {
return true;
}
else {
- logger("Addons: FAILED installing " . $plugin);
+ logger("Addons: FAILED loading " . $plugin);
return false;
}
-}}
+}
// reload all updated plugins
-if(! function_exists('reload_plugins')) {
function reload_plugins() {
$plugins = get_config('system','addon');
if(strlen($plugins)) {
@@ -86,12 +122,12 @@ function reload_plugins() {
logger('Reloading plugin: ' . $i['name']);
@include_once($fname);
- if(function_exists($pl . '_uninstall')) {
- $func = $pl . '_uninstall';
+ if(function_exists($pl . '_unload')) {
+ $func = $pl . '_unload';
$func();
}
- if(function_exists($pl . '_install')) {
- $func = $pl . '_install';
+ if(function_exists($pl . '_load')) {
+ $func = $pl . '_load';
$func();
}
q("UPDATE `addon` SET `timestamp` = %d WHERE `id` = %d LIMIT 1",
@@ -104,14 +140,13 @@ function reload_plugins() {
}
}
}
-
-}}
+}
-if(! function_exists('register_hook')) {
+
function register_hook($hook,$file,$function,$priority=0) {
$r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1",
@@ -129,18 +164,18 @@ function register_hook($hook,$file,$function,$priority=0) {
dbesc($priority)
);
return $r;
-}}
+}
+
-if(! function_exists('unregister_hook')) {
function unregister_hook($hook,$file,$function) {
- $r = q("DELETE FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1",
+ $r = q("DELETE FROM hook WHERE hook = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1",
dbesc($hook),
dbesc($file),
dbesc($function)
);
return $r;
-}}
+}
//
@@ -148,22 +183,22 @@ function unregister_hook($hook,$file,$function) {
// array in their theme_init() and use this to customise the app behaviour.
//
-if(! function_exists('load_hooks')) {
+
function load_hooks() {
$a = get_app();
$a->hooks = array();
- $r = q("SELECT * FROM `hook` WHERE 1 ORDER BY `priority` DESC");
- if(count($r)) {
+ $r = q("SELECT * FROM hook WHERE true ORDER BY priority DESC");
+ if($r) {
foreach($r as $rr) {
if(! array_key_exists($rr['hook'],$a->hooks))
$a->hooks[$rr['hook']] = array();
$a->hooks[$rr['hook']][] = array($rr['file'],$rr['function']);
}
}
-}}
+}
+
-if(! function_exists('call_hooks')) {
function call_hooks($name, &$data = null) {
$a = get_app();
@@ -185,7 +220,7 @@ function call_hooks($name, &$data = null) {
}
}
-}}
+}
/*
@@ -201,7 +236,7 @@ function call_hooks($name, &$data = null) {
* *
*/
-if (! function_exists('get_plugin_info')){
+
function get_plugin_info($plugin){
$info=Array(
'name' => $plugin,
@@ -241,7 +276,7 @@ function get_plugin_info($plugin){
}
return $info;
-}}
+}
/*
@@ -257,7 +292,7 @@ function get_plugin_info($plugin){
* *
*/
-if (! function_exists('get_theme_info')){
+
function get_theme_info($theme){
$info=Array(
'name' => $theme,
@@ -316,7 +351,7 @@ function get_theme_info($theme){
}
return $info;
-}}
+}
function get_theme_screenshot($theme) {
@@ -339,12 +374,14 @@ function get_theme_screenshot($theme) {
function service_class_allows($uid,$property,$usage = false) {
-
+ $a = get_app();
if($uid == local_user()) {
- $service_class = $a->user['service_class'];
+ $service_class = $a->account['account_service_class'];
}
else {
- $r = q("select service_class from user where uid = %d limit 1",
+ $r = q("select account_service_class as service_class
+ from channel c, account a
+ where c.channel_account_id=a.account_id and c.channel_id= %d limit 1",
intval($uid)
);
if($r !== false and count($r)) {
@@ -369,13 +406,15 @@ function service_class_allows($uid,$property,$usage = false) {
function service_class_fetch($uid,$property) {
-
+ $a = get_app();
if($uid == local_user()) {
- $service_class = $a->user['service_class'];
+ $service_class = $a->account['account_service_class'];
}
else {
- $r = q("select service_class from user where uid = %d limit 1",
- intval($uid)
+ $r = q("select account_service_class as service_class
+ from channel c, account a
+ where c.channel_account_id=a.account_id and c.channel_id= %d limit 1",
+ intval($uid)
);
if($r !== false and count($r)) {
$service_class = $r[0]['service_class'];
@@ -385,6 +424,7 @@ function service_class_fetch($uid,$property) {
return false; // everything is allowed
$arr = get_config('service_class',$service_class);
+
if(! is_array($arr) || (! count($arr)))
return false;
@@ -397,7 +437,7 @@ function upgrade_link($bbcode = false) {
if(! $l)
return '';
if($bbcode)
- $t = sprintf('[url=%s]' . t('Click here to upgrade.') . '[/url]', $l);
+ $t = sprintf('[zrl=%s]' . t('Click here to upgrade.') . '[/zrl]', $l);
else
$t = sprintf('<a href="%s">' . t('Click here to upgrade.') . '</div>', $l);
return $t;
@@ -503,55 +543,21 @@ function theme_include($file, $root = '') {
-if(! function_exists('get_intltext_template')) {
-function get_intltext_template($s) {
- global $a;
- if(! isset($a->language))
- $a->language = 'en';
-
- $engine = '';
- if($a->get_template_engine() === 'smarty3')
- $engine = "/smarty3";
+function get_intltext_template($s, $root = '') {
+ $a = get_app();
+ $t = $a->template_engine();
- $file = '';
- if(file_exists("view/{$a->language}$engine/$s"))
- $file = "view/{$a->language}$engine/$s";
- elseif(file_exists("view/en$engine/$s"))
- $file = "view/en$engine/$s";
- else
- $file = "view/tpl/$engine/$s";
- if($engine === '/smarty3') {
- $template = new FriendicaSmarty();
- $template->filename = $file;
+ $template = $t->get_intltext_template($s, $root);
+ return $template;
- return $template;
- }
- else
- return file_get_contents($file);
+}
-}}
-if(! function_exists('get_markup_template')) {
function get_markup_template($s, $root = '') {
-
$a = get_app();
-
- $template_eng = $a->get_template_engine();
- if($template_eng === 'internal') {
- $template_file = theme_include($s, $root);
- if($template_file)
- return file_get_contents($template_file);
- }
- else {
- $template_file = theme_include("$template_eng/$s", $root);
-
- if($template_file) {
- $template = new FriendicaSmarty();
- $template->filename = $template_file;
-
- return $template;
- }
- }
-}}
+ $t = $a->template_engine();
+ $template = $t->get_markup_template($s, $root);
+ return $template;
+}
diff --git a/include/poller.php b/include/poller.php
index ef4b93fe7..f084005c7 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('boot.php');
require_once('include/cli_startup.php');
@@ -30,14 +30,32 @@ function poller_run($argv, $argc){
// expire any expired accounts
q("UPDATE account
- SET account_flags = account_flags | %d
- where not account_flags & %d
+ SET account_flags = (account_flags | %d)
+ where not (account_flags & %d)
and account_expires != '0000-00-00 00:00:00'
and account_expires < UTC_TIMESTAMP() ",
intval(ACCOUNT_EXPIRED),
intval(ACCOUNT_EXPIRED)
);
+ // publish any applicable items that were set to be published in the future
+ // (time travel posts)
+
+ $r = q("select id from item where ( item_restrict & %d ) and created <= UTC_TIMESTAMP() ",
+ intval(ITEM_DELAYED_PUBLISH)
+ );
+ if($r) {
+ foreach($r as $rr) {
+ $x = q("update item set item_restrict = ( item_restrict ^ %d ) where id = %d limit 1",
+ intval(ITEM_DELAYED_PUBLISH),
+ intval($rr['id'])
+ );
+ if($x) {
+ proc_run('php','include/notifer.php','wall-new',$rr['id']);
+ }
+ }
+ }
+
$abandon_days = intval(get_config('system','account_abandon_days'));
if($abandon_days < 1)
$abandon_days = 0;
@@ -45,15 +63,52 @@ function poller_run($argv, $argc){
// once daily run birthday_updates and then expire in background
+ // FIXME: add birthday updates, both locally and for xprof for use
+ // by directory servers
+
$d1 = get_config('system','last_expire_day');
$d2 = intval(datetime_convert('UTC','UTC','now','d'));
if($d2 != intval($d1)) {
-// update_suggestions();
+ // If this is a directory server, request a sync with an upstream
+ // directory at least once a day, up to once every poll interval.
+ // Pull remote changes and push local changes.
+ // potential issue: how do we keep from creating an endless update loop?
+
+ $dirmode = get_config('system','directory_mode');
+ if($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) {
+ require_once('include/dir_fns.php');
+ sync_directories($dirmode);
+ }
+
set_config('system','last_expire_day',$d2);
- proc_run('php','include/expire.php');
+// Uncomment when expire protocol component is working
+// proc_run('php','include/expire.php');
+
+ proc_run('php','include/cli_suggest.php');
+
+ }
+
+ // update any photos which didn't get imported properly
+ // This should be rare
+
+ $r = q("select xchan_photo_l, xchan_hash from xchan where xchan_photo_l != '' and xchan_photo_m = ''
+ and xchan_photo_date < UTC_TIMESTAMP() - INTERVAL 1 DAY");
+ if($r) {
+ require_once('include/photo/photo_driver.php');
+ foreach($r as $rr) {
+ $photos = import_profile_photo($rr['xchan_photo_l'],$rr['xchan_hash']);
+ $x = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
+ where xchan_hash = '%s' limit 1",
+ dbesc($photos[0]),
+ dbesc($photos[1]),
+ dbesc($photos[2]),
+ dbesc($photos[3]),
+ dbesc($rr['xchan_hash'])
+ );
+ }
}
@@ -63,18 +118,18 @@ function poller_run($argv, $argc){
$force = false;
$restart = false;
- if((argc() > 1) && (argv(1) == 'force'))
+ if(($argc > 1) && ($argv[1] == 'force'))
$force = true;
- if((argc() > 1) && (argv(1) == 'restart')) {
+ if(($argc > 1) && ($argv[1] == 'restart')) {
$restart = true;
- $generation = intval(argv(2));
+ $generation = intval($argv[2]);
if(! $generation)
killme();
}
- if((argc() > 1) && intval(argv(1))) {
- $manual_id = intval(argv(1));
+ if(($argc > 1) && intval($argv[1])) {
+ $manual_id = intval($argv[1]);
$force = true;
}
@@ -102,7 +157,8 @@ function poller_run($argv, $argc){
: ''
);
- $contacts = q("SELECT abook_id, abook_updated, abook_closeness, abook_channel
+
+ $contacts = q("SELECT abook_id, abook_flags, abook_updated, abook_connected, abook_closeness, abook_channel
FROM abook LEFT JOIN account on abook_account = account_id where 1
$sql_extra
AND (( abook_flags = %d ) OR ( abook_flags = %d ))
@@ -134,10 +190,10 @@ function poller_run($argv, $argc){
else {
// if we've never connected with them, start the mark for death countdown from now
- if($c === '0000-00-00 00:00:00') {
+ if($c == '0000-00-00 00:00:00') {
$r = q("update abook set abook_connected = '%s' where abook_id = %d limit 1",
dbesc(datetime_convert()),
- intval($abook['abook_id'])
+ intval($contact['abook_id'])
);
$c = datetime_convert();
$update = true;
@@ -145,8 +201,8 @@ function poller_run($argv, $argc){
// He's dead, Jim
- if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $c . " + 30 day")) {
- $r = q("update abook set abook_flags = (abook_flags & %d) where abook_id = %d limit 1",
+ if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 30 day")) > 0) {
+ $r = q("update abook set abook_flags = (abook_flags | %d) where abook_id = %d limit 1",
intval(ABOOK_FLAG_ARCHIVED),
intval($contact['abook_id'])
);
@@ -154,19 +210,26 @@ function poller_run($argv, $argc){
continue;
}
+ if($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) {
+ $update = false;
+ continue;
+ }
+
// might be dead, so maybe don't poll quite so often
// recently deceased, so keep up the regular schedule for 3 days
- if((datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $c . " + 3 day"))
- && (datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day")))
+ if((strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 3 day")) > 0)
+ && (strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $t . " + 1 day")) > 0))
$update = true;
// After that back off and put them on a morphine drip
- if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 2 day")) {
+ if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $t . " + 2 day")) > 0) {
$update = true;
}
+
+
}
if((! $update) && (! $force))
diff --git a/include/profile_advanced.php b/include/profile_advanced.php
index 749c79a3b..21606185d 100644
--- a/include/profile_advanced.php
+++ b/include/profile_advanced.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function advanced_profile(&$a) {
@@ -80,9 +80,44 @@ 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;
+
+ 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);
+
return replace_macros($tpl, array(
'$title' => t('Profile'),
'$profile' => $profile,
+ '$things' => $sorted_things
));
}
diff --git a/include/profile_selectors.php b/include/profile_selectors.php
index 8d29fd099..1ffcd49be 100644
--- a/include/profile_selectors.php
+++ b/include/profile_selectors.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function gender_selector($current="",$suffix="") {
diff --git a/include/queue.php b/include/queue.php
index c74a08ac9..ec7246cb2 100644
--- a/include/queue.php
+++ b/include/queue.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once("boot.php");
require_once('include/cli_startup.php');
require_once('include/queue_fn.php');
@@ -40,14 +40,14 @@ function queue_run($argv, $argc){
return;
foreach($r as $rr) {
- if(in_array($rr['outq_hub'],$deadguys))
+ if(in_array($rr['outq_posturl'],$deadguys))
continue;
$result = zot_zot($rr['outq_posturl'],$rr['outq_notify']);
if($result['success']) {
zot_process_response($rr['outq_posturl'],$result, $rr);
}
else {
- $deadguys[] = $rr['outq_hub'];
+ $deadguys[] = $rr['outq_posturl'];
$y = q("update outq set outq_updated = '%s' where outq_hash = '%s' limit 1",
dbesc(datetime_convert()),
dbesc($rr['outq_hash'])
diff --git a/include/queue_fn.php b/include/queue_fn.php
index c9782b939..512edb531 100644
--- a/include/queue_fn.php
+++ b/include/queue_fn.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function update_queue_time($id) {
logger('queue: requeue item ' . $id);
diff --git a/include/security.php b/include/security.php
index e691939fb..4738e473b 100644
--- a/include/security.php
+++ b/include/security.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function authenticate_success($user_record, $login_initial = false, $interactive = false,$return = false,$update_lastlog = false) {
@@ -34,6 +34,7 @@ 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'];
@@ -148,6 +149,7 @@ function change_channel($change_channel) {
$_SESSION['uid'] = intval($r[0]['channel_id']);
get_app()->set_channel($r[0]);
$_SESSION['theme'] = $r[0]['channel_theme'];
+ $_SESSION['mobile_theme'] = get_pconfig(local_user(),'system', 'mobile_theme');
date_default_timezone_set($r[0]['channel_timezone']);
$ret = $r[0];
}
@@ -205,26 +207,29 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
else {
- $observer = get_app()->get_observer();
- $groups = init_groups_visitor($remote_user);
-
- $gs = '<<>>'; // should be impossible to match
-
- if(is_array($groups) && count($groups)) {
- foreach($groups as $g)
- $gs .= '|<' . $g . '>';
- }
- $sql = sprintf(
- " AND ( NOT (deny_cid like '%s' OR deny_gid REGEXP '%s')
- AND ( allow_cid like '%s' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '') )
- )
- ",
- dbesc(protect_sprintf( '%<' . $remote_user . '>%')),
- dbesc($gs),
- dbesc(protect_sprintf( '%<' . $remote_user . '>%')),
- dbesc($gs)
- );
+ $observer = get_observer_hash();
+ if($observer) {
+ $groups = init_groups_visitor($observer);
+
+ $gs = '<<>>'; // should be impossible to match
+
+ if(is_array($groups) && count($groups)) {
+ foreach($groups as $g)
+ $gs .= '|<' . $g . '>';
+ }
+ $sql = sprintf(
+ " AND ( NOT (deny_cid like '%s' OR deny_gid REGEXP '%s')
+ AND ( allow_cid like '%s' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '') )
+ )
+ ",
+ dbesc(protect_sprintf( '%<' . $observer . '>%')),
+ dbesc($gs),
+ dbesc(protect_sprintf( '%<' . $observer . '>%')),
+ dbesc($gs)
+ );
+ }
}
+
return $sql;
}
@@ -260,25 +265,28 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null)
else {
- $observer = get_app()->get_observer();
- $groups = init_groups_visitor($remote_user);
-
- $gs = '<<>>'; // should be impossible to match
-
- if(is_array($groups) && count($groups)) {
- foreach($groups as $g)
- $gs .= '|<' . $g . '>';
- }
- $sql = sprintf(
- " AND ( NOT (deny_cid like '%s' OR deny_gid REGEXP '%s')
- AND ( allow_cid like '%s' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '') )
- )
- ",
- dbesc(protect_sprintf( '%<' . $remote_user . '>%')),
- dbesc($gs),
- dbesc(protect_sprintf( '%<' . $remote_user . '>%')),
- dbesc($gs)
- );
+ $observer = get_observer_hash();
+
+ if($observer) {
+ $groups = init_groups_visitor($observer);
+
+ $gs = '<<>>'; // should be impossible to match
+
+ if(is_array($groups) && count($groups)) {
+ foreach($groups as $g)
+ $gs .= '|<' . $g . '>';
+ }
+ $sql = sprintf(
+ " AND ( NOT (deny_cid like '%s' OR deny_gid REGEXP '%s')
+ AND ( allow_cid like '%s' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '') )
+ )
+ ",
+ dbesc(protect_sprintf( '%<' . $observer . '>%')),
+ dbesc($gs),
+ dbesc(protect_sprintf( '%<' . $observer . '>%')),
+ dbesc($gs)
+ );
+ }
}
return $sql;
}
diff --git a/include/session.php b/include/session.php
index 6c32e299f..6072bdb33 100644
--- a/include/session.php
+++ b/include/session.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
// Session management functions. These provide database storage of PHP
// session info.
@@ -6,12 +6,23 @@
$session_exists = 0;
$session_expire = 180000;
-if(! function_exists('ref_session_open')) {
+
+
+
+function new_cookie($time) {
+ $old_sid = session_id();
+ session_set_cookie_params("$time");
+ session_regenerate_id(false);
+
+ q("UPDATE session SET sid = '%s' WHERE sid = '%s'", dbesc(session_id()), dbesc($old_sid));
+}
+
+
function ref_session_open ($s,$n) {
return true;
-}}
+}
+
-if(! function_exists('ref_session_read')) {
function ref_session_read ($id) {
global $session_exists;
if(x($id))
@@ -21,9 +32,9 @@ function ref_session_read ($id) {
return $r[0]['data'];
}
return '';
-}}
+}
+
-if(! function_exists('ref_session_write')) {
function ref_session_write ($id,$data) {
global $session_exists, $session_expire;
if(! $id || ! $data) {
@@ -44,25 +55,25 @@ function ref_session_write ($id,$data) {
dbesc($id), dbesc($default_expire), dbesc($data));
return true;
-}}
+}
+
-if(! function_exists('ref_session_close')) {
function ref_session_close() {
return true;
-}}
+}
+
-if(! function_exists('ref_session_destroy')) {
function ref_session_destroy ($id) {
q("DELETE FROM `session` WHERE `sid` = '%s'", dbesc($id));
return true;
-}}
+}
+
-if(! function_exists('ref_session_gc')) {
function ref_session_gc($expire) {
- q("DELETE FROM `session` WHERE `expire` < %d", dbesc(time()));
- q("OPTIMIZE TABLE `sess_data`");
+ q("DELETE FROM session WHERE expire < %d", dbesc(time()));
+ q("OPTIMIZE TABLE session");
return true;
-}}
+}
$gc_probability = 50;
@@ -71,6 +82,4 @@ ini_set('session.use_only_cookies', 1);
ini_set('session.cookie_httponly', 1);
-session_set_save_handler ('ref_session_open', 'ref_session_close',
- 'ref_session_read', 'ref_session_write',
- 'ref_session_destroy', 'ref_session_gc');
+session_set_save_handler ('ref_session_open', 'ref_session_close', 'ref_session_read', 'ref_session_write', 'ref_session_destroy', 'ref_session_gc');
diff --git a/include/socgraph.php b/include/socgraph.php
index 0d9ae3e6c..b34d5142c 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -1,10 +1,17 @@
-<?php
+<?php /** @file */
+require_once('include/dir_fns.php');
require_once('include/zot.php');
/*
* poco_load
*
+ * xchan is your connection
+ * We will load their friend list, and store in xlink_xchan your connection hash and xlink_link the hash for each connection
+ * If xchan isn't provided we will load the list of people from url who have indicated they are willing to be friends with
+ * new folks and add them to xlink with no xlink_xchan.
+ *
+ * Old behaviour: (documentation only):
* Given a contact-id (minimum), load the PortableContacts friend list for that contact,
* and add the entries to the gcontact (Global Contact) table, or update existing entries
* if anything (name or photo) has changed.
@@ -19,7 +26,7 @@ require_once('include/zot.php');
-function poco_load($xchan = null,$url = null) {
+function poco_load($xchan = '',$url = null) {
$a = get_app();
if($xchan && ! $url) {
@@ -44,7 +51,12 @@ function poco_load($xchan = null,$url = null) {
$s = z_fetch_url($url);
if(! $s['success']) {
- logger('poco_load: returns ' . print_r($s,true));
+ if($s['return_code'] == 401)
+ logger('poco_load: protected');
+ elseif($s['return_code'] == 404)
+ logger('poco_load: nothing found');
+ else
+ logger('poco_load: returns ' . print_r($s,true));
return;
}
@@ -60,7 +72,6 @@ function poco_load($xchan = null,$url = null) {
$total = 0;
foreach($j['entry'] as $entry) {
- $total ++;
$profile_url = '';
$profile_photo = '';
$address = '';
@@ -112,30 +123,40 @@ function poco_load($xchan = null,$url = null) {
if($j)
import_xchan($j);
}
+ $x = q("select xchan_hash from xchan where xchan_hash = '%s' limit 1",
+ dbesc($hash)
+ );
+ if(! $x) {
+ continue;
+ }
+ }
+ else {
+ continue;
}
}
+ $total ++;
- if($xchan) {
- $r = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' limit 1",
+
+ $r = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' limit 1",
+ dbesc($xchan),
+ dbesc($hash)
+ );
+
+ if(! $r) {
+ q("insert into xlink ( xlink_xchan, xlink_link, xlink_rating, xlink_updated ) values ( '%s', '%s', %d, '%s' ) ",
dbesc($xchan),
- dbesc($hash)
+ dbesc($hash),
+ intval($rating),
+ dbesc(datetime_convert())
+ );
+ }
+ else {
+ q("update xlink set xlink_updated = '%s', xlink_rating = %d where xlink_id = %d limit 1",
+ dbesc(datetime_convert()),
+ intval($rating),
+ intval($r[0]['xlink_id'])
);
- if(! $r) {
- q("insert into xlink ( xlink_xchan, xlink_link, xlink_rating, xlink_updated ) values ( '%s', '%s', %d, '%s' ) ",
- dbesc($xchan),
- dbesc($hash),
- intval($rating),
- dbesc(datetime_convert())
- );
- }
- else {
- q("update xlink set xlink_updated = '%s', rating = %d where xlink_id = %d limit 1",
- dbesc(datetime_convert()),
- intval($rating),
- intval($r[0]['xlink_id'])
- );
- }
}
}
logger("poco_load: loaded $total entries",LOGGER_DEBUG);
@@ -254,80 +275,92 @@ function all_friends($uid,$cid,$start = 0, $limit = 80) {
-function suggestion_query($uid, $start = 0, $limit = 80) {
+function suggestion_query($uid, $myxchan, $start = 0, $limit = 80) {
- if(! $uid)
+ if((! $uid) || (! $myxchan))
return array();
- $r = q("SELECT count(glink.gcid) as `total`, gcontact.* from gcontact
- left join glink on glink.gcid = gcontact.id
- where uid = %d and not gcontact.nurl in ( select nurl from contact where uid = %d )
- and not gcontact.name in ( select name from contact where uid = %d )
- and not gcontact.id in ( select gcid from gcign where uid = %d )
- group by glink.gcid order by total desc limit %d, %d ",
- intval($uid),
+ $r = q("SELECT count(xlink_xchan) as `total`, xchan.* from xchan
+ left join xlink on xlink_link = xchan_hash
+ where xlink_xchan in ( select abook_xchan from abook where abook_channel = %d )
+ and not xlink_link in ( select abook_xchan from abook where abook_channel = %d )
+ and not xlink_link in ( select xchan from xign where uid = %d )
+ and xlink_xchan != ''
+ and not ( xchan_flags & %d )
+ group by xchan_hash order by total desc limit %d, %d ",
intval($uid),
intval($uid),
intval($uid),
+ intval(XCHAN_FLAGS_HIDDEN),
intval($start),
intval($limit)
);
- if(count($r) && count($r) >= ($limit -1))
+ if($r && count($r) >= ($limit -1))
return $r;
- $r2 = q("SELECT gcontact.* from gcontact
- left join glink on glink.gcid = gcontact.id
- where glink.uid = 0 and glink.cid = 0 and glink.zcid = 0 and not gcontact.nurl in ( select nurl from contact where uid = %d )
- and not gcontact.name in ( select name from contact where uid = %d )
- and not gcontact.id in ( select gcid from gcign where uid = %d )
- order by rand() limit %d, %d ",
- intval($uid),
+ $r2 = q("SELECT count(xlink_link) as `total`, xchan.* from xchan
+ left join xlink on xlink_link = xchan_hash
+ where xlink_xchan = ''
+ and not xlink_link in ( select abook_xchan from abook where abook_channel = %d )
+ and not xlink_link in ( select xchan from xign where uid = %d )
+ and not ( xchan_flags & %d )
+ group by xchan_hash order by total desc limit %d, %d ",
intval($uid),
intval($uid),
+ intval(XCHAN_FLAGS_HIDDEN),
intval($start),
intval($limit)
);
+ if(is_array($r) && is_array($r2))
+ return array_merge($r,$r2);
- return array_merge($r,$r2);
-
+ return array();
}
function update_suggestions() {
-// FIXME
-return;
$a = get_app();
- $done = array();
-
- // fix this to get a json list from an upstream directory
-// poco_load(0,0,0,$a->get_baseurl() . '/poco');
-
-// $done[] = $a->get_baseurl() . '/poco';
-
-// if(strlen(get_config('system','directory_submit_url'))) {
-// $x = fetch_url('http://dir.friendica.com/pubsites');
-// if($x) {
-// $j = json_decode($x);
-// if($j->entries) {
-// foreach($j->entries as $entry) {
-// $url = $entry->url . '/poco';
-// if(! in_array($url,$done))
-// poco_load(0,0,0,$entry->url . '/poco');
-// }
-// }
-// }
-// }
-
- $r = q("select distinct(xchan_connurl) as poco from xchan where xchan_network = 'zot'");
-
- if($r) {
- foreach($r as $rr) {
- $base = substr($rr['poco'],0,strrpos($rr['poco'],'/'));
- if(! in_array($base,$done))
- poco_load('',$base);
+ $dirmode = get_config('system','directory_mode');
+ if($dirmode === false)
+ $dirmode = DIRECTORY_MODE_NORMAL;
+
+ if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) {
+ $url = z_root() . '/sitelist';
+ }
+ else {
+ $directory = find_upstream_directory($dirmode);
+
+ if($directory) {
+ $url = $directory['url'] . '/sitelist';
+ }
+ else {
+ $url = DIRECTORY_FALLBACK_MASTER . '/sitelist';
+ }
+ }
+ if(! $url)
+ return;
+
+
+
+ $ret = z_fetch_url($url);
+
+ if($ret['success']) {
+
+ // We will grab fresh data once a day via the poller. Remove anything over a week old because
+ // the targets may have changed their preferences and don't want to be suggested - and they
+ // may have simply gone away.
+
+ $r = q("delete from xlink where xlink_xchan = '' and xlink_updated < UTC_TIMESTAMP() - INTERVAL 7 DAY");
+
+
+ $j = json_decode($ret['body'],true);
+ if($j && $j['success']) {
+ foreach($j['entries'] as $host) {
+ poco_load('',$host['url'] . '/poco');
+ }
}
}
}
diff --git a/include/system_unavailable.php b/include/system_unavailable.php
index bd7196cdf..dfe7c5e6b 100644
--- a/include/system_unavailable.php
+++ b/include/system_unavailable.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
function system_down() {
echo <<< EOT
diff --git a/include/taxonomy.php b/include/taxonomy.php
new file mode 100644
index 000000000..30eb08f65
--- /dev/null
+++ b/include/taxonomy.php
@@ -0,0 +1,268 @@
+<?php /** @file */
+
+// post categories and "save to file" use the same item.file table for storage.
+// We will differentiate the different uses by wrapping categories in angle brackets
+// and save to file categories in square brackets.
+// To do this we need to escape these characters if they appear in our tag.
+
+function file_tag_encode($s) {
+ return str_replace(array('<','>','[',']'),array('%3c','%3e','%5b','%5d'),$s);
+}
+
+function file_tag_decode($s) {
+ return str_replace(array('%3c','%3e','%5b','%5d'),array('<','>','[',']'),$s);
+}
+
+function file_tag_file_query($table,$s,$type = 'file') {
+
+ if($type == 'file')
+ $termtype = TERM_FILE;
+ else
+ $termtype = TERM_CATEGORY;
+
+ return sprintf(" AND " . (($table) ? dbesc($table) . '.' : '') . "id in (select term.oid from term where term.type = %d and term.term = '%s' and term.uid = " . (($table) ? dbesc($table) . '.' : '') . "uid ) ",
+ intval($termtype),
+ protect_sprintf(dbesc($s))
+ );
+}
+
+function term_query($table,$s,$type = TERM_UNKNOWN) {
+
+ return sprintf(" AND " . (($table) ? dbesc($table) . '.' : '') . "id in (select term.oid from term where term.type = %d and term.term = '%s' and term.uid = " . (($table) ? dbesc($table) . '.' : '') . "uid ) ",
+ intval($type),
+ protect_sprintf(dbesc($s))
+ );
+}
+
+
+function store_item_tag($uid,$iid,$otype,$type,$term,$url = '') {
+ if(! $term)
+ return false;
+ $r = q("select * from term
+ where uid = %d and oid = %d and otype = %d and type = %d
+ and term = '%s' and url = '%s' ",
+ intval($uid),
+ intval($iid),
+ intval($otype),
+ intval($type),
+ dbesc($term),
+ dbesc($url)
+ );
+ if($r)
+ return false;
+ $r = q("insert into term (uid, oid, otype, type, term, url)
+ values( %d, %d, %d, %d, '%s', '%s') ",
+ intval($uid),
+ intval($iid),
+ intval($otype),
+ intval($type),
+ dbesc($term),
+ dbesc($url)
+ );
+ return $r;
+}
+
+function get_terms_oftype($arr,$type) {
+ $ret = array();
+ if(! (is_array($arr) && count($arr)))
+ return $ret;
+
+ if(! is_array($type))
+ $type = array($type);
+
+ foreach($type as $t)
+ foreach($arr as $x)
+ if($x['type'] == $t)
+ $ret[] = $x;
+ return $ret;
+}
+
+function format_term_for_display($term) {
+ $s = '';
+ if($term['type'] == TERM_HASHTAG)
+ $s .= '#';
+ elseif($term['type'] == TERM_MENTION)
+ $s .= '@';
+ else
+ return $s;
+
+ if($term['url'])
+ $s .= '<a href="' . $term['url'] . '">' . htmlspecialchars($term['term']) . '</a>';
+ else
+ $s .= htmlspecialchars($term['term']);
+ return $s;
+}
+
+// Tag cloud functions - need to be adpated to this database format
+
+
+function tagadelic($uid, $count = 0, $authors = '', $flags = 0, $type = TERM_HASHTAG) {
+
+ $sql_options = '';
+ $count = intval($count);
+
+ if($flags)
+ $sql_options .= " and ((item_flags & " . intval($flags) . ") = " . intval($flags) . ") ";
+ if($authors) {
+ if(! is_array($authors))
+ $authors = array($authors);
+ stringify_array_elms($authors,true);
+ $sql_options .= " and author_xchan in (" . implode(',',$authors) . ") ";
+ }
+
+ // Fetch tags
+ $r = q("select term, count(term) as total from term left join item on term.oid = item.id
+ where term.uid = %d and term.type = %d
+ and otype = %d and item_restrict = 0 and item_private = 0
+ $sql_options
+ group by term order by total desc %s",
+ intval($uid),
+ intval($type),
+ intval(TERM_OBJ_POST),
+ ((intval($count)) ? "limit $count" : '')
+ );
+
+ if(! $r)
+ return array();
+
+ // Find minimum and maximum log-count.
+ $tags = array();
+ $min = 1e9;
+ $max = -1e9;
+
+ $x = 0;
+ foreach($r as $rr) {
+ $tags[$x][0] = $rr['term'];
+ $tags[$x][1] = log($rr['total']);
+ $tags[$x][2] = 0;
+ $min = min($min,$tags[$x][1]);
+ $max = max($max,$tags[$x][1]);
+ $x ++;
+ }
+
+ usort($tags,'tags_sort');
+
+ $range = max(.01, $max - $min) * 1.0001;
+
+ for($x = 0; $x < count($tags); $x ++) {
+ $tags[$x][2] = 1 + floor(5 * ($tags[$x][1] - $min) / $range);
+ }
+
+ return $tags;
+}
+
+function tags_sort($a,$b) {
+ if($a[0] == $b[0])
+ return 0;
+ return((strtolower($a[0]) < strtolower($b[0])) ? -1 : 1);
+}
+
+
+function dir_tagadelic($count = 0) {
+
+ $sql_options = '';
+ $count = intval($count);
+
+ // Fetch tags
+ $r = q("select xtag_term, count(xtag_term) as total from xtag
+ group by xtag_term order by total desc %s",
+ ((intval($count)) ? "limit $count" : '')
+ );
+
+ if(! $r)
+ return array();
+
+ // Find minimum and maximum log-count.
+ $tags = array();
+ $min = 1e9;
+ $max = -1e9;
+
+ $x = 0;
+ foreach($r as $rr) {
+ $tags[$x][0] = $rr['xtag_term'];
+ $tags[$x][1] = log($rr['total']);
+ $tags[$x][2] = 0;
+ $min = min($min,$tags[$x][1]);
+ $max = max($max,$tags[$x][1]);
+ $x ++;
+ }
+
+ usort($tags,'tags_sort');
+
+ $range = max(.01, $max - $min) * 1.0001;
+
+ for($x = 0; $x < count($tags); $x ++) {
+ $tags[$x][2] = 1 + floor(5 * ($tags[$x][1] - $min) / $range);
+ }
+
+ return $tags;
+}
+
+
+function tagblock($link,$uid,$count = 0,$authors = '',$flags = 0,$type = TERM_HASHTAG) {
+ $o = '';
+ $tab = 0;
+ $r = tagadelic($uid,$count,$authors,$flags,$type);
+
+ if($r) {
+ $o = '<div class="tagblock widget"><h3>' . t('Tags') . '</h3><div class="tags" align="center">';
+ foreach($r as $rr) {
+ $o .= '<a href="'.$link .'/' . '?f=&tag=' . urlencode($rr[0]).'" class="tag'.$rr[2].'">'.$rr[0].'</a> ' . "\r\n";
+ }
+ $o .= '</div></div>';
+ }
+ return $o;
+}
+
+function dir_tagblock($link,$r) {
+ $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=&keyword=' . urlencode($rr['term']).'" class="tag'.$rr['weight'].'">'.$rr['term'].'</a> ' . "\r\n";
+ }
+ $o .= '</div></div>';
+ }
+ return $o;
+}
+
+
+
+
+
+
+ /**
+ * 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 obj_verbs() to provide full conjugations and specify which form to use in the $_REQUEST params to this module.
+ */
+
+
+
+function obj_verbs() {
+ $verbs = array(
+ 'has' => array( t('have'), t('has')),
+ 'wants' => array( t('want'), t('wants')),
+ 'likes' => array( t('like'), t('likes')),
+ 'dislikes' => array( t('dislike'), t('dislikes')),
+ );
+
+ $arr = array('verbs' => $verbs);
+ call_hooks('obj_verbs', $arr);
+ return $arr['verbs'];
+}
+
+
+function obj_verb_selector() {
+ $verbs = obj_verbs();
+ $o .= '<select class="obj-verb-selector" name="verb" >';
+ foreach($verbs as $k => $v) {
+ $o .= '<option value="' . urlencode($k) . '">' . $v[0] . '</option>';
+ }
+ $o .= '</select>';
+ return $o;
+
+} \ No newline at end of file
diff --git a/include/template_processor.php b/include/template_processor.php
index 61526e570..74acc9c67 100644..100755
--- a/include/template_processor.php
+++ b/include/template_processor.php
@@ -1,7 +1,11 @@
<?php
+ require_once 'include/ITemplateEngine.php';
+
define ("KEY_NOT_EXISTS", '^R_key_not_Exists^');
- class Template {
+ class Template implements ITemplateEngine {
+ static $name ="internal";
+
var $r;
var $search;
var $replace;
@@ -244,9 +248,13 @@
return $s;
}
-
- public function replace($s, $r) {
- $t1 = dba_timer();
+
+ private function replace($s,$r) {
+ $this->replace_macros($s, $r);
+ }
+
+ // TemplateEngine interface
+ public function replace_macros($s, $r) {
$this->r = $r;
$s = $this->_build_nodes($s);
@@ -265,14 +273,18 @@
$os=$s; $count++;
$s = $this->var_replace($s);
}
- $t3 = dba_timer();
-// logger('macro timer: ' . sprintf('%01.4f %01.4f',$t3 - $t2, $t2 - $t1));
-
return $s;
}
+
+ public function get_markup_template($file, $root='') {
+ $template_file = theme_include($file, $root);
+ if ($template_file) {
+ $content = file_get_contents($template_file);
+ }
+ return $content;
+ }
}
- $t = new Template;
diff --git a/include/text.php b/include/text.php
index 523970bf4..e1f0a4e00 100644..100755
--- a/include/text.php
+++ b/include/text.php
@@ -1,48 +1,25 @@
-<?php
+<?php /** @file */
-// This is our template processor.
-// $s is the string requiring macro substitution.
-// $r is an array of key value pairs (search => replace)
-// returns substituted string.
-// WARNING: this is pretty basic, and doesn't properly handle search strings that are substrings of each other.
-// For instance if 'test' => "foo" and 'testing' => "bar", testing could become either bar or fooing,
-// depending on the order in which they were declared in the array.
require_once("include/template_processor.php");
+require_once("include/friendica_smarty.php");
-if(! function_exists('replace_macros')) {
+/**
+ * This is our template processor
+ *
+ * @param string|FriendicaSmarty $s the string requiring macro substitution,
+ * or an instance of FriendicaSmarty
+ * @param array $r key value pairs (search => replace)
+ * @return string substituted string
+ */
function replace_macros($s,$r) {
- global $t;
-
-// $ts = microtime();
$a = get_app();
- if($a->get_template_engine() === 'smarty3') {
- $output = '';
- if(gettype($s) !== 'NULL') {
- $template = '';
- if(gettype($s) === 'string') {
- $template = $s;
- $s = new FriendicaSmarty();
- }
- foreach($r as $key=>$value) {
- if($key[0] === '$') {
- $key = substr($key, 1);
- }
- $s->assign($key, $value);
- }
- $output = $s->parsed($template);
- }
- }
- else {
- $r = $t->replace($s,$r);
+ $t = $a->template_engine();
+ $output = $t->replace_macros($s,$r);
- $output = template_unescape($r);
- }
-// $tt = microtime() - $ts;
-// $a->page['debug'] .= "$tt <br>\n";
return $output;
-}}
+}
// random string, there are 86 characters max in text mode, 128 for hex
@@ -51,13 +28,13 @@ function replace_macros($s,$r) {
define('RANDOM_STRING_HEX', 0x00 );
define('RANDOM_STRING_TEXT', 0x01 );
-if(! function_exists('random_string')) {
+
function random_string($size = 64,$type = RANDOM_STRING_HEX) {
// generate a bit of entropy and run it through the whirlpool
$s = hash('whirlpool', (string) rand() . uniqid(rand(),true) . (string) rand(),(($type == RANDOM_STRING_TEXT) ? true : false));
$s = (($type == RANDOM_STRING_TEXT) ? str_replace("\n","",base64url_encode($s,true)) : $s);
return(substr($s,0,$size));
-}}
+}
/**
* This is our primary input filter.
@@ -73,32 +50,91 @@ function random_string($size = 64,$type = RANDOM_STRING_HEX) {
* They will be replaced with safer brackets. This may be filtered further
* if these are not allowed either.
*
+ * @param string $string Input string
+ * @return string Filtered string
*/
-if(! function_exists('notags')) {
+
function notags($string) {
return(str_replace(array("<",">"), array('[',']'), $string));
// High-bit filter no longer used
// return(str_replace(array("<",">","\xBA","\xBC","\xBE"), array('[',']','','',''), $string));
-}}
+}
// use this on "body" or "content" input where angle chars shouldn't be removed,
// and allow them to be safely displayed.
-if(! function_exists('escape_tags')) {
+
+
+/**
+ * use this on "body" or "content" input where angle chars shouldn't be removed,
+ * and allow them to be safely displayed.
+ * @param string $string
+ * @return string
+ */
function escape_tags($string) {
return(htmlspecialchars($string, ENT_COMPAT, 'UTF-8', false));
-}}
+}
+
+
+function z_input_filter($channel_id,$s,$type = 'text/bbcode') {
+
+ if($type === 'text/bbcode')
+ return escape_tags($s);
+ if($type === 'text/markdown')
+ return escape_tags($s);
+ if($type == 'text/plain')
+ return escape_tags($s);
+ $r = q("select account_id, account_roles from account left join channel on channel_account_id = account_id where channel_id = %d limit 1",
+ intval($channel_id)
+ );
+ if($r && ($r[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE)) {
+ if(local_user() && (get_account_id() == $r[0]['account_id'])) {
+ return $s;
+ }
+ }
+
+ if($type === 'text/html')
+ return purify_html($s);
+
+ return escape_tags($s);
+
+}
+
+
+
+
+
+function purify_html($s) {
+ require_once('library/HTMLPurifier.auto.php');
+ require_once('include/html2bbcode.php');
+
+// FIXME this function has html output, not bbcode - so safely purify these
+// $s = html2bb_video($s);
+// $s = oembed_html2bbcode($s);
+
+ $config = HTMLPurifier_Config::createDefault();
+ $config->set('Cache.DefinitionImpl', null);
+
+ $purifier = new HTMLPurifier($config);
+ return $purifier->purify($s);
+}
// generate a string that's random, but usually pronounceable.
// used to generate initial passwords
-if(! function_exists('autoname')) {
+
+/**
+ * generate a string that's random, but usually pronounceable.
+ * used to generate initial passwords
+ * @param int $len
+ * @return string
+ */
function autoname($len) {
if($len <= 0)
@@ -167,13 +203,18 @@ function autoname($len) {
if(substr($word,-1) == 'q')
$word = substr($word,0,-1);
return $word;
-}}
+}
// escape text ($str) for XML transport
// returns escaped text.
-if(! function_exists('xmlify')) {
+
+/**
+ * escape text ($str) for XML transport
+ * @param string $str
+ * @return string Escaped text.
+ */
function xmlify($str) {
$buffer = '';
@@ -210,20 +251,22 @@ function xmlify($str) {
}
$buffer = trim($buffer);
return($buffer);
-}}
+}
// undo an xmlify
// pass xml escaped text ($s), returns unescaped text
-if(! function_exists('unxmlify')) {
+
function unxmlify($s) {
$ret = str_replace('&amp;','&', $s);
$ret = str_replace(array('&lt;','&gt;','&quot;','&apos;'),array('<','>','"',"'"),$ret);
return $ret;
-}}
+}
// convenience wrapper, reverse the operation "bin2hex"
+// This is a built-in function in php >= 5.4
+
if(! function_exists('hex2bin')) {
function hex2bin($s) {
if(! (is_string($s) && strlen($s)))
@@ -236,6 +279,7 @@ function hex2bin($s) {
return(pack("H*",$s));
}}
+
// Automatic pagination.
// To use, get the count of total items.
// Then call $a->set_pager_total($number_items);
@@ -246,7 +290,7 @@ function hex2bin($s) {
// will limit the results to the correct items for the current page.
// The actual page handling is then accomplished at the application layer.
-if(! function_exists('paginate')) {
+
function paginate(&$a) {
$o = '';
$stripped = preg_replace('/(&page=[0-9]*)/','',$a->query_string);
@@ -300,9 +344,9 @@ function paginate(&$a) {
$o .= '</div>'."\r\n";
}
return $o;
-}}
+}
+
-if(! function_exists('alt_pager')) {
function alt_pager(&$a, $i, $more = '', $less = '') {
$o = '';
@@ -318,25 +362,21 @@ function alt_pager(&$a, $i, $more = '', $less = '') {
$pagenum = $a->pager['page'];
$url = $a->get_baseurl() . '/' . $stripped;
- $o .= '<div class="pager">';
-
- if($a->pager['page'] > 1)
- $o .= "<a href=\"$url"."&page=".($a->pager['page'] - 1).'">' . $less . '</a>';
- if($i > 0 && $i == $a->pager['itemspage']) {
- if($a->pager['page']>1)
- $o .= " | ";
- $o .= "<a href=\"$url"."&page=".($a->pager['page'] + 1).'">' . $more . '</a>';
- }
-
-
- $o .= '</div>'."\r\n";
+ return replace_macros(get_markup_template('alt_pager.tpl'),array(
+ '$has_less' => (($a->pager['page'] > 1) ? true : false),
+ '$has_more' => (($i > 0 && $i == $a->pager['itemspage']) ? true : false),
+ '$less' => $less,
+ '$more' => $more,
+ '$url' => $url,
+ '$prevpage' => $a->pager['page'] - 1,
+ '$nextpage' => $a->pager['page'] + 1,
+ ));
- return $o;
-}}
+}
// Turn user/group ACLs stored as angle bracketed text into arrays
-if(! function_exists('expand_acl')) {
+
function expand_acl($s) {
// turn string array of angle-bracketed elements into string array
@@ -353,22 +393,22 @@ function expand_acl($s) {
}
}
return $ret;
-}}
+}
// Used to wrap ACL elements in angle brackets for storage
-if(! function_exists('sanitise_acl')) {
+
function sanitise_acl(&$item) {
if(strlen($item))
$item = '<' . notags(trim($item)) . '>';
else
unset($item);
-}}
+}
// Convert an ACL array to a storable string
-if(! function_exists('perms2str')) {
+
function perms2str($p) {
$ret = '';
@@ -382,32 +422,32 @@ function perms2str($p) {
$ret = implode('',$tmp);
}
return $ret;
-}}
+}
// generate a guaranteed unique (for this domain) item ID for ATOM
// safe from birthday paradox
-if(! function_exists('item_message_id')) {
+
function item_message_id() {
do {
$dups = false;
$hash = random_string();
- $uri = $hash . '@' . get_app()->get_hostname();
+ $mid = $hash . '@' . get_app()->get_hostname();
- $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' LIMIT 1",
- dbesc($uri));
+ $r = q("SELECT `id` FROM `item` WHERE `mid` = '%s' LIMIT 1",
+ dbesc($mid));
if(count($r))
$dups = true;
} while($dups == true);
- return $uri;
-}}
+ return $mid;
+}
// Generate a guaranteed unique photo ID.
// safe from birthday paradox
-if(! function_exists('photo_new_resource')) {
+
function photo_new_resource() {
do {
@@ -420,7 +460,7 @@ function photo_new_resource() {
$found = true;
} while($found == true);
return $resource;
-}}
+}
@@ -435,15 +475,14 @@ function photo_new_resource() {
// pass the attribute string as $attr and the attribute you
// are looking for as $s - returns true if found, otherwise false
-if(! function_exists('attribute_contains')) {
function attribute_contains($attr,$s) {
$a = explode(' ', $attr);
if(count($a) && in_array($s,$a))
return true;
return false;
-}}
+}
+
-if(! function_exists('logger')) {
function logger($msg,$level = 0) {
// turn off logger in install mode
global $a;
@@ -460,7 +499,7 @@ function logger($msg,$level = 0) {
@file_put_contents($logfile, datetime_convert() . ':' . session_id() . ' ' . $msg . "\n", FILE_APPEND);
return;
-}}
+}
// This is a special logging facility for developers. It allows one to target specific things to trace/debug
@@ -469,7 +508,7 @@ function logger($msg,$level = 0) {
// If you find dlogger() calls in checked in code, you are free to remove them - so as to provide a noise-free
// development environment which responds to events you are targetting personally.
-if(! function_exists('dlogger')) {
+
function dlogger($msg,$level = 0) {
// turn off logger in install mode
global $a;
@@ -486,7 +525,7 @@ function dlogger($msg,$level = 0) {
@file_put_contents($logfile, datetime_convert() . ':' . session_id() . ' ' . $msg . "\n", FILE_APPEND);
return;
-}}
+}
function profiler($t1,$t2,$label) {
@@ -495,12 +534,13 @@ function profiler($t1,$t2,$label) {
}
-if(! function_exists('activity_match')) {
+
function activity_match($haystack,$needle) {
if(($haystack === $needle) || ((basename($needle) === $haystack) && strstr($needle,NAMESPACE_ACTIVITY_SCHEMA)))
return true;
+
return false;
-}}
+}
// Pull out all #hashtags and @person tags from $s;
@@ -511,7 +551,7 @@ function activity_match($haystack,$needle) {
// Returns array of tags found, or empty array.
-if(! function_exists('get_tags')) {
+
function get_tags($s) {
$ret = array();
@@ -556,19 +596,19 @@ function get_tags($s) {
}
}
return $ret;
-}}
+}
// quick and dirty quoted_printable encoding
-if(! function_exists('qp')) {
+
function qp($s) {
return str_replace ("%","=",rawurlencode($s));
-}}
+}
+
-if(! function_exists('get_mentions')) {
function get_mentions($item,$tags) {
$o = '';
@@ -582,9 +622,9 @@ function get_mentions($item,$tags) {
}
}
return $o;
-}}
+}
+
-if(! function_exists('contact_block')) {
function contact_block() {
$o = '';
$a = get_app();
@@ -637,7 +677,7 @@ function contact_block() {
call_hooks('contact_block_end', $arr);
return $o;
-}}
+}
function chanlink_hash($s) {
@@ -661,7 +701,7 @@ function magiclink_url($observer,$myaddr,$url) {
}
-if(! function_exists('micropro')) {
+
function micropro($contact, $redirect = false, $class = '', $textmode = false) {
if($contact['click'])
@@ -677,11 +717,11 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) {
'$name' => $contact['xchan_name'],
'$title' => $contact['xchan_name'] . ' [' . $contact['xchan_addr'] . ']',
));
-}}
+}
+
-if(! function_exists('search')) {
function search($s,$id='search-box',$url='/search',$save = false) {
$a = get_app();
$o = '<div id="' . $id . '">';
@@ -692,9 +732,9 @@ function search($s,$id='search-box',$url='/search',$save = false) {
$o .= '<input type="submit" name="save" id="search-save" value="' . t('Save') . '" />';
$o .= '</form></div>';
return $o;
-}}
+}
+
-if(! function_exists('valid_email')) {
function valid_email($x){
if(get_config('system','disable_email_validation'))
@@ -703,7 +743,7 @@ function valid_email($x){
if(preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x))
return true;
return false;
-}}
+}
/**
@@ -714,12 +754,12 @@ function valid_email($x){
*
*/
-if(! function_exists('linkify')) {
+
function linkify($s) {
- $s = preg_replace("/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\'\%\$\!\+]*)/", ' <a href="$1" >$1</a>', $s);
+ $s = preg_replace("/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\@\~\#\'\%\$\!\+]*)/", ' <a href="$1" >$1</a>', $s);
$s = preg_replace("/\<(.*?)(src|href)=(.*?)\&amp\;(.*?)\>/ism",'<$1$2=$3&$4>',$s);
return($s);
-}}
+}
function get_poke_verbs() {
@@ -792,7 +832,7 @@ function get_mood_verbs() {
*
*/
-if(! function_exists('smilies')) {
+
function smilies($s, $sample = false) {
$a = get_app();
@@ -837,7 +877,7 @@ function smilies($s, $sample = false) {
':facepalm',
':like',
':dislike',
- '~friendika',
+ 'red#',
'~friendica'
);
@@ -875,7 +915,7 @@ function smilies($s, $sample = false) {
'<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-facepalm.gif" alt=":facepalm" />',
'<img class="smiley" src="' . $a->get_baseurl() . '/images/like.gif" alt=":like" />',
'<img class="smiley" src="' . $a->get_baseurl() . '/images/dislike.gif" alt=":dislike" />',
- '<a href="http://project.friendika.com">~friendika <img class="smiley" src="' . $a->get_baseurl() . '/images/friendika-16.png" alt="~friendika" /></a>',
+ '<a href="http://getzot.com"><img class="smiley" src="' . $a->get_baseurl() . '/images/rhash-16.png" alt="red#" /> the Red Matrix</a>',
'<a href="http://friendica.com">~friendica <img class="smiley" src="' . $a->get_baseurl() . '/images/friendica-16.png" alt="~friendica" /></a>'
);
@@ -898,7 +938,7 @@ function smilies($s, $sample = false) {
return $s;
-}}
+}
function smile_encode($m) {
return(str_replace($m[1],base64url_encode($m[1]),$m[0]));
@@ -922,7 +962,7 @@ function preg_heart($x) {
}
-if(! function_exists('day_translate')) {
+
function day_translate($s) {
$ret = str_replace(array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'),
array( t('Monday'), t('Tuesday'), t('Wednesday'), t('Thursday'), t('Friday'), t('Saturday'), t('Sunday')),
@@ -933,14 +973,14 @@ function day_translate($s) {
$ret);
return $ret;
-}}
+}
+
-if(! function_exists('normalise_link')) {
function normalise_link($url) {
$ret = str_replace(array('https:','//www.'), array('http:','//'), $url);
return(rtrim($ret,'/'));
-}}
+}
/**
*
@@ -953,24 +993,40 @@ function normalise_link($url) {
*
*/
-if(! function_exists('link_compare')) {
+
function link_compare($a,$b) {
if(strcasecmp(normalise_link($a),normalise_link($b)) === 0)
return true;
return false;
-}}
+}
// Given an item array, convert the body element from bbcode to html and add smilie icons.
// If attach is true, also add icons for item attachments
-if(! function_exists('prepare_body')) {
-function prepare_body($item,$attach = false) {
+function unobscure(&$item) {
+ if(array_key_exists('item_flags',$item) && ($item['item_flags'] & ITEM_OBSCURED)) {
+ $key = get_config('system','prvkey');
+ if($item['title'])
+ $item['title'] = aes_unencapsulate(json_decode_plus($item['title']),$key);
+ if($item['body'])
+ $item['body'] = aes_unencapsulate(json_decode_plus($item['body']),$key);
+ }
+
+}
+
+
+function prepare_body(&$item,$attach = false) {
$a = get_app();
+
+
+
call_hooks('prepare_body_init', $item);
- $s = prepare_text($item['body']);
+ unobscure($item);
+
+ $s = prepare_text($item['body'],$item['mimetype']);
$prep_arr = array('item' => $item, 'html' => $s);
call_hooks('prepare_body', $prep_arr);
@@ -980,7 +1036,8 @@ function prepare_body($item,$attach = false) {
return $s;
}
- $arr = json_decode($item['attach'],true);
+
+ $arr = json_decode_plus($item['attach']);
if(count($arr)) {
$s .= '<div class="body-attach">';
foreach($arr as $r) {
@@ -1011,6 +1068,27 @@ function prepare_body($item,$attach = false) {
$s .= '<div class="clear"></div></div>';
}
+// At some point in time, posttags were removed from the threaded conversation templates, but remained in the search_item template.
+// Code to put them back was added into include/conversation.php and/or include/ItemObject.php but under new class names
+// Then it was discovered that the following bits remained of the old code.
+// Commented out, but we may decide to use this instead of the other version and put all the tag rendering in one place. In the other
+// location it is more theme-able.
+// if(is_array($item['term']) && count($item['term'])) {
+// $tstr = '';
+// foreach($item['term'] as $t) {
+// $t1 = format_term_for_display($t);
+// if($t1) {
+// if($tstr)
+// $tstr .= ' ';
+// $tstr .= $t1;
+// }
+// }
+// if($tstr)
+// $s .= '<br /><div class="posttags">' . $tstr . '</div>';
+// }
+
+ $writeable = ((get_observer_hash() == $item['owner_xchan']) ? true : false);
+
$x = '';
$terms = get_terms_oftype($item['term'],TERM_CATEGORY);
if($terms) {
@@ -1018,7 +1096,7 @@ function prepare_body($item,$attach = false) {
if(strlen($x))
$x .= ',';
$x .= htmlspecialchars($t['term'],ENT_COMPAT,'UTF-8')
- . ((local_user() == $item['uid']) ? ' <a href="' . $a->get_baseurl() . '/filerm/' . $item['id'] . '?f=&cat=' . urlencode($t['term']) . '" title="' . t('remove') . '" >' . t('[remove]') . '</a>' : '');
+ . (($writeable) ? ' <a href="' . $a->get_baseurl() . '/filerm/' . $item['id'] . '?f=&cat=' . urlencode($t['term']) . '" title="' . t('remove') . '" >' . t('[remove]') . '</a>' : '');
}
if(strlen($x))
$s .= '<div class="categorytags"><span>' . t('Categories:') . ' </span>' . $x . '</div>';
@@ -1073,30 +1151,127 @@ function prepare_body($item,$attach = false) {
call_hooks('prepare_body_final', $prep_arr);
return $prep_arr['html'];
-}}
+}
// Given a text string, convert from bbcode to html and add smilie icons.
-if(! function_exists('prepare_text')) {
-function prepare_text($text) {
- require_once('include/bbcode.php');
+function prepare_text($text,$content_type = 'text/bbcode') {
- if(stristr($text,'[nosmile]'))
- $s = bbcode($text);
- else
- $s = smilies(bbcode($text));
+
+
+ switch($content_type) {
+
+ case 'text/plain':
+ $s = escape_tags($text);
+ break;
+
+ case 'text/html':
+ $s = $text;
+ break;
+
+ case 'text/markdown':
+ require_once('library/markdown.php');
+ $s = Markdown($text);
+ break;
+
+ // No security checking is done here at display time - so we need to verify
+ // that the author is allowed to use PHP before storing. We also cannot allow
+ // importation of PHP text bodies from other sites. Therefore this content
+ // type is only valid for web pages (and profile details).
+
+ // It may be possible to provide a PHP message body which is evaluated on the
+ // sender's site before sending it elsewhere. In that case we will have a
+ // different content-type here.
+
+ case 'application/x-php':
+ ob_start();
+ eval($text);
+ $s = ob_get_contents();
+ ob_end_clean();
+ break;
+
+ case 'text/bbcode':
+ case '':
+ default:
+ require_once('include/bbcode.php');
+
+ if(stristr($text,'[nosmile]'))
+ $s = bbcode($text);
+ else
+ $s = smilies(bbcode($text));
+ $s = zidify_links($s);
+ break;
+ }
+
+//logger('prepare_text: ' . $s);
return $s;
-}}
+}
+
+
+/**
+ * zidify_callback() and zidify_links() work together to turn any HTML a tags with class="zrl" into zid links
+ * These will typically be generated by a bbcode '[zrl]' tag. This is done inside prepare_text() rather than bbcode()
+ * because the latter is used for general purpose conversions and the former is used only when preparing text for
+ * immediate display.
+ *
+ * Issues: Currently the order of HTML parameters in the text is somewhat rigid and inflexible.
+ * We assume it looks like <a class="zrl" href="xxxxxxxxxx"> and will not work if zrl and href appear in a different order.
+ */
+
+
+function zidify_callback($match) {
+ if (feature_enabled(local_user(),'sendzid')) {
+ $replace = '<a' . $match[1] . ' href="' . zid($match[2]) . '"';
+ }
+ else {
+ $replace = '<a' . $match[1] . 'class="zrl"' . $match[2] . ' href="' . zid($match[3]) . '"';
+ }
+
+ $x = str_replace($match[0],$replace,$match[0]);
+ return $x;
+}
+
+function zidify_img_callback($match) {
+ if (feature_enabled(local_user(),'sendzid')) {
+ $replace = '<img' . $match[1] . ' src="' . zid($match[2]) . '"';
+ }
+ else {
+ $replace = '<img' . $match[1] . ' src="' . zid($match[2]) . '"';
+ }
+
+ $x = str_replace($match[0],$replace,$match[0]);
+ return $x;
+}
+
+
+function zidify_links($s) {
+ if(feature_enabled(local_user(),'sendzid')) {
+ $s = preg_replace_callback('/\<a(.*?)href\=\"(.*?)\"/ism','zidify_callback',$s);
+ $s = preg_replace_callback('/\<img(.*?)src\=\"(.*?)\"/ism','zidify_img_callback',$s);
+ }
+ else {
+ $s = preg_replace_callback('/\<a(.*?)class\=\"zrl\"(.*?)href\=\"(.*?)\"/ism','zidify_callback',$s);
+ $s = preg_replace_callback('/\<img class\=\"zrl\"(.*?)src\=\"(.*?)\"/ism','zidify_img_callback',$s);
+// FIXME - remove the following line and redo the regex for the prev line once all Red images are converted to zmg
+ $s = preg_replace_callback('/\<img(.*?)src\=\"(.*?)\"/ism','zidify_img_callback',$s);
+ }
+
+ return $s;
+}
+
+
+
+
/**
* return atom link elements for all of our hubs
*/
-if(! function_exists('feed_hublinks')) {
+
function feed_hublinks() {
$hub = get_config('system','huburl');
@@ -1114,11 +1289,11 @@ function feed_hublinks() {
}
}
return $hubxml;
-}}
+}
/* return atom link elements for salmon endpoints */
-if(! function_exists('feed_salmonlinks')) {
+
function feed_salmonlinks($nick) {
$a = get_app();
@@ -1130,12 +1305,12 @@ function feed_salmonlinks($nick) {
$salmon .= ' <link rel="http://salmon-protocol.org/ns/salmon-replies" href="' . xmlify($a->get_baseurl() . '/salmon/' . $nick) . '" />' . "\n" ;
$salmon .= ' <link rel="http://salmon-protocol.org/ns/salmon-mention" href="' . xmlify($a->get_baseurl() . '/salmon/' . $nick) . '" />' . "\n" ;
return $salmon;
-}}
+}
+
-if(! function_exists('get_plink')) {
function get_plink($item) {
$a = get_app();
- if (x($item,'plink') && ($item['private'] != 1)) {
+ if (x($item,'plink') && ($item['item_private'] != 1)) {
return array(
'href' => $item['plink'],
'title' => t('link to source'),
@@ -1144,17 +1319,72 @@ function get_plink($item) {
else {
return false;
}
-}}
+}
+
-if(! function_exists('unamp')) {
function unamp($s) {
return str_replace('&amp;', '&', $s);
-}}
+}
+
+function layout_select($channel_id, $current = '') {
+ $r = q("select mid,sid from item left join item_id on iid = item.id where service = 'PDL' and item.uid = item_id.uid and item_id.uid = %d and (item_restrict & %d)",
+ intval($channel_id),
+ intval(ITEM_PDL)
+ );
+ if($r) {
+ $o = t('Select a page layout: ');
+ $o .= '<select name="layout_mid" id="select-layout_mid" >';
+ $empty_selected = (($current === '') ? ' selected="selected" ' : '');
+ $o .= '<option value="" ' . $empty_selected . '>' . t('default') . '</option>';
+ foreach($r as $rr) {
+ $selected = (($rr['mid'] == $current) ? ' selected="selected" ' : '');
+ $o .= '<option value="' . $rr['mid'] . '"' . $selected . '>' . $rr['sid'] . '</option>';
+ }
+ $o .= '</select>';
+ }
+
+ return $o;
+}
+
+
+
+
+
+function mimetype_select($channel_id, $current = 'text/bbcode') {
+
+ $x = array(
+ 'text/bbcode',
+ 'text/html',
+ 'text/markdown',
+ 'text/plain'
+ );
+
+ $r = q("select account_id, account_roles from account left join channel on account_id = channel_account_id where
+ channel_id = %d limit 1",
+ intval($channel_id)
+ );
+
+ if($r) {
+ if($r[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE) {
+ if(local_user() && get_account_id() == $r[0]['account_id'])
+ $x[] = 'application/x-php';
+ }
+ }
+
+ $o = t('Page content type: ');
+ $o .= '<select name="mimetype" id="mimetype-select">';
+ foreach($x as $y) {
+ $select = (($y == $current) ? ' selected="selected" ' : '');
+ $o .= '<option name="' . $y . '"' . $select . '>' . $y . '</option>';
+ }
+ $o .= '</select>';
+
+ return $o;
+}
-if(! function_exists('lang_selector')) {
function lang_selector() {
global $a;
@@ -1187,10 +1417,10 @@ function lang_selector() {
));
return $o;
-}}
+}
+
-if(! function_exists('return_bytes')) {
function return_bytes ($size_str) {
switch (substr ($size_str, -1))
{
@@ -1199,7 +1429,7 @@ function return_bytes ($size_str) {
case 'G': case 'g': return (int)$size_str * 1073741824;
default: return $size_str;
}
-}}
+}
function generate_user_guid() {
$found = true;
@@ -1253,63 +1483,6 @@ function base64url_decode($s) {
}
-if (!function_exists('str_getcsv')) {
- function str_getcsv($input, $delimiter = ',', $enclosure = '"', $escape = '\\', $eol = '\n') {
- if (is_string($input) && !empty($input)) {
- $output = array();
- $tmp = preg_split("/".$eol."/",$input);
- if (is_array($tmp) && !empty($tmp)) {
- while (list($line_num, $line) = each($tmp)) {
- if (preg_match("/".$escape.$enclosure."/",$line)) {
- while ($strlen = strlen($line)) {
- $pos_delimiter = strpos($line,$delimiter);
- $pos_enclosure_start = strpos($line,$enclosure);
- if (
- is_int($pos_delimiter) && is_int($pos_enclosure_start)
- && ($pos_enclosure_start < $pos_delimiter)
- ) {
- $enclosed_str = substr($line,1);
- $pos_enclosure_end = strpos($enclosed_str,$enclosure);
- $enclosed_str = substr($enclosed_str,0,$pos_enclosure_end);
- $output[$line_num][] = $enclosed_str;
- $offset = $pos_enclosure_end+3;
- } else {
- if (empty($pos_delimiter) && empty($pos_enclosure_start)) {
- $output[$line_num][] = substr($line,0);
- $offset = strlen($line);
- } else {
- $output[$line_num][] = substr($line,0,$pos_delimiter);
- $offset = (
- !empty($pos_enclosure_start)
- && ($pos_enclosure_start < $pos_delimiter)
- )
- ?$pos_enclosure_start
- :$pos_delimiter+1;
- }
- }
- $line = substr($line,$offset);
- }
- } else {
- $line = preg_split("/".$delimiter."/",$line);
-
- /*
- * Validating against pesky extra line breaks creating false rows.
- */
- if (is_array($line) && !empty($line[0])) {
- $output[$line_num] = $line;
- }
- }
- }
- return $output;
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
-}
-
function cleardiv() {
return '<div class="clear"></div>';
}
@@ -1357,7 +1530,7 @@ function array_xmlify($val){
function reltoabs($text, $base)
{
if (empty($base))
- return $text;
+ return $text;
$base = rtrim($base,'/');
@@ -1387,278 +1560,28 @@ function reltoabs($text, $base)
}
function item_post_type($item) {
- if(intval($item['event-id']))
- return t('event');
- if(strlen($item['resource_id']))
- return t('photo');
- if(strlen($item['verb']) && $item['verb'] !== ACTIVITY_POST)
- return t('activity');
- if($item['id'] != $item['parent'])
- return t('comment');
- return t('post');
-}
-// post categories and "save to file" use the same item.file table for storage.
-// We will differentiate the different uses by wrapping categories in angle brackets
-// and save to file categories in square brackets.
-// To do this we need to escape these characters if they appear in our tag.
-
-function file_tag_encode($s) {
- return str_replace(array('<','>','[',']'),array('%3c','%3e','%5b','%5d'),$s);
-}
-
-function file_tag_decode($s) {
- return str_replace(array('%3c','%3e','%5b','%5d'),array('<','>','[',']'),$s);
-}
-
-function file_tag_file_query($table,$s,$type = 'file') {
-
- if($type == 'file')
- $termtype = TERM_FILE;
- else
- $termtype = TERM_CATEGORY;
-
- return sprintf(" AND " . (($table) ? dbesc($table) . '.' : '') . "id in (select term.oid from term where term.type = %d and term.term = '%s' and term.uid = " . (($table) ? dbesc($table) . '.' : '') . "uid ) ",
- intval($termtype),
- protect_sprintf(dbesc($s))
- );
-}
-
-function term_query($table,$s,$type = TERM_UNKNOWN) {
-
- return sprintf(" AND " . (($table) ? dbesc($table) . '.' : '') . "id in (select term.oid from term where term.type = %d and term.term = '%s' and term.uid = " . (($table) ? dbesc($table) . '.' : '') . "uid ) ",
- intval($type),
- protect_sprintf(dbesc($s))
- );
-}
-
-// ex. given music,video return <music><video> or [music][video]
-function file_tag_list_to_file($list,$type = 'file') {
- $tag_list = '';
- if(strlen($list)) {
- $list_array = explode(",",$list);
- if($type == 'file') {
- $lbracket = '[';
- $rbracket = ']';
- }
- else {
- $lbracket = '<';
- $rbracket = '>';
- }
-
- foreach($list_array as $item) {
- if(strlen($item)) {
- $tag_list .= $lbracket . file_tag_encode(trim($item)) . $rbracket;
- }
- }
- }
- return $tag_list;
-}
-
-// ex. given <music><video>[friends], return music,video or friends
-function file_tag_file_to_list($file,$type = 'file') {
- $matches = false;
- $list = '';
- if($type == 'file') {
- $cnt = preg_match_all('/\[(.*?)\]/',$file,$matches,PREG_SET_ORDER);
- }
- else {
- $cnt = preg_match_all('/<(.*?)>/',$file,$matches,PREG_SET_ORDER);
- }
- if($cnt) {
- foreach($matches as $mtch) {
- if(strlen($list))
- $list .= ',';
- $list .= file_tag_decode($mtch[1]);
- }
- }
-
- return $list;
-}
-
-function file_tag_update_pconfig($uid,$file_old,$file_new,$type = 'file') {
- // $file_old - categories previously associated with an item
- // $file_new - new list of categories for an item
-
- if(! intval($uid))
- return false;
-
- if($file_old == $file_new)
- return true;
-
- $saved = get_pconfig($uid,'system','filetags');
- if(strlen($saved)) {
- if($type == 'file') {
- $lbracket = '[';
- $rbracket = ']';
- }
- else {
- $lbracket = '<';
- $rbracket = '>';
- }
-
- $filetags_updated = $saved;
-
- // check for new tags to be added as filetags in pconfig
- $new_tags = array();
- $check_new_tags = explode(",",file_tag_file_to_list($file_new,$type));
-
- foreach($check_new_tags as $tag) {
- if(! stristr($saved,$lbracket . file_tag_encode($tag) . $rbracket))
- $new_tags[] = $tag;
- }
-
- $filetags_updated .= file_tag_list_to_file(implode(",",$new_tags),$type);
-
- // check for deleted tags to be removed from filetags in pconfig
- $deleted_tags = array();
- $check_deleted_tags = explode(",",file_tag_file_to_list($file_old,$type));
-
- foreach($check_deleted_tags as $tag) {
- if(! stristr($file_new,$lbracket . file_tag_encode($tag) . $rbracket))
- $deleted_tags[] = $tag;
- }
-
- foreach($deleted_tags as $key => $tag) {
- $r = q("select file from item where uid = %d " . file_tag_file_query('item',$tag,$type),
- intval($uid)
- );
-
- if(count($r)) {
- unset($deleted_tags[$key]);
- }
- else {
- $filetags_updated = str_replace($lbracket . file_tag_encode($tag) . $rbracket,'',$filetags_updated);
- }
- }
-
- if($saved != $filetags_updated) {
- set_pconfig($uid,'system','filetags', $filetags_updated);
- }
- return true;
- }
- else
- if(strlen($file_new)) {
- set_pconfig($uid,'system','filetags', $file_new);
- }
- return true;
-}
-
-function store_item_tag($uid,$iid,$otype,$type,$term,$url = '') {
- if(! $term)
- return false;
- $r = q("select * from term
- where uid = %d and oid = %d and otype = %d and type = %d
- and term = '%s' and url = '%s' ",
- intval($uid),
- intval($iid),
- intval($otype),
- intval($type),
- dbesc($term),
- dbesc($url)
- );
- if(count($r))
- return false;
- $r = q("insert into term (uid, oid, otype, type, term, url)
- values( %d, %d, %d, %d, '%s', '%s') ",
- intval($uid),
- intval($iid),
- intval($otype),
- intval($type),
- dbesc($term),
- dbesc($url)
- );
- return $r;
-}
-
-function get_terms_oftype($arr,$type) {
- $ret = array();
- if(! (is_array($arr) && count($arr)))
- return $ret;
-
- if(! is_array($type))
- $type = array($type);
-
- foreach($type as $t)
- foreach($arr as $x)
- if($x['type'] == $t)
- $ret[] = $x;
- return $ret;
-}
-
-function format_term_for_display($term) {
- $s = '';
- if($term['type'] == TERM_HASHTAG)
- $s .= '#';
- elseif($term['type'] == TERM_MENTION)
- $s .= '@';
-
- if($term['url']) $s .= '<a target="extlink" href="' . $term['url'] . '">' . htmlspecialchars($term['term']) . '</a>';
- else $s .= htmlspecialchars($term['term']);
- return $s;
-}
+ switch($item['resource_type']) {
+ case 'photo':
+ $post_type = t('photo');
+ break;
+ case 'event':
+ $post_type = t('event');
+ break;
+ default:
+ $post_type = t('status');
+ if($item['mid'] != $item['parent_mid'])
+ $post_type = t('comment');
+ break;
+ }
+ if(strlen($item['verb']) && (! activity_match($item['verb'],ACTIVITY_POST)))
+ $post_type = t('activity');
-function file_tag_save_file($uid,$item,$file) {
- $result = false;
- if(! intval($uid))
- return false;
-
- $r = q("select file from item where id = %d and uid = %d limit 1",
- intval($item),
- intval($uid)
- );
- if(count($r)) {
- if(! stristr($r[0]['file'],'[' . file_tag_encode($file) . ']'))
- q("update item set file = '%s' where id = %d and uid = %d limit 1",
- dbesc($r[0]['file'] . '[' . file_tag_encode($file) . ']'),
- intval($item),
- intval($uid)
- );
- $saved = get_pconfig($uid,'system','filetags');
- if((! strlen($saved)) || (! stristr($saved,'[' . file_tag_encode($file) . ']')))
- set_pconfig($uid,'system','filetags',$saved . '[' . file_tag_encode($file) . ']');
- info( t('Item filed') );
- }
- return true;
+ return $post_type;
}
-function file_tag_unsave_file($uid,$item,$file,$cat = false) {
- $result = false;
- if(! intval($uid))
- return false;
-
- if($cat == true)
- $pattern = '<' . file_tag_encode($file) . '>' ;
- else
- $pattern = '[' . file_tag_encode($file) . ']' ;
-
-
- $r = q("select file from item where id = %d and uid = %d limit 1",
- intval($item),
- intval($uid)
- );
- if(! count($r))
- return false;
-
- q("update item set file = '%s' where id = %d and uid = %d limit 1",
- dbesc(str_replace($pattern,'',$r[0]['file'])),
- intval($item),
- intval($uid)
- );
-
- $r = q("select file from item where uid = %d and deleted = 0 " . file_tag_file_query('item',$file,(($cat) ? 'category' : 'file')),
- intval($uid)
- );
-
- if(! count($r)) {
- $saved = get_pconfig($uid,'system','filetags');
- set_pconfig($uid,'system','filetags',str_replace($pattern,'',$saved));
-
- }
- return true;
-}
function normalise_openid($s) {
return trim(str_replace(array('http://','https://'),array('',''),$s),'/');
@@ -1667,7 +1590,7 @@ function normalise_openid($s) {
function undo_post_tagging($s) {
$matches = null;
- $cnt = preg_match_all('/([@#])\[url=(.*?)\](.*?)\[\/url\]/ism',$s,$matches,PREG_SET_ORDER);
+ $cnt = preg_match_all('/([@#])\[zrl=(.*?)\](.*?)\[\/zrl\]/ism',$s,$matches,PREG_SET_ORDER);
if($cnt) {
foreach($matches as $mtch) {
$s = str_replace($mtch[0], $mtch[1] . $mtch[3],$s);
@@ -1757,7 +1680,7 @@ function ids_to_querystr($arr,$idx = 'id') {
// author_xchan and owner_xchan. If $abook is true also include the abook info.
// This is needed in the API to save extra per item lookups there.
-function xchan_query(&$items,$abook = false) {
+function xchan_query(&$items,$abook = true) {
$arr = array();
if($items && count($items)) {
foreach($items as $item) {
@@ -1769,8 +1692,10 @@ function xchan_query(&$items,$abook = false) {
}
if(count($arr)) {
if($abook) {
- $chans = q("select * from xchan left join hubloc on hubloc_hash = xchan_hash left join abook on abook_xchan = xchan_hash
- where xchan_hash in (" . implode(',', $arr) . ") and ( hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) . " )");
+ $chans = q("select * from xchan left join hubloc on hubloc_hash = xchan_hash left join abook on abook_xchan = xchan_hash and abook_channel = %d
+ where xchan_hash in (" . implode(',', $arr) . ") and ( hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) . " )",
+ intval($item['uid'])
+ );
}
else {
$chans = q("select xchan.*,hubloc.* from xchan left join hubloc on hubloc_hash = xchan_hash
@@ -1849,117 +1774,77 @@ function stringify_array_elms(&$arr,$escape = false) {
*/
function jindent($json) {
- $result = '';
- $pos = 0;
- $strLen = strlen($json);
- $indentStr = ' ';
- $newLine = "\n";
- $prevChar = '';
- $outOfQuotes = true;
+ $result = '';
+ $pos = 0;
+ $strLen = strlen($json);
+ $indentStr = ' ';
+ $newLine = "\n";
+ $prevChar = '';
+ $outOfQuotes = true;
- for ($i=0; $i<=$strLen; $i++) {
+ for ($i=0; $i<=$strLen; $i++) {
- // Grab the next character in the string.
- $char = substr($json, $i, 1);
+ // Grab the next character in the string.
+ $char = substr($json, $i, 1);
- // Are we inside a quoted string?
- if ($char == '"' && $prevChar != '\\') {
- $outOfQuotes = !$outOfQuotes;
-
- // If this character is the end of an element,
- // output a new line and indent the next line.
- } else if(($char == '}' || $char == ']') && $outOfQuotes) {
- $result .= $newLine;
- $pos --;
- for ($j=0; $j<$pos; $j++) {
- $result .= $indentStr;
- }
- }
-
- // Add the character to the result string.
- $result .= $char;
-
- // If the last character was the beginning of an element,
- // output a new line and indent the next line.
- if (($char == ',' || $char == '{' || $char == '[') && $outOfQuotes) {
- $result .= $newLine;
- if ($char == '{' || $char == '[') {
- $pos ++;
- }
-
- for ($j = 0; $j < $pos; $j++) {
- $result .= $indentStr;
- }
- }
-
- $prevChar = $char;
- }
+ // Are we inside a quoted string?
+ if ($char == '"' && $prevChar != '\\') {
+ $outOfQuotes = !$outOfQuotes;
+
+ // If this character is the end of an element,
+ // output a new line and indent the next line.
+ } else if(($char == '}' || $char == ']') && $outOfQuotes) {
+ $result .= $newLine;
+ $pos --;
+ for ($j=0; $j<$pos; $j++) {
+ $result .= $indentStr;
+ }
+ }
+
+ // Add the character to the result string.
+ $result .= $char;
+
+ // If the last character was the beginning of an element,
+ // output a new line and indent the next line.
+ if (($char == ',' || $char == '{' || $char == '[') && $outOfQuotes) {
+ $result .= $newLine;
+ if ($char == '{' || $char == '[') {
+ $pos ++;
+ }
+
+ for ($j = 0; $j < $pos; $j++) {
+ $result .= $indentStr;
+ }
+ }
+
+ $prevChar = $char;
+ }
- return $result;
+ return $result;
}
-// Tag cloud functions - need to be adpated to this database format
-
+function json_decode_plus($s) {
-function tagadelic($uid, $count = 0, $type = TERM_HASHTAG) {
+ $x = json_decode($s,true);
+ if(! $x)
+ $x = json_decode(str_replace(array('\\"','\\\\'),array('"','\\'),$s),true);
+ return $x;
- // Fetch tags
- $r = q("select term, count(term) as total from term
- where uid = %d and type = %d
- and otype = %d
- group by term order by total desc %s",
- intval($uid),
- intval($type),
- intval(TERM_OBJ_POST),
- ((intval($count)) ? "limit $count" : '')
- );
-
- if(! $r)
- return array();
-
- // Find minimum and maximum log-count.
- $tags = array();
- $min = 1e9;
- $max = -1e9;
-
- $x = 0;
- foreach($r as $rr) {
- $tags[$x][0] = $rr['term'];
- $tags[$x][1] = log($rr['total']);
- $tags[$x][2] = 0;
- $min = min($min,$tags[$x][1]);
- $max = max($max,$tags[$x][1]);
- $x ++;
- }
-
- usort($tags,'tags_sort');
-
- $range = max(.01, $max - $min) * 1.0001;
-
- for($x = 0; $x < count($tags); $x ++) {
- $tags[$x][2] = 1 + floor(5 * ($tags[$x][1] - $min) / $range);
- }
-
- return $tags;
}
-function tags_sort($a,$b) {
- if($a[0] == $b[0])
- return 0;
- return((strtolower($a[0]) < strtolower($b[0])) ? -1 : 1);
-}
+function design_tools() {
+// FIXME - this should be a template
-function tagblock($link,$uid,$count = 0,$type = TERM_HASHTAG) {
- $tab = 0;
- $r = tagadelic($uid,$count,$type);
+ $o = '<div class="widget design-tools">';
+ $o .= '<h3>' . t('Design') . '</h3>';
+ $o .= '<a href="blocks">' . t('Blocks') . '</a>' . EOL;
+ $o .= '<a href="menu">' . t('Menus') . '</a>' . EOL;
+ $o .= '<a href="layout">' . t('Layouts') . '</a>' . EOL;
+ $o .= '<a href="webpages">' . t('Pages') . '</a>' . EOL;
+ $o .= '</div>';
+ return $o;
- if($r) {
- echo '<div class="tags" align="center">';
- foreach($r as $rr) {
- echo '<a href="'.$link .'/' . '?f=&tag=' . urlencode($rr[0]).'" class="tag'.$rr[2].'">'.$rr[0].'</a> ';
- }
- echo '</div>';
- }
}
+
diff --git a/include/zot.php b/include/zot.php
index 524f958ad..c416d18f9 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
require_once('include/crypto.php');
require_once('include/items.php');
@@ -47,34 +47,6 @@ function zot_get_hubloc($arr,$primary = false) {
}
-function zot_notify($channel,$url,$type = 'notify',$recipients = null, $remote_key = null) {
-
- $params = array(
- 'type' => $type,
- 'sender' => json_encode(array(
- 'guid' => $channel['channel_guid'],
- 'guid_sig' => base64url_encode(rsa_sign($channel['channel_guid'],$channel['channel_prvkey'])),
- 'url' => z_root(),
- 'url_sig' => base64url_encode(rsa_sign(z_root(),$channel['channel_prvkey']))
- )),
- 'callback' => '/post',
- 'version' => ZOT_REVISION
- );
-
-
- if($recipients)
- $params['recipients'] = json_encode($recipients);
-
- // Hush-hush ultra top-secret mode
-
- if($remote_key) {
- $params = aes_encapsulate($params,$remote_key);
- }
-
- $x = z_post_url($url,$params);
- return($x);
-}
-
/*
*
* zot_build_packet builds a notification packet that you can either
@@ -117,10 +89,33 @@ function zot_build_packet($channel,$type = 'notify',$recipients = null, $remote_
}
+/**
+ * @function: zot_zot
+ * @param: string $url
+ * @param: array $data
+ *
+ * @returns: array => see z_post_url for returned data format
+ */
+
+
+
function zot_zot($url,$data) {
return z_post_url($url,array('data' => $data));
}
+/**
+ * @function: zot_finger
+ *
+ * Look up information about channel
+ * @param: string $webbie
+ * does not have to be host qualified e.g. 'foo' is treated as 'foo@thishub'
+ * @param: array $channel
+ * (optional), if supplied permissions will be enumerated specifically for $channel
+ *
+ * @returns: array => see z_post_url and mod/zfinger.php
+ */
+
+
function zot_finger($webbie,$channel) {
@@ -135,10 +130,15 @@ function zot_finger($webbie,$channel) {
$xchan_addr = $address . '@' . $host;
+ if((! $address) || (! $xchan_addr)) {
+ logger('zot_finger: no address :' . $webbie);
+ return array('success' => false);
+ }
+
$r = q("select xchan.*, hubloc.* from xchan
left join hubloc on xchan_hash = hubloc_hash
where xchan_addr = '%s' and (hubloc_flags & %d) limit 1",
- dbesc($xchan_address),
+ dbesc($xchan_addr),
intval(HUBLOC_FLAGS_PRIMARY)
);
@@ -152,7 +152,7 @@ function zot_finger($webbie,$channel) {
$rhs = '/.well-known/zot-info';
$https = ((strpos($url,'https://') === 0) ? true : false);
- logger('zot_finger: ' . $url, LOGGER_DEBUG);
+ logger('zot_finger: ' . $address . ' at ' . $url, LOGGER_DEBUG);
if($channel) {
$postvars = array(
@@ -191,6 +191,15 @@ function zot_finger($webbie,$channel) {
}
+/**
+ * @function: zot_refresh
+ *
+ * zot_refresh is typically invoked when somebody has changed permissions of a channel and they are notified
+ * to fetch new permissions via a finger operation. This may result in a new connection (abook entry) being added to a local channel
+ * and it may result in auto-permissions being granted.
+ *
+ */
+
function zot_refresh($them,$channel = null) {
logger('zot_refresh: them: ' . print_r($them,true), LOGGER_DATA);
@@ -329,37 +338,25 @@ function zot_refresh($them,$channel = null) {
intval(ABOOK_FLAG_SELF)
);
if($z)
- proc_run('php','include/notifier.php','permissions_update',$z[0]['abook_id']);
+ proc_run('php','include/notifier.php','permission_update',$z[0]['abook_id']);
}
}
}
}
- else {
-
- logger('zot_refresh: importing profile if available');
-
- // Are we a directory server of some kind?
- $dirmode = intval(get_config('system','directory_mode'));
- if($dirmode != DIRECTORY_MODE_NORMAL) {
- if(array_key_exists('profile',$x) && is_array($x['profile'])) {
- import_directory_profile($x['hash'],$x['profile']);
- }
- else {
- // they may have made it private
- $r = q("delete from xprof where xprof_hash = '%s' limit 1",
- dbesc($x['hash'])
- );
- $r = q("delete from xtag where xtag_hash = '%s' limit 1",
- dbesc($x['hash'])
- );
- }
- }
- }
return true;
}
return false;
}
+/**
+ * @function: zot_gethub
+ *
+ * A guid and a url, both signed by the sender, distinguish a known sender at a known location
+ * This function looks these up to see if the channel is known. If not, we will need to verify it.
+ * @returns: array => hubloc record
+ */
+
+
function zot_gethub($arr) {
@@ -378,7 +375,7 @@ function zot_gethub($arr) {
return $r[0];
}
}
- logger('zot_gethub: not found', LOGGER_DEBUG);
+ logger('zot_gethub: not found: ' . print_r($arr,true), LOGGER_DEBUG);
return null;
}
@@ -417,6 +414,17 @@ function zot_register_hub($arr) {
function import_xchan($arr) {
$ret = array('success' => false);
+ $dirmode = intval(get_config('system','directory_mode'));
+
+ $changed = false;
+ $what = '';
+
+ if(! (is_array($arr) && array_key_exists('success',$arr) && $arr['success'])) {
+ logger('import_xchan: invalid data packet: ' . print_r($arr,true));
+ $ret['message'] = t('Invalid data packet');
+ return $ret;
+ }
+
$xchan_hash = base64url_encode(hash('whirlpool',$arr['guid'] . $arr['guid_sig'], true));
$import_photos = false;
@@ -427,10 +435,18 @@ function import_xchan($arr) {
return $ret;
}
+
+ logger('import_xchan: ' . $xchan_hash, LOGGER_DEBUG);
+
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($xchan_hash)
);
+ if(! array_key_exists('connect_url', $arr))
+ $arr['connect_url'] = '';
+
+ if(strpos($arr['address'],'/') !== false)
+ $arr['address'] = substr($arr['address'],0,strpos($arr['address'],'/'));
if($r) {
if($r[0]['xchan_photo_date'] != $arr['photo_updated'])
@@ -452,23 +468,53 @@ function import_xchan($arr) {
$new_flags = $r[0]['xchan_flags'] ^ XCHAN_FLAGS_HIDDEN;
else
$new_flags = $r[0]['xchan_flags'];
-
-
- if(($r[0]['xchan_name_date'] != $arr['name_updated']) || ($r[0]['xchan_connurl'] != $arr['connections_url']) || ($r[0]['xchan_flags'] != $new_flags)) {
- $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_connurl = '%s', xchan_flags = %d where xchan_hash = '%s' limit 1",
+
+
+ if(($r[0]['xchan_name_date'] != $arr['name_updated'])
+ || ($r[0]['xchan_connurl'] != $arr['connections_url'])
+ || ($r[0]['xchan_flags'] != $new_flags)
+ || ($r[0]['xchan_addr'] != $arr['address'])
+ || ($r[0]['xchan_follow'] != $arr['follow_url'])
+ || ($r[0]['xchan_connpage'] != $arr['connect_url'])
+ || ($r[0]['xchan_url'] != $arr['url'])) {
+ $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_connurl = '%s', xchan_follow = '%s',
+ xchan_connpage = '%s', xchan_flags = %d,
+ xchan_addr = '%s', xchan_url = '%s' where xchan_hash = '%s' limit 1",
dbesc($arr['name']),
dbesc($arr['name_updated']),
dbesc($arr['connections_url']),
+ dbesc($arr['follow_url']),
+ dbesc($arr['connect_url']),
intval($new_flags),
+ dbesc($arr['address']),
+ dbesc($arr['url']),
dbesc($xchan_hash)
);
+
+ logger('import_xchan: existing: ' . print_r($r[0],true), LOGGER_DATA);
+ logger('import_xchan: new: ' . print_r($arr,true), LOGGER_DATA);
+ $what .= 'xchan ';
+ $changed = true;
}
}
else {
$import_photos = true;
+
+
+ if((($arr['site']['directory_mode'] === 'standalone') || ($dirmode & DIRECTORY_MODE_STANDALONE))
+&& ($arr['site']['url'] != z_root()))
+ $arr['searchable'] = false;
+
+ $hidden = (1 - intval($arr['searchable']));
+
+ if($hidden)
+ $new_flags = XCHAN_FLAGS_HIDDEN;
+ else
+ $new_flags = 0;
+
$x = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_mimetype,
- xchan_photo_l, xchan_addr, xchan_url, xchan_connurl, xchan_name, xchan_network, xchan_photo_date, xchan_name_date)
- values ( '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ",
+ xchan_photo_l, xchan_addr, xchan_url, xchan_connurl, xchan_follow, xchan_connpage, xchan_name, xchan_network, xchan_photo_date, xchan_name_date, xchan_flags)
+ values ( '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d) ",
dbesc($xchan_hash),
dbesc($arr['guid']),
dbesc($arr['guid_sig']),
@@ -478,18 +524,24 @@ function import_xchan($arr) {
dbesc($arr['address']),
dbesc($arr['url']),
dbesc($arr['connections_url']),
+ dbesc($arr['follow_url']),
+ dbesc($arr['connect_url']),
dbesc($arr['name']),
dbesc('zot'),
dbesc($arr['photo_updated']),
- dbesc($arr['name_updated'])
+ dbesc($arr['name_updated']),
+ intval($new_flags)
);
+ $what .= 'new_xchan';
+ $changed = true;
+
}
if($import_photos) {
- require_once("Photo.php");
+ require_once('include/photo/photo_driver.php');
$photos = import_profile_photo($arr['photo'],$xchan_hash);
$r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
@@ -501,9 +553,20 @@ function import_xchan($arr) {
dbesc($photos[3]),
dbesc($xchan_hash)
);
+
+ $what .= 'photo ';
+ $changed = true;
}
+ // what we are missing for true hub independence is for any changes in the primary hub to
+ // get reflected not only in the hublocs, but also to update the URLs and addr in the appropriate xchan
+
if($arr['locations']) {
+
+ $xisting = q("select hubloc_id, hubloc_url from hubloc where hubloc_hash = '%s'",
+ dbesc($xchan_hash)
+ );
+
foreach($arr['locations'] as $location) {
if(! rsa_verify($location['url'],base64url_decode($location['url_sig']),$arr['key'])) {
logger('import_xchan: Unable to verify site signature for ' . $location['url']);
@@ -511,22 +574,76 @@ function import_xchan($arr) {
continue;
}
- $r = q("select * from hubloc where hubloc_hash = '%s' and hubloc_url = '%s' limit 1",
+ for($x = 0; $x < count($xisting); $x ++) {
+ if($xisting[$x]['hubloc_url'] == $location['url']) {
+ $xisting[$x]['updated'] = true;
+ }
+ }
+
+ // match as many fields as possible in case anything at all changed.
+
+ $r = q("select * from hubloc where hubloc_hash = '%s' and hubloc_guid = '%s' and hubloc_guid_sig = '%s' and hubloc_url = '%s' and hubloc_url_sig = '%s' and hubloc_host = '%s' and hubloc_addr = '%s' and hubloc_callback = '%s' and hubloc_sitekey = '%s' limit 1",
dbesc($xchan_hash),
- dbesc($location['url'])
+ dbesc($arr['guid']),
+ dbesc($arr['guid_sig']),
+ dbesc($location['url']),
+ dbesc($location['url_sig']),
+ dbesc($location['host']),
+ dbesc($location['address']),
+ dbesc($location['callback']),
+ dbesc($location['sitekey'])
);
if($r) {
- if(($r[0]['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) && (! $location['primary'])) {
- $r = q("update hubloc set hubloc_flags = (hubloc_flags ^ %d) where hubloc_id = %d limit 1",
+ logger('import_xchan: hub exists: ' . $location['url']);
+ // update connection timestamp
+ q("update hubloc set hubloc_connected = '%s' where hubloc_id = %d limit 1",
+ dbesc(datetime_convert()),
+ intval($r[0]['hubloc_id'])
+ );
+ if((($r[0]['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) && (! $location['primary']))
+ || ((! ($r[0]['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY)) && ($location['primary']))) {
+ $r = q("update hubloc set hubloc_flags = (hubloc_flags ^ %d), hubloc_updated = '%s' where hubloc_id = %d limit 1",
intval(HUBLOC_FLAGS_PRIMARY),
+ dbesc(datetime_convert()),
intval($r[0]['hubloc_id'])
);
+ $what = 'primary_hub ';
+ $changed = true;
}
+ if((($r[0]['hubloc_flags'] & HUBLOC_FLAGS_DELETED) && (! $location['deleted']))
+ || ((! ($r[0]['hubloc_flags'] & HUBLOC_FLAGS_DELETED)) && ($location['deleted']))) {
+ $r = q("update hubloc set hubloc_flags = (hubloc_flags ^ %d), hubloc_updated = '%s' where hubloc_id = %d limit 1",
+ intval(HUBLOC_FLAGS_DELETED),
+ dbesc(datetime_convert()),
+ intval($r[0]['hubloc_id'])
+ );
+ $what = 'delete_hub ';
+ $changed = true;
+ }
+ continue;
+ }
+
+ if(! $location['sitekey']) {
+ logger('import_xchan: empty hubloc sitekey. ' . print_r($location,true));
continue;
}
- $r = q("insert into hubloc ( hubloc_guid, hubloc_guid_sig, hubloc_hash, hubloc_addr, hubloc_flags, hubloc_url, hubloc_url_sig, hubloc_host, hubloc_callback, hubloc_sitekey)
- values ( '%s','%s','%s','%s', %d ,'%s','%s','%s','%s','%s')",
+ if(strpos($location['address'],'/') !== false)
+ $location['address'] = substr($location['address'],0,strpos($location['address'],'/'));
+
+ // new hub claiming to be primary. Make it so.
+
+ if(intval($location['primary'])) {
+ $r = q("update hubloc set hubloc_flags = (hubloc_flags ^ %d), hubloc_updated = '%s' where hubloc_hash = '%s' and (hubloc_flags & %d )",
+ intval(HUBLOC_FLAGS_PRIMARY),
+ dbesc(datetime_convert()),
+ dbesc($xchan_hash),
+ intval(HUBLOC_FLAGS_PRIMARY)
+ );
+ }
+ logger('import_xchan: new hub: ' . $location['url']);
+ $r = q("insert into hubloc ( hubloc_guid, hubloc_guid_sig, hubloc_hash, hubloc_addr, hubloc_flags, hubloc_url, hubloc_url_sig, hubloc_host, hubloc_callback, hubloc_sitekey, hubloc_updated, hubloc_connected)
+ values ( '%s','%s','%s','%s', %d ,'%s','%s','%s','%s','%s','%s','%s')",
dbesc($arr['guid']),
dbesc($arr['guid_sig']),
dbesc($xchan_hash),
@@ -536,11 +653,66 @@ function import_xchan($arr) {
dbesc($location['url_sig']),
dbesc($location['host']),
dbesc($location['callback']),
- dbesc($location['sitekey'])
+ dbesc($location['sitekey']),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert())
+ );
+ $what .= 'newhub ';
+ $changed = true;
+ }
+
+ // get rid of any hubs we have for this channel which weren't reported.
+ if($xisting) {
+ foreach($xisting as $x) {
+ if(! array_key_exists('updated',$x)) {
+ logger('import_xchan: removing unreferenced hub location ' . $x['hubloc_url']);
+ $r = q("delete from hubloc where hubloc_id = %d limit 1",
+ intval($x['hubloc_id'])
+ );
+ $what .= 'removed_hub';
+ $changed = true;
+ }
+ }
+ }
+
+ }
+
+ // Are we a directory server of some kind?
+
+ if($dirmode != DIRECTORY_MODE_NORMAL) {
+ if(array_key_exists('profile',$arr) && is_array($arr['profile'])) {
+ $profile_changed = import_directory_profile($xchan_hash,$arr['profile']);
+ if($profile_changed) {
+ $what .= 'profile ';
+ $changed = true;
+ }
+ }
+ else {
+ logger('import_xchan: profile not available - hiding');
+ // they may have made it private
+ $r = q("delete from xprof where xprof_hash = '%s' limit 1",
+ dbesc($xchan_hash)
+ );
+ $r = q("delete from xtag where xtag_hash = '%s' limit 1",
+ dbesc($xchan_hash)
);
+ }
+ }
+ if(array_key_exists('site',$arr) && is_array($arr['site'])) {
+ $profile_changed = import_site($arr['site'],$arr['key']);
+ if($profile_changed) {
+ $what .= 'site ';
+ $changed = true;
}
+ }
+
+
+ if($changed) {
+ $guid = random_string() . '@' . get_app()->get_hostname();
+ update_modtime($xchan_hash,$guid);
+ logger('import_xchan: changed: ' . $what,LOGGER_DEBUG);
}
if(! x($ret,'message')) {
@@ -586,6 +758,18 @@ function zot_process_response($hub,$arr,$outq) {
logger('zot_process_response: ' . print_r($x,true), LOGGER_DATA);
}
+/**
+ * @function: zot_fetch
+ *
+ * We received a notification packet (in mod/post.php) that a message is waiting for us, and we've verified the sender.
+ * Now send back a pickup message, using our message tracking ID ($arr['secret']), which we will sign.
+ * The entire pickup message is encrypted with the remote site's public key.
+ * If everything checks out on the remote end, we will receive back a packet containing one or more messages,
+ * which will be processed before returning.
+ *
+ */
+
+
function zot_fetch($arr) {
logger('zot_fetch: ' . print_r($arr,true), LOGGER_DATA);
@@ -594,7 +778,7 @@ function zot_fetch($arr) {
$ret_hub = zot_gethub($arr['sender']);
if(! $ret_hub) {
- logger('zot_fetch: not ret_hub');
+ logger('zot_fetch: no hub: ' . print_r($arr['sender'],true));
return;
}
@@ -620,11 +804,17 @@ function zot_fetch($arr) {
return $result;
}
+/**
+ * @function zot_import
+ *
+ * Process an incoming array of messages which were obtained via pickup, and
+ * import, update, delete as directed.
+ *
+ * The message types handled here are 'activity' (e.g. posts), 'mail' and 'profile'
+ */
function zot_import($arr) {
-// logger('zot_import: ' . print_r($arr,true), LOGGER_DATA);
-
$data = json_decode($arr['body'],true);
if(! $data) {
@@ -632,14 +822,10 @@ function zot_import($arr) {
return array();
}
-// logger('zot_import: data1: ' . print_r($data,true));
-
if(array_key_exists('iv',$data)) {
$data = json_decode(aes_unencapsulate($data,get_config('system','prvkey')),true);
}
- logger('zot_import: data' . print_r($data,true), LOGGER_DATA);
-
$incoming = $data['pickup'];
$return = array();
@@ -677,12 +863,19 @@ function zot_import($arr) {
}
else {
+ if((array_key_exists('flags',$i['message'])) && (in_array('private',$i['message']['flags']))) {
+ // This should not happen but until we can stop it...
+ logger('private message was delivered with no recipients.');
+ continue;
+ }
+
logger('public post');
// Public post. look for any site members who are or may be accepting posts from this sender
// and who are allowed to see them based on the sender's permissions
$deliveries = allowed_public_recips($i);
+
}
if(! $deliveries) {
logger('zot_import: no deliveries on this site');
@@ -692,10 +885,12 @@ function zot_import($arr) {
if($i['message']) {
if($i['message']['type'] === 'activity') {
$arr = get_item_elements($i['message']);
+
if(! array_key_exists('created',$arr)) {
logger('Activity rejected: probable failure to lookup author/owner. ' . print_r($i['message'],true));
continue;
}
+
logger('Activity received: ' . print_r($arr,true), LOGGER_DATA);
logger('Activity recipients: ' . print_r($deliveries,true), LOGGER_DATA);
@@ -722,9 +917,20 @@ function zot_import($arr) {
$result = process_profile_delivery($i['notify']['sender'],$arr,$deliveries);
}
+ elseif($i['message']['type'] === 'channel_sync') {
+// $arr = get_channelsync_elements($i['message']);
+
+ $arr = $i['message'];
+
+ logger('Channel sync received: ' . print_r($arr,true), LOGGER_DATA);
+ logger('Channel sync recipients: ' . print_r($deliveries,true), LOGGER_DATA);
+
+ $result = process_channel_sync_delivery($i['notify']['sender'],$arr,$deliveries);
+ }
}
- if($result)
+ if($result){
$return = array_merge($return,$result);
+ }
}
}
@@ -743,14 +949,24 @@ function zot_import($arr) {
function public_recips($msg) {
+ $check_mentions = false;
if($msg['message']['type'] === 'activity') {
+ $col = 'channel_w_stream';
+ $field = PERMS_W_STREAM;
if(array_key_exists('flags',$msg['message']) && in_array('thread_parent', $msg['message']['flags'])) {
- $col = 'channel_w_stream';
- $field = PERMS_W_STREAM;
+ // check mention recipient permissions on top level posts only
+ $check_mentions = true;
}
else {
- $col = 'channel_w_comment';
- $field = PERMS_W_COMMENT;
+ // if this is a comment and it wasn't sent by the post owner, check to see who is allowing them to comment.
+ // We should have one specific recipient and this step shouldn't be needed unless somebody stuffed up their software.
+ // We may need this step to protect us from bad guys intentionally stuffing up their software.
+ // If it is sent by the post owner, we don't need to do this. We only need to see who is receiving the
+ // owner's stream (which was already set above) - as they control the comment permissions
+ if($msg['notify']['sender']['guid_sig'] != $msg['message']['owner']['guid_sig']) {
+ $col = 'channel_w_comment';
+ $field = PERMS_W_COMMENT;
+ }
}
}
elseif($msg['message']['type'] === 'mail') {
@@ -761,10 +977,11 @@ function public_recips($msg) {
if(! $col)
return NULL;
+
if($msg['notify']['sender']['url'] === z_root())
- $sql = " where (( " . $col . " & " . PERMS_NETWORK . " ) or ( " . $col . " & " . PERMS_SITE . " )) ";
+ $sql = " where (( " . $col . " & " . PERMS_NETWORK . " ) or ( " . $col . " & " . PERMS_SITE . " ) or ( " . $col . " & " . PERMS_PUBLIC . ")) ";
else
- $sql = " where ( " . $col . " & " . PERMS_NETWORK . " ) " ;
+ $sql = " where (( " . $col . " & " . PERMS_NETWORK . " ) or ( " . $col . " & " . PERMS_PUBLIC . ")) ";
$r = q("select channel_hash as hash from channel " . $sql );
@@ -772,7 +989,7 @@ function public_recips($msg) {
$r = array();
$x = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_xchan = '%s'
- and (( " . $col . " & " . PERMS_SPECIFIC . " ) OR ( " . $col . " & " . PERMS_CONTACTS . " )) and ( abook_my_perms & " . $field . " ) ",
+ and (( " . $col . " & " . PERMS_SPECIFIC . " ) and ( abook_my_perms & " . $field . " )) OR ( " . $col . " & " . PERMS_CONTACTS . " ) ",
dbesc($msg['notify']['sender']['hash'])
);
@@ -781,6 +998,27 @@ function public_recips($msg) {
$r = array_merge($r,$x);
+ // look for any public mentions on this site
+ // They will get filtered by tgroup_check() so we don't need to check permissions now
+
+ if($check_mentions && $msg['message']['tags']) {
+ if(is_array($msg['message']['tags']) && $msg['message']['tags']) {
+ foreach($msg['message']['tags'] as $tag) {
+ if(($tag['type'] === 'mention') && (strpos($tag['url'],z_root()) !== false)) {
+ $address = basename($tag['url']);
+ if($address) {
+ $z = q("select channel_hash as hash from channel where channel_address = '%s' limit 1",
+ dbesc($address)
+ );
+ if($z)
+ $r = array_merge($r,$z);
+ }
+ }
+ }
+ }
+ }
+
+ logger('public_recips: ' . print_r($r,true), LOGGER_DATA);
return $r;
}
@@ -832,7 +1070,7 @@ function allowed_public_recips($msg) {
$condensed_recips[] = $rr['hash'];
$results = array();
- $r = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_hash = '%s' ",
+ $r = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_xchan = '%s' ",
dbesc($hash)
);
if($r) {
@@ -857,34 +1095,52 @@ function process_delivery($sender,$arr,$deliveries,$relay) {
);
if(! $r) {
- $result[] = array($d['hash'],'not found');
+ $result[] = array($d['hash'],'recipients not found');
continue;
}
$channel = $r[0];
- $perm = (($arr['uri'] == $arr['parent_uri']) ? 'send_stream' : 'post_comments');
+ $tag_delivery = tgroup_check($channel['channel_id'],$arr);
+
+ $perm = (($arr['mid'] == $arr['parent_mid']) ? 'send_stream' : 'post_comments');
+
+ // This is our own post, possibly coming from a channel clone
+
+ if($arr['owner_xchan'] == $d['hash']) {
+ $arr['item_flags'] = $arr['item_flags'] | ITEM_WALL;
+ }
+ else {
+ // clear the wall flag if it is set
+ if($arr['item_flags'] & ITEM_WALL) {
+ $arr['item_flags'] = ($arr['item_flags'] ^ ITEM_WALL);
+ }
+ }
- if(! perm_is_allowed($channel['channel_id'],$sender['hash'],$perm)) {
+ if((! perm_is_allowed($channel['channel_id'],$sender['hash'],$perm)) && (! $tag_delivery)) {
logger("permission denied for delivery {$channel['channel_id']}");
- $result[] = array($d['hash'],'permission denied');
+ $result[] = array($d['hash'],'permission denied',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>');
continue;
}
if($arr['item_restrict'] & ITEM_DELETED) {
+
+ // remove_community_tag is a no-op if this isn't a community tag activity
+ remove_community_tag($sender,$arr,$channel['channel_id']);
+
$item_id = delete_imported_item($sender,$arr,$channel['channel_id']);
- $result[] = array($d['hash'],'deleted');
+ $result[] = array($d['hash'],'deleted',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>');
if($relay && $item_id) {
logger('process_delivery: invoking relay');
proc_run('php','include/notifier.php','relay',intval($item_id));
- $result[] = array($d['hash'],'relayed');
+ $result[] = array($d['hash'],'relayed',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>');
}
continue;
}
- // for events, extract the event info and create and event linked to an item
+ // for events, extract the event info and create an event linked to an item
if((x($arr,'obj_type')) && (activity_match($arr['obj_type'],ACTIVITY_OBJ_EVENT))) {
require_once('include/event.php');
@@ -894,13 +1150,13 @@ function process_delivery($sender,$arr,$deliveries,$relay) {
$ev['uid'] = $channel['channel_id'];
$ev['account'] = $channel['channel_account_id'];
$ev['edited'] = $arr['edited'];
- $ev['uri'] = $arr['uri'];
+ $ev['mid'] = $arr['mid'];
$ev['private'] = $arr['item_private'];
// is this an edit?
- $r = q("SELECT resource_id FROM item where uri = '%s' and uid = %d and resource_type = 'event' limit 1",
- dbesc($arr['uri']),
+ $r = q("SELECT resource_id FROM item where mid = '%s' and uid = %d and resource_type = 'event' limit 1",
+ dbesc($arr['mid']),
intval($channel['channel_id'])
);
if($r) {
@@ -909,34 +1165,38 @@ function process_delivery($sender,$arr,$deliveries,$relay) {
$xyz = event_store($ev);
- $result = array($d['hash'],'event processed');
+ $result = array($d['hash'],'event processed',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>');
continue;
}
}
- $r = q("select id, edited from item where uri = '%s' and uid = %d limit 1",
- dbesc($arr['uri']),
+ $r = q("select id, edited from item where mid = '%s' and uid = %d limit 1",
+ dbesc($arr['mid']),
intval($channel['channel_id'])
);
if($r) {
- if($arr['edited'] > $r[0]['edited'])
+ if($arr['edited'] > $r[0]['edited']) {
+ $arr['id'] = $r[0]['id'];
+ $arr['uid'] = $channel['channel_id'];
update_imported_item($sender,$arr,$channel['channel_id']);
- $result[] = array($d['hash'],'updated');
+ }
+ $result[] = array($d['hash'],'updated',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>');
$item_id = $r[0]['id'];
}
else {
$arr['aid'] = $channel['channel_account_id'];
$arr['uid'] = $channel['channel_id'];
- $item_id = item_store($arr);
- $result[] = array($d['hash'],'posted');
+ $item_result = item_store($arr);
+ $item_id = $item_result['item_id'];
+ $result[] = array($d['hash'],(($item_id) ? 'posted' : 'storage failed:' . $item_result['message']),$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>');
}
if($relay && $item_id) {
logger('process_delivery: invoking relay');
proc_run('php','include/notifier.php','relay',intval($item_id));
- $result[] = array($d['hash'],'relayed');
+ $result[] = array($d['hash'],'relayed',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>');
}
}
@@ -949,9 +1209,75 @@ function process_delivery($sender,$arr,$deliveries,$relay) {
}
+function remove_community_tag($sender,$arr,$uid) {
+
+ if(! (activity_match($arr['verb'],ACTIVITY_TAG) && ($arr['obj_type'] == ACTIVITY_OBJ_TAGTERM)))
+ return;
+
+ logger('remove_community_tag: invoked');
+
+
+ if(! get_pconfig($uid,'system','blocktags')) {
+ logger('remove_community tag: permission denied.');
+ return;
+ }
+
+ $r = q("select * from item where mid = '%s' and uid = %d limit 1",
+ dbesc($arr['mid']),
+ intval($uid)
+ );
+ if(! $r) {
+ logger('remove_community_tag: no item');
+ return;
+ }
+
+ if(($sender['hash'] != $r[0]['owner_xchan']) && ($sender['hash'] != $r[0]['author_xchan'])) {
+ logger('remove_community_tag: sender not authorised.');
+ return;
+ }
+
+ $i = $r[0];
+
+ if($i['target'])
+ $i['target'] = json_decode_plus($i['target']);
+ if($i['object'])
+ $i['object'] = json_decode_plus($i['object']);
+
+ if(! ($i['target'] && $i['object'])) {
+ logger('remove_community_tag: no target/object');
+ return;
+ }
+
+ $message_id = $i['target']['id'];
+
+ $r = q("select id from item where mid = '%s' and uid = %d limit 1",
+ dbesc($message_id),
+ intval($uid)
+ );
+ if(! $r) {
+ logger('remove_community_tag: no parent message');
+ return;
+ }
+
+ $x = q("delete from term where uid = %d and oid = %d and otype = %d and type = %d and term = '%s' and url = '%s' limit 1",
+ intval($uid),
+ intval($r[0]['id']),
+ intval(TERM_OBJ_POST),
+ intval(TERM_HASHTAG),
+ dbesc($i['object']['title']),
+ dbesc(get_rel_link($i['object']['link'],'alternate'))
+ );
+
+ return;
+}
+
function update_imported_item($sender,$item,$uid) {
-// FIXME
- logger('update_imported_item');
+
+ $x = item_store_update($item);
+ if(! $x['item_id'])
+ logger('update_imported_item: failed: ' . $x['message']);
+ else
+ logger('update_imported_item');
}
@@ -960,10 +1286,10 @@ 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' )
- and uri = '%s' and uid = %d limit 1",
+ and mid = '%s' and uid = %d limit 1",
dbesc($sender['hash']),
dbesc($sender['hash']),
- dbesc($item['uri']),
+ dbesc($item['mid']),
intval($uid)
);
@@ -978,37 +1304,56 @@ function delete_imported_item($sender,$item,$uid) {
}
function process_mail_delivery($sender,$arr,$deliveries) {
+
+
+ $result = array();
foreach($deliveries as $d) {
$r = q("select * from channel where channel_hash = '%s' limit 1",
dbesc($d['hash'])
);
- if(! $r)
+ if(! $r) {
+ $result[] = array($d['hash'],'not found');
continue;
+ }
$channel = $r[0];
if(! perm_is_allowed($channel['channel_id'],$sender['hash'],'post_mail')) {
logger("permission denied for mail delivery {$channel['channel_id']}");
+ $result[] = array($d['hash'],'permission denied',$channel['channel_name']);
continue;
}
- $r = q("select id from mail where uri = '%s' and channel_id = %d limit 1",
- dbesc($arr['uri']),
+ $r = q("select id from mail where mid = '%s' and channel_id = %d limit 1",
+ dbesc($arr['mid']),
intval($channel['channel_id'])
);
if($r) {
- logger('duplicate mail received');
+ if($arr['mail_flags'] & MAIL_RECALLED) {
+ $x = q("delete from mail where id = %d and channel_id = %d limit 1",
+ intval($r[0]['id']),
+ intval($channel['channel_id'])
+ );
+ $result[] = array($d['hash'],'mail recalled',$channel['channel_name']);
+ logger('mail_recalled');
+ }
+ else {
+ $result[] = array($d['hash'],'duplicate mail received',$channel['channel_name']);
+ logger('duplicate mail received');
+ }
continue;
}
else {
$arr['account_id'] = $channel['channel_account_id'];
$arr['channel_id'] = $channel['channel_id'];
$item_id = mail_store($arr);
+ $result[] = array($d['hash'],'mail delivered',$channel['channel_name']);
}
}
+ return $result;
}
function process_profile_delivery($sender,$arr,$deliveries) {
@@ -1019,17 +1364,26 @@ function process_profile_delivery($sender,$arr,$deliveries) {
import_directory_profile($sender['hash'],$arr);
}
+
+/*
+ * @function import_directory_profile
+ *
+ * @returns boolean $updated if something changed
+ *
+ */
+
function import_directory_profile($hash,$profile) {
logger('import_directory_profile', LOGGER_DEBUG);
if(! $hash)
- return;
+ return false;
$arr = array();
$arr['xprof_hash'] = $hash;
$arr['xprof_desc'] = (($profile['description']) ? htmlentities($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) : '');
@@ -1043,47 +1397,62 @@ function import_directory_profile($hash,$profile) {
import_directory_keywords($hash,$profile['keywords']);
foreach($profile['keywords'] as $kw) {
$kw = trim(htmlentities($kw,ENT_COMPAT,'UTF-8',false));
+ $kw = trim($kw,',');
+ $clean[] = $kw;
}
- $clean[] = $kw;
}
$arr['xprof_keywords'] = implode(' ',$clean);
-
$r = q("select * from xprof where xprof_hash = '%s' limit 1",
dbesc($hash)
);
if($r) {
- $x = q("update xprof set
- xprof_desc = '%s',
- xprof_dob = '%s',
- xprof_gender = '%s',
- xprof_marital = '%s',
- xprof_sexual = '%s',
- xprof_locale = '%s',
- xprof_region = '%s',
- xprof_postcode = '%s',
- xprof_country = '%s',
- xprof_keywords = '%s'
- where xprof_hash = '%s' limit 1",
- dbesc($arr['xprof_desc']),
- dbesc($arr['xprof_dob']),
- dbesc($arr['xprof_gender']),
- dbesc($arr['xprof_marital']),
- dbesc($arr['xprof_sexual']),
- dbesc($arr['xprof_locale']),
- dbesc($arr['xprof_region']),
- dbesc($arr['xprof_postcode']),
- dbesc($arr['xprof_country']),
- dbesc($arr['xprof_keywords']),
- dbesc($arr['xprof_hash'])
- );
+ $update = false;
+ foreach($r[0] as $k => $v) {
+ if((array_key_exists($k,$arr)) && ($arr[$k] != $v)) {
+ logger('import_directory_profile: update' . $k . ' => ' . $arr[$k]);
+ $update = true;
+ break;
+ }
+ }
+ if($update) {
+ $x = q("update xprof set
+ xprof_desc = '%s',
+ xprof_dob = '%s',
+ xprof_age = %d,
+ xprof_gender = '%s',
+ xprof_marital = '%s',
+ xprof_sexual = '%s',
+ xprof_locale = '%s',
+ xprof_region = '%s',
+ xprof_postcode = '%s',
+ xprof_country = '%s',
+ xprof_keywords = '%s'
+ where xprof_hash = '%s' limit 1",
+ dbesc($arr['xprof_desc']),
+ dbesc($arr['xprof_dob']),
+ intval($arr['xprof_age']),
+ dbesc($arr['xprof_gender']),
+ dbesc($arr['xprof_marital']),
+ dbesc($arr['xprof_sexual']),
+ dbesc($arr['xprof_locale']),
+ dbesc($arr['xprof_region']),
+ dbesc($arr['xprof_postcode']),
+ dbesc($arr['xprof_country']),
+ dbesc($arr['xprof_keywords']),
+ dbesc($arr['xprof_hash'])
+ );
+ }
}
else {
- $x = q("insert into xprof (xprof_hash, xprof_desc, xprof_dob, xprof_gender, xprof_marital, xprof_sexual, xprof_locale, xprof_region, xprof_postcode, xprof_country, xprof_keywords) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ",
+ $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') ",
dbesc($arr['xprof_hash']),
dbesc($arr['xprof_desc']),
dbesc($arr['xprof_dob']),
+ intval($arr['xprof_age']),
dbesc($arr['xprof_gender']),
dbesc($arr['xprof_marital']),
dbesc($arr['xprof_sexual']),
@@ -1095,7 +1464,12 @@ function import_directory_profile($hash,$profile) {
);
}
- return;
+ $d = array('xprof' => $arr, 'profile' => $profile, 'update' => $update);
+ call_hooks('import_directory_profile', $d);
+
+ if($d['update'])
+ update_modtime($arr['xprof_hash'],random_string() . '@' . get_app()->get_hostname());
+ return $d['update'];
}
function import_directory_keywords($hash,$keywords) {
@@ -1125,9 +1499,328 @@ function import_directory_keywords($hash,$keywords) {
}
foreach($clean as $x) {
if(! in_array($x,$existing))
- $r = q("insert int xtag ( xtag_hash, xtag_term) values ( '%s' ,'%s' )",
+ $r = q("insert into xtag ( xtag_hash, xtag_term) values ( '%s' ,'%s' )",
dbesc($hash),
dbesc($x)
);
}
-} \ No newline at end of file
+}
+
+
+function update_modtime($hash,$guid) {
+ q("insert into updates (ud_hash, ud_guid, ud_date) values ( '%s', '%s', '%s' )",
+ dbesc($hash),
+ dbesc($guid),
+ dbesc(datetime_convert())
+ );
+}
+
+
+function import_site($arr,$pubkey) {
+ if( (! is_array($arr)) || (! $arr['url']) || (! $arr['url_sig']))
+ return false;
+
+ if(! rsa_verify($arr['url'],base64url_decode($arr['url_sig']),$pubkey)) {
+ logger('import_site: bad url_sig');
+ return false;
+ }
+
+ $update = false;
+ $exists = false;
+
+ $r = q("select * from site where site_url = '%s' limit 1",
+ dbesc($arr['url'])
+ );
+ if($r) {
+ $exists = true;
+ $siterecord = $r[0];
+ }
+
+ $site_directory = 0;
+ if($arr['directory_mode'] == 'normal')
+ $site_directory = DIRECTORY_MODE_NORMAL;
+
+ if($arr['directory_mode'] == 'primary')
+ $site_directory = DIRECTORY_MODE_PRIMARY;
+ if($arr['directory_mode'] == 'secondary')
+ $site_directory = DIRECTORY_MODE_SECONDARY;
+ if($arr['directory_mode'] == 'standalone')
+ $site_directory = DIRECTORY_MODE_STANDALONE;
+
+ $register_policy = 0;
+ if($arr['register_policy'] == 'closed')
+ $register_policy = REGISTER_CLOSED;
+ if($arr['register_policy'] == 'open')
+ $register_policy = REGISTER_OPEN;
+ if($arr['register_policy'] == 'approve')
+ $register_policy = REGISTER_APPROVE;
+
+ $access_policy = 0;
+ if(array_key_exists('access_policy',$arr)) {
+ if($arr['access_policy'] === 'private')
+ $access_policy = ACCESS_PRIVATE;
+ if($arr['access_policy'] === 'paid')
+ $access_policy = ACCESS_PAID;
+ if($arr['access_policy'] === 'free')
+ $access_policy = ACCESS_FREE;
+ }
+
+ $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);
+
+ if($exists) {
+ if(($siterecord['site_flags'] != $site_directory)
+ || ($siterecord['site_access'] != $access_policy)
+ || ($siterecord['site_directory'] != $directory_url)
+ || ($siterecord['site_sellpage'] != $sellpage)
+ || ($siterecord['site_register'] != $register_policy)) {
+ $update = true;
+
+// logger('import_site: input: ' . print_r($arr,true));
+// logger('import_site: stored: ' . print_r($siterecord,true));
+
+ $r = q("update site set site_flags = %d, site_access = %d, site_directory = '%s', site_register = %d, site_update = '%s', site_sellpage = '%s'
+ where site_url = '%s' limit 1",
+ intval($site_directory),
+ intval($access_policy),
+ dbesc($directory_url),
+ intval($register_policy),
+ dbesc(datetime_convert()),
+ dbesc($sellpage),
+ dbesc($url)
+ );
+ if(! $r) {
+ logger('import_site: update failed. ' . print_r($arr,true));
+ }
+ }
+ }
+ else {
+ $update = true;
+ $r = q("insert into site ( site_url, site_access, site_flags, site_update, site_directory, site_register, site_sellpage )
+ values ( '%s', %d, %d, '%s', '%s', %d, '%s' )",
+ dbesc($url),
+ intval($site_directory),
+ intval($access_policy),
+ dbesc(datetime_convert()),
+ dbesc($directory_url),
+ intval($register_policy),
+ dbesc($sellpage)
+ );
+ if(! $r) {
+ logger('import_site: record create failed. ' . print_r($arr,true));
+ }
+ }
+
+ return $update;
+
+}
+
+
+
+/**
+ * Send a zot packet to all hubs where this channel is duplicated, refreshing
+ * such things as personal settings, channel permissions, address book updates, etc.
+ */
+
+function build_sync_packet($uid = 0, $packet = null) {
+
+ $a = get_app();
+
+ logger('build_sync_packet');
+
+ if(! $uid)
+ $uid = local_user();
+
+ if(! $uid)
+ return;
+
+ $r = q("select * from channel where channel_id = %d limit 1",
+ intval($uid)
+ );
+ if(! $r)
+ return;
+
+ $channel = $r[0];
+
+ $h = q("select * from hubloc where hubloc_hash = '%s'",
+ dbesc($channel['channel_hash'])
+ );
+
+ if(! $h)
+ return;
+
+ $synchubs = array();
+
+ foreach($h as $x) {
+ if($x['hubloc_host'] == $a->get_hostname())
+ continue;
+ $synchubs[] = $x;
+ }
+
+ if(! $synchubs)
+ return;
+
+ $r = q("select xchan_guid, xchan_guid_sig from xchan where xchan_hash = '%s' limit 1",
+ dbesc($channel['channel_hash'])
+ );
+ if(! $r)
+ return;
+
+ $env_recips = array();
+ $env_recips[] = array('guid' => $r[0]['xchan_guid'],'guid_sig' => $r[0]['xchan_guid_sig']);
+
+ $info = (($packet) ? $packet : array());
+ $info['type'] = 'channel_sync';
+
+ if(array_key_exists($uid,$a->config) && array_key_exists('transient',$a->config[$uid])) {
+ $settings = $a->config[$uid]['transient'];
+ if($settings) {
+ $info['config'] = $settings;
+ }
+ }
+
+ if($channel) {
+ $info['channel'] = array();
+ foreach($channel as $k => $v) {
+
+ // filter out any joined tables like xchan
+
+ if(strpos($k,'channel_') !== 0)
+ continue;
+
+ // don't pass these elements, they should not be synchronised
+
+ $disallowed = array('channel_id','channel_account_id','channel_primary','channel_prvkey','channel_address');
+
+ if(in_array($k,$disallowed))
+ continue;
+
+ $info['channel'][$k] = $v;
+ }
+ }
+
+ $interval = ((get_config('system','delivery_interval') !== false)
+ ? intval(get_config('system','delivery_interval')) : 2 );
+
+
+ logger('build_sync_packet: packet: ' . print_r($info,true), LOGGER_DATA);
+
+ foreach($synchubs as $hub) {
+ $hash = random_string();
+ $n = zot_build_packet($channel,'notify',$env_recips,$hub['hubloc_sitekey'],$hash);
+ q("insert into outq ( outq_hash, outq_account, outq_channel, outq_posturl, outq_async, outq_created, outq_updated, outq_notify, outq_msg ) values ( '%s', %d, %d, '%s', %d, '%s', '%s', '%s', '%s' )",
+ dbesc($hash),
+ intval($channel['channel_account']),
+ intval($channel['channel_id']),
+ dbesc($hub['hubloc_callback']),
+ intval(1),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc($n),
+ dbesc(json_encode($info))
+ );
+
+ proc_run('php','include/deliver.php',$hash);
+ if($interval)
+ @time_sleep_until(microtime(true) + (float) $interval);
+ }
+
+
+}
+
+function process_channel_sync_delivery($sender,$arr,$deliveries) {
+
+// FIXME - this will sync red structures (channel, pconfig and abook). Eventually we need to make this application agnostic.
+// TODO: missing group membership changes
+
+ $result = array();
+
+ foreach($deliveries as $d) {
+ $r = q("select * from channel where channel_hash = '%s' limit 1",
+ dbesc($d['hash'])
+ );
+
+ if(! $r) {
+ $result[] = array($d['hash'],'not found');
+ continue;
+ }
+
+ $channel = $r[0];
+
+ if($channel['channel_hash'] != $sender['hash']) {
+ logger('process_channel_sync_delivery: possible forgery. Sender ' . $sender['hash'] . ' is not ' . $channel['channel_hash']);
+ $result[] = array($d['hash'],'channel mismatch',$channel['channel_name']);
+ continue;
+ }
+
+ if(array_key_exists('config',$arr) && is_array($arr['config']) && count($arr['config'])) {
+ foreach($arr['config'] as $cat => $k) {
+ foreach($arr['config'][$cat] as $k => $v)
+ set_pconfig($channel['channel_id'],$cat,$k,$v);
+ }
+ }
+
+ if(array_key_exists('channel',$arr) && is_array($arr['channel']) && count($arr['channel'])) {
+ $disallowed = array('channel_id','channel_account_id','channel_primary','channel_prvkey', 'channel_address');
+
+ $clean = array();
+ foreach($arr['channel'] as $k => $v) {
+ if(in_array($k,$disallowed))
+ continue;
+ $clean[$k] = $v;
+ }
+ if(count($clean)) {
+ foreach($clean as $k => $v) {
+ $r = dbq("UPDATE channel set " . dbesc($k) . " = '" . dbesc($v)
+ . "' where channel_id = " . intval($channel['channel_id']) . " limit 1");
+ }
+ }
+ }
+
+
+ if(array_key_exists('abook',$arr) && is_array($arr['abook']) && count($arr['abook'])) {
+
+ $disallowed = array('abook_id','abook_account','abook_channel');
+
+ $clean = array();
+ foreach($arr['abook'] as $abook) {
+ foreach($abook as $k => $v) {
+ if(in_array($k,$disallowed) || (strpos($k,'abook') !== 0))
+ continue;
+ $clean[$k] = $v;
+ }
+
+ if(! array_key_exists('abook_xchan',$clean))
+ continue;
+
+ $r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
+ dbesc($clean['abook_xchan']),
+ intval($channel['channel_id'])
+ );
+
+ // make sure we have an abook entry for this xchan on this system
+
+ if(! $r) {
+ q("insert into abook ( abook_xchan, abook_channel ) values ('%s', %d ) ",
+ dbesc($clean['abook_xchan']),
+ intval($channel['channel_id'])
+ );
+ }
+
+ if(count($clean)) {
+ foreach($clean as $k => $v) {
+ $r = dbq("UPDATE abook set " . dbesc($k) . " = '" . dbesc($v)
+ . "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id'])
+ . " limit 1");
+ }
+ }
+ }
+ }
+
+ $result[] = array($d['hash'],'channel sync updated',$channel['channel_name']);
+
+
+ }
+ return $result;
+}
diff --git a/index.php b/index.php
index cc6249256..fe09e88fc 100644..100755
--- a/index.php
+++ b/index.php
@@ -2,7 +2,7 @@
/**
*
- * Friendica Red
+ * Red Matrix
*
*/
@@ -29,7 +29,6 @@ $install = ((file_exists('.htconfig.php') && filesize('.htconfig.php')) ? false
$a->language = get_best_language();
-load_translation_table($a->language);
/**
*
@@ -37,11 +36,11 @@ load_translation_table($a->language);
*
*/
-require_once("dba.php");
+require_once("include/dba/dba_driver.php");
if(! $install) {
- $db = new dba($db_host, $db_user, $db_pass, $db_data, $install);
- unset($db_host, $db_user, $db_pass, $db_data);
+ $db = dba_factory($db_host, $db_port, $db_user, $db_pass, $db_data, $install);
+ unset($db_host, $db_port, $db_user, $db_pass, $db_data);
/**
* Load configs from db. Overwrite configs from .htconfig.php
@@ -49,13 +48,22 @@ if(! $install) {
load_config('config');
load_config('system');
+ load_config('feature');
- require_once("session.php");
+ require_once("include/session.php");
load_hooks();
call_hooks('init_1');
+
+ load_translation_table($a->language);
+}
+else {
+ // load translations but do not check plugins as we have no database
+ load_translation_table($a->language,true);
}
+
+
/**
*
* Important stuff we always need to do.
@@ -94,7 +102,7 @@ if((x($_GET,'zid')) && (! $install)) {
}
if((x($_SESSION,'authenticated')) || (x($_POST,'auth-params')) || ($a->module === 'login'))
- require("auth.php");
+ require("include/auth.php");
if(! x($_SESSION,'sysmsg'))
@@ -110,8 +118,11 @@ if(! x($_SESSION,'sysmsg_info'))
*/
-if($install)
- $a->module = 'setup';
+if($install) {
+ /* Allow an exception for the view module so that pcss will be interpreted during installation */
+ if($a->module != 'view')
+ $a->module = 'setup';
+}
else
check_config($a);
@@ -281,7 +292,7 @@ if($a->module_loaded) {
// If $aside_default is not False after the theme _aside() function, run the
// module's _aside() function too
//
- // This gives themes more control over how the left sidebar looks
+ // This gives themes more control over how the sidebar looks
$aside_default = true;
call_hooks($a->module . '_mod_aside',$placeholder);
@@ -317,7 +328,7 @@ if($a->module_loaded) {
if(x($_SESSION,'visitor_home'))
$homebase = $_SESSION['visitor_home'];
elseif(local_user())
- $homebase = $a->get_baseurl() . '/channel/' . $a->user['nickname'];
+ $homebase = $a->get_baseurl() . '/channel/' . $a->channel['channel_address'];
if(isset($homebase))
$a->page['content'] .= '<script>var homebase="' . $homebase . '" ; </script>';
diff --git a/install/INSTALL.txt b/install/INSTALL.txt
index e6adbba7d..89b53c7c0 100644
--- a/install/INSTALL.txt
+++ b/install/INSTALL.txt
@@ -1,31 +1,39 @@
-Friendica Installation
+Red Matrix Installation
-We've tried very hard to ensure that Friendica will run on commodity hosting
-platforms - such as those used to host Wordpress blogs and Drupal websites.
-But be aware that Friendica is more than a simple web application. It is a
+We've tried very hard to ensure that the Red Matrix will run on commodity
+hosting platforms - such as those used to host Wordpress blogs and Drupal
+websites. It will run on most any Linux VPS system. Windows LAMP platforms
+such as XAMPP and WAMP are not officially supported at this time - however
+we welcome patches if you manage to get it working.
+
+Be aware that the Red Matrix is more than a simple web application. It is a
complex communications system which more closely resembles an email server
than a web server. For reliability and performance, messages are delivered in
the background and are queued for later delivery when sites are down. This
kind of functionality requires a bit more of the host system than the typical
-blog. Not every PHP/MySQL hosting provider will be able to support Friendica.
-Many will. But please review the requirements and confirm these with your
-hosting provider prior to installation.
+blog. Not every PHP/MySQL hosting provider will be able to support the
+Red Matrix. Many will - but please review the requirements and confirm these
+with your hosting provider prior to installation. (And preferably before
+entering into a long-term contract.)
+
+If you encounter installation issues, please let us know via the Github issue
+tracker (https://github.com/friendica/red/issues). Please be as clear as you
+can about your operating environment and provide as much detail as possible
+about any error messages you may see, so that we can prevent it from happening
+in the future. Due to the large variety of operating systems and PHP platforms
+in existence we may have only limited ability to debug your PHP installation or
+acquire any missing modules - but we will do our best to solve any general code
+issues.
+
+
Before you begin: Choose a domain name or subdomain name for your server.
Put some thought into this - because changing it is currently not-supported.
Things will break, and some of your friends may have difficulty communicating
-with you. We plan to address this limitation in a future release. Also decide
-if you wish to connect with members of the Diaspora network, as this will
-impact the installation requirements.
-
-Decide if you will use SSL and obtain an SSL cert. Communications with the
-Diaspora network MAY require both SSL AND an SSL cert signed by a CA which is
-recognised by the major browsers. Friendica will work with self-signed certs
-but Diaspora communication may not. For best results, install your cert PRIOR
-to installing Friendica and when visiting your site for the initial
-installation in step 5, please use the https: link. (Use the http: or non-SSL
-link if your cert is self-signed).
+with you. We plan to address this limitation in a future release.
+
+Decide if you will use SSL and obtain an SSL cert before software installation. You SHOULD use SSL. If you use SSL, you MUST use a "browser-valid" certificate. Please test your certificate prior to installation. A web tool for testing your certificate is available at "http://www.digicert.com/help/". When visiting your site for the first time, please use the SSL ("https://") URL if SSL is available. This will avoid problems later.
1. Requirements
@@ -35,27 +43,60 @@ local .htaccess file
- PHP 5.3+. The later the better.
- PHP *command line* access with register_argc_argv set to true in the
-php.ini file [or see 'poormancron' in section 8]
+php.ini file - and with no hosting provider restrictions on the use of exec()
+and proc_open().
- - curl, gd (with at least jpeg support), mysql, mbstring, mcrypt, and openssl extensions
+ - curl, gd (with at least jpeg support), mysqli, mbstring, mcrypt, and openssl extensions. The imagick extension is not required but desirable.
- some form of email server or email gateway such that PHP mail() works
- - Mysql 5.x
+ - Mysql 5.x or MariaDB
- - ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks
-(Windows) [Note: other options are presented in Section 8 of this document]
+ - ability to schedule jobs with cron.
- Installation into a top-level domain or sub-domain (without a
-directory/path component in the URL) is preferred. This is REQUIRED if
-you wish to communicate with the Diaspora network.
+directory/path component in the URL) is REQUIRED.
-2. Unpack the Friendica files into the root of your web server document area.
+2. Unpack the Red Matrix files into the root of your web server document area.
- If you copy the directory tree to your webserver, make sure
that you also copy .htaccess - as "dot" files are often hidden
and aren't normally copied.
+ - If you are able to do so, we recommend using git to clone the
+ source repository rather than to use a packaged tar or zip file.
+ This makes the software much easier to update. The Linux command
+ to clone the repository into a directory "mywebsite" would be
+
+ git clone https://github.com/friendica/red.git mywebsite
+
+ - and then you can pick up the latest changes at any time with
+
+ git pull
+
+ - make sure folder *view/tpl/smarty3* exists and is writable by webserver
+
+ mkdir view/tpl/smarty3
+
+ chmod 777 view/tpl/smarty3
+
+ - For installing addons
+
+ - First you should be **on** your website folder
+
+ cd mywebsite
+
+ - Then you should clone the addon repository (separately)
+
+ git clone https://github.com/friendica/red-addons.git addon
+
+ - For keeping the addon tree updated, you should be on you addon tree and issue a git pull
+
+ cd mywebsite/addon
+
+ git pull
+
+
3. Create an empty database and note the access details (hostname, username,
password, database name).
@@ -66,8 +107,8 @@ write or create files in your web directory, create an empty file called
5. Visit your website with a web browser and follow the instructions. Please
note any error messages and correct these before continuing. If you are using
-SSL with a known signature authority (recommended), use the https: link to your
-website. If you are using a self-signed cert or no cert, use the http: link.
+SSL with a known signature authority, use the https: link to your
+website.
6. *If* the automated installation fails for any reason, check the following:
@@ -107,29 +148,11 @@ 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. Friendica will not work correctly if you cannot perform this step.
-You should also be sure that $a->config['php_path'] is set correctly, it should
+You should also be sure that $a->config['system']['php_path'] is set correctly, it should
look like (changing it to the correct PHP location)
-$a->config['php_path'] = '/usr/local/php53/bin/php'
+$a->config['system']['php_path'] = '/usr/local/php53/bin/php';
-Alternative: You may be able to use the 'poormancron' plugin to perform this
-step if you are using a recent Friendica release. 'poormancron' may result in
-perfomance and memory issues and is only suitable for small sites with one or
-two users and a handful of contacts. To do this, edit the file
-".htconfig.php" and look for a line describing your plugins. On a fresh
-installation, it will look like
-
-$a->config['system']['addon'] = 'js_upload';
-
-This indicates the "js_upload" addon module is enabled. You may add additional
-addons/plugins using this same line in the configuration file. Change it to
-read
-
-$a->config['system']['addon'] = 'js_upload,poormancron';
-
-and save your changes.
-
-
#####################################################################
@@ -145,7 +168,7 @@ and save your changes.
Check your database settings. It usually means your database could not
be opened or accessed. If the database resides on the same machine, check that
-the database server name is "localhost".
+the database server name is the word "localhost".
#####################################################################
- 500 Internal Error
@@ -153,8 +176,6 @@ the database server name is "localhost".
This could be the result of one of our Apache directives not being
supported by your version of Apache. Examine your apache server logs.
- You might remove the line "Options -Indexes" from the .htaccess file if
-you are using a Windows server as this has been known to cause problems.
Also check your file permissions. Your website and all contents must generally
be world-readable.
@@ -191,7 +212,7 @@ configuration for your site. This will need to be changed to
If you do not see the word "test", your .htaccess is working, but it is
likely that mod-rewrite is not installed in your web server or is not working.
- On most flavour of Linux,
+ On most flavours of Linux,
% a2enmod rewrite
% /etc/init.d/apache2 restart
@@ -200,8 +221,7 @@ likely that mod-rewrite is not installed in your web server or is not working.
distribution or (if Windows) the provider of your Apache server software if
you need to change either of these and can not figure out how. There is
a lot of help available on the web. Google "mod-rewrite" along with the
-name of your operating system distribution or Apache package (if using
-Windows).
+name of your operating system distribution or Apache package.
#####################################################################
@@ -223,7 +243,7 @@ Retry the installation. As soon as the database has been created,
#####################################################################
- Some configurations with "suhosin" security are configured without
-an ability to run external processes. Friendica requires this ability.
+an ability to run external processes. The Red Matrix requires this ability.
Following are some notes provided by one of our members.
#####################################################################
@@ -233,26 +253,26 @@ certain functions like proc_open, as configured in /etc/php5/conf.d/suhosin.ini:
suhosin.executor.func.blacklist = proc_open, ...
-For those sites like Friendica that really need these functions they can be
-enabled, e.g. in /etc/apache2/sites-available/friendica:
+For those sites like Red Matrix that really need these functions they can be
+enabled, e.g. in /etc/apache2/sites-available/redmatrix:
- <Directory /var/www/friendica/>
+ <Directory /var/www/redmatrix/>
php_admin_value suhosin.executor.func.blacklist none
php_admin_value suhosin.executor.eval.blacklist none
</Directory>
-This enables every function for Friendica if accessed via browser, but not for
+This enables every function for Red Matrix if accessed via browser, but not for
the cronjob that is called via php command line. I attempted to enable it for
cron by using something like
- */10 * * * * cd /var/www/friendica/friendica/ && sudo -u www-data /usr/bin/php
+ */10 * * * * cd /var/www/redmatrix/ && sudo -u www-data /usr/bin/php
-d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none
-f include/poller.php
-This worked well for simple test cases, but the friendica-cron still failed with
+This worked well for simple test cases, but the cron job still failed with
a fatal error:
suhosin[22962]: ALERT - function within blacklist called: proc_open() (attacker
-'REMOTE_ADDR not set', file '/var/www/friendica/friendica/boot.php', line 1341)
+'REMOTE_ADDR not set', file '/var/www/redmatrix/boot.php', line 1341)
After a while I noticed, that include/poller.php calls further php script via
proc_open. These scripts themselves also use proc_open and fail, because they
@@ -260,11 +280,11 @@ are NOT called with -d suhosin.executor.func.blacklist=none.
So the simple solution is to put the correct parameters into .htconfig.php:
// Location of PHP command line processor
- $a->config['php_path'] = '/usr/bin/php -d suhosin.executor.func.blacklist=none
+ $a->config['system']['php_path'] = '/usr/bin/php -d suhosin.executor.func.blacklist=none
-d suhosin.executor.eval.blacklist=none';
-This is obvious as soon as you notice that the friendica-cron uses proc_open to
+This is obvious as soon as you notice that the cron uses proc_open to
execute php-scripts that also use proc_open, but it took me quite some time to
find that out. I hope this saves some time for other people using suhosin with
function blacklists.
diff --git a/install/database.sql b/install/database.sql
index 3dcbb7be0..2e420fcbd 100644
--- a/install/database.sql
+++ b/install/database.sql
@@ -44,6 +44,7 @@ CREATE TABLE IF NOT EXISTS `account` (
`account_salt` char(32) NOT NULL DEFAULT '',
`account_password` char(255) NOT NULL DEFAULT '',
`account_email` char(255) NOT NULL DEFAULT '',
+ `account_external` char(255) NOT NULL DEFAULT '',
`account_language` char(16) NOT NULL DEFAULT 'en',
`account_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`account_lastlog` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
@@ -61,7 +62,8 @@ CREATE TABLE IF NOT EXISTS `account` (
KEY `account_roles` (`account_roles`),
KEY `account_lastlog` (`account_lastlog`),
KEY `account_expires` (`account_expires`),
- KEY `account_default_channel` (`account_default_channel`)
+ KEY `account_default_channel` (`account_default_channel`),
+ KEY `account_external` (`account_external`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `addon` (
@@ -134,7 +136,7 @@ CREATE TABLE IF NOT EXISTS `challenge` (
`type` char(255) NOT NULL,
`last_update` char(255) NOT NULL,
PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `channel` (
`channel_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -158,7 +160,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
`channel_max_friend_req` int(10) unsigned NOT NULL DEFAULT '10',
`channel_expire_days` int(11) NOT NULL DEFAULT '0',
`channel_passwd_reset` char(255) NOT NULL DEFAULT '',
- `channel_default_gid` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_default_group` char(255) NOT NULL DEFAULT '',
`channel_allow_cid` mediumtext NOT NULL,
`channel_allow_gid` mediumtext NOT NULL,
`channel_deny_cid` mediumtext NOT NULL,
@@ -180,10 +182,10 @@ CREATE TABLE IF NOT EXISTS `channel` (
`channel_r_pages` int(10) unsigned NOT NULL DEFAULT '128',
`channel_w_pages` int(10) unsigned NOT NULL DEFAULT '128',
PRIMARY KEY (`channel_id`),
+ UNIQUE KEY `channel_address_unique` (`channel_address`),
KEY `channel_account_id` (`channel_account_id`),
KEY `channel_primary` (`channel_primary`),
KEY `channel_name` (`channel_name`),
- KEY `channel_address` (`channel_address`),
KEY `channel_timezone` (`channel_timezone`),
KEY `channel_location` (`channel_location`),
KEY `channel_theme` (`channel_theme`),
@@ -191,7 +193,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
KEY `channel_pageflags` (`channel_pageflags`),
KEY `channel_max_anon_mail` (`channel_max_anon_mail`),
KEY `channel_max_friend_req` (`channel_max_friend_req`),
- KEY `channel_default_gid` (`channel_default_gid`),
+ KEY `channel_default_gid` (`channel_default_group`),
KEY `channel_r_stream` (`channel_r_stream`),
KEY `channel_r_profile` (`channel_r_profile`),
KEY `channel_r_photos` (`channel_r_photos`),
@@ -265,7 +267,7 @@ CREATE TABLE IF NOT EXISTS `event` (
KEY `aid` (`aid`),
KEY `event_hash` (`event_hash`),
KEY `event_xchan` (`event_xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `fcontact` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -307,7 +309,6 @@ CREATE TABLE IF NOT EXISTS `fserver` (
`key` text NOT NULL,
PRIMARY KEY (`id`),
KEY `server` (`server`),
- KEY `server_2` (`server`),
KEY `posturl` (`posturl`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
@@ -324,43 +325,6 @@ CREATE TABLE IF NOT EXISTS `fsuggest` (
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-CREATE TABLE IF NOT EXISTS `gcign` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `uid` int(11) NOT NULL,
- `gcid` int(11) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `gcid` (`gcid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `gcontact` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `name` char(255) NOT NULL,
- `url` char(255) NOT NULL,
- `nurl` char(255) NOT NULL,
- `photo` char(255) NOT NULL,
- `connect` char(255) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `nurl` (`nurl`),
- KEY `name` (`name`),
- KEY `url` (`url`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `glink` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `cid` int(11) NOT NULL,
- `uid` int(11) NOT NULL,
- `gcid` int(11) NOT NULL,
- `zcid` int(11) NOT NULL,
- `updated` datetime NOT NULL,
- PRIMARY KEY (`id`),
- KEY `cid` (`cid`),
- KEY `uid` (`uid`),
- KEY `gcid` (`gcid`),
- KEY `zcid` (`zcid`),
- KEY `updated` (`updated`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
CREATE TABLE IF NOT EXISTS `group` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`hash` char(255) NOT NULL DEFAULT '',
@@ -384,7 +348,7 @@ CREATE TABLE IF NOT EXISTS `group_member` (
KEY `uid` (`uid`),
KEY `gid` (`gid`),
KEY `xchan` (`xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `hook` (
`id` int(11) NOT NULL AUTO_INCREMENT,
@@ -403,41 +367,25 @@ CREATE TABLE IF NOT EXISTS `hubloc` (
`hubloc_hash` char(255) NOT NULL,
`hubloc_addr` char(255) NOT NULL DEFAULT '',
`hubloc_flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `hubloc_status` int(10) unsigned NOT NULL DEFAULT '0',
`hubloc_url` char(255) NOT NULL DEFAULT '',
`hubloc_url_sig` text NOT NULL,
`hubloc_host` char(255) NOT NULL DEFAULT '',
`hubloc_callback` char(255) NOT NULL DEFAULT '',
`hubloc_connect` char(255) NOT NULL DEFAULT '',
`hubloc_sitekey` text NOT NULL,
+ `hubloc_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `hubloc_connected` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`hubloc_id`),
KEY `hubloc_url` (`hubloc_url`),
KEY `hubloc_guid` (`hubloc_guid`),
KEY `hubloc_flags` (`hubloc_flags`),
+ KEY `hubloc_status` (`hubloc_status`),
KEY `hubloc_connect` (`hubloc_connect`),
KEY `hubloc_host` (`hubloc_host`),
- KEY `hubloc_addr` (`hubloc_addr`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `intro` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `uid` int(10) unsigned NOT NULL,
- `fid` int(11) NOT NULL DEFAULT '0',
- `contact-id` int(11) NOT NULL,
- `knowyou` tinyint(1) NOT NULL,
- `duplex` tinyint(1) NOT NULL DEFAULT '0',
- `note` text NOT NULL,
- `hash` char(255) NOT NULL,
- `datetime` datetime NOT NULL,
- `blocked` tinyint(1) NOT NULL DEFAULT '1',
- `ignore` tinyint(1) NOT NULL DEFAULT '0',
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `fid` (`fid`),
- KEY `hash` (`hash`),
- KEY `datetime` (`datetime`),
- KEY `blocked` (`blocked`),
- KEY `ignore` (`ignore`),
- KEY `contact-id` (`contact-id`)
+ KEY `hubloc_addr` (`hubloc_addr`),
+ KEY `hubloc_updated` (`hubloc_updated`),
+ KEY `hubloc_connected` (`hubloc_connected`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `issue` (
@@ -459,12 +407,11 @@ CREATE TABLE IF NOT EXISTS `issue` (
CREATE TABLE IF NOT EXISTS `item` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `uri` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `mid` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
`aid` int(10) unsigned NOT NULL DEFAULT '0',
`uid` int(10) unsigned NOT NULL DEFAULT '0',
- `wall` tinyint(1) NOT NULL DEFAULT '0',
`parent` int(10) unsigned NOT NULL DEFAULT '0',
- `parent_uri` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `parent_mid` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
`thr_parent` char(255) NOT NULL DEFAULT '',
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
@@ -475,7 +422,7 @@ CREATE TABLE IF NOT EXISTS `item` (
`owner_xchan` char(255) NOT NULL DEFAULT '',
`author_xchan` char(255) NOT NULL DEFAULT '',
`mimetype` char(255) NOT NULL DEFAULT '',
- `title` char(255) NOT NULL DEFAULT '',
+ `title` text NOT NULL,
`body` mediumtext NOT NULL,
`app` char(255) NOT NULL DEFAULT '',
`lang` char(64) NOT NULL DEFAULT '',
@@ -485,6 +432,7 @@ CREATE TABLE IF NOT EXISTS `item` (
`object` text NOT NULL,
`tgt_type` char(255) NOT NULL DEFAULT '',
`target` text NOT NULL,
+ `layout_mid` char(255) NOT NULL DEFAULT '',
`postopts` text NOT NULL,
`llink` char(255) NOT NULL DEFAULT '',
`plink` char(255) NOT NULL DEFAULT '',
@@ -494,6 +442,7 @@ CREATE TABLE IF NOT EXISTS `item` (
`inform` mediumtext NOT NULL,
`location` char(255) NOT NULL DEFAULT '',
`coord` char(255) NOT NULL DEFAULT '',
+ `comment_policy` char(255) NOT NULL DEFAULT '',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
@@ -502,23 +451,19 @@ CREATE TABLE IF NOT EXISTS `item` (
`item_flags` int(11) NOT NULL DEFAULT '0',
`item_private` tinyint(4) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
- KEY `uri` (`uri`),
KEY `uid` (`uid`),
KEY `parent` (`parent`),
KEY `created` (`created`),
KEY `edited` (`edited`),
KEY `received` (`received`),
- KEY `wall` (`wall`),
KEY `uid_commented` (`uid`,`commented`),
KEY `uid_created` (`uid`,`created`),
- KEY `parent_uri` (`parent_uri`),
KEY `aid` (`aid`),
KEY `owner_xchan` (`owner_xchan`),
KEY `author_xchan` (`author_xchan`),
KEY `resource_type` (`resource_type`),
KEY `item_restrict` (`item_restrict`),
KEY `item_flags` (`item_flags`),
- KEY `uid_uri` (`uri`,`uid`),
KEY `commented` (`commented`),
KEY `verb` (`verb`),
KEY `item_private` (`item_private`),
@@ -526,6 +471,11 @@ CREATE TABLE IF NOT EXISTS `item` (
KEY `expires` (`expires`),
KEY `revision` (`revision`),
KEY `mimetype` (`mimetype`),
+ KEY `mid` (`mid`),
+ KEY `parent_mid` (`parent_mid`),
+ KEY `uid_mid` (`mid`,`uid`),
+ KEY `comment_policy` (`comment_policy`),
+ KEY `layout_mid` (`layout_mid`),
FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `body` (`body`),
FULLTEXT KEY `allow_cid` (`allow_cid`),
@@ -545,7 +495,7 @@ CREATE TABLE IF NOT EXISTS `item_id` (
KEY `sid` (`sid`),
KEY `service` (`service`),
KEY `iid` (`iid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `mail` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -554,43 +504,47 @@ CREATE TABLE IF NOT EXISTS `mail` (
`to_xchan` char(255) NOT NULL DEFAULT '',
`account_id` int(10) unsigned NOT NULL DEFAULT '0',
`channel_id` int(10) unsigned NOT NULL,
- `title` char(255) NOT NULL,
+ `title` text NOT NULL,
`body` mediumtext NOT NULL,
- `uri` char(255) NOT NULL,
- `parent_uri` char(255) NOT NULL,
+ `attach` mediumtext NOT NULL,
+ `mid` char(255) NOT NULL,
+ `parent_mid` char(255) NOT NULL,
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
- KEY `uri` (`uri`),
KEY `created` (`created`),
KEY `mail_flags` (`mail_flags`),
KEY `account_id` (`account_id`),
KEY `channel_id` (`channel_id`),
- KEY `parent_uri` (`parent_uri`),
KEY `from_xchan` (`from_xchan`),
- KEY `to_xchan` (`to_xchan`)
+ KEY `to_xchan` (`to_xchan`),
+ KEY `mid` (`mid`),
+ KEY `parent_mid` (`parent_mid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `manage` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
- `mid` int(11) NOT NULL,
+ `xchan` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
- KEY `mid` (`mid`)
+ KEY `xchan` (`xchan`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `menu` (
`menu_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`menu_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `menu_name` char(255) NOT NULL DEFAULT '',
`menu_desc` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`menu_id`),
- KEY `menu_channel_id` (`menu_channel_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+ KEY `menu_channel_id` (`menu_channel_id`),
+ KEY `menu_name` (`menu_name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `menu_item` (
`mitem_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`mitem_link` char(255) NOT NULL DEFAULT '',
`mitem_desc` char(255) NOT NULL DEFAULT '',
+ `mitem_flags` int(11) NOT NULL DEFAULT '0',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
@@ -600,8 +554,9 @@ CREATE TABLE IF NOT EXISTS `menu_item` (
`mitem_order` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`mitem_id`),
KEY `mitem_channel_id` (`mitem_channel_id`),
- KEY `mitem_menu_id` (`mitem_menu_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+ KEY `mitem_menu_id` (`mitem_menu_id`),
+ KEY `mitem_flags` (`mitem_flags`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `notify` (
`id` int(11) NOT NULL AUTO_INCREMENT,
@@ -629,10 +584,26 @@ CREATE TABLE IF NOT EXISTS `notify` (
KEY `otype` (`otype`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE IF NOT EXISTS `obj` (
+ `obj_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `obj_page` char(64) NOT NULL DEFAULT '',
+ `obj_verb` char(255) NOT NULL DEFAULT '',
+ `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',
+ 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;
+
CREATE TABLE IF NOT EXISTS `outq` (
`outq_hash` char(255) NOT NULL,
`outq_account` int(10) unsigned NOT NULL DEFAULT '0',
`outq_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `outq_driver` char(32) NOT NULL DEFAULT '',
`outq_posturl` char(255) NOT NULL DEFAULT '',
`outq_async` tinyint(1) NOT NULL DEFAULT '0',
`outq_delivered` tinyint(1) NOT NULL DEFAULT '0',
@@ -679,6 +650,7 @@ CREATE TABLE IF NOT EXISTS `photo` (
`data` mediumblob NOT NULL,
`scale` tinyint(3) NOT NULL,
`profile` tinyint(1) NOT NULL DEFAULT '0',
+ `photo_flags` int(10) unsigned NOT NULL DEFAULT '0',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
@@ -688,6 +660,7 @@ CREATE TABLE IF NOT EXISTS `photo` (
KEY `album` (`album`),
KEY `scale` (`scale`),
KEY `profile` (`profile`),
+ KEY `photo_flags` (`photo_flags`),
KEY `type` (`type`),
KEY `aid` (`aid`),
KEY `xchan` (`xchan`),
@@ -695,6 +668,29 @@ CREATE TABLE IF NOT EXISTS `photo` (
KEY `resource_id` (`resource_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE IF NOT EXISTS `poll` (
+ `poll_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `poll_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `poll_desc` text NOT NULL,
+ `poll_flags` int(11) NOT NULL DEFAULT '0',
+ `poll_votes` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`poll_id`),
+ KEY `poll_channel` (`poll_channel`),
+ KEY `poll_flags` (`poll_flags`),
+ KEY `poll_votes` (`poll_votes`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `poll_elm` (
+ `pelm_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `pelm_poll` int(10) unsigned NOT NULL DEFAULT '0',
+ `pelm_desc` text NOT NULL,
+ `pelm_flags` int(11) NOT NULL DEFAULT '0',
+ `pelm_result` float NOT NULL DEFAULT '0',
+ PRIMARY KEY (`pelm_id`),
+ KEY `pelm_poll` (`pelm_poll`),
+ KEY `pelm_result` (`pelm_result`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
CREATE TABLE IF NOT EXISTS `profile` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`profile_guid` char(64) NOT NULL DEFAULT '',
@@ -705,6 +701,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
`hide_friends` tinyint(1) NOT NULL DEFAULT '0',
`name` char(255) NOT NULL,
`pdesc` char(255) NOT NULL,
+ `chandesc` text NOT NULL,
`dob` char(32) NOT NULL DEFAULT '0000-00-00',
`dob_tz` char(255) NOT NULL DEFAULT 'UTC',
`address` char(255) NOT NULL,
@@ -734,6 +731,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
`work` text NOT NULL,
`education` text NOT NULL,
`contact` text NOT NULL,
+ `channels` text NOT NULL,
`homepage` char(255) NOT NULL,
`photo` char(255) NOT NULL,
`thumb` char(255) NOT NULL,
@@ -797,27 +795,44 @@ CREATE TABLE IF NOT EXISTS `register` (
KEY `hash` (`hash`),
KEY `created` (`created`),
KEY `uid` (`uid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `session` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`sid` char(255) NOT NULL,
`data` text NOT NULL,
- `expire` int(10) unsigned NOT NULL,
+ `expire` bigint(20) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `sid` (`sid`),
KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE IF NOT EXISTS `shares` (
+ `share_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `share_type` int(11) NOT NULL DEFAULT '0',
+ `share_target` int(10) unsigned NOT NULL DEFAULT '0',
+ `share_xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`share_id`),
+ KEY `share_type` (`share_type`),
+ KEY `share_target` (`share_target`),
+ KEY `share_xchan` (`share_xchan`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
CREATE TABLE IF NOT EXISTS `site` (
`site_url` char(255) NOT NULL,
+ `site_access` int(11) NOT NULL DEFAULT '0',
`site_flags` int(11) NOT NULL DEFAULT '0',
`site_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`site_directory` char(255) NOT NULL DEFAULT '',
+ `site_register` int(11) NOT NULL DEFAULT '0',
+ `site_sellpage` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`site_url`),
+ KEY `site_access` (`site_access`),
KEY `site_flags` (`site_flags`),
KEY `site_update` (`site_update`),
- KEY `site_directory` (`site_directory`)
+ KEY `site_directory` (`site_directory`),
+ KEY `site_register` (`site_register`),
+ KEY `site_sellpage` (`site_sellpage`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `spam` (
@@ -843,20 +858,26 @@ CREATE TABLE IF NOT EXISTS `term` (
`type` tinyint(3) unsigned NOT NULL,
`term` char(255) NOT NULL,
`url` char(255) NOT NULL,
+ `imgurl` char(255) NOT NULL,
+ `term_hash` char(255) NOT NULL DEFAULT '',
+ `parent_hash` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`tid`),
KEY `oid` (`oid`),
KEY `otype` (`otype`),
KEY `type` (`type`),
KEY `term` (`term`),
KEY `uid` (`uid`),
- KEY `aid` (`aid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+ KEY `aid` (`aid`),
+ KEY `imgurl` (`imgurl`),
+ KEY `term_hash` (`term_hash`),
+ KEY `parent_hash` (`parent_hash`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `tokens` (
`id` varchar(40) NOT NULL,
`secret` text NOT NULL,
`client_id` varchar(20) NOT NULL,
- `expires` int(11) NOT NULL,
+ `expires` bigint(20) unsigned NOT NULL,
`scope` varchar(200) NOT NULL,
`uid` int(11) NOT NULL,
PRIMARY KEY (`id`),
@@ -865,6 +886,17 @@ CREATE TABLE IF NOT EXISTS `tokens` (
KEY `uid` (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE IF NOT EXISTS `updates` (
+ `ud_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `ud_hash` char(128) NOT NULL,
+ `ud_guid` char(255) NOT NULL DEFAULT '',
+ `ud_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`ud_id`),
+ KEY `ud_hash` (`ud_hash`),
+ KEY `ud_guid` (`ud_guid`),
+ KEY `ud_date` (`ud_date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
CREATE TABLE IF NOT EXISTS `verify` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`channel` int(10) unsigned NOT NULL DEFAULT '0',
@@ -878,7 +910,19 @@ 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,
+ `vote_poll` int(11) NOT NULL DEFAULT '0',
+ `vote_element` int(11) NOT NULL DEFAULT '0',
+ `vote_result` text NOT NULL,
+ `vote_xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`vote_id`),
+ UNIQUE KEY `vote_vote` (`vote_poll`,`vote_element`,`vote_xchan`),
+ KEY `vote_poll` (`vote_poll`),
+ KEY `vote_element` (`vote_element`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `xchan` (
`xchan_hash` char(255) NOT NULL,
@@ -892,8 +936,11 @@ CREATE TABLE IF NOT EXISTS `xchan` (
`xchan_addr` char(255) NOT NULL DEFAULT '',
`xchan_url` char(255) NOT NULL DEFAULT '',
`xchan_connurl` char(255) NOT NULL DEFAULT '',
+ `xchan_follow` char(255) NOT NULL DEFAULT '',
+ `xchan_connpage` char(255) NOT NULL DEFAULT '',
`xchan_name` char(255) NOT NULL DEFAULT '',
`xchan_network` char(255) NOT NULL DEFAULT '',
+ `xchan_instance_url` char(255) NOT NULL DEFAULT '',
`xchan_flags` int(10) unsigned NOT NULL DEFAULT '0',
`xchan_photo_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`xchan_name_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
@@ -904,7 +951,31 @@ CREATE TABLE IF NOT EXISTS `xchan` (
KEY `xchan_network` (`xchan_network`),
KEY `xchan_url` (`xchan_url`),
KEY `xchan_flags` (`xchan_flags`),
- KEY `xchan_connurl` (`xchan_connurl`)
+ KEY `xchan_connurl` (`xchan_connurl`),
+ KEY `xchan_follow` (`xchan_follow`),
+ KEY `xchan_connpage` (`xchan_connpage`),
+ KEY `xchan_instance_url` (`xchan_instance_url`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `xconfig` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `xchan` char(255) NOT NULL,
+ `cat` char(255) NOT NULL,
+ `k` char(255) NOT NULL,
+ `v` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `xchan` (`xchan`),
+ KEY `cat` (`cat`),
+ KEY `k` (`k`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `xign` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `uid` int(11) NOT NULL DEFAULT '0',
+ `xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `xchan` (`xchan`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `xlink` (
@@ -918,10 +989,11 @@ CREATE TABLE IF NOT EXISTS `xlink` (
KEY `xlink_link` (`xlink_link`),
KEY `xlink_updated` (`xlink_updated`),
KEY `xlink_rating` (`xlink_rating`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `xprof` (
`xprof_hash` char(255) NOT NULL,
+ `xprof_age` tinyint(3) unsigned NOT NULL DEFAULT '0',
`xprof_desc` char(255) NOT NULL DEFAULT '',
`xprof_dob` char(12) NOT NULL DEFAULT '',
`xprof_gender` char(255) NOT NULL DEFAULT '',
@@ -941,12 +1013,15 @@ CREATE TABLE IF NOT EXISTS `xprof` (
KEY `xprof_locale` (`xprof_locale`),
KEY `xprof_region` (`xprof_region`),
KEY `xprof_postcode` (`xprof_postcode`),
- KEY `xprof_country` (`xprof_country`)
+ KEY `xprof_country` (`xprof_country`),
+ KEY `xprof_age` (`xprof_age`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `xtag` (
+ `xtag_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`xtag_hash` char(255) NOT NULL,
`xtag_term` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`xtag_hash`),
- KEY `xtag_term` (`xtag_term`)
+ PRIMARY KEY (`xtag_id`),
+ KEY `xtag_term` (`xtag_term`),
+ KEY `xtag_hash` (`xtag_hash`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/install/htconfig.sample.php b/install/htconfig.sample.php
index ebfc84543..14ae23676 100644..100755
--- a/install/htconfig.sample.php
+++ b/install/htconfig.sample.php
@@ -12,11 +12,26 @@
// Then set the following for your MySQL installation
-$db_host = 'your.mysqlhost.com';
+$db_host = 'your.mysqlhost.com'; // Use 'localhost' if you aren't using a remote server
+$db_port = 0; // leave 0 for default or set your port
$db_user = 'mysqlusername';
$db_pass = 'mysqlpassword';
$db_data = 'mysqldatabasename';
+
+/*
+ * Notice: Many of the following settings will be available in the admin panel
+ * after a successful site install. Once they are set in the admin panel, they
+ * are stored in the DB - and the DB setting will over-ride any corresponding
+ * setting in this file
+ *
+ * The command-line tool util/config is able to query and set the DB items
+ * directly if for some reason the admin panel is not available and a system
+ * setting requires modification.
+ *
+ */
+
+
// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
// It can be changed later and only applies to timestamps for anonymous viewers.
@@ -24,7 +39,10 @@ $default_timezone = 'America/Los_Angeles';
// What is your site name?
-$a->config['sitename'] = "Friendica Social Network";
+$a->config['system']['baseurl'] = 'https://myredsite.example';
+$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['location_hash'] = 'if the auto install failed, put a unique random string here';
+
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
// Be certain to create your own personal account before setting
@@ -37,20 +55,12 @@ $a->config['sitename'] = "Friendica Social Network";
// must precisely match the email address of the person logged in.
$a->config['system']['register_policy'] = REGISTER_OPEN;
-$a->config['register_text'] = '';
+$a->config['system']['register_text'] = '';
$a->config['system']['admin_email'] = '';
-// Maximum size of an imported message, 0 is unlimited
-
-$a->config['max_import_size'] = 200000;
-
-// maximum size of uploaded photos
-
-$a->config['system']['maximagesize'] = 800000;
-
// Location of PHP command line processor
-$a->config['php_path'] = 'php';
+$a->config['system']['php_path'] = 'php';
// Configure how we communicate with directory servers.
@@ -61,18 +71,3 @@ $a->config['php_path'] = 'php';
$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
-
-// PuSH - aka pubsubhubbub URL. This makes delivery of public posts as fast as private posts
-
-$a->config['system']['huburl'] = 'http://pubsubhubbub.appspot.com';
-
-// allowed themes (change this from admin panel after installation)
-
-$a->config['system']['allowed_themes'] = 'redbasic';
-
-// default system theme
-
-$a->config['system']['theme'] = 'redbasic';
-
-
-
diff --git a/install/update.php b/install/update.php
index c40dd1982..3c40ee0c5 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1031 );
+define( 'UPDATE_VERSION' , 1070 );
/**
*
@@ -52,7 +52,7 @@ function update_r1001() {
`meta` CHAR( 255 ) NOT NULL DEFAULT '',
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY ( `id` )
- ) ENGINE = MYISAM ");
+ ) ENGINE = MYISAM DEFAULT CHARSET=utf8");
$r2 = q("alter table `verify` add index (`channel`), add index (`type`), add index (`token`),
add index (`meta`), add index (`created`)");
@@ -91,7 +91,7 @@ function update_r1004() {
`site_update` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`site_directory` CHAR( 255 ) NOT NULL DEFAULT '',
PRIMARY KEY ( `site_url` )
-) ENGINE = MYISAM ");
+) ENGINE = MYISAM DEFAULT CHARSET=utf8");
$r2 = q("alter table site add index (site_flags), add index (site_update), add index (site_directory) ");
@@ -204,7 +204,7 @@ function update_r1013() {
`xlink_xchan` CHAR( 255 ) NOT NULL DEFAULT '',
`xlink_link` CHAR( 255 ) NOT NULL DEFAULT '',
`xlink_updated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
-) ENGINE = MYISAM ");
+) ENGINE = MYISAM DEFAULT CHARSET=utf8");
$r2 = q("alter table xlink add index ( xlink_xchan ), add index ( xlink_link ), add index ( xlink_updated ) ");
if($r && $r2)
@@ -367,7 +367,7 @@ ADD INDEX ( `channel_deleted` ) ");
}
function update_r1030() {
- $r = q("CREATE TABLE IF NOT EXISTS`issue` (
+ $r = q("CREATE TABLE IF NOT EXISTS `issue` (
`issue_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`issue_created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`issue_updated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
@@ -381,9 +381,419 @@ KEY `issue_assigned` (`issue_assigned`),
KEY `issue_priority` (`issue_priority`),
KEY `issue_status` (`issue_status`),
KEY `issue_component` (`issue_component`)
-) ENGINE = MYISAM ");
+) ENGINE = MYISAM DEFAULT CHARSET=utf8");
if($r)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
}
+
+function update_r1031() {
+ $r = q("ALTER TABLE `account` ADD `account_external` CHAR( 255 ) NOT NULL DEFAULT '' AFTER `account_email` ,
+ADD INDEX ( `account_external` )");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+
+function update_r1032() {
+ $r = q("CREATE TABLE if not exists `xign` (
+`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+`uid` INT NOT NULL DEFAULT '0',
+`xchan` CHAR( 255 ) NOT NULL DEFAULT '',
+KEY `uid` (`uid`),
+KEY `xchan` (`xchan`)
+) ENGINE = MYISAM DEFAULT CHARSET = utf8");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1033() {
+ $r = q("CREATE TABLE if not exists `shares` (
+`share_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+`share_type` INT NOT NULL DEFAULT '0',
+`share_target` INT UNSIGNED NOT NULL DEFAULT '0',
+`share_xchan` CHAR( 255 ) NOT NULL DEFAULT '',
+KEY `share_type` (`share_type`),
+KEY `share_target` (`share_target`),
+KEY `share_xchan` (`share_xchan`)
+) ENGINE = MYISAM DEFAULT CHARSET = utf8");
+
+ // if these fail don't bother reporting it
+
+ q("drop table gcign");
+ q("drop table gcontact");
+ q("drop table glink");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1034() {
+ $r = q("CREATE TABLE if not exists `updates` (
+`ud_hash` CHAR( 128 ) NOT NULL ,
+`ud_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+PRIMARY KEY ( `ud_hash` ),
+KEY `ud_date` ( `ud_date` )
+) ENGINE = MYISAM DEFAULT CHARSET = utf8");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1035() {
+ $r = q("CREATE TABLE if not exists `xconfig` (
+`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+`xchan` CHAR( 255 ) NOT NULL ,
+`cat` CHAR( 255 ) NOT NULL ,
+`k` CHAR( 255 ) NOT NULL ,
+`v` MEDIUMTEXT NOT NULL,
+KEY `xchan` ( `xchan` ),
+KEY `cat` ( `cat` ),
+KEY `k` ( `k` )
+) ENGINE = MYISAM DEFAULT CHARSET = utf8");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1036() {
+ $r = q("ALTER TABLE `profile` ADD `channels` TEXT NOT NULL AFTER `contact` ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+}
+
+
+function update_r1037() {
+ $r1 = q("ALTER TABLE `item` CHANGE `uri` `mid` CHAR( 255 ) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
+CHANGE `parent_uri` `parent_mid` CHAR( 255 ) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
+ DROP INDEX `uri` ,
+ADD INDEX `mid` ( `mid` ),
+DROP INDEX `parent_uri` ,
+ADD INDEX `parent_mid` ( `parent_mid` ),
+ DROP INDEX `uid_uri` ,
+ADD INDEX `uid_mid` ( `mid` , `uid` ) ");
+
+ $r2 = q("ALTER TABLE `mail` CHANGE `uri` `mid` CHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
+CHANGE `parent_uri` `parent_mid` CHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
+DROP INDEX `uri` ,
+ADD INDEX `mid` ( `mid` ),
+ DROP INDEX `parent_uri` ,
+ADD INDEX `parent_mid` ( `parent_mid` ) ");
+
+ if($r1 && $r2)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+
+function update_r1038() {
+ $r = q("ALTER TABLE `manage` CHANGE `mid` `xchan` CHAR( 255 ) NOT NULL DEFAULT '', drop index `mid`, ADD INDEX ( `xchan` )");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+}
+
+
+function update_r1039() {
+ $r = q("ALTER TABLE `channel` CHANGE `channel_default_gid` `channel_default_group` CHAR( 255 ) NOT NULL DEFAULT ''");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+}
+
+function update_r1040() {
+ $r1 = q("ALTER TABLE `session` CHANGE `expire` `expire` BIGINT UNSIGNED NOT NULL ");
+ $r2 = q("ALTER TABLE `tokens` CHANGE `expires` `expires` BIGINT UNSIGNED NOT NULL ");
+
+ if($r1 && $r2)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1041() {
+ $r = q("ALTER TABLE `outq` ADD `outq_driver` CHAR( 32 ) NOT NULL DEFAULT '' AFTER `outq_channel` ");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+
+function update_r1042() {
+ $r = q("ALTER TABLE `hubloc` ADD `hubloc_updated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+ADD `hubloc_connected` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', ADD INDEX ( `hubloc_updated` ), ADD INDEX ( `hubloc_connected` )");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+
+function update_r1043() {
+ $r = q("ALTER TABLE `item` ADD `comment_policy` CHAR( 255 ) NOT NULL DEFAULT '' AFTER `coord` ,
+ADD INDEX ( `comment_policy` ) ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1044() {
+ $r = q("ALTER TABLE `term` ADD `imgurl` CHAR( 255 ) NOT NULL ,
+ADD INDEX ( `imgurl` ) ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1045() {
+ $r = q("ALTER TABLE `site` ADD `site_register` INT NOT NULL DEFAULT '0',
+ADD INDEX ( `site_register` ) ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1046() {
+ $r = q("ALTER TABLE `term` ADD `term_hash` CHAR( 255 ) NOT NULL DEFAULT '',
+ADD INDEX ( `term_hash` ) ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1047() {
+ $r = q("ALTER TABLE `xprof` ADD `xprof_age` TINYINT( 3 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `xprof_hash` ,
+ADD INDEX ( `xprof_age` ) ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1048() {
+ $r = q("CREATE TABLE IF NOT EXISTS `obj` (
+ `obj_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `obj_page` char(64) NOT NULL DEFAULT '',
+ `obj_verb` char(255) NOT NULL DEFAULT '',
+ `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',
+ 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 ");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+
+function update_r1049() {
+ $r = q("ALTER TABLE `term` ADD `parent_hash` CHAR( 255 ) NOT NULL DEFAULT '' AFTER `term_hash` , ADD INDEX ( `parent_hash` ) ");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1050() {
+ $r = q("ALTER TABLE `xtag` DROP PRIMARY KEY , ADD `xtag_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST , ADD INDEX ( `xtag_hash` ) ");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1051() {
+ $r = q("ALTER TABLE `photo` ADD `photo_flags` INT UNSIGNED NOT NULL DEFAULT '0' AFTER `profile` , ADD INDEX ( `photo_flags` ) ");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+
+function update_r1052() {
+ $r = q("ALTER TABLE `channel` ADD UNIQUE (`channel_address`) ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1053() {
+ $r = q("ALTER TABLE `profile` ADD `chandesc` TEXT NOT NULL DEFAULT '' AFTER `pdesc` ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1054() {
+ $r = q("ALTER TABLE `item` CHANGE `title` `title` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1055() {
+ $r = q("ALTER TABLE `mail` CHANGE `title` `title` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1056() {
+ $r = q("ALTER TABLE `xchan` ADD `xchan_instance_url` CHAR( 255 ) NOT NULL DEFAULT '' AFTER `xchan_network` ,
+ADD INDEX ( `xchan_instance_url` ) ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1057() {
+ $r = q("drop table intro");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1058() {
+ $r1 = q("ALTER TABLE `menu` ADD `menu_name` CHAR( 255 ) NOT NULL DEFAULT '' AFTER `menu_channel_id` ,
+ADD INDEX ( `menu_name` ) ");
+
+ $r2 = q("ALTER TABLE `menu_item` ADD `mitem_flags` INT NOT NULL DEFAULT '0' AFTER `mitem_desc` ,
+ADD INDEX ( `mitem_flags` ) ");
+
+ if($r1 && $r2)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1059() {
+ $r = q("ALTER TABLE `mail` ADD `attach` MEDIUMTEXT NOT NULL DEFAULT '' AFTER `body` ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1060() {
+
+ $r = q("CREATE TABLE IF NOT EXISTS `vote` (
+ `vote_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `vote_poll` int(11) NOT NULL DEFAULT '0',
+ `vote_element` int(11) NOT NULL DEFAULT '0',
+ `vote_result` text NOT NULL,
+ `vote_xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`vote_id`),
+ UNIQUE KEY `vote_vote` (`vote_poll`,`vote_element`,`vote_xchan`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1061() {
+ $r = q("ALTER TABLE `vote` ADD INDEX ( `vote_poll` ), ADD INDEX ( `vote_element` ) ");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1062() {
+ $r1 = q("CREATE TABLE IF NOT EXISTS `poll` (
+`poll_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+`poll_channel` INT UNSIGNED NOT NULL DEFAULT '0',
+`poll_desc` TEXT NOT NULL DEFAULT '',
+`poll_flags` INT NOT NULL DEFAULT '0',
+`poll_votes` INT NOT NULL DEFAULT '0',
+KEY `poll_channel` (`poll_channel`),
+KEY `poll_flags` (`poll_flags`),
+KEY `poll_votes` (`poll_votes`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
+
+ $r2 = q("CREATE TABLE IF NOT EXISTS `poll_elm` (
+`pelm_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+`pelm_poll` INT UNSIGNED NOT NULL DEFAULT '0',
+`pelm_desc` TEXT NOT NULL DEFAULT '',
+`pelm_flags` INT NOT NULL DEFAULT '0',
+`pelm_result` FLOAT NOT NULL DEFAULT '0',
+KEY `pelm_poll` (`pelm_poll`),
+KEY `pelm_result` (`pelm_result`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
+
+ if($r1 && $r2)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1063() {
+ $r = q("ALTER TABLE `xchan` ADD `xchan_follow` CHAR( 255 ) NOT NULL DEFAULT '' AFTER `xchan_connurl` ,
+ADD `xchan_connpage` CHAR( 255 ) NOT NULL DEFAULT '' AFTER `xchan_follow` ,
+ADD INDEX ( `xchan_follow` ), ADD INDEX ( `xchan_connpage`) ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1064() {
+ $r = q("ALTER TABLE `updates` ADD `ud_guid` CHAR( 255 ) NOT NULL DEFAULT '' AFTER `ud_hash` ,
+ADD INDEX ( `ud_guid` )");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1065() {
+ $r = q("ALTER TABLE `item` DROP `wall`, ADD `layout_mid` CHAR( 255 ) NOT NULL DEFAULT '' AFTER `target` ,
+ADD INDEX ( `layout_mid` ) ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1066() {
+ $r = q("ALTER TABLE `site` ADD `site_access` INT NOT NULL DEFAULT '0' AFTER `site_url` ,
+ADD INDEX ( `site_access` )");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1067() {
+ $r = q("ALTER TABLE `updates` DROP PRIMARY KEY , ADD `ud_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST, ADD INDEX ( `ud_hash` ) ");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1068(){
+ $r = q("ALTER TABLE `hubloc` ADD `hubloc_status` INT UNSIGNED NOT NULL DEFAULT '0' AFTER `hubloc_flags` , ADD INDEX ( `hubloc_status` )");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1069() {
+ $r = q("ALTER TABLE `site` ADD `site_sellpage` CHAR( 255 ) NOT NULL DEFAULT '',
+ADD INDEX ( `site_sellpage` )");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
diff --git a/js/acl.js b/js/acl.js
index 3eb6a65a4..591c9c467 100644
--- a/js/acl.js
+++ b/js/acl.js
@@ -21,8 +21,8 @@ function ACL(backend_url, preset){
/*events*/
that.showall.click(that.on_showall);
- $(".acl-button-show").live('click', that.on_button_show);
- $(".acl-button-hide").live('click', that.on_button_hide);
+ $(document).on('click','.acl-button-show',that.on_button_show);
+ $(document).on('click','.acl-button-hide',that.on_button_hide);
$("#acl-search").keypress(that.on_search);
$("#acl-wrapper").parents("form").submit(that.on_submit);
@@ -247,8 +247,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}' title='{6}' id='{2}{3}'>"+that.item_tpl+"</div>";
- html = html.format( this.photo, this.name, this.type, this.xid, '', this.network, this.link );
+ 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 );
if (this.uids!=undefined) that.group_uids[this.id] = this.uids;
//console.log(html);
that.list_content.append(html);
diff --git a/js/fk.autocomplete.js b/js/fk.autocomplete.js
index fc41f9cbe..8bac41936 100644
--- a/js/fk.autocomplete.js
+++ b/js/fk.autocomplete.js
@@ -32,6 +32,12 @@ function ACPopup(elm,backend_url){
}
}
+ if(! w)
+ w = 530;
+
+ if(! h)
+ h = 130;
+
style.top=style.top+h;
style.width = w;
style.position = 'absolute';
@@ -80,7 +86,7 @@ ACPopup.prototype._search = function(){
that.cont.show();
$(data.items).each(function(){
html = "<img src='{0}' height='16px' width='16px'>{1} ({2})".format(this.photo, this.name, this.nick)
- that.add(html, this.nick.replace(' ','') + '+' + this.id + ' - ' + this.link);
+ that.add(this.taggable, html, this.nick.replace(' ','') + '+' + this.id + ' - ' + this.link);
});
} else {
that.cont.hide();
@@ -89,9 +95,9 @@ ACPopup.prototype._search = function(){
});
}
- ACPopup.prototype.add = function(label, value){
+ACPopup.prototype.add = function(taggable, label, value){
var that=this;
- var elm = $("<div class='acpopupitem' title='"+value+"'>"+label+"</div>");
+ var elm = $("<div class='acpopupitem " + taggable +"' title='"+value+"'>"+label+"</div>");
elm.click(function(e){
t = $(this).attr('title').replace(new RegExp(' \- .*'),'');
if(typeof(that.element.container) === "undefined") {
diff --git a/js/jquery-migrate-1.1.1.js b/js/jquery-migrate-1.1.1.js
new file mode 100644
index 000000000..e99f954e6
--- /dev/null
+++ b/js/jquery-migrate-1.1.1.js
@@ -0,0 +1,511 @@
+/*!
+ * jQuery Migrate - v1.1.1 - 2013-02-16
+ * https://github.com/jquery/jquery-migrate
+ * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors; Licensed MIT
+ */
+(function( jQuery, window, undefined ) {
+// See http://bugs.jquery.com/ticket/13335
+// "use strict";
+
+
+var warnedAbout = {};
+
+// List of warnings already given; public read only
+jQuery.migrateWarnings = [];
+
+// Set to true to prevent console output; migrateWarnings still maintained
+// jQuery.migrateMute = false;
+
+// Show a message on the console so devs know we're active
+if ( !jQuery.migrateMute && window.console && console.log ) {
+ console.log("JQMIGRATE: Logging is active");
+}
+
+// Set to false to disable traces that appear with warnings
+if ( jQuery.migrateTrace === undefined ) {
+ jQuery.migrateTrace = true;
+}
+
+// Forget any warnings we've already given; public
+jQuery.migrateReset = function() {
+ warnedAbout = {};
+ jQuery.migrateWarnings.length = 0;
+};
+
+function migrateWarn( msg) {
+ if ( !warnedAbout[ msg ] ) {
+ warnedAbout[ msg ] = true;
+ jQuery.migrateWarnings.push( msg );
+ if ( window.console && console.warn && !jQuery.migrateMute ) {
+ console.warn( "JQMIGRATE: " + msg );
+ if ( jQuery.migrateTrace && console.trace ) {
+ console.trace();
+ }
+ }
+ }
+}
+
+function migrateWarnProp( obj, prop, value, msg ) {
+ if ( Object.defineProperty ) {
+ // On ES5 browsers (non-oldIE), warn if the code tries to get prop;
+ // allow property to be overwritten in case some other plugin wants it
+ try {
+ Object.defineProperty( obj, prop, {
+ configurable: true,
+ enumerable: true,
+ get: function() {
+ migrateWarn( msg );
+ return value;
+ },
+ set: function( newValue ) {
+ migrateWarn( msg );
+ value = newValue;
+ }
+ });
+ return;
+ } catch( err ) {
+ // IE8 is a dope about Object.defineProperty, can't warn there
+ }
+ }
+
+ // Non-ES5 (or broken) browser; just set the property
+ jQuery._definePropertyBroken = true;
+ obj[ prop ] = value;
+}
+
+if ( document.compatMode === "BackCompat" ) {
+ // jQuery has never supported or tested Quirks Mode
+ migrateWarn( "jQuery is not compatible with Quirks Mode" );
+}
+
+
+var attrFn = jQuery( "<input/>", { size: 1 } ).attr("size") && jQuery.attrFn,
+ oldAttr = jQuery.attr,
+ valueAttrGet = jQuery.attrHooks.value && jQuery.attrHooks.value.get ||
+ function() { return null; },
+ valueAttrSet = jQuery.attrHooks.value && jQuery.attrHooks.value.set ||
+ function() { return undefined; },
+ rnoType = /^(?:input|button)$/i,
+ rnoAttrNodeType = /^[238]$/,
+ rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
+ ruseDefault = /^(?:checked|selected)$/i;
+
+// jQuery.attrFn
+migrateWarnProp( jQuery, "attrFn", attrFn || {}, "jQuery.attrFn is deprecated" );
+
+jQuery.attr = function( elem, name, value, pass ) {
+ var lowerName = name.toLowerCase(),
+ nType = elem && elem.nodeType;
+
+ if ( pass ) {
+ // Since pass is used internally, we only warn for new jQuery
+ // versions where there isn't a pass arg in the formal params
+ if ( oldAttr.length < 4 ) {
+ migrateWarn("jQuery.fn.attr( props, pass ) is deprecated");
+ }
+ if ( elem && !rnoAttrNodeType.test( nType ) &&
+ (attrFn ? name in attrFn : jQuery.isFunction(jQuery.fn[name])) ) {
+ return jQuery( elem )[ name ]( value );
+ }
+ }
+
+ // Warn if user tries to set `type`, since it breaks on IE 6/7/8; by checking
+ // for disconnected elements we don't warn on $( "<button>", { type: "button" } ).
+ if ( name === "type" && value !== undefined && rnoType.test( elem.nodeName ) && elem.parentNode ) {
+ migrateWarn("Can't change the 'type' of an input or button in IE 6/7/8");
+ }
+
+ // Restore boolHook for boolean property/attribute synchronization
+ if ( !jQuery.attrHooks[ lowerName ] && rboolean.test( lowerName ) ) {
+ jQuery.attrHooks[ lowerName ] = {
+ get: function( elem, name ) {
+ // Align boolean attributes with corresponding properties
+ // Fall back to attribute presence where some booleans are not supported
+ var attrNode,
+ property = jQuery.prop( elem, name );
+ return property === true || typeof property !== "boolean" &&
+ ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
+
+ name.toLowerCase() :
+ undefined;
+ },
+ set: function( elem, value, name ) {
+ var propName;
+ if ( value === false ) {
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else {
+ // value is true since we know at this point it's type boolean and not false
+ // Set boolean attributes to the same name and set the DOM property
+ propName = jQuery.propFix[ name ] || name;
+ if ( propName in elem ) {
+ // Only set the IDL specifically if it already exists on the element
+ elem[ propName ] = true;
+ }
+
+ elem.setAttribute( name, name.toLowerCase() );
+ }
+ return name;
+ }
+ };
+
+ // Warn only for attributes that can remain distinct from their properties post-1.9
+ if ( ruseDefault.test( lowerName ) ) {
+ migrateWarn( "jQuery.fn.attr('" + lowerName + "') may use property instead of attribute" );
+ }
+ }
+
+ return oldAttr.call( jQuery, elem, name, value );
+};
+
+// attrHooks: value
+jQuery.attrHooks.value = {
+ get: function( elem, name ) {
+ var nodeName = ( elem.nodeName || "" ).toLowerCase();
+ if ( nodeName === "button" ) {
+ return valueAttrGet.apply( this, arguments );
+ }
+ if ( nodeName !== "input" && nodeName !== "option" ) {
+ migrateWarn("jQuery.fn.attr('value') no longer gets properties");
+ }
+ return name in elem ?
+ elem.value :
+ null;
+ },
+ set: function( elem, value ) {
+ var nodeName = ( elem.nodeName || "" ).toLowerCase();
+ if ( nodeName === "button" ) {
+ return valueAttrSet.apply( this, arguments );
+ }
+ if ( nodeName !== "input" && nodeName !== "option" ) {
+ migrateWarn("jQuery.fn.attr('value', val) no longer sets properties");
+ }
+ // Does not return so that setAttribute is also used
+ elem.value = value;
+ }
+};
+
+
+var matched, browser,
+ oldInit = jQuery.fn.init,
+ oldParseJSON = jQuery.parseJSON,
+ // Note this does NOT include the #9521 XSS fix from 1.7!
+ rquickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*|#([\w\-]*))$/;
+
+// $(html) "looks like html" rule change
+jQuery.fn.init = function( selector, context, rootjQuery ) {
+ var match;
+
+ if ( selector && typeof selector === "string" && !jQuery.isPlainObject( context ) &&
+ (match = rquickExpr.exec( selector )) && match[1] ) {
+ // This is an HTML string according to the "old" rules; is it still?
+ if ( selector.charAt( 0 ) !== "<" ) {
+ migrateWarn("$(html) HTML strings must start with '<' character");
+ }
+ // Now process using loose rules; let pre-1.8 play too
+ if ( context && context.context ) {
+ // jQuery object as context; parseHTML expects a DOM object
+ context = context.context;
+ }
+ if ( jQuery.parseHTML ) {
+ return oldInit.call( this, jQuery.parseHTML( jQuery.trim(selector), context, true ),
+ context, rootjQuery );
+ }
+ }
+ return oldInit.apply( this, arguments );
+};
+jQuery.fn.init.prototype = jQuery.fn;
+
+// Let $.parseJSON(falsy_value) return null
+jQuery.parseJSON = function( json ) {
+ if ( !json && json !== null ) {
+ migrateWarn("jQuery.parseJSON requires a valid JSON string");
+ return null;
+ }
+ return oldParseJSON.apply( this, arguments );
+};
+
+jQuery.uaMatch = function( ua ) {
+ ua = ua.toLowerCase();
+
+ var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
+ /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
+ /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
+ /(msie) ([\w.]+)/.exec( ua ) ||
+ ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
+ [];
+
+ return {
+ browser: match[ 1 ] || "",
+ version: match[ 2 ] || "0"
+ };
+};
+
+// Don't clobber any existing jQuery.browser in case it's different
+if ( !jQuery.browser ) {
+ matched = jQuery.uaMatch( navigator.userAgent );
+ browser = {};
+
+ if ( matched.browser ) {
+ browser[ matched.browser ] = true;
+ browser.version = matched.version;
+ }
+
+ // Chrome is Webkit, but Webkit is also Safari.
+ if ( browser.chrome ) {
+ browser.webkit = true;
+ } else if ( browser.webkit ) {
+ browser.safari = true;
+ }
+
+ jQuery.browser = browser;
+}
+
+// Warn if the code tries to get jQuery.browser
+migrateWarnProp( jQuery, "browser", jQuery.browser, "jQuery.browser is deprecated" );
+
+jQuery.sub = function() {
+ function jQuerySub( selector, context ) {
+ return new jQuerySub.fn.init( selector, context );
+ }
+ jQuery.extend( true, jQuerySub, this );
+ jQuerySub.superclass = this;
+ jQuerySub.fn = jQuerySub.prototype = this();
+ jQuerySub.fn.constructor = jQuerySub;
+ jQuerySub.sub = this.sub;
+ jQuerySub.fn.init = function init( selector, context ) {
+ if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
+ context = jQuerySub( context );
+ }
+
+ return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
+ };
+ jQuerySub.fn.init.prototype = jQuerySub.fn;
+ var rootjQuerySub = jQuerySub(document);
+ migrateWarn( "jQuery.sub() is deprecated" );
+ return jQuerySub;
+};
+
+
+// Ensure that $.ajax gets the new parseJSON defined in core.js
+jQuery.ajaxSetup({
+ converters: {
+ "text json": jQuery.parseJSON
+ }
+});
+
+
+var oldFnData = jQuery.fn.data;
+
+jQuery.fn.data = function( name ) {
+ var ret, evt,
+ elem = this[0];
+
+ // Handles 1.7 which has this behavior and 1.8 which doesn't
+ if ( elem && name === "events" && arguments.length === 1 ) {
+ ret = jQuery.data( elem, name );
+ evt = jQuery._data( elem, name );
+ if ( ( ret === undefined || ret === evt ) && evt !== undefined ) {
+ migrateWarn("Use of jQuery.fn.data('events') is deprecated");
+ return evt;
+ }
+ }
+ return oldFnData.apply( this, arguments );
+};
+
+
+var rscriptType = /\/(java|ecma)script/i,
+ oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack;
+
+jQuery.fn.andSelf = function() {
+ migrateWarn("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()");
+ return oldSelf.apply( this, arguments );
+};
+
+// Since jQuery.clean is used internally on older versions, we only shim if it's missing
+if ( !jQuery.clean ) {
+ jQuery.clean = function( elems, context, fragment, scripts ) {
+ // Set context per 1.8 logic
+ context = context || document;
+ context = !context.nodeType && context[0] || context;
+ context = context.ownerDocument || context;
+
+ migrateWarn("jQuery.clean() is deprecated");
+
+ var i, elem, handleScript, jsTags,
+ ret = [];
+
+ jQuery.merge( ret, jQuery.buildFragment( elems, context ).childNodes );
+
+ // Complex logic lifted directly from jQuery 1.8
+ if ( fragment ) {
+ // Special handling of each script element
+ handleScript = function( elem ) {
+ // Check if we consider it executable
+ if ( !elem.type || rscriptType.test( elem.type ) ) {
+ // Detach the script and store it in the scripts array (if provided) or the fragment
+ // Return truthy to indicate that it has been handled
+ return scripts ?
+ scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) :
+ fragment.appendChild( elem );
+ }
+ };
+
+ for ( i = 0; (elem = ret[i]) != null; i++ ) {
+ // Check if we're done after handling an executable script
+ if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) {
+ // Append to fragment and handle embedded scripts
+ fragment.appendChild( elem );
+ if ( typeof elem.getElementsByTagName !== "undefined" ) {
+ // handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration
+ jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript );
+
+ // Splice the scripts into ret after their former ancestor and advance our index beyond them
+ ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
+ i += jsTags.length;
+ }
+ }
+ }
+ }
+
+ return ret;
+ };
+}
+
+var eventAdd = jQuery.event.add,
+ eventRemove = jQuery.event.remove,
+ eventTrigger = jQuery.event.trigger,
+ oldToggle = jQuery.fn.toggle,
+ oldLive = jQuery.fn.live,
+ oldDie = jQuery.fn.die,
+ ajaxEvents = "ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",
+ rajaxEvent = new RegExp( "\\b(?:" + ajaxEvents + ")\\b" ),
+ rhoverHack = /(?:^|\s)hover(\.\S+|)\b/,
+ hoverHack = function( events ) {
+ if ( typeof( events ) !== "string" || jQuery.event.special.hover ) {
+ return events;
+ }
+ if ( rhoverHack.test( events ) ) {
+ migrateWarn("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'");
+ }
+ return events && events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
+ };
+
+// Event props removed in 1.9, put them back if needed; no practical way to warn them
+if ( jQuery.event.props && jQuery.event.props[ 0 ] !== "attrChange" ) {
+ jQuery.event.props.unshift( "attrChange", "attrName", "relatedNode", "srcElement" );
+}
+
+// Undocumented jQuery.event.handle was "deprecated" in jQuery 1.7
+if ( jQuery.event.dispatch ) {
+ migrateWarnProp( jQuery.event, "handle", jQuery.event.dispatch, "jQuery.event.handle is undocumented and deprecated" );
+}
+
+// Support for 'hover' pseudo-event and ajax event warnings
+jQuery.event.add = function( elem, types, handler, data, selector ){
+ if ( elem !== document && rajaxEvent.test( types ) ) {
+ migrateWarn( "AJAX events should be attached to document: " + types );
+ }
+ eventAdd.call( this, elem, hoverHack( types || "" ), handler, data, selector );
+};
+jQuery.event.remove = function( elem, types, handler, selector, mappedTypes ){
+ eventRemove.call( this, elem, hoverHack( types ) || "", handler, selector, mappedTypes );
+};
+
+jQuery.fn.error = function() {
+ var args = Array.prototype.slice.call( arguments, 0);
+ migrateWarn("jQuery.fn.error() is deprecated");
+ args.splice( 0, 0, "error" );
+ if ( arguments.length ) {
+ return this.bind.apply( this, args );
+ }
+ // error event should not bubble to window, although it does pre-1.7
+ this.triggerHandler.apply( this, args );
+ return this;
+};
+
+jQuery.fn.toggle = function( fn, fn2 ) {
+
+ // Don't mess with animation or css toggles
+ if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {
+ return oldToggle.apply( this, arguments );
+ }
+ migrateWarn("jQuery.fn.toggle(handler, handler...) is deprecated");
+
+ // Save reference to arguments for access in closure
+ var args = arguments,
+ guid = fn.guid || jQuery.guid++,
+ i = 0,
+ toggler = function( event ) {
+ // Figure out which function to execute
+ var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
+ jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
+
+ // Make sure that clicks stop
+ event.preventDefault();
+
+ // and execute the function
+ return args[ lastToggle ].apply( this, arguments ) || false;
+ };
+
+ // link all the functions, so any of them can unbind this click handler
+ toggler.guid = guid;
+ while ( i < args.length ) {
+ args[ i++ ].guid = guid;
+ }
+
+ return this.click( toggler );
+};
+
+jQuery.fn.live = function( types, data, fn ) {
+ migrateWarn("jQuery.fn.live() is deprecated");
+ if ( oldLive ) {
+ return oldLive.apply( this, arguments );
+ }
+ jQuery( this.context ).on( types, this.selector, data, fn );
+ return this;
+};
+
+jQuery.fn.die = function( types, fn ) {
+ migrateWarn("jQuery.fn.die() is deprecated");
+ if ( oldDie ) {
+ return oldDie.apply( this, arguments );
+ }
+ jQuery( this.context ).off( types, this.selector || "**", fn );
+ return this;
+};
+
+// Turn global events into document-triggered events
+jQuery.event.trigger = function( event, data, elem, onlyHandlers ){
+ if ( !elem && !rajaxEvent.test( event ) ) {
+ migrateWarn( "Global events are undocumented and deprecated" );
+ }
+ return eventTrigger.call( this, event, data, elem || document, onlyHandlers );
+};
+jQuery.each( ajaxEvents.split("|"),
+ function( _, name ) {
+ jQuery.event.special[ name ] = {
+ setup: function() {
+ var elem = this;
+
+ // The document needs no shimming; must be !== for oldIE
+ if ( elem !== document ) {
+ jQuery.event.add( document, name + "." + jQuery.guid, function() {
+ jQuery.event.trigger( name, null, elem, true );
+ });
+ jQuery._data( this, name, jQuery.guid++ );
+ }
+ return false;
+ },
+ teardown: function() {
+ if ( this !== document ) {
+ jQuery.event.remove( document, name + "." + jQuery._data( this, name ) );
+ }
+ return false;
+ }
+ };
+ }
+);
+
+
+})( jQuery, window );
diff --git a/js/jquery.js b/js/jquery.js
index 16ad06c5a..006e95310 100644
--- a/js/jquery.js
+++ b/js/jquery.js
@@ -1,4 +1,5 @@
-/*! jQuery v1.7.2 jquery.com | jquery.org/license */
-(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,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||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(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===bS,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=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),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 bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b];if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(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(O.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 S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,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=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};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=m.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.7.2",length:0,size:function(){return this.length},toArray:function(){return F.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)?E.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(),A.add(a);return this},eq:function(a){a=+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(F.apply(this,arguments),"slice",F.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:E,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;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(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(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},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:G?function(a){return a==null?"":G.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)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&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=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.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){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.shift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.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:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table><tr><td style='"+t+"0;display:none'></td><td>t</td></tr></table>",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([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&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=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,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},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"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this: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(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},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.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(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){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);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+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.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.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),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,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},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},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.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}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=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,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?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]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,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.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,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);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),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 z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(
-a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c);return c.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,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 instanceof f.Event))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()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},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)}}),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 contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.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&&!l.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&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.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&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,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(j,"")+" ";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(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.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]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),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]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.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!!m(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=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([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}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&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=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null: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=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=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(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)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 v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=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}),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)&&(o.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:[]}},o.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&&(o.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")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[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}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.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 m(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;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.globalPOS,R={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(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0: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=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.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(i?i.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)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));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(S(c[0])||S(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);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).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 V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")[\\s/>]","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,"",""]},bh=U(c);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){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},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){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):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
-.clean(arguments);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.clean(arguments));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){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(f.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(g){}}c&&this.empty().append(a)},null,a,arguments.length)},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?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,function(a,b){b.src?f.ajax({type:"GET",global:!1,url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=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,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1></$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]==="<table>"&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i<u;i++)bn(l[i]);else bn(l);l.nodeType?j.push(l):j=f.merge(j,l)}if(d){g=function(a){return!a.type||be.test(a.type)};for(k=0;j[k];k++){h=j[k];if(e&&f.nodeName(h,"script")&&(!h.type||be.test(h.type)))e.push(h.parentNode?h.parentNode.removeChild(h):h);else{if(h.nodeType===1){var v=f.grep(h.getElementsByTagName("script"),g);j.splice.apply(j,[k+1,0].concat(v))}d.appendChild(h)}}}return j},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bp=/alpha\([^)]*\)/i,bq=/opacity=([^)]*)/,br=/([A-Z]|^ms)/g,bs=/^[\-+]?(?:\d*\.)?\d+$/i,bt=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,bu=/^([\-+])=([\-+.\de]+)/,bv=/^margin/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Top","Right","Bottom","Left"],by,bz,bA;f.fn.css=function(a,c){return f.access(this,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)},a,c,arguments.length>1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!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,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;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(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.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,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),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&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.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(bM,"")).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||bN.test(this.nodeName)||bH.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(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(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?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},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},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),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>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),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.Callbacks("once memory"),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=bG.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.add,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(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.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]!=="*"?", "+bW+"; 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=bZ(bT,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){if(s<2)w(-1,z);else throw 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(bC,"+")}}),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=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);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);try{m.text=h.responseText}catch(a){}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;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("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.contains(d.ownerDocument.documentElement,d))&&f._data(d,"olddisplay",cu(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(ct("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].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(ct("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){function g(){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,p,q;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]);if((k=f.cssHooks[g])&&"expand"in k){l=k.expand(a[g]),delete a[g];for(i in l)i in a||(a[i]=l[i])}}for(g in a){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||cu(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cm.test(h)?(q=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),q?(f._data(this,"toggle"+i,q==="show"?"hide":"show"),j[q]()):j[h]()):(m=cn.exec(h),n=j.cur(),m?(o=parseFloat(m[2]),p=m[3]||(f.cssNumber[i]?"":"px"),p!=="px"&&(f.style(this,i,(o||1)+p),n=(o||1)/j.cur()*n,f.style(this,i,n+p)),m[1]&&(o=(m[1]==="-="?-1:1)*o+n),j.custom(n,o,p)):j.custom(n,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:ct("show",1),slideUp:ct("hide",1),slideToggle:ct("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;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a){return a},swing:function(a){return-Math.cos(a*Math.PI)/2+.5}},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,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cq||cr(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){f._data(e.elem,"fxshow"+e.prop)===b&&(e.options.hide?f._data(e.elem,"fxshow"+e.prop,e.start):e.options.show&&f._data(e.elem,"fxshow"+e.prop,e.end))},h()&&f.timers.push(h)&&!co&&(co=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cq||cr(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.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.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(cp.concat.apply([],cp),function(a,b){b.indexOf("margin")&&(f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)})}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cv,cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?cv=function(a,b,c,d){try{d=a.getBoundingClientRect()}catch(e){}if(!d||!f.contains(c,a))return d?{top:d.top,left:d.left}:{top:0,left:0};var g=b.body,h=cy(b),i=c.clientTop||g.clientTop||0,j=c.clientLeft||g.clientLeft||0,k=h.pageYOffset||f.support.boxModel&&c.scrollTop||g.scrollTop,l=h.pageXOffset||f.support.boxModel&&c.scrollLeft||g.scrollLeft,m=d.top+k-i,n=d.left+l-j;return{top:m,left:n}}:cv=function(a,b,c){var d,e=a.offsetParent,g=a,h=b.body,i=b.defaultView,j=i?i.getComputedStyle(a,null):a.currentStyle,k=a.offsetTop,l=a.offsetLeft;while((a=a.parentNode)&&a!==h&&a!==c){if(f.support.fixedPosition&&j.position==="fixed")break;d=i?i.getComputedStyle(a,null):a.currentStyle,k-=a.scrollTop,l-=a.scrollLeft,a===e&&(k+=a.offsetTop,l+=a.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(a.nodeName))&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),g=e,e=a.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),j=d}if(j.position==="relative"||j.position==="static")k+=h.offsetTop,l+=h.offsetLeft;f.support.fixedPosition&&j.position==="fixed"&&(k+=Math.max(c.scrollTop,h.scrollTop),l+=Math.max(c.scrollLeft,h.scrollLeft));return{top:k,left:l}},f.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){f.offset.setOffset(this,a,b)});var c=this[0],d=c&&c.ownerDocument;if(!d)return null;if(c===d.body)return f.offset.bodyOffset(c);return cv(c,d,d.documentElement)},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.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({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file
+/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
+//@ sourceMappingURL=jquery.min.map
+*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},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(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
+return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
+}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.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 contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window); \ No newline at end of file
diff --git a/js/jquery.spin.js b/js/jquery.spin.js
new file mode 100644
index 000000000..a35a27765
--- /dev/null
+++ b/js/jquery.spin.js
@@ -0,0 +1,80 @@
+/**
+ * Copyright (c) 2011-2013 Felix Gnass
+ * Licensed under the MIT license
+ */
+
+/*
+
+Basic Usage:
+============
+
+$('#el').spin(); // Creates a default Spinner using the text color of #el.
+$('#el').spin({ ... }); // Creates a Spinner using the provided options.
+
+$('#el').spin(false); // Stops and removes the spinner.
+
+Using Presets:
+==============
+
+$('#el').spin('small'); // Creates a 'small' Spinner using the text color of #el.
+$('#el').spin('large', '#fff'); // Creates a 'large' white Spinner.
+
+Adding a custom preset:
+=======================
+
+$.fn.spin.presets.flower = {
+ lines: 9
+ length: 10
+ width: 20
+ radius: 0
+}
+
+$('#el').spin('flower', 'red');
+
+*/
+
+(function(factory) {
+
+ if (typeof exports == 'object') {
+ // CommonJS
+ factory(require('jquery'), require('spin'))
+ }
+ else if (typeof define == 'function' && define.amd) {
+ // AMD, register as anonymous module
+ define(['jquery', 'spin'], factory)
+ }
+ else {
+ // Browser globals
+ if (!window.Spinner) throw new Error('Spin.js not present')
+ factory(window.jQuery, window.Spinner)
+ }
+
+}(function($, Spinner) {
+
+ $.fn.spin = function(opts, color) {
+
+ return this.each(function() {
+ var $this = $(this),
+ data = $this.data();
+
+ if (data.spinner) {
+ data.spinner.stop();
+ delete data.spinner;
+ }
+ if (opts !== false) {
+ opts = $.extend(
+ { color: color || $this.css('color') },
+ $.fn.spin.presets[opts] || opts
+ )
+ data.spinner = new Spinner(opts).spin(this)
+ }
+ })
+ }
+
+ $.fn.spin.presets = {
+ tiny: { lines: 8, length: 2, width: 2, radius: 3 },
+ small: { lines: 8, length: 4, width: 3, radius: 5 },
+ large: { lines: 10, length: 8, width: 4, radius: 8 }
+ }
+
+}));
diff --git a/js/main.js b/js/main.js
index ed8d4ec3f..9d764c74e 100644
--- a/js/main.js
+++ b/js/main.js
@@ -118,11 +118,12 @@
var scroll_next = false;
var next_page = 1;
var page_load = true;
+ var loadingPage = false;
$(function() {
$.ajaxSetup({cache: false});
- msie = $.browser.msie ;
+ msie = false; // $.browser.msie ;
/* setup tooltips *//*
$("a,.tt").each(function(){
@@ -162,7 +163,7 @@
function close_last_popup_menu() {
if(last_popup_menu) {
last_popup_menu.hide();
- last_popup_button.removeClass("selected");
+/* last_popup_button.removeClass("selected"); */
last_popup_menu = null;
last_popup_button = null;
}
@@ -187,7 +188,7 @@
e.preventDefault();
e.stopPropagation();
if (menu.attr('popup')=="false") return false;
- $(w).parent().toggleClass("selected");
+/* $(w).parent().toggleClass("selected"); */
/* notification menus are loaded dynamically
* - here we find a rel tag to figure out what type of notification to load */
var loader_source = $(menu).attr('rel');
@@ -251,7 +252,7 @@
function NavUpdate() {
if(liking)
- $('.like-rotator').hide();
+ $('.like-rotator').spin(false);
if(! stopped) {
@@ -270,6 +271,7 @@
if($('#live-channel').length) { src = 'channel'; liveUpdate(); }
if($('#live-community').length) { src = 'community'; liveUpdate(); }
if($('#live-display').length) { src = 'display'; liveUpdate(); }
+ if($('#live-search').length) { src = 'search'; liveUpdate(); }
if($('#live-photos').length) {
if(liking) {
@@ -341,18 +343,32 @@
function updateConvItems(mode,data) {
+
+
if(mode === 'update') {
prev = 'threads-begin';
+
$('.thread-wrapper.toplevel_item',data).each(function() {
+
var ident = $(this).attr('id');
+ var commentWrap = $('#'+ident+' .collapsed-comments').attr('id');
+ var itmId = 0;
+ var isVisible = false;
+ if(typeof commentWrap !== 'undefined')
+ itmId = commentWrap.replace('collapsed-comments-','');
+
if($('#' + ident).length == 0 && profile_page == 1) {
$('img',this).each(function() {
$(this).attr('src',$(this).attr('dst'));
});
+ if($('#collapsed-comments-'+itmId).is(':visible'))
+ isVisible = true;
$('#' + prev).after($(this));
- $("div.wall-item-ago").timeago();
+ if(isVisible)
+ showHideComments(itmId);
+ $(".autotime").timeago();
// divgrow doesn't prevent itself from attaching a second (or 500th)
// "show more" div to a content region - it also has a few other
// issues related to how we're trying to use it.
@@ -363,8 +379,13 @@ function updateConvItems(mode,data) {
$('img',this).each(function() {
$(this).attr('src',$(this).attr('dst'));
});
+ // more FIXME related to expanded comments
+ if($('#collapsed-comments-'+itmId).is(':visible'))
+ isVisible = true;
$('#' + ident).replaceWith($(this));
- $("div.wall-item-ago").timeago();
+ if(isVisible)
+ showHideComments(itmId);
+ $(".autotime").timeago();
// $("div.wall-item-body").divgrow({ initialHeight: 400 });
}
@@ -372,16 +393,32 @@ function updateConvItems(mode,data) {
});
}
if(mode === 'append') {
+
next = 'threads-end';
+
+
+
$('.thread-wrapper.toplevel_item',data).each(function() {
+
+
var ident = $(this).attr('id');
+ var commentWrap = $('#'+ident+' .collapsed-comments').attr('id');
+ var itmId = 0;
+ var isVisible = false;
+
+ if(typeof commentWrap !== 'undefined')
+ itmId = commentWrap.replace('collapsed-comments-','');
if($('#' + ident).length == 0) {
$('img',this).each(function() {
$(this).attr('src',$(this).attr('dst'));
});
+ if($('#collapsed-comments-'+itmId).is(':visible'))
+ isVisible = true;
$('#threads-end').before($(this));
- $("div.wall-item-ago").timeago();
+ if(isVisible)
+ showHideComments(itmId);
+ $(".autotime").timeago();
// $("div.wall-item-body").divgrow({ initialHeight: 400 });
}
@@ -389,11 +426,19 @@ function updateConvItems(mode,data) {
$('img',this).each(function() {
$(this).attr('src',$(this).attr('dst'));
});
+ if($('#collapsed-comments-'+itmId).is(':visible'))
+ isVisible = true;
$('#' + ident).replaceWith($(this));
- $("div.wall-item-ago").timeago();
+ if(isVisible)
+ showHideComments(itmId);
+ $(".autotime").timeago();
// $("div.wall-item-body").divgrow({ initialHeight: 400 });
}
});
+
+ if(loadingPage) {
+ loadingPage = false;
+ }
}
if(mode === 'replace') {
// clear existing content
@@ -402,14 +447,26 @@ function updateConvItems(mode,data) {
prev = 'threads-begin';
$('.thread-wrapper.toplevel_item',data).each(function() {
+
var ident = $(this).attr('id');
+ var commentWrap = $('#'+ident+' .collapsed-comments').attr('id');
+ var itmId = 0;
+ var isVisible = false;
+
+ if(typeof commentWrap !== 'undefined')
+ itmId = commentWrap.replace('collapsed-comments-','');
if($('#' + ident).length == 0 && profile_page == 1) {
$('img',this).each(function() {
$(this).attr('src',$(this).attr('dst'));
});
+
+ if($('#collapsed-comments-'+itmId).is(':visible'))
+ isVisible = true;
$('#' + prev).after($(this));
- $("div.wall-item-ago").timeago();
+ if(isVisible)
+ showHideComments(itmId);
+ $(".autotime").timeago();
// $("div.wall-item-body").divgrow({ initialHeight: 400 });
}
@@ -417,7 +474,7 @@ function updateConvItems(mode,data) {
});
}
- $('.like-rotator').hide();
+ $('.like-rotator').spin(false);
if(commentBusy) {
commentBusy = false;
@@ -469,7 +526,7 @@ function updateConvItems(mode,data) {
function liveUpdate() {
- if((src == null) || (stopped) || (! profile_uid)) { $('.like-rotator').hide(); return; }
+ if((src == null) || (stopped) || (! profile_uid)) { $('.like-rotator').spin(false); return; }
if(($('.comment-edit-text-full').length) || (in_progress)) {
if(livetime) {
clearTimeout(livetime);
@@ -503,7 +560,7 @@ function updateConvItems(mode,data) {
}
if(page_load)
- $("#page-spinner").show();
+ $("#page-spinner").spin('small');
$.get(update_url,function(data) {
var update_mode = ((page_load) ? 'replace' : 'update');
@@ -513,8 +570,8 @@ function updateConvItems(mode,data) {
scroll_next = false;
in_progress = false;
updateConvItems(update_mode,data);
- $("#page-spinner").hide();
- $("#profile-jot-text-loading").hide();
+ $("#page-spinner").spin(false);
+ $("#profile-jot-text-loading").spin(false);
});
@@ -580,14 +637,14 @@ function updateConvItems(mode,data) {
function dolike(ident,verb) {
unpause();
- $('#like-rotator-' + ident.toString()).show();
+ $('#like-rotator-' + ident.toString()).spin('tiny');
$.get('like/' + ident.toString() + '?verb=' + verb, NavUpdate );
liking = 1;
}
function dosubthread(ident) {
unpause();
- $('#like-rotator-' + ident.toString()).show();
+ $('#like-rotator-' + ident.toString()).spin('tiny');
$.get('subthread/' + ident.toString(), NavUpdate );
liking = 1;
}
@@ -595,7 +652,7 @@ function updateConvItems(mode,data) {
function dostar(ident) {
ident = ident.toString();
- $('#like-rotator-' + ident).show();
+ $('#like-rotator-' + ident).spin('tiny');
$.get('starred/' + ident, function(data) {
if(data.result == 1) {
$('#starred-' + ident).addClass('starred');
@@ -609,7 +666,7 @@ function updateConvItems(mode,data) {
$('#star-' + ident).removeClass('hidden');
$('#unstar-' + ident).addClass('hidden');
}
- $('#like-rotator-' + ident).hide();
+ $('#like-rotator-' + ident).spin(false);
});
}
@@ -892,7 +949,7 @@ jQuery.timeago.settings.strings = {
};
-$("div.wall-item-ago").timeago();
+$(".autotime").timeago();
//$("div.wall-item-body").divgrow({ initialHeight: 400 });
//reCalcHeight();
@@ -915,6 +972,7 @@ $("div.wall-item-ago").timeago();
}
+
$(window).scroll(function () {
if(typeof buildCmd == 'function') {
$('#more').hide();
@@ -926,12 +984,15 @@ $(window).scroll(function () {
}
if($(window).scrollTop() + $(window).height() == $(document).height()) {
- $('#more').hide();
- $('#no-more').hide();
- // alert('scroll');
- next_page++;
- scroll_next = true;
- liveUpdate();
+ if(! loadingPage) {
+ $('#more').hide();
+ $('#no-more').hide();
+ // alert('scroll');
+ next_page++;
+ scroll_next = true;
+ loadingPage = true;
+ liveUpdate();
+ }
}
}
diff --git a/js/spin.js b/js/spin.js
new file mode 100644
index 000000000..c66c607a7
--- /dev/null
+++ b/js/spin.js
@@ -0,0 +1,349 @@
+//fgnass.github.com/spin.js#v1.3
+
+/**
+ * Copyright (c) 2011-2013 Felix Gnass
+ * Licensed under the MIT license
+ */
+(function(root, factory) {
+
+ /* CommonJS */
+ if (typeof exports == 'object') module.exports = factory()
+
+ /* AMD module */
+ else if (typeof define == 'function' && define.amd) define(factory)
+
+ /* Browser global */
+ else root.Spinner = factory()
+}
+(this, function() {
+ "use strict";
+
+ var prefixes = ['webkit', 'Moz', 'ms', 'O'] /* Vendor prefixes */
+ , animations = {} /* Animation rules keyed by their name */
+ , useCssAnimations /* Whether to use CSS animations or setTimeout */
+
+ /**
+ * Utility function to create elements. If no tag name is given,
+ * a DIV is created. Optionally properties can be passed.
+ */
+ function createEl(tag, prop) {
+ var el = document.createElement(tag || 'div')
+ , n
+
+ for(n in prop) el[n] = prop[n]
+ return el
+ }
+
+ /**
+ * Appends children and returns the parent.
+ */
+ function ins(parent /* child1, child2, ...*/) {
+ for (var i=1, n=arguments.length; i<n; i++)
+ parent.appendChild(arguments[i])
+
+ return parent
+ }
+
+ /**
+ * Insert a new stylesheet to hold the @keyframe or VML rules.
+ */
+ var sheet = (function() {
+ var el = createEl('style', {type : 'text/css'})
+ ins(document.getElementsByTagName('head')[0], el)
+ return el.sheet || el.styleSheet
+ }())
+
+ /**
+ * Creates an opacity keyframe animation rule and returns its name.
+ * Since most mobile Webkits have timing issues with animation-delay,
+ * we create separate rules for each line/segment.
+ */
+ function addAnimation(alpha, trail, i, lines) {
+ var name = ['opacity', trail, ~~(alpha*100), i, lines].join('-')
+ , start = 0.01 + i/lines * 100
+ , z = Math.max(1 - (1-alpha) / trail * (100-start), alpha)
+ , prefix = useCssAnimations.substring(0, useCssAnimations.indexOf('Animation')).toLowerCase()
+ , pre = prefix && '-' + prefix + '-' || ''
+
+ if (!animations[name]) {
+ sheet.insertRule(
+ '@' + pre + 'keyframes ' + name + '{' +
+ '0%{opacity:' + z + '}' +
+ start + '%{opacity:' + alpha + '}' +
+ (start+0.01) + '%{opacity:1}' +
+ (start+trail) % 100 + '%{opacity:' + alpha + '}' +
+ '100%{opacity:' + z + '}' +
+ '}', sheet.cssRules.length)
+
+ animations[name] = 1
+ }
+
+ return name
+ }
+
+ /**
+ * Tries various vendor prefixes and returns the first supported property.
+ */
+ function vendor(el, prop) {
+ var s = el.style
+ , pp
+ , i
+
+ if(s[prop] !== undefined) return prop
+ prop = prop.charAt(0).toUpperCase() + prop.slice(1)
+ for(i=0; i<prefixes.length; i++) {
+ pp = prefixes[i]+prop
+ if(s[pp] !== undefined) return pp
+ }
+ }
+
+ /**
+ * Sets multiple style properties at once.
+ */
+ function css(el, prop) {
+ for (var n in prop)
+ el.style[vendor(el, n)||n] = prop[n]
+
+ return el
+ }
+
+ /**
+ * Fills in default values.
+ */
+ function merge(obj) {
+ for (var i=1; i < arguments.length; i++) {
+ var def = arguments[i]
+ for (var n in def)
+ if (obj[n] === undefined) obj[n] = def[n]
+ }
+ return obj
+ }
+
+ /**
+ * Returns the absolute page-offset of the given element.
+ */
+ function pos(el) {
+ var o = { x:el.offsetLeft, y:el.offsetTop }
+ while((el = el.offsetParent))
+ o.x+=el.offsetLeft, o.y+=el.offsetTop
+
+ return o
+ }
+
+ // Built-in defaults
+
+ var defaults = {
+ lines: 12, // The number of lines to draw
+ length: 7, // The length of each line
+ width: 5, // The line thickness
+ radius: 10, // The radius of the inner circle
+ rotate: 0, // Rotation offset
+ corners: 1, // Roundness (0..1)
+ color: '#000', // #rgb or #rrggbb
+ direction: 1, // 1: clockwise, -1: counterclockwise
+ speed: 1, // Rounds per second
+ trail: 100, // Afterglow percentage
+ opacity: 1/4, // Opacity of the lines
+ fps: 20, // Frames per second when using setTimeout()
+ zIndex: 2e9, // Use a high z-index by default
+ className: 'spinner', // CSS class to assign to the element
+ top: 'auto', // center vertically
+ left: 'auto', // center horizontally
+ position: 'relative' // element position
+ }
+
+ /** The constructor */
+ function Spinner(o) {
+ if (typeof this == 'undefined') return new Spinner(o)
+ this.opts = merge(o || {}, Spinner.defaults, defaults)
+ }
+
+ // Global defaults that override the built-ins:
+ Spinner.defaults = {}
+
+ merge(Spinner.prototype, {
+
+ /**
+ * Adds the spinner to the given target element. If this instance is already
+ * spinning, it is automatically removed from its previous target b calling
+ * stop() internally.
+ */
+ spin: function(target) {
+ this.stop()
+
+ var self = this
+ , o = self.opts
+ , el = self.el = css(createEl(0, {className: o.className}), {position: o.position, width: 0, zIndex: o.zIndex})
+ , mid = o.radius+o.length+o.width
+ , ep // element position
+ , tp // target position
+
+ if (target) {
+ target.insertBefore(el, target.firstChild||null)
+ tp = pos(target)
+ ep = pos(el)
+ css(el, {
+ left: (o.left == 'auto' ? tp.x-ep.x + (target.offsetWidth >> 1) : parseInt(o.left, 10) + mid) + 'px',
+ top: (o.top == 'auto' ? tp.y-ep.y + (target.offsetHeight >> 1) : parseInt(o.top, 10) + mid) + 'px'
+ })
+ }
+
+ el.setAttribute('role', 'progressbar')
+ self.lines(el, self.opts)
+
+ if (!useCssAnimations) {
+ // No CSS animation support, use setTimeout() instead
+ var i = 0
+ , start = (o.lines - 1) * (1 - o.direction) / 2
+ , alpha
+ , fps = o.fps
+ , f = fps/o.speed
+ , ostep = (1-o.opacity) / (f*o.trail / 100)
+ , astep = f/o.lines
+
+ ;(function anim() {
+ i++;
+ for (var j = 0; j < o.lines; j++) {
+ alpha = Math.max(1 - (i + (o.lines - j) * astep) % f * ostep, o.opacity)
+
+ self.opacity(el, j * o.direction + start, alpha, o)
+ }
+ self.timeout = self.el && setTimeout(anim, ~~(1000/fps))
+ })()
+ }
+ return self
+ },
+
+ /**
+ * Stops and removes the Spinner.
+ */
+ stop: function() {
+ var el = this.el
+ if (el) {
+ clearTimeout(this.timeout)
+ if (el.parentNode) el.parentNode.removeChild(el)
+ this.el = undefined
+ }
+ return this
+ },
+
+ /**
+ * Internal method that draws the individual lines. Will be overwritten
+ * in VML fallback mode below.
+ */
+ lines: function(el, o) {
+ var i = 0
+ , start = (o.lines - 1) * (1 - o.direction) / 2
+ , seg
+
+ function fill(color, shadow) {
+ return css(createEl(), {
+ position: 'absolute',
+ width: (o.length+o.width) + 'px',
+ height: o.width + 'px',
+ background: color,
+ boxShadow: shadow,
+ transformOrigin: 'left',
+ transform: 'rotate(' + ~~(360/o.lines*i+o.rotate) + 'deg) translate(' + o.radius+'px' +',0)',
+ borderRadius: (o.corners * o.width>>1) + 'px'
+ })
+ }
+
+ for (; i < o.lines; i++) {
+ seg = css(createEl(), {
+ position: 'absolute',
+ top: 1+~(o.width/2) + 'px',
+ transform: o.hwaccel ? 'translate3d(0,0,0)' : '',
+ opacity: o.opacity,
+ animation: useCssAnimations && addAnimation(o.opacity, o.trail, start + i * o.direction, o.lines) + ' ' + 1/o.speed + 's linear infinite'
+ })
+
+ if (o.shadow) ins(seg, css(fill('#000', '0 0 4px ' + '#000'), {top: 2+'px'}))
+
+ ins(el, ins(seg, fill(o.color, '0 0 1px rgba(0,0,0,.1)')))
+ }
+ return el
+ },
+
+ /**
+ * Internal method that adjusts the opacity of a single line.
+ * Will be overwritten in VML fallback mode below.
+ */
+ opacity: function(el, i, val) {
+ if (i < el.childNodes.length) el.childNodes[i].style.opacity = val
+ }
+
+ })
+
+
+ function initVML() {
+
+ /* Utility function to create a VML tag */
+ function vml(tag, attr) {
+ return createEl('<' + tag + ' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">', attr)
+ }
+
+ // No CSS transforms but VML support, add a CSS rule for VML elements:
+ sheet.addRule('.spin-vml', 'behavior:url(#default#VML)')
+
+ Spinner.prototype.lines = function(el, o) {
+ var r = o.length+o.width
+ , s = 2*r
+
+ function grp() {
+ return css(
+ vml('group', {
+ coordsize: s + ' ' + s,
+ coordorigin: -r + ' ' + -r
+ }),
+ { width: s, height: s }
+ )
+ }
+
+ var margin = -(o.width+o.length)*2 + 'px'
+ , g = css(grp(), {position: 'absolute', top: margin, left: margin})
+ , i
+
+ function seg(i, dx, filter) {
+ ins(g,
+ ins(css(grp(), {rotation: 360 / o.lines * i + 'deg', left: ~~dx}),
+ ins(css(vml('roundrect', {arcsize: o.corners}), {
+ width: r,
+ height: o.width,
+ left: o.radius,
+ top: -o.width>>1,
+ filter: filter
+ }),
+ vml('fill', {color: o.color, opacity: o.opacity}),
+ vml('stroke', {opacity: 0}) // transparent stroke to fix color bleeding upon opacity change
+ )
+ )
+ )
+ }
+
+ if (o.shadow)
+ for (i = 1; i <= o.lines; i++)
+ seg(i, -2, 'progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)')
+
+ for (i = 1; i <= o.lines; i++) seg(i)
+ return ins(el, g)
+ }
+
+ Spinner.prototype.opacity = function(el, i, val, o) {
+ var c = el.firstChild
+ o = o.shadow && o.lines || 0
+ if (c && i+o < c.childNodes.length) {
+ c = c.childNodes[i+o]; c = c && c.firstChild; c = c && c.firstChild
+ if (c) c.opacity = val
+ }
+ }
+ }
+
+ var probe = css(createEl('group'), {behavior: 'url(#default#VML)'})
+
+ if (!vendor(probe, 'transform') && probe.adj) initVML()
+ else useCssAnimations = vendor(probe, 'animation')
+
+ return Spinner
+
+}));
diff --git a/library/OAuth1.php b/library/OAuth1.php
index 0db6fabcb..b790655af 100644
--- a/library/OAuth1.php
+++ b/library/OAuth1.php
@@ -273,6 +273,7 @@ class OAuthRequest {
&& @strstr($request_headers["Content-Type"],
"application/x-www-form-urlencoded")
) {
+
$post_data = OAuthUtil::parse_parameters(
file_get_contents(self::$POST_INPUT)
);
@@ -286,15 +287,15 @@ class OAuthRequest {
$request_headers['Authorization']
);
$parameters = array_merge($parameters, $header_parameters);
+
}
}
// fix for friendica redirect system
-
+ // FIXME or don't, but figure out if this is absolutely necessary and act accordingly
$http_url = substr($http_url, 0, strpos($http_url,$parameters['q'])+strlen($parameters['q']));
unset( $parameters['q'] );
- //echo "<pre>".__function__."\n"; var_dump($http_method, $http_url, $parameters, $_SERVER['REQUEST_URI']); killme();
return new OAuthRequest($http_method, $http_url, $parameters);
}
@@ -514,9 +515,7 @@ class OAuthServer {
*/
public function fetch_request_token(&$request) {
$this->get_version($request);
-
$consumer = $this->get_consumer($request);
-
// no token required for the initial token request
$token = NULL;
@@ -525,7 +524,6 @@ class OAuthServer {
// Rev A change
$callback = $request->get_parameter('oauth_callback');
$new_token = $this->data_store->new_request_token($consumer, $callback);
-
return $new_token;
}
@@ -796,7 +794,8 @@ class OAuthUtil {
);
$out[$key] = $value;
}
- } else {
+ }
+ if((! isset($out)) || (! array_key_exists('Authorization',$out))) {
// otherwise we don't have apache and are just going to have to hope
// that $_SERVER actually contains what we need
$out = array();
@@ -806,6 +805,8 @@ class OAuthUtil {
$out['Content-Type'] = $_ENV['CONTENT_TYPE'];
foreach ($_SERVER as $key => $value) {
+ if($key === 'REDIRECT_REMOTE_USER')
+ $out['Authorization'] = $value;
if (substr($key, 0, 5) == "HTTP_") {
// this is chaos, basically it is just there to capitalize the first
// letter of every word that is not an initial HTTP and strip HTTP
diff --git a/library/colorbox/README.md b/library/colorbox/README.md
new file mode 100644
index 000000000..bc002381e
--- /dev/null
+++ b/library/colorbox/README.md
@@ -0,0 +1,376 @@
+## About ColorBox:
+A customizable lightbox plugin for jQuery. See the [project page](http://jacklmoore.com/colorbox/) for documentation and a demonstration, and the [FAQ](http://jacklmoore.com/colorbox/faq/) for solutions and examples to common issues. Released under the [MIT license](http://www.opensource.org/licenses/mit-license.php).
+
+## Translations Welcome
+Send me your language configuration files. See /i18n/jquery.colorbox-de.js as an example.
+
+## Changelog:
+
+### Version 1.3.32 - 2013/1/31
+
+* Improved internal event subscribing & fixed event bug introduced in v1.3.21
+
+### Version 1.3.31 - 2013/1/28
+
+* Fixed a size-calculation bug introduced in the previous commit.
+
+### Version 1.3.30 - 2013/1/25
+
+* Delayed border-width calculations until after opening, to avoid a bug in FF when using ColorBox in a hidden iframe.
+
+### Version 1.3.29 - 2013/1/24
+
+* Fixes bug with bubbling delegated events, introduced in the previous commit.
+
+### Version 1.3.28 - 2013/1/24
+
+* Fixed compatibility issue with old versions of jQuery (1.3.2-1.4.2)
+
+### Version 1.3.27 - 2013/1/23
+
+* Added className property.
+
+### Version 1.3.26 - 2013/1/23
+
+* Minor bugfix: clear the onload event handler after photo has loaded.
+
+### Version 1.3.25 - 2013/1/23
+
+* Removed grunt file & added Bower component.json.
+
+### Version 1.3.24 - 2013/1/22
+
+* Added generated files (jquery.colorbox.js / jquery.colorbox-min.js) back to the repository.
+
+### Version 1.3.23 - 2013/1/18
+
+* Minor bugfix for calling ColorBox on empty jQuery collections without a selector.
+
+### Version 1.3.22 - 2013/1/17
+
+* Recommit for plugins.jquery.com
+
+### Version 1.3.21 - 2013/1/15
+Files Changed: *.js
+
+* Fixed compatability issues with jQuery 1.9
+
+### Version 1.3.20 - August 15 2012
+Files Changed:jquery.colorbox.js
+
+* Added temporary workaround for jQuery-UI 1.8 bug (http://bugs.jquery.com/ticket/12273)
+* Added *.jpe extension to the list of image types.
+
+### Version 1.3.19 - December 08 2011
+Files Changed:jquery.colorbox.js, colorbox.css (all)
+
+* Fixed bug related to using the 'fixed' property.
+* Optimized the setup procedure to be more efficient.
+* Removed $.colorbox.init() as it will no longer be needed (will self-init when called).
+* Removed use of $.browser.
+
+### Version 1.3.18 - October 07 2011
+Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and example 1's controls.png
+
+* Fixed a regression where Flash content displayed in ColorBox would be reloaded if the browser window was resized.
+* Added safety check to make sure that ColorBox's markup is only added to the DOM a single time, even if $.colorbox.init() is called multiple times. This will allow site owners to manually initialize ColorBox if they need it before the DOM has finished loading.
+* Updated the example index.html files to be HTML5 compliant.
+* Changed the slideshow behavior so that it immediately moves to the next slide when the slideshow is started.
+* Minor regex bugfix to allow automatic detection of image URLs that include fragments.
+
+### Version 1.3.17 - May 11 2011
+Files Changed:jquery.colorbox.js/jquery.colorbox-min.js
+
+* Added properties "top", "bottom", "left" and "right" to specify a position relative to the viewport, rather than using the default centering.
+* Added property "data" to specify GET or POST data when using Ajax. ColorBox's ajax functionality is handled by jQuery's .load() method, so the data property works the same way as it does with .load().
+* Added property "fixed" which can provide fixed positioning for ColorBox, rather than absolute positioning. This will allow ColorBox to remain in a fixed position within the visitors viewport, despite scrolling. IE6 support for this was not added, it will continue to use the default absolute positioning.
+* Fixed ClearType problem with IE7.
+* Minor fixes.
+
+### Version 1.3.16 - March 01 2011
+Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and example 4 background png files
+
+* Better IE related transparency workarounds. IE7 and up now uses the same background image sprite as other browsers.
+* Added error handling for broken image links. A message will be displayed telling the user that the image could not be loaded.
+* Added new property: 'fastIframe' and set it to true by default. Setting to fastIframe:false will delay the loading graphic removal and onComplete event until iframe has completely loaded.
+* Ability to redefine $.colorbox.close (or prev, or next) at any time.
+
+### Version 1.3.15 - October 27 2010
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Minor fixes for specific cases.
+
+### Version 1.3.14 - October 27 2010
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* In IE6, closing an iframe when using HTTPS no longer generates a security warning.
+
+### Version 1.3.13 - October 22 2010
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Changed the index.html example files to use YouTube's new embedded link format.
+* By default, ColorBox returns focus to the element it was launched from once it closes. This can now be disabled by setting the 'returnFocus' property to false. Focus was causing problems for some users who had their anchor elements inside animated containers.
+* Minor bug fix involved in using a combination of slideshow and non-slideshow content.
+
+### Version 1.3.12 - October 20 2010
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Minor bug fix involved in preloading images when using a function as a value for the href property.
+
+### Version 1.3.11 - October 19 2010
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Fixed the slideshow functionality that broke with 1.3.10
+* The slideshow now respects the loop property.
+
+### Version 1.3.10 - October 16 2010
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Fixed compatibility with jQuery 1.4.3
+* The 'open' property now accepts a function as a value, like all of the other properties.
+* Preloading now loads the correct href for images when using a dynamic (function) value for the href property.
+* Fixed bug in Safari 3 for Win where ColorBox centered on the document, rather than the visitor's viewport.
+* May have fixed an issue in Opera 10.6+ where ColorBox would rarely/randomly freeze up while switching between photos in a group.
+* Some functionality better encapsulated & minor performance improvements.
+
+### Version 1.3.9 - July 7 2010
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/ all colorbox.css (the core styles)
+
+* Fixed a problem where iframed youtube videos would cause a security alert in IE.
+* More code is event driven now, making the source easier to grasp.
+* Removed some unnecessary style from the core CSS.
+
+### Version 1.3.8 - June 21 2010
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Fixed a bug in Chrome where it would sometimes render photos at 0 by 0 width and height (behavior introduced in recent update to Chrome).
+* Fixed a bug where the onClosed callback would fire twice (only affected 1.3.7).
+* Fixed a bug in IE7 that existed with some iframed websites that use JS to reposition the viewport caused ColorBox to move out of position.
+* Abstracted the identifiers (HTML ids & classes, and JS plugin name, method, and events) so that the plugin can be easily rebranded.
+* Small changes to improve either code readability or compression.
+
+### Version 1.3.7 - June 13 2010
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/index.html
+
+* $.colorbox can now be used for direct calls and accessing public methods. Example: $.colorbox.close();
+* Resize now accepts 'width', 'innerWidth', 'height' and 'innerHeight'. Example: $.colorbox.resize({width:"100%"})
+* Added option (loop:false) to disable looping in a group.
+* Added options (escKey:false, arrowKey:false) to disable esc-key and arrow-key bindings.
+* Added method for removing ColorBox from a document: $.colorbox.remove();
+* Fixed a bug where iframed URLs would be truncated if they contained an unencoded apostrophe.
+* Now uses the exact href specified on an anchor, rather than the version returned by 'this.href'. This was causing "#example" to be normalized to "http://domain/#example" which interfered with how some users were setting up links to inline content.
+* Changed example documents over to HTML5.
+
+### Version 1.3.6 - Jan 13 2010
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Small change to make ColorBox compatible with jQuery 1.4
+
+### Version 1.3.5 - December 15 2009
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Fixed a bug introduced in 1.3.4 with IE7's display of example 2 and 3, and auto-width in Opera.
+* Fixed a bug introduced in 1.3.4 where colorbox could not be launched by triggering an element's click event through JavaScript.
+* Minor refinements.
+
+### Version 1.3.4 - December 5 2009
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Event delegation is now used for elements that ColorBox is assigned to, rather than individual click events.
+* Additional callbacks have been added to represent other stages of ColorBox's lifecycle. Available callbacks, in order of their execution: onOpen, onLoad, onComplete, onCleanup, onClosed These take place at the same time as the event hooks, but will be better suited than the hooks for targeting specific instances of ColorBox.
+* Ajax content is now immediately added to the DOM to be more compatible if that content contains script tags.
+* Focus is now returned to the calling element on closing.
+* Fixed a bug where maxHeight and maxWidth did not work for non-photo content.
+* Direct calls no longer need 'open:true', it is assumed. Example: `$.fn.colorbox({html:'<p>Hi</p>'});`
+
+### Version 1.3.3 - November 7 2009
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Changed $.fn.colorbox.element() to return a jQuery object rather the DOM element.
+* jQuery.colorbox-min.js is compressed with Google's Closure Compiler rather than YUI Compressor.
+
+### Version 1.3.2 - October 27 2009
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Added 'innerWidth' and 'innerHeight' options to allow people to easily set the size dimensions for ColorBox, without having to anticipate the size of the borders and buttons.
+* Renamed 'scrollbars' option to 'scrolling' to be in keeping with the existing HTML attribute. The option now also applies to iframes.
+* Bug fix: In Safari, positioning occassionally incorrect when using '100%' dimensions.
+* Bug fix: In IE6, the background overlay is briefly not full size when first viewing.
+* Bug fix: In Firefox, opening ColorBox causes a split second shift with a small minority of webpage layouts.
+* Simplified code in a few areas.
+
+### Version 1.3.1 - September 16 2009
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/colorbox.css/colorbox-ie.css(removed)
+
+* Removed the IE-only stylesheets and conditional comments for example styles 1 & 4. All CSS is handled by a single CSS file for all examples.
+* Removed user-agent sniffing from the js and replaced it with feature detection. This will allow correct rendering for visitors masking their agent type.
+
+### Version 1.3.0 - September 15 2009
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/colorbox.css
+
+* Added $.fn.colorbox.resize() method to allow ColorBox to resize it's height if it's contents change.
+* Added 'scrollbars' option to allow users to turn off scrollbars when using the resize() method.
+* Renamed the 'resize' option to be less ambiguous. It's now 'scalePhotos'.
+* Renamed the 'cbox_close' event to be less ambiguous. It's now 'cbox_cleanup'. It is the first thing to happen in the close method while the 'cbox_closed' event is the last to happen.
+* Fixed a bug with the slideshow mouseover graphics that appeared after ColorBox is opened a 2nd time.
+* Fixed a bug where ClearType may not work in IE6&7 if using the fade transition.
+* Minor code optimizations to increase compression.
+
+### Version 1.2.9 - August 7 2009
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Minor change to enable use with $.getScript();
+* Minor change to the timing of the 'cbox_load' event so that it is more useful.
+* Added a direct link to a YouTube video to the examples.
+
+### Version 1.2.8 - August 5 2009
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Fixed a bug with the overlay in IE6
+* Fixed a bug where left & right keypress events might be prematurely unbound.
+
+### Version 1.2.7 - July 31 2009
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js, example stylesheets and background images (core styles have not changed and the updates will not affect existing user themes / old example themes)
+
+* Code cleanup and reduction, better organization and documentation in the full source.
+* Added ability to use functions in place of static values for ColorBox's options (thanks Ken!).
+* Added an option for straight HTML. Example: `$.fn.colorbox({html:'<p>Howdy</p>', open:true})`
+* Added an event for the beginning of the closing process. This is in addition to the event that already existed for when ColorBox had completely closed. 'cbox_close' and 'cbox_closed' respectively.
+* Fixed a minor bug in IE6 that would cause a brief content shift in the parent document when opening ColorBox.
+* Fixed a minor bug in IE6 that would reveal select elements that had a hidden visibility after closing ColorBox.
+* The 'esc' key is unbound now when ColorBox is not open, to avoid any potential conflicts.
+* Used background sprites for examples 1 & 4. Put IE-only (non-sprite) background images in a separate folder.
+* Example themes 1, 3, & 4 received slight visual tweaks.
+* Optimized pngs for smaller file size.
+* Added slices, grid, and correct sizing to the Adobe Illustrator file, all theme files are now export ready!
+
+### Version 1.2.6 - July 15 2009
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Fixed a bug with fixed width/height images in Opera 9.64.
+* Fixed a bug with trying to set a value for rel during a direct call to ColorBox. Example: `$.fn.colorbox({rel:'foo', open:true});`
+* Changed how href/rel/title settings are determined to avoid users having to manually update ColorBox settings if they use JavaScript to update any of those attributes, after ColorBox has been defined.
+* Fixed a FF3 bug where the back button was disabled after closing an iframe.
+
+### Version 1.2.5 - June 23 2009
+Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
+
+* Changed the point at which iframe srcs are set (to eliminate the need to refresh the iframe once it has been added to the DOM).
+* Removed unnecessary return values for a very slight code reduction.
+
+### Version 1.2.4 - June 9 2009
+Files Changed: jquery.colorbox.js, jquery.colorbox-min.js
+
+* Fixed an issue where ColorBox may not close completely if it is closed during a transition animation.
+* Minor code reduction.
+
+### Version 1.2.3 - June 4 2009
+* Fixed a png transparency stacking issue in IE.
+* More accurate Ajax auto-sizing if the user was depending on the #cboxLoadedContent ID for CSS styling.
+* Added a public function for returning the current html element that ColorBox is associated with. Example use: var that = $.fn.colorbox.element();
+* Added bicubic scaling for resized images in the original IE7.
+* Removed the IE6 stylesheet and png files from Example 3. It now uses the same png file for the controls that the rest of the browsers use (an alpha transparency PNG8). This example now only has 2 graphics files and 1 stylesheet.
+
+### Version 1.2.2 - May 28 2009
+* Fixed an issue with the 'resize' option.
+
+### Version 1.2.1 - May 28 2009
+* Note: If you are upgrading, update your jquery.colorbox.js and colorbox.css files.
+* Added photo resizing.
+* Added a maximum width and maximum height. Example: {height:800, maxHeight:'100%'}, would allow the box to be a maximum potential height of 800px, instead of a fixed height of 800px. With maxHeight of 100% the height of ColorBox cannot exceed the height of the browser window.
+* Added 'rel' setting to add the ability to set an alternative rel for any ColorBox call. This allows the user to group any combination of elements together for a gallery, or to override an existing rel. attribute so those element are not grouped together, without having to alter their rel in the HTML.
+* Added a 'photo' setting to force ColorBox to display a link as a photo. Use this when automatic photo detection fails (such as using a url like 'photo.php' instead of 'photo.jpg', 'photo.jpg#1', or 'photo.jpg?pic=1')
+* Removed the need to ever create disposable elements to call colorbox on. ColorBox can now be called directly, without being associated with any existing element, by using the following format:
+ `$.fn.colorbox({open:true, href:'yourLink.xxx'});`
+* ColorBox settings are now persistent and unique for each element. This allows for extremely flexible options for individual elements. You could use this to create a gallery in which each page in the gallery has different settings. One could be a photo with a fade transition, next could be an inline element with an elastic transition with a set width and height, etc.
+* For user callbacks, 'this' now refers to the element colorbox was opened from.
+* Fixed a minor grouping issue with IE6, when transition type is set to 'none'.
+* Added an Adobe Illustrator file that contains the borders and buttons used in the various examples.
+
+### Version 1.2 - May 13 2009
+* Added a slideshow feature.
+* Added re-positioning on browser resize. If the browser is resized, ColorBox will recenter itself onscreen.
+* Added hooks for key events: cbox_open, cbox_load, cbox_complete, cbox_closed.
+* Fixed an IE transparency-stacking problem, where transparent PNGs would show through to the background overlay.
+* Fixed an IE iframe issue where the ifame might shift up and to the left under certain circumstances.
+* Fixed an IE6 bug where the loading overlay was not at full height.
+* Removed the delay in switching between same-sized gallery content when using transitions.
+* Changed how iframes are loaded to make it more compatible with iframed pages that use DOM dependent JavaScript.
+* Changed how the JS is structured to be better organized and increase compression. Increased documentation.
+* Changed CSS :hover states to a .hover class. This sidesteps a minor IE8 bug with css hover states and allows easier access to hover state user styles from the JavaScript.
+* Changed: elements added to the DOM have new ID's. The naming is more consistent and less likely to cause conflicts with existing website stylesheets. All stylesheets have been updated.
+* Changed the behavior for prev/next links so that ColorBox does not get hung up on broken links. A visitor can now skip through broken or long-loading links by clicking prev/next buttons.
+* Changed the naming of variables in the parameter map to be more concise and intuitive.
+* Removed colorbox.css. Combined the colorbox.css styles with jquery.colorbox.js: the css file was not large enough to warrant being a separate file.
+
+### Version 1.1.6 - April 28 2009
+* Prevented the default action of the next & previous anchors and the left and right keys for gallery mode.
+* Fixed a bug where the title element was being added back to the DOM when closing ColorBox while using inline content.
+* Fixed a bug where IE7 would crash for example 2.
+* Smaller filesize: removed a small amount of unused code and rewrote the HTML injection with less syntax.
+* Added a public method for closing ColorBox: $.fn.colorbox.close(). This will allow iframe users to add an event to close ColorBox without having to create an additional function.
+
+### Version 1.1.5 - April 11 2009
+* Fixed minor issues with exiting ColorBox.
+
+### Version 1.1.4 - April 08 2009
+* Fixed a bug in the fade transition where ColorBox not close completely if instructed to close during the fade-in portion of the transition.
+
+### Version 1.1.3 - April 06 2009
+* Fixed an IE6&7 issue with using ColorBox to display animated GIFs.
+
+### Version 1.1.2 - April 05 2009
+* Added ability to change content when ColorBox is already open.
+* Added vertical photo centering now works for all browsers (this feature previously excluded IE6&7).
+* Added namespacing to the esc-key keydown event for people who want to disable it: "keydown.colorClose"
+* Added 'title' setting to add the ability to set an alternative title for any ColorBox call.
+* Fixed rollover navigation issue with IE8. (Added JS-based rollover state due to a browser-bug.)
+* Fixed an overflow issue for when the fixed width/height is smaller than the size of a photo.
+* Fixed a bug in the fade transition where the border would still come up if ColorBox was closed mid-transition.
+* Switch from JSMin to Yui Compressor for minification. Minified code now under 7KB.
+
+### Version 1.1.1 - March 31 2009
+* More robust image detection regex. Now detects image file types with url fragments and/or query strings.
+* Added 'nofollow' exception to rel grouping.
+* Changed how images are loaded into the DOM to prevent premature size calculation by ColorBox.
+* Added timestamp to iframe name to prevent caching - this was a problem in some browsers if the user had multiple iframes and the visitor left the page and came back, or if they refreshed the page.
+
+### Version 1.1.0 - March 21 2009
+* Animation is now much smoother and less resource intensive.
+* Added support for % sizing.
+* Callback option added.
+* Inline content now preserves JavaScript events, and changes made while ColorBox is open are also preserved.
+* Added 'href' setting to add the ability to set an alternative href for any anchor, or to assign the ColorBox event to non-anchors.
+ Example: $('button').colorbox({'href':'process.php'})
+ Example: $('a[href='http://msn.com']).colorbox({'href':'http://google.com', iframe:true});
+* Photos are now horizontally centered if they are smaller than the lightbox size. Also vertically centered for browsers newer than IE7.
+* Buttons in the examples are now included in the 'protected zone'. The lightbox will never expand it's borders or buttons beyond an accessible area of the screen.
+* Keypress events don't queue up by holding down the arrow keys.
+* Added option to close ColorBox by clicking on the background overlay.
+* Added 'none' transition setting.
+* Changed 'contentIframe' and 'contentInline' to 'inline' and 'iframe'. Removed 'contentAjax' because it is automatically assumed for non-image file types.
+* Changed 'contentWidth' and 'contentHeight' to 'fixedWidth' and 'fixedHeight'. These sizes now reflect the total size of the lightbox, not just the inner content. This is so users can accurately anticipate % sizes without fear of creating scrollbars.
+* Clicking on a photo will now switch to the next photo in a set.
+* Loading.gif is more stable in it's position.
+* Added a minified version.
+* Code passes JSLint.
+
+### Version 1.0.5 - March 11 2009
+* Redo: Fixed a bug where IE would cut off the bottom portion of a photo, if the photo was larger than the document dimensions.
+
+### Version 1.0.4 - March 10 2009
+* Added an option to allow users to automatically open the lightbox. Example usage: $(".colorbox").colorbox({open:true});
+* Fixed a bug where IE would cut off the bottom portion of a photo, if the photo was larger than the document dimensions.
+
+### Version 1.0.3 - March 09 2009
+* Fixed vertical centering for Safari 3.0.x.
+
+### Version 1.0.2 - March 06 2009
+* Corrected a typo.
+* Changed the content-type check so that it does not assume all links to photos should actually display photos. This allows for Ajax/inline/and iframe calls on anchors linking to picture file types.
+
+### Version 1.0.1 - March 05 2009
+* Fixed keydown events (esc, left arrow, right arrow) for Webkit browsers.
+
+### Version 1.0 - March 03 2009
+* First release
diff --git a/library/colorbox/colorbox.ai b/library/colorbox/colorbox.ai
new file mode 100644
index 000000000..1b51881af
--- /dev/null
+++ b/library/colorbox/colorbox.ai
@@ -0,0 +1,1811 @@
+%PDF-1.4 %âãÏÓ
+1 0 obj <</Metadata 2 0 R/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 48282/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.351735, 2008/07/22-18:11:12 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <dc:format>application/vnd.adobe.illustrator</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">colorbox</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
+ <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool>
+ <xmp:CreateDate>2009-05-27T04:22:39-04:00</xmp:CreateDate>
+ <xmp:ModifyDate>2009-07-30T21:43:35-05:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2009-07-30T21:43:35-05:00</xmp:MetadataDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>208</xmpGImg:width>
+ <xmpGImg:height>256</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEBLAEsAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABABLAAAAAEA&#xA;AQEsAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAADQAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXnn5b+fNd85T6us6W9jHpkiRL6KOzOzl9zzagACdMVZt9U1D/lt/5Jr/AFxV&#xA;gf5ZfmZrHmfzJrei39vBGNIaSNbiEODIYpjFUqzNStK4q9JxV2KuxV2KuxV2KuxV2KuxV2KvG/Pf&#xA;5jfmBY/mDL5Z8twpdMyRNb2/pKzktEHf4jTYbmpxVQ/xJ/zkV/1Y1/4G3/6qYqh9G/ND8zYvPml+&#xA;WvMdtHZSXcsXqwtEgYwyEjkjKSCDQioPXFXueKvBB+aX5r6n5k1HSdAtI717OSX4EiT4Y0fiCzOV&#xA;H44qmH+JP+civ+rGv/A2/wD1UxVd5F/Nbzde6/qVh5lMVnHpcEj3aNGIzG0TANyPgBiqbeU/z18v&#xA;eZdcl0izkZZ2kZLEPEw9aONOTS1pRQTUKCa+OKqdh+fvlm882Dy+kzAycYoLkxsFN16jRtbsCOuy&#xA;lWFVNaVr1VRfnv8AN5/Jt9AmpWLvp1zbyPBexFWrcx7iEx1BFV/aO340VR+r/mFqWj+Sl8x6lYGG&#xA;aOOGS808MrPH6jKHVW2VivLbpX2xVMtC8622vaLFq+lzLPaTKxRuJHxLUMpBoQQRirDfIf5y6x5n&#xA;1DSrWaxhtl1HT7i/dkZmKmC7a2CCoHXjyriqH/5x3/vvNf8AzFQ/rmxV7Lirwb8hv/JkedP+M9z/&#xA;ANRhxV7zirsVdirsVdirsVdirsVdirsVeNSf+tKx/wDMKf8AqDOKvZcVeHfmF/60T5T/AOYO0/6i&#xA;7nFXuOKvDvyS/wDJleb/AJN/1EHFXuOKvCPKoB/O/wA3AioLSgg/OPFWbeXvLflPTby/m0e1gjnl&#xA;n5XRjCnhLxHJVP7O1KqPn1OKtQ+W/KaebH1VLaAa4LZVQhVBWIu9XVRtyZmYM3XtiqC8x+VvI2q6&#xA;79Y19I7m7WzkRbe5c+mkBPxyIhPFH/yx8W3XbFVeXQvK8/km20meQyeX1jgQPJI3xRqylQ7k1AOw&#xA;O+2Kp/bWdpb2iWtpEkNsiCOKKIBVVQOICgbAAbDFWE+SPKfkrTL7TZ9Eu7i4ltrCeCzEtaNbPdM8&#xA;jtVE3EzFR0+XfFVH/nHf++81/wDMVD+ubFXsuKvBvyG/8mR50/4z3P8A1GHFXvOKuxV2KuxV2Kux&#xA;V2KuxV2KuxV4tfgH/nISYHcfUl/6h1xV6LwT+Ufdil5J5sAH/OQPlWgp/o1r0/5ibjFD3/FXg/5T&#xA;gHzt5xqK/vk6/wDGWbFXqnBP5R92KXlnlqJJPzo80xNUI8AU8SVNDFCNitCD7jFDLfL3kW10fUZL&#xA;xLiWQh2MKsduDClHH7RB74qttvIVnD5iGrfWZSqfvEj5GplZmJJbrwoR8Pfvttiqt5q8pyeYJ4Vl&#xA;uBDawRuU4oDJ6zbAlj+xtuBT5+CqM1DRrrUPLf6LnlRJ5I40mljWiAggsVTbw2GKo3SNNg0uwgso&#xA;Gd4oBRWkYsx+k/qG2KpD5W8sajpU1k9y0TC3spraT02J+OS5MwIqo24/jiqS/wDOO/8Afea/+YqH&#xA;9c2KvZcVeDfkN/5Mjzp/xnuf+ow4q95xV2KuxV2KuxV2KuxV2KuxV2KvA/OPmPTvL356y6jqJZbM&#xA;W0cUsiKXKc4AAxUbkA9ab4qyL/ldX5a/9XZv+kW7/wCqWKsFm8z6R5m/PLy5qGkO81lALa19Z0aM&#xA;O6yySEqrgNQeqBuBvXtvir6UxV81eTfOmheWPPHmY6zI8EF5MwjnVHkUNFK54ssYZvi57bYqzv8A&#xA;5XV+Wv8A1dm/6Rbv/qlirFfy41m11v8ANXXtVtAwtbqImHmKMVT04wxHblwrir2LFLsVdirsVdir&#xA;sVeef847/wB95r/5iof1zYoey4q8G/Ib/wAmR50/4z3P/UYcVe84q7FXYq7FXYq7FXYq7FXYq7FU&#xA;p1Dyj5X1G6a7v9Ktbq6cAPNNEjuQooKkiuwGKob/AJV95G/6sNh/0jx/0xVVtfJPlC0uY7m10azg&#xA;uIWDxSxworKw6EEDY4qnWKpHN5F8mTSvLLollJLISzu0EZJYmpJNMVWf8q+8jf8AVhsP+keP+mKo&#xA;rT/KfljTpjNYaXa2sxHEyQxIjFT2qoGKph9Utv8AfS/dirvqlt/vpfuxV31S2/30v3Yq76pbf76X&#xA;7sVd9Utv99L92Ku+qW3++l+7FXj/APzjwQLjzUhNGNzCwU9aVl3pir2XFXg35DD/AJCN5zb9lprk&#xA;q3Yj62emKvecVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVSyfy1oU2&#xA;5soUbpySNUNPCoGKqH+D9B/5ZhiqN03RdK0xOFhaRWwIofSRUJHvxAxVG4q7FXYq7FXYq7FXYq7F&#xA;XYqg9H1jTdZ0u11XTLhLqwvI1mt54yCrI4qP7R2xVL/OHm6x8qaNca1qNrdTabaL6l3NaRiYxJWh&#xA;ZkDB+I7kKaDc7Yq84/6Gu/Kj0DcV1P0AokMv1GTgELcA3KtKc/hr47Yq9J8pea7PzTo1vrNha3UG&#xA;nXiCW0lu41iMsbfZdU5F+LdQSBUbjbFUdrOs6ZoulXWq6pcJa2FlG01zPIaKqIKn5nwHfFUZirsV&#xA;dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir8t7NtVW2nltHmS3gCvcNGzKq8mCK&#xA;TQjck0xV9Tf84pyar5v/AC088eUtS1CZ7GaM2dq8hMpgXULeaOXhyPTYNx6Vr44qxf8A6Fe/OhtP&#xA;Hllv0WNHEwYXv1iSgYOT6/GnPdTTjx+iu+Kss/5y2utV8sfl/wCTPLWnX80diA1vcshMbTixgiSI&#xA;vxPT4i3HpX5DFXyrdvqzW0El28z209XgaRmZGKEoSKkioNRir9SMVdirsVdirsVdirsVdirsVdir&#xA;sVdirsVdirsVdirsVdirsVdirsVfnX5S85aNpmjNFND6bwAGSJAC0xJA5DkRU+IJxV71/wA4TyrN&#xA;a+dJUHFZLq0dR4BhOR0xV9NYq+ZP+c25FjsvJsjCqpdXbMPYLCcVeC+YvOOiXnl4WyQCea4B9KNw&#xA;AYCCRzPGtG8ADv32xV+iuKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvhDQ&#xA;P+cTvzc1nSbbU1gsrGO6jWWKC7uCk3BxyUskaScag9CajuMVfSX/ADjl+TmsflroGpx61cwz6nqs&#xA;8ckkVsWeKOOFWVBzZULMeZJ28MVeu4q8h/5yN/JzWfzK0HS49EuoYNS0qeR0iuSyRSRzqqv8aq5D&#xA;LwUjanXFXzb5h/5xQ/NzRdJudTaCzv4rSNpZobOcvNwQcmKo6R8qDsu57DFX3hirsVdirsVdirsV&#xA;dirsVdirsVdirsVdirsVdirsVdirsVdirsVdir4I0T/nKf8AOHSNKttMi1CC5htIxFFLc26SS8FF&#xA;FDPsWoNqnfxxV9Mf843fnBrf5j+XtSbXIYk1TSZ445Li3UokscysyEoSeLDgwNNumKvX8VePf85J&#xA;fnDrv5ceX9LbQoIX1LVp5I1uLhS6RRwKrOQgK1di60rt12xV80a7/wA5S/m/rGkXWlzahb28F5G0&#xA;M0ltbpHL6bijBX+LjUbVG/hir74xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2K&#xA;uxV8lfkx+Uv5Sa1+Wlxd6peLeXGprGupX/NIZbF0kST6vGZAwiPNQGcirg7fCcVZD/zhpbW1sfPd&#xA;tauZLaC/t44HJDFo09dVNRQGoHbFX0pir5q/5zNt7e5/wLb3LcLea+uI5nqFojegGNTsNjiqTfnD&#xA;+T/5PaP+U8OoWF/Hp+oaajrpV7zWaTUHaR5DbycKeqxZyA4HwAb/AAjFX1dirsVdirsVdirsVdir&#xA;sVdirsVdirsVdirsVdirsVdirsVdirsVdir8vLF9eSxu7exFx9Sv1WO8jiDmOUROJEDgCh4uoI8M&#xA;VfRv/OPmm+ffKv5QeePN1gq6dLEgvbFb+BnjuYtPhlkn+Csb7g8UcNTlXFV7f85FfnGvkL/GBuNH&#xA;+r8liFl9RufW9RpjHUn1eAi4rX1a0LfB9rFW/wDnI7SPPnmL8qfJPmbUE/SVwVa61L6hAVhthfQx&#xA;yRfADJJxAXizs1OVOlaYq+br+XX3sbS2vvrP1HT1eOyilDiOISyGVwgIoOTsSfHFX6h4q7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqhNI0nT9I0y10vToEtrGzjWG3gjAVVRBQA&#xA;AUGKq91bW91bS2tzGs1vOjRTROKq6OOLKw7gg0xV45H/AM4lflEmofWfT1BrblU6cbtvq5Tlz9I/&#xA;D6vDlvTnir2SCCG3gjggRYoYlCRRoAqqqiiqoHQAYqhtY0jTtZ0q70rUoFubC9iaC5gcAqyOKEb/&#xA;AIYqjMVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirs&#xA;VdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsV&#xA;dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVd&#xA;irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdi&#xA;rsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir&#xA;sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirs&#xA;VdirsVdirsVdirqitO/hirsVcSBudsVdirSujEhWBI60NaYq3irsVdirsVdirsVdirsVdirsVdir&#xA;sVdirsVdirsVdirsVdiq2WP1Inj5MnNSvNDRlqKVB33GKpL5U8sy6DbzwyahPf8ArSM49diQlXZv&#xA;hBrQtyq57nfFVlj5WmtvM9zrbalczJPHwWzd6otWZuO/7CcvgHY1xVT82eU5tdmtJI7sWwtg/JeD&#xA;MJQzI3pycXSsZ4bjFU21vTm1LSLuwWT0muomiEtK8eQpWm3TFVawtTaWUFqZpLgwoqGeU8pH4inJ&#xA;j3JxVJvKflmfQ2vDJOswuW5LxBFP3ssm9f8AjLirIMVdirsVdirsVdirsVdirsVdirsVdirsVdir&#xA;sVdirsVdirsVU7o3ItpTaqj3QRjAkrFIzJT4Q7KHIWvUhT8sVYV+VN9+a93pt8fzEsbOyu0uHFj9&#xA;UapaMyyVDgM6hUHERnqVoWq1TiqjomofnBJ+Z+p2urafYxeREgrYXUTn1i3qSek37RaRlH71DRVH&#xA;EjeoZVT/ADT1L807S90lPI9s1xayrINZcQwStDF6sIEsHrSwhp1Vn4Rn4WFSegxVlPnWbzFD5S1e&#xA;Xy2nq6+lrI2lx0VuVwF/dij/AA7t44qi9Bk1qTRbF9cihg1hoUOoRWrM8KzcfjEbMAeNf9s9cVYT&#xA;+UepfmTevrI86JOoikA0717eO3BT61dL8PppHy/crD1r2Pc4q9FxV2KuxV2KuxV2KuxV2KuxV2Ku&#xA;xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux&#xA;V2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVQmmkDiOIcpCK09vE4qome+hHO&#xA;ZF9MHcqa0riqMRgyhh3xVvFXYq7FXYq7FXYq7FVOW5ghkhjkfi9w5ihG/wAThGkI/wCAjY4q3PPF&#xA;bwSTzNwiiUvI57KoqTt7YqlekebvLusXLWum3q3M6IZGRVcUQEKT8SgdWGKppJNDEAZHVAenIgV+&#xA;/FWzJGE9QsAlK86ilPGuKujlikFY3VwNiVIIr9GKtLPA7lFkVnFaqCCduu2KpTqnnLyxpdwba/1G&#xA;KG4H2ovidl7/ABBA1PpxVB/8rJ8kf9XWP/gJf+aMVTzTtSsNStVurC4S5t2NBJGaio6g+B9sVS1f&#xA;OnlhtT/Ra36m/wDVNv6HF6+qG4la8adffFU7xV2KuxV2KuxVBqf9ytP+KW/4kuKrtV/4583yH6xi&#xA;qpZ/7zp8hiqtirsVdirsVdirsVdiqFvbH6zc2E3Ph9SnafjSvPlBLDxrUU/vq19sVUfMP/HA1P8A&#xA;5hJ/+TbYq8l/JT/lKrr/AJgZP+T0WKvSPM/6aEMg0uWK3vXdfSmncRp6QQ1XkUk35e21a+2Kooi4&#xA;FoZEAjFWMRk+JFkMYCu1APh9Tlv71xVC6IuuNYn9IzQ3V6FkEklqCE4FgY4+RJ5OFrvXb8SqttDr&#xA;bapcrNc2sun8h+joIUYTxkFd5KmihRy5Cn9MVeIaDpF75m8wpZ+uFuLx3kmuJKt0Bd2I7nFWXa/+&#xA;TtzpmkXWoQamt0bWNpXhaH0qogqxDc33A36Yqj/yMkflrMfI8ALdgvap9QVxVjdt/wCTYP8A22ZP&#xA;+ohsVe9Yq7FVK5mEMTOe2KqKQ3MirJ63HkAeIWvXfrXFVS3lYu8TmrxkAn5iuKqKf8dX/ni3/Elx&#xA;Vdqv/HPm+Q/WMVVbP/eZPkMVVsVdirsVdirsVdirsVQ9zexW81pC4YteSmCIrSgYRSTVapG3GI/T&#xA;iqH8w/8AHA1P/mEn/wCTbYq8l/JT/lKrr/mBk/5PRYq9G83+ZH0Wyku/q0t2ElWJbWBpFkasZcuP&#xA;TSRiB37AVPtlmLHxmrphOXCLR0uozLZSSAPP6aPIFg+KSULEsojj2WrNyoNq5ADemV7IHy55jn1P&#xA;ShffU7mxEglCw3gIb92VHqry+P0zy/a8NttzPJDhNXaISsWssfMc82vX2miwvofqFC19Op+rzfEg&#xA;4KT8PJ/UqnHw+jDLHUQbG6BOzVPGPJ2uxeX/ADJb6hcxNJFDzSaNaBwHUoaVpuK9MqZvQPM35t6B&#xA;eaDfWVjDcPcXcLwL6iKiKJFKsxIZjsDttiqF/Iz+91n/AFbf9cmKsdtv/JsH/tsyf9RDYq96xV2K&#xA;oe+hMtuyDqRiqHi1KKONIpI5A6gKaCo2264qq2il5pZypUSEEA9aAU/hiq1P+Or/AM8W/wCJLiq7&#xA;Vf8AjnzfIfrGKqtn/vMnyGKq2KuxV2KuxV2KuxV2Koe5soria0mcsGs5TPEFpQsYpIaNUHbjKfpx&#xA;VdeWsd3Zz2khIjuI3icrQMFdSppWu++Ksd8r/l5ovlvUJL6xmuZJZIjAyztGy8WZWqOKIa1Qd8VZ&#xA;HJbRSPzNVelOSMVJHgeJFcVd9Vg9IRcfgB5ChIIbx5V5V964q2ltChY0LFxRi5Lkjw+Inb2xVYll&#xA;AjKRyITdFZ2ZR8gSRirFta/Kvytqt9JeuJ7WaYl5hbOqqzHqxV1cAn2xVL/+VKeVf+Wq+/5GQ/8A&#xA;VLFWV+XvLOkeX7RrbTYiiueUsjHlI5HQs3t2HTFUmT8s9Bj8wnXhcXX1v6y15wLx+n6jOXIp6fLj&#xA;U/zYqyWXUbWI0dwDiqn+l7L/AH4MVd+l7L/fgxVb+k9PrXmMVXDVrEdHGKoe0vbe41grGwYiBj9H&#xA;NcVROsMF02dj0AH6xiqrYsGtYyOlBiqvirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdiqnc&#xA;kiFyOtDiqG0tFayR3UF3LFiRufiIxVF+lF/Iv3DFXelF/Iv3DFXelF/Iv3DFXelF/Iv3DFUPLA0c&#xA;3rwopfiVI6VBNeo+WKqMxuruMwPCscbbOeXKo8OgxVU0tStvw7KSo+QNMVRmKuxV2KuxV2KuxV2K&#xA;uxV2KuxV2KuxV2KuxV2KuxV2KtMoZSD0OKoJrGdaiCZo1JrxFCPxxVr6nf8A/LW/3D+mKu+p3/8A&#xA;y1v9w/pirvqd/wD8tb/cP6Yq76nf/wDLW/3D+mKu+p3/APy1v9w/piraWl6D8VyxHyAxVFwxLEgU&#xA;dsVf/9k=</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
+ xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#">
+ <xmpMM:RenditionClass>default</xmpMM:RenditionClass>
+ <xmpMM:OriginalDocumentID>uuid:65E6390686CF11DBA6E2D887CEACB407</xmpMM:OriginalDocumentID>
+ <xmpMM:DocumentID>xmp.did:8BC7D877974ADE11BCECCFF09938C3CC</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:30267148-672c-4d34-8534-e8cce420f815</xmpMM:InstanceID>
+ <xmpMM:History>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/pdf to &lt;unknown&gt;</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:D47F11740720681191099C3B601C4548</stEvt:instanceID>
+ <stEvt:when>2008-04-17T14:19:21+05:30</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/pdf to &lt;unknown&gt;</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/pdf to &lt;unknown&gt;</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:FD7F11740720681197C1BF14D1759E83</stEvt:instanceID>
+ <stEvt:when>2008-05-16T17:01:20-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:F77F117407206811BC18AC99CBA78E83</stEvt:instanceID>
+ <stEvt:when>2008-05-19T18:10:15-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:FB7F117407206811B628E3BF27C8C41B</stEvt:instanceID>
+ <stEvt:when>2008-05-22T14:26:44-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:08C3BD25102DDD1181B594070CEB88D9</stEvt:instanceID>
+ <stEvt:when>2008-05-28T16:51:46-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:F77F11740720681192B0DFFC927805D7</stEvt:instanceID>
+ <stEvt:when>2008-05-30T21:26:38-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:F87F11740720681192B0DFFC927805D7</stEvt:instanceID>
+ <stEvt:when>2008-05-30T21:27-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:F97F1174072068119098B097FDA39BEF</stEvt:instanceID>
+ <stEvt:when>2008-06-02T13:26:10-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:8BC7D877974ADE11BCECCFF09938C3CC</stEvt:instanceID>
+ <stEvt:when>2009-05-27T04:22:07-04:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpMM:History>
+ <xmpMM:DerivedFrom rdf:parseType="Resource">
+ <stRef:instanceID>uuid:32300939-b1c4-8440-b812-b255b7b0d326</stRef:instanceID>
+ <stRef:documentID>xmp.did:F97F1174072068119098B097FDA39BEF</stRef:documentID>
+ <stRef:originalDocumentID>uuid:65E6390686CF11DBA6E2D887CEACB407</stRef:originalDocumentID>
+ <stRef:renditionClass>proof:pdf</stRef:renditionClass>
+ </xmpMM:DerivedFrom>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/">
+ <illustrator:StartupProfile>Web</illustrator:StartupProfile>
+ <illustrator:Type>Document</illustrator:Type>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>True</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>1024.000000</stDim:w>
+ <stDim:h>768.000000</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:PlateNames>
+ <rdf:Seq>
+ <rdf:li>Cyan</rdf:li>
+ <rdf:li>Magenta</rdf:li>
+ <rdf:li>Yellow</rdf:li>
+ <rdf:li>Black</rdf:li>
+ </rdf:Seq>
+ </xmpTPg:PlateNames>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Default Swatch Group</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>White</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>Black</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Red</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Yellow</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Green</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Cyan</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Blue</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Magenta</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=193 G=39 B=45</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>193</xmpG:red>
+ <xmpG:green>39</xmpG:green>
+ <xmpG:blue>45</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=237 G=28 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>237</xmpG:red>
+ <xmpG:green>28</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=241 G=90 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>241</xmpG:red>
+ <xmpG:green>90</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=247 G=147 B=30</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>247</xmpG:red>
+ <xmpG:green>147</xmpG:green>
+ <xmpG:blue>30</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=251 G=176 B=59</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>251</xmpG:red>
+ <xmpG:green>176</xmpG:green>
+ <xmpG:blue>59</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=252 G=238 B=33</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>252</xmpG:red>
+ <xmpG:green>238</xmpG:green>
+ <xmpG:blue>33</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=217 G=224 B=33</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>217</xmpG:red>
+ <xmpG:green>224</xmpG:green>
+ <xmpG:blue>33</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=140 G=198 B=63</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>140</xmpG:red>
+ <xmpG:green>198</xmpG:green>
+ <xmpG:blue>63</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=57 G=181 B=74</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>57</xmpG:red>
+ <xmpG:green>181</xmpG:green>
+ <xmpG:blue>74</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=146 B=69</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>146</xmpG:green>
+ <xmpG:blue>69</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=104 B=55</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>104</xmpG:green>
+ <xmpG:blue>55</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=34 G=181 B=115</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>34</xmpG:red>
+ <xmpG:green>181</xmpG:green>
+ <xmpG:blue>115</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=169 B=157</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>169</xmpG:green>
+ <xmpG:blue>157</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=41 G=171 B=226</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>41</xmpG:red>
+ <xmpG:green>171</xmpG:green>
+ <xmpG:blue>226</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=113 B=188</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>113</xmpG:green>
+ <xmpG:blue>188</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=46 G=49 B=146</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>46</xmpG:red>
+ <xmpG:green>49</xmpG:green>
+ <xmpG:blue>146</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=27 G=20 B=100</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>27</xmpG:red>
+ <xmpG:green>20</xmpG:green>
+ <xmpG:blue>100</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=102 G=45 B=145</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>102</xmpG:red>
+ <xmpG:green>45</xmpG:green>
+ <xmpG:blue>145</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=147 G=39 B=143</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>147</xmpG:red>
+ <xmpG:green>39</xmpG:green>
+ <xmpG:blue>143</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=158 G=0 B=93</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>158</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>93</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=212 G=20 B=90</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>212</xmpG:red>
+ <xmpG:green>20</xmpG:green>
+ <xmpG:blue>90</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=237 G=30 B=121</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>237</xmpG:red>
+ <xmpG:green>30</xmpG:green>
+ <xmpG:blue>121</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=199 G=178 B=153</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>199</xmpG:red>
+ <xmpG:green>178</xmpG:green>
+ <xmpG:blue>153</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=153 G=134 B=117</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>153</xmpG:red>
+ <xmpG:green>134</xmpG:green>
+ <xmpG:blue>117</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=115 G=99 B=87</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>115</xmpG:red>
+ <xmpG:green>99</xmpG:green>
+ <xmpG:blue>87</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=83 G=71 B=65</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>83</xmpG:red>
+ <xmpG:green>71</xmpG:green>
+ <xmpG:blue>65</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=198 G=156 B=109</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>198</xmpG:red>
+ <xmpG:green>156</xmpG:green>
+ <xmpG:blue>109</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=166 G=124 B=82</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>166</xmpG:red>
+ <xmpG:green>124</xmpG:green>
+ <xmpG:blue>82</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=140 G=98 B=57</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>140</xmpG:red>
+ <xmpG:green>98</xmpG:green>
+ <xmpG:blue>57</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=117 G=76 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>117</xmpG:red>
+ <xmpG:green>76</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=96 G=56 B=19</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>96</xmpG:red>
+ <xmpG:green>56</xmpG:green>
+ <xmpG:blue>19</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=66 G=33 B=11</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>66</xmpG:red>
+ <xmpG:green>33</xmpG:green>
+ <xmpG:blue>11</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=0 B=0</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=26 G=26 B=26</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>26</xmpG:red>
+ <xmpG:green>26</xmpG:green>
+ <xmpG:blue>26</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=51 G=51 B=51</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>51</xmpG:red>
+ <xmpG:green>51</xmpG:green>
+ <xmpG:blue>51</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=77 G=77 B=77</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>77</xmpG:red>
+ <xmpG:green>77</xmpG:green>
+ <xmpG:blue>77</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=102 G=102 B=102</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>102</xmpG:red>
+ <xmpG:green>102</xmpG:green>
+ <xmpG:blue>102</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=128 G=128 B=128</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>128</xmpG:red>
+ <xmpG:green>128</xmpG:green>
+ <xmpG:blue>128</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=153 G=153 B=153</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>153</xmpG:red>
+ <xmpG:green>153</xmpG:green>
+ <xmpG:blue>153</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=179 G=179 B=179</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>179</xmpG:red>
+ <xmpG:green>179</xmpG:green>
+ <xmpG:blue>179</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=204 G=204 B=204</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>204</xmpG:red>
+ <xmpG:green>204</xmpG:green>
+ <xmpG:blue>204</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=230 G=230 B=230</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>230</xmpG:red>
+ <xmpG:green>230</xmpG:green>
+ <xmpG:blue>230</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=242 G=242 B=242</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>242</xmpG:red>
+ <xmpG:green>242</xmpG:green>
+ <xmpG:blue>242</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=63 G=169 B=245</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>63</xmpG:red>
+ <xmpG:green>169</xmpG:green>
+ <xmpG:blue>245</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=122 G=201 B=67</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>122</xmpG:red>
+ <xmpG:green>201</xmpG:green>
+ <xmpG:blue>67</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=255 G=147 B=30</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>147</xmpG:green>
+ <xmpG:blue>30</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=255 G=29 B=37</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>29</xmpG:green>
+ <xmpG:blue>37</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=255 G=123 B=172</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>123</xmpG:green>
+ <xmpG:blue>172</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=189 G=204 B=212</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>189</xmpG:red>
+ <xmpG:green>204</xmpG:green>
+ <xmpG:blue>212</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=138 G=138 B=138 1</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>138</xmpG:red>
+ <xmpG:green>138</xmpG:green>
+ <xmpG:blue>138</xmpG:blue>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <pdf:Producer>Adobe PDF library 9.00</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+endstream endobj 3 0 obj <</Count 1/Kids[155 0 R]/Type/Pages>> endobj 155 0 obj <</ArtBox[0.0 73.0 508.0 701.0]/BleedBox[0.0 0.0 1024.0 768.0]/Contents 156 0 R/Group 157 0 R/LastModified(D:20090730214335-05'00')/MediaBox[0.0 0.0 1024.0 768.0]/Parent 3 0 R/PieceInfo<</Illustrator 158 0 R>>/Resources<</ColorSpace<</DefaultRGB 159 0 R>>/XObject<</Fm0 160 0 R>>>>/Thumb 161 0 R/TrimBox[0.0 0.0 1024.0 768.0]/Type/Page>> endobj 156 0 obj <</Filter/FlateDecode/Length 130>>stream
+H‰ŒÎ-Ã0 †aîSøõìø' ŸÆ‹v€©°ºûƒµ,$’õ‘<à=±FCáb¸Üï·Á8A¯-‚âFÅ{­(V(Ì\Eñ³Ããµ3>¿°Îüå¨IGIykF½µÝS><H‚朗7)dªÞ5×?úLÿè3ý£Ÿö¯ð`
+endstream endobj 157 0 obj <</CS 162 0 R/I false/K false/S/Transparency>> endobj 161 0 obj <</BitsPerComponent 8/ColorSpace 163 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 79/Length 284/Width 106>>stream
+8;Z\ui<k5l%"j!.(Yn<rGVB89DS9W38A;imV+n")c,d,Cr$jiKcnTe_@#q%%4(.C8
+HN;BSQ0K3*YFS=EP`>nRqnec:hag&4%a](-!f93L:A4D\h\gZ/n@lX;HcTPGfEHCj
+Q%6lr1C^ia9#<W0(GV,aU!d`IC%Y0XNP6><b7'6om5]6K!.0N/D61*)F/P7m\Pl,G
+gpGL0adN#/Z594=1XIk%(grE!EB@RojEgmQOd52KE0$6o\NS1_@3+<#Mt:Yj;B;Fb
+IK^@:(iq@&!<@UeLT(~>
+endstream endobj 163 0 obj [/Indexed/DeviceRGB 255 164 0 R] endobj 164 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
+endstream endobj 160 0 obj <</BBox[-103.108 71.3223 103.108 -71.3213]/Length 854/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ColorSpace<</CS0 165 0 R>>/ExtGState<</GS0 166 0 R>>/Font<</T1_0 154 0 R>>/ProcSet[/PDF/Text]>>/Subtype/Form>>stream
+BT
+/CS0 cs 0 0 0 scn
+/GS0 gs
+/T1_0 1 Tf
+0 Tc 0 Tw 0 Ts 100 Tz 0 Tr 12 0 0 -12 -103.0967 -61.2773 Tm
+[(T)7(his is an A)12(dobe\256 I)-10(llustr)5(a)4(t)6(or\256 F)26(ile tha)4(t w)4(as)]TJ
+0 -1.2 TD
+[(sa)8(v)10(ed without PDF C)11(on)4(t)6(en)4(t)3(.)]TJ
+0 -1.2 TD
+[(T)71(o P)5(lac)6(e or open this \037le in other)]TJ
+0 -1.2 TD
+[(applica)4(tions)11(, it should be r)10(e)-28(-sa)8(v)10(ed fr)10(om)]TJ
+0 -1.2 TD
+[(A)12(dobe I)-10(llustr)5(a)4(t)6(or with the ")3(C)3(r)10(ea)4(t)6(e PDF)]TJ
+0 -1.2 TD
+[(C)11(ompa)4(tible F)26(ile" option tur)-4(ned on. )41(T)7(his)]TJ
+T*
+[(option is in the I)-10(llustr)5(a)4(t)6(or Na)4(tiv)10(e F)31(or)-4(ma)4(t)]TJ
+0 -1.2 TD
+[(Options dialog bo)14(x, which appears when)]TJ
+0 -1.2 TD
+[(sa)8(ving an A)12(dobe I)-10(llustr)5(a)4(t)6(or \037le using the)]TJ
+0 -1.2 TD
+[(S)-3(a)8(v)10(e A)6(s c)6(ommand)10(.)]TJ
+ET
+
+endstream endobj 154 0 obj <</BaseFont/OUPLQW+MyriadPro-Regular/Encoding 167 0 R/FirstChar 31/FontDescriptor 168 0 R/LastChar 174/Subtype/Type1/Type/Font/Widths[523 212 0 337 0 0 0 0 0 0 0 0 0 207 307 207 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 612 0 580 666 0 487 0 0 239 0 0 0 0 658 689 532 0 0 493 497 0 0 0 0 0 0 0 0 0 0 0 0 482 569 448 564 501 292 559 555 234 0 0 236 834 555 549 569 0 327 396 331 551 481 736 463 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 419]>> endobj 167 0 obj <</BaseEncoding/WinAnsiEncoding/Differences[31/f_i]/Type/Encoding>> endobj 168 0 obj <</Ascent 952/CapHeight 674/CharSet(/f_i/space/quotedbl/comma/hyphen/period/A/C/D/F/I/N/O/P/S/T/a/b/c/d/e/f/g/h/i/l/m/n/o/p/r/s/t/u/v/w/x/registered)/Descent -250/Flags 32/FontBBox[-157 -250 1126 952]/FontFamily(Myriad Pro)/FontFile3 169 0 R/FontName/OUPLQW+MyriadPro-Regular/FontStretch/Normal/FontWeight 400/ItalicAngle 0/StemV 88/Type/FontDescriptor/XHeight 484>> endobj 169 0 obj <</Filter/FlateDecode/Length 3130/Subtype/Type1C>>stream
+H‰|TyPwîffz è$ÒÕD§“î#hD”[-±o!b(/˜a¸@e0‚ §E
+D%"‰g”C ¹Ed=€ñ
+1ÆMÜ}?¬l[[•¿¶ªëõ»ú{ï}¯ëá˜ÐÃq|Ž—Ÿ·ÇWþ‹<©U
+ouÔâíÊà˜ð@µ1ÈrŸáÜl!÷ù
+Ù£¬÷ïß{ˆà¹Ïgµ|6cÔð˜O”ìß«ZÍc‡heöË—;Ø¥Ó´tµ•9,]ºtZ:ÉÖ(¢‚”2ŸC­2B#Û)RGG©µJ…lMx¸lB#S+5Ju¬ÑÉ÷¤UÊù¸,èÌÏ·÷ðÙ‘|Î:'g'[çev²ÿv/SidJ•6D©–ò
+å~ŒgÇ0†Í4Á¬0ì ³Á°/1l‰ æ„c§ó!°R ?a6F=1o,ËÇÊ°Ü—ã øþÖd­I¾É„`³@!º ¿þ!Ú :AÄN"8+¶ï›š›z™^00s6‹2ùÈö£VsQjz÷º çåM‚t!—:é=•J@j£Ð*øV¯$C·(0S9â)bÏ´«o\3eÔÑ’ : ZÁí„ãøÏatØHŸàæä&ª
+… 5X¡°ýqWAÁe¾1×ä>®¶0Ι¿<ȤRên¦vÐðéŸåìÝ»ÏÁD
+xÈÃm·™o‡Kh½Á#ùØv܃:y¾<»žçÖÈ1E[læ!/UXFV #‰çÇm
+óYÉE~ºÂ>¸h¤ ’Ç,Çá<‘r®$­”½¡±-¯(ºÑ.½£m ¾ÂTÊ=Î9Óë}“YË>s1«šžèÜg¿t«¿U¤&óäAV’¤än „ÆY´ Â@×”QšÊþ¸.¼øóÍöÛˆ¨cí*ƒ.wH¯WÜ~Ù^ðh1CÖ—ðû.ŒÜY°‘FŸ:¹Y-îù
+Läì Uå~OéFÿ]^>g/(Irq,÷ú>û Øgià^CÐý©k ÄêºBc!½fvYT p”lä졉ú5ø-Z°Íû°ZÎœó/oÈ¿N¿ÉÈsWH“ÄÈ+cÞVd&]ß´á·Þæòêï™,‚LÈÙ&!RÊô×j¤. ÙøMZRjt$H¾•Þ«,mûðÂ_õ¬äž®O˹õBxœÅà8T>#aE&ìÓèC™!‚l<9"Ê$<ªZ£ûhÀÀd Ö€µëïh¦›Ê/œÕÃONÄø”;u:óTVs¯¨µægz¢iÙ—Hà·Ún«M{<›š›–—'•øòÛÇúðêgÎæ ¥S‡&~M/ZÛ Âßï<Á²D]1{®[”¯ÙïO#‡ùG Ñ‚‰`Ýu³0ï<+i×õ+þ×lõ3¸8ÎÓc3@¡½¸:& b5̬"ç Ù¼X
+ˆÐi{~)™$!x63áú”'(&}÷¹ŸÓÜhg¹1Ì…æ‹H ›ÅÁÙ_šrŽ L Ãi œ‘?Ü Ù»bd[Ý! íëäÙÖøõeh1µšíÔ”ýÒ௤½Éhh¢gù¦šZS5™›_œ]®O÷˜Î"5ä‰ë8Â1×x—ïøûQÞo‰ã½ÕebÁ‰¹éCiçhIW‰Û+ºxæìˆÿ;åÉ6ªcs-rñ»veìö}þŠž,ë*ÿLTüõaÉ¡B·SN X’U°›‚± s¸|½IlgÝF.>Þ—×\ä‘SÇ:.¨|do·Õê¢uAL§VÊÈeï [`lÅÂh¾à'M¨8²’±7°2ŒûÙRVA¤ 
+endstream endobj 166 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 165 0 obj [/ICCBased 170 0 R] endobj 170 0 obj <</Filter/FlateDecode/Length 2574/N 3>>stream
+H‰œ–yTSwÇoÉž•°Ãc [€°5la‘QIBHØADED„ª•2ÖmtFOE.®c­Ö}êÒõ0êè8´׎8GNg¦Óïï÷9÷wïïÝß½÷ó
+ 
+V³)gB£0ñiœWו8#©8wÕ©•õ8_Å٥ʨQãüÜ«QÊj@é&»A)/ÇÙgº>'K‚ó
+€x¯Íú·¶Ò-
+¨ꇆ¡Ðnè÷ÐQètº}MA ï —0Óal»Á¾°ŽSàx ¬‚kà&¸^Á£ð>ø0|>_ƒ'á‡ð,ÂG!"F$H:Rˆ”!z¤éF‘Qd?r 9‹\A&‘GÈ ”ˆrQ ¢áhš‹ÊÑ´íE‡Ñ]èaô4zBgÐ×Á–àE#H ‹*B=¡‹0HØIøˆp†p0MxJ$ùD1„˜D, V›‰½Ä­ÄÄãÄKÄ»ÄY‰dEò"EÒI2’ÔEÚBÚGúŒt™4MzN¦‘Èþär!YKî ’÷?%_&ß#¿¢°(®”0J:EAi¤ôQÆ(Ç()Ó”WT6U@ æP+¨íÔ!ê~êêmêæD ¥eÒÔ´å´!ÚïhŸÓ¦h/èº']B/¢éëèÒÓ¿¢?a0nŒhF!ÃÀXÇØÍ8ÅøšñÜŒkæc&5S˜µ™˜6»lö˜Iaº2c˜K™MÌAæ!æEæ#…åÆ’°d¬VÖë(ëk–Íe‹Øél »—½‡}Ž}ŸCâ¸qâ9
+N'çÎ)Î].ÂuæJ¸rî
+î÷ wšGä xR^¯‡÷[ÞoÆœchžgÞ`>bþ‰ù$á»ñ¥ü*~ÿ ÿ:ÿ¥…EŒ…ÒbÅ~‹ËÏ,m,£-•–Ý–,¯Y¾´Â¬â­*­6X[ݱF­=­3­ë­·YŸ±~dó ·‘ÛtÛ´¹i ÛzÚfÙ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}…ý€ý§ö¸‘j‡‡ÏþŠ™c1X6„Æfm“Ž;'_9 œr:œ8Ýq¦:‹ËœœO:ϸ8¸¤¹´¸ìu¹éJq»–»nv=ëúÌMà–ï¶ÊmÜí¾ÀR 4 ö
+n»3Ü£ÜkÜGݯz=Ä•[=¾ô„=ƒ<Ë=G</zÁ^Á^j¯­^—¼ Þ¡ÞZïQïBº0FX'Ü+œòáû¤útøŒû<öuñ-ôÝà{Ö÷µ__•ß˜ß-G”,ê}çïé/÷ñ¿ÀHh 8ðm W 2p[àŸƒ¸AiA«‚Ný#8$X¼?øAˆKHIÈ{!7Ä<q†¸Wüy(!46´-ôãÐaÁa†°ƒa†W†ï ¿¿@°@¹`lÁݧYÄŽˆÉH,²$òýÈÉ(Ç(YÔhÔ7ÑÎÑŠèÑ÷b<b*böÅ<Žõ‹ÕÇ~ûL&Y&9‡Ä%ÆuÇMÄsâsã‡ã¿NpJP%ìM˜I JlN<žDHJIÚtCj'•KwKg’C’—%ŸN¡§d§ §|“ꙪO=–§%§mL»½Ðu¡váx:H—¦oL¿“!ȨÉøC&13#s$ó/Y¢¬–¬³ÙÜìâì=ÙOsbsúrnåºçsOæ1óŠòvç=ËËïÏŸ\ä»hÙ¢óÖê‚#…¤Â¼Â…³‹ãoZ<]TÔUt}‰`IÃ’sK­—V-ý¤˜Y,+>TB(É/ÙSòƒ,]6*›-•–¾W:#—È7Ë*¢ŠÊe¿ò^YDYÙ}U„j£êAyTù`ù#µD=¬þ¶"©b{ųÊôÊ+¬Ê¯: !kJ4Gµm¥ötµ}uCõ%—®K7YV³©fFŸ¢ßY Õ.©=bàá?SŒîÆ•Æ©ºÈº‘ºçõyõ‡Ø Ú† žkï5%4ý¦m–7Ÿlqlio™Z³lG+ÔZÚz²Í¹­³mzyâò]íÔöÊö?uøuôw|¿"űN»ÎåwW&®ÜÛe֥ﺱ*|ÕöÕèjõê‰5k¶¬yÝ­èþ¢Ç¯g°ç‡^yïkEk‡Öþ¸®lÝD_p߶õÄõÚõ×7DmØÕÏîoê¿»1mãál {àûMśΠnßLÝlÜ<9”úO
+¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäüå„æ æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ
+endstream endobj 159 0 obj [/ICCBased 171 0 R] endobj 171 0 obj <</Length 3144/N 3>>stream
+
+
+
+'
+=
+T
+j
+
+ó " 9 Q i € ˜ ° È á ù  * C \ u Ž § À Ù ó & @ Z t Ž © Ã Þ ø.Id›¶Òî %A^z–³Ïì &Ca~›¹×õ1OmŒªÉè&Ed„£Ãã#Ccƒ¤Åå'Ij‹­Îð4Vx›½à&Il²ÖúAe‰®Ò÷@eŠ¯Õú Ek‘·Ý*QwžÅì;cŠ²Ú*R{£ÌõGp™Ãì@j”¾é>i”¿ê  A l ˜ Ä ð!!H!u!¡!Î!û"'"U"‚"¯"Ý#
+#8#f#”#Â#ð$$M$|$«$Ú% %8%h%—%Ç%÷&'&W&‡&·&è''I'z'«'Ü( (?(q(¢(Ô))8)k))Ð**5*h*›*Ï++6+i++Ñ,,9,n,¢,×- -A-v-«-á..L.‚.·.î/$/Z/‘/Ç/þ050l0¤0Û11J1‚1º1ò2*2c2›2Ô3 3F33¸3ñ4+4e4ž4Ø55M5‡5Â5ý676r6®6é7$7`7œ7×88P8Œ8È99B99¼9ù:6:t:²:ï;-;k;ª;è<'<e<¤<ã="=a=¡=à> >`> >à?!?a?¢?â@#@d@¦@çA)AjA¬AîB0BrBµB÷C:C}CÀDDGDŠDÎEEUEšEÞF"FgF«FðG5G{GÀHHKH‘H×IIcI©IðJ7J}JÄK KSKšKâL*LrLºMMJM“MÜN%NnN·O
+kÍ‚0‚’‚ôƒWƒº„„€„ã…G…«††r†×‡;‡ŸˆˆiˆÎ‰3‰™‰þŠdŠÊ‹0‹–‹üŒcŒÊ1˜ÿŽfŽÎ6žnÖ‘?‘¨’’z’ã“M“¶” ”Š”ô•_•É–4–Ÿ—
+—u—à˜L˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°
+¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäüå„æ æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ
+endstream endobj 158 0 obj <</LastModified(D:20090730214335-05'00')/Private 172 0 R>> endobj 172 0 obj <</AIMetaData 173 0 R/AIPrivateData1 174 0 R/AIPrivateData10 175 0 R/AIPrivateData11 176 0 R/AIPrivateData12 177 0 R/AIPrivateData13 178 0 R/AIPrivateData14 179 0 R/AIPrivateData15 180 0 R/AIPrivateData16 181 0 R/AIPrivateData2 182 0 R/AIPrivateData3 183 0 R/AIPrivateData4 184 0 R/AIPrivateData5 185 0 R/AIPrivateData6 186 0 R/AIPrivateData7 187 0 R/AIPrivateData8 188 0 R/AIPrivateData9 189 0 R/ContainerVersion 9/CreatorVersion 14/NumBlock 16/RoundtripVersion 11>> endobj 173 0 obj <</Length 894>>stream
+%!PS-Adobe-3.0
+%%Creator: Adobe Illustrator(R) 11.0
+%%AI8_CreatorVersion: 14.0.0
+%%For: (Administrator) ()
+%%Title: (colorbox.ai)
+%%CreationDate: 7/30/2009 9:43 PM
+%%Canvassize: 16383
+%%BoundingBox: 0 73 508 701
+%%HiResBoundingBox: 0 73 508 701
+%%DocumentProcessColors: Cyan Magenta Yellow Black
+%AI5_FileFormat 7.0
+%AI3_ColorUsage: Color
+%AI7_ImageSettings: 0
+%%RGBProcessColor: 0 0 0 ([Registration])
+%AI3_TemplateBox: 512.5 383.5 512.5 383.5
+%AI3_TileBox: 116 78 908 690
+%AI3_DocumentPreview: None
+%AI5_ArtSize: 14400 14400
+%AI5_RulerUnits: 6
+%AI9_ColorModel: 1
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI9_OpenToView: 93.25 700 8 1780 1006 18 0 0 45 111 1 0 1 1 1 0 1
+%AI5_OpenViewLayers: 7
+%%PageOrigin:0 0
+%AI7_GridSettings: 100 4 100 4 1 0 0.8 0.8 0.8 0.9 0.9 0.9
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%%EndComments
+
+endstream endobj 174 0 obj <</Length 6746>>stream
+%%BoundingBox: 0 73 508 701
+%%HiResBoundingBox: 0 73 508 701
+%AI7_Thumbnail: 104 128 8
+%%BeginData: 6616 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45FDA0FFA8A8A8FFA8FFA8A87DA8A8FD5DFF5227FD06FF7D27A8FD5D
+%FF5252FD06FF52277DFD5DFF5252FD06FF7D27A8FD2AFF7D527D527D527D
+%527D52A8FD04FF7D7D527D527D527D527D7DFFFFFFA8FFA8FFA8FFA8FFA8
+%FFA8FFA8FFFFFFA8FFA8A8A8FF5252FD06FF5227A8FD2AFF522727522752
+%27522752A8FD04FF7D2752275227522752277DFFA852A8A8FF527DA8FF7D
+%52527DFFA852A8CAFFA8525252A85252FD06FF7D27A8FD2AFF5227A8A8FF
+%A8A8A85227A8FD04FF52277DFFA8FFA8FF7D277DA8F82727A85227F87DA8
+%A827F87DFFA82727A8A8A8275252FF5252FD06FF5227A8FD2AFF5252FD06
+%FF7D27A8FD04FF7D27A8FD06FF277DA87D52A8A8A85252A8FF7D52527DFF
+%FF277DA8FFA8525252FF7D52FD06FF7D27A8FD2AFF5252FD06FF7D27A8FD
+%04FF5227A8FD05FF7D277DFFA8A8A8FFA8A8A8FFA8A8A8FF7DFFA8A8A8FF
+%A8A87DA87DFF5252FD06FF5227A8FD2AFF5252FD06FF7D27A8FD04FF7D27
+%A8FD05FFA8277DFFFFA8FFA8FFA8FFA8FFA8FFFFFFA8FFFFFFA8FFA8FFA8
+%FFA85252FD06FF7D27A8FD2AFF5227FFFFFFA8FFFF7DF8A8FD04FF7D277D
+%FFFFFFA8FF7D277DFFA8A8A8FFA8A87DFFA8A87DA87DFFA8A8A8FFA8FF7D
+%7D7DFF5252A8FD05FF52277DFD2AFF527DA8FFA8FFA8FF7D27A8FD04FF7D
+%27A8FFFFA8FFFFA827A8A87D52A8CAA8527DA8FFA87D52A8A8FF527DA8FF
+%A87D7DA8FF5252FD06FF7D27A8FD2AFF5252FFA8FFA8FFFF7DF8A8FD04FF
+%7D27A8FFA8FFA8FFA8277DFF7D7D7DFFA87D7DFFA8A8527D7DFFA87D7DFF
+%A8FF527D7DFF5252FD06FF5227A8FD2AFF5252A8FFA8FFA8FF7D27A8FD04
+%FF7D27A8A8FFA8FFA8A8277DFFFFA8FFA8FFA8FFA8FFFD04A8CAFFA8FFA8
+%FFFD05A85252FD06FF7D27A8FD2AFF5252FFA8FFA8FFA87D27A8FD04FF52
+%27A8FFA8FFA8FF7D277DFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8
+%FFA8FFA8FF5252FD06FF5227A8FD2AFF5252A8FFA8FFA8FF7D27A8FD04FF
+%7D27A8A8FFA8FFA8A8277DFFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8
+%FFA8FFA8FFA87D52FD06FF7D27A8FD2AFF5252FFA8FFA8FFFF7D27A8FD04
+%FF5252A8FFA8FFA8FFA8527DFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8
+%FFA8FFA8FFA8FF5252FD06FF5227A8FD2AFF5252A8FFA8FFA8FF5227A8FD
+%04FF7D277DA8FFA8FFA87D277DFFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8
+%FFA8FFA8FFA8FFA85252FD06FF7D27A8FD2AFF52FD0927A8FD04FF52FD09
+%2752FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FFA8CAA8FF5252A8
+%FD05FF52277DFD2AFF7DA87D7D7DA87D7D7DA8A8FD04FFA87DA87D7D7DA8
+%7D7D7DA8FD19FF5252FD06FF7D27A8FD5DFF5252FD06FF5227A8FD5DFF52
+%52FD06FF7D27A8FD5DFF5252A8FFA8FFFFFF5227A8FD5EFFFD09A8FD62FF
+%A8FFA8FDFCFFFDD3FFA87DA87DA87DA8A8FD5AFF52FD05FFA827F827F8F8
+%27FFFFFFA8FFFF7DA8FD53FFF8F82727277DFF52F85252F87DFFA8FD0427
+%F8FD54FFFD05F827FF7DF827F8F87DFF27FD05F8A8FD53FFFD05F827FFFF
+%7D272752FFFF27FD05F8FD54FFF8F827F8F827A8FD07FFF8F8F827F8F8A8
+%FD53FFF8277D522727FD08FF27F8525252F8FD54FFF852277DF827FD08FF
+%F8F852525227A8FD53FFF8275227F827FD08FF27F8275227F8FD54FFFD05
+%F827FD08FFF8F8F827F8F8A8FD53FFFD05F827FD08FF27FD05F8FD54FFFD
+%05F827FD08FF27FD05F8A8FD53FFF827525252A8FD09FFFD0452F8FD54FF
+%7DFD05FFA8FD0CFFA8A8FD53FFA8FD12FF7DFD54FFF827275227A8FD08FF
+%A852272727F8A8FD53FFFD05F827FD08FF27FD05F8FD54FFFD05F827FD08
+%FFFD06F8A8FD53FFF8F852F8F827FD08FF27F82752F8F8FD54FFF87DFF7D
+%F827FD08FFF8277DFF52F8A8FD53FF52FFFFFF52F8FD08FF2727FFFFFF52
+%FD54FFF87DA8A8F827A8FD07FFF8277DFF5227A8FD53FFF8F852F8F827FD
+%08FF27F82752F8F8FD54FFFD05F8277D525252275252A8FD05F827A8FD53
+%FFFD05F827FF27F85252F852FF27FD05F8FD54FFF8272727F8A8FF76F87D
+%52F87DFF7D27F827F8F8A8FD53FF7DFD06FFA827F8F8F8FD07FF52FD5CFF
+%A87D7DA8FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFC
+%FFFDFCFFFDFCFFFDFCFFFD80FFA8FD07FFA8FD53FF7DA8FFFFFF7DA8FFFF
+%FF7D7DFFFFFF7DA8FFFFFFA87DFD52FF52A8FFFFA87D7DFFFFFF7D7DFFFF
+%FF7D7DFFFFFF7D7DFD67FFA8FDFCFFFD26FF277DFFFFA82752FFFFFF2752
+%FFFFFF7D7DFFFFFF2752A8FD50FFA8F827FFFFA8F852FFFFFF2727FFFFFF
+%277DFFFFFF5227FD52FFA8FD09FFA8A8A8FD07FF7DA8FDFCFFFDFCFFFDA2
+%FFA8FFA8FD64FFA8FFA8FFA8FD62FFA8FD05FFA8FD66FFA8FD62FFA8FD04
+%FFA8A8FD60FFA8FD05FFA8FD22FFA8FD04FFA8527D7DFFFFFFA8FFA8FFFF
+%FFA8FFFFFFA8FFA8FFFFA8527D7D7D527D7DFFFFFFA87D52A8FD16FFA8FD
+%05FFA8FD21FFA8FD04FFA87D52A8FFFFA9FD0EFFA8527D527D527D527D7D
+%FFFFA8527DA8FD15FFA8FD05FFA8FD22FFA8FD04FFA852527DFFFFFFA87D
+%A8FFA8FF52A8A8FFA87DA8FF527D527D527D527D527DA8FF7D5252A8FD0C
+%FFA8FFA8FFA8FD05FFA8FD05FFA8FD26FFA87D52A8FFFFFFA97DFFFFFFA8
+%A8A8FFA8FF7DFFA87D527DA8FFFFFF7D7D52FFFFA8527DA8FD0BFFA8FD09
+%FFA8FD05FFA8FD27FFA852527DFFFFFFA8FFA8FFCFFFA8FFFFFFA8FFA8FF
+%52527DFD04FFA8527DA8FF7D5252A8FD0BFFA8A8FFFFFFA8FD05FFA8FD04
+%FFA8A8FD26FFA87D52A8FD04FFA8FD09FFA8FFFF7D527DFD04FFA87D7DFF
+%FFA8527DA8FD0BFFA8FD05FFA8FD09FFA8FD27FFA852527DFFFFFFA8FFA8
+%FFA8FD05FFA8FFCFFF527D7DFD04FFA8527DA8FF7D5252A8FD0BFFA8A8FD
+%09FFA8FD04FFA8A8FD26FFA87D52A8FFFFCFAF53FFA8FFA85AA8FFFFAF53
+%A9FF7D527D7DA8A8A8527D52FFFFA8527DA8FD0DFFA8FFFFFFA8FFFFFFA8
+%FD05FFA8FD22FF7DFD04FFA852527DFFFFFF847EA8FFA8A953A9A8FFA85A
+%A8FFFD07527D527DA8FF7D5252A8FD0CFFA8A8A8FFA8FD05FFA8FD05FFA8
+%FD21FFA8FD04FFA85252A8FD0AFFA8FD06FFA8527D527D527D527D7DFFFF
+%A8527DA8FD15FFA8FD05FFA8FD22FFA8FD05FF7DA8A8FD13FF7DA87DA87D
+%A8A8FFFFFFA8A87DFD17FFA8FD05FFA8FD60FFA8FD05FFA8FD4CFFA8FFA8
+%A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFFD05A8FD04FFA8A8FD60FFA8FD05FF
+%A8FD4CFFA8FD15FFA8FFFFFFA8FFA8FD62FFA8FFA8FFFFFFA8FD4AFFA8FD
+%19FFA8FFA8FD4CFFA8FD68FFA8FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8FF
+%A8A8A8FFA8A8A8FDD4FFFF
+%%EndData
+
+endstream endobj 175 0 obj <</Filter[/FlateDecode]/Length 15093>>stream
+H‰ìWiw›ÈýþÎyÿoÊxY‹·$Úmy¤Ä±;/{ ZvC“¦QìùõS  ˜VVœ—|˜ã·ºëVUWÝ2ðcië¿ÿYûx$e41;ÇLÅ&Ÿü¼ûºÝzN5,zÿWÓU®S±»ñ`uk
+ñï÷îŒ!à=NV™ (ƒ¿ !Þ 6[ËKˆÏ¯TJ…RrOÈt»~‹T±™a—
+Q¼óÊýÎ $\¥„².ê,BàçTô·³"T½ÁZÕåfÿN¼¼lyM¦n‹“û‘^4 Ê $ô~¸7±æÌ9à¾[öuÚÍÊòAAÉÉ…\Òì
+ YêL‹Fé˜^Iµ`Þ× ¯Ä
+hI* U°býðÔ(ÊäŽýG|= Èù¼RÌfsÿoz`ÿø#¢jÃÆã¸U6À½ã9X&Êt>4„xG™¥‚}òpa”:¬lçˆÀ㎠Uˆt´åáN/Ü´‰‘õÃÃ?Bð
+Á_Í0›/$ÉÓ1¼œI2?:YN"¨Át€n‰™ŠM1ý²HÑDš_p¯3Ôû|¢ 6© 
+ñï÷îiBãd-§l~'•)ÐÕìú-RÅJd†MÍb«ºý§‹zDHGüœŠþvV„ª7XïÄ…——-¯ÉÔMÀbqr?Ò«ÄõõçºÃ`Þ9¸tDˆZ\7ô[P©rÌîI…æHC}g¾Ù™ªŽ!:ö}è±ùÛ6ÖtÇ.°M‰ã¦ü½ï rSQ¤ÚÄD‚bp,©A\1ob&3lc.=Ÿß
+ùü^>ö,I‘zóØùü‚”L³(ݘ0<¨Ã¥£Žu?V‡ #ŽáTljÞ©³ùYÖ\'ÚØ΢â±öÕÆÄ$ŸÍe÷ãÏJl¶%B Ï^Þpå…Ã- –àLÖw:gÈ´-ïK½ƒ“u ’7 w¢+¾p'¦Æïv"x%ï±–ºø–KuЦ¨§ß…”Ô3l!sà –Ω5Ë|FÉíÈ;²ïß”› ‡©ñ%f®º†¯¡ZÜ9bð’!ÔvÝèaíœÑ¾Nðßø.è
+«EUDÜ!`{€h•9CC1kÖXÿwOÞ»WGºy¡†™üÜ¥–ÿc~úñ„P¨Œ l9ÄôñiÌ:+©êf­K¥òäù.fÌEÕo-ʸ‹«v:±¡
+ÿà©î)§ÝvKª õÆíÛ¦&5 ï)#>œb±˜UæEeUõÏœd¤ÔáÐÿ£iy¯l<ñ¤lû¬ýS3êð¹HŒFÐךc]u'Sšˆ''¤
+¢‘>#—Ñ]¯ìÇá0Ž…çܧDƒjJ?¿9µ:ÎÝl.à^œó»æ¾>jº¸ BMz'Ëùiƒ\Ö0÷µ†{SÃý% ³Ój9XÒPYIvÓù(fcK>mt” Í_6xTL¬“û1IH0+~YáëÌâJ,Á,®ÀÌö¾Î,ûufJdK²’CT’ULuÅããÊ+45fVˆK¯Lý6ºýøQm¤F ?èJ75úÅûëƒèa©è?ªiªÄÑ°ôº}3ì¨uwO‹÷2 N¨½gÍ1î°md¹’À'Ñe“î|ëe3x·v¥k|xŠ]! p|ÇBª§h-~WÅ„Dè°E£ÚÒGxf‚£Câ1Ž88 ²â]ãwÛ Ê ´ ù¢ð0Âæ’#—Ìù”ÂÒqØ8Ìb®‡
+®©õå³^äi«Åƒ~ñòåÛwånuç2þV?îð}éø¦ñ¾th­5§‘9Ñúp¯Æ§/œZÿýU±BJäõa¿2äÕañˆÈ§õšª´>—ŽŸm\§íê‡Á
+­®5µæ£Êöþõj¹³½bŽx4®9¸Îlªu5ÿ2Sæ>—×öÖ7+Ï·>m–ª¯Uìüõôòlex¤ªèÆýK߬÷[ÃñÕŠ¼‹ŠL_ýt¨8Ó*díÙÆ6Û|ç”[õÏ.Ç¥£³á\S8º|_*›ê†±ù¤}´[4Þ=Ñ‹Å]û_Ö«t=Y‹^‹Z­Š ‚ *aRQëDkÕ:á\m­ÓýŸ$  íûž>çûþð
+X;¶Ò¤\¼9.¢ yô/ïb
+ðÜÆk­¿Ù÷÷Ƹ³„Mã£äèKvþUÝjĺ—û)9Öî„°iƒÞÝæfÁg­7í–ÕóiÑüìÿîµ›{¹þòÍs-š?êËÒ¹t£Ï­;Òëmxʚǡ¿ÝôzÈzs0îÄÑnu¨nY1žhÛÆÕˆöÝ´–údGJ•ü9d,Õ£cy'6,ßÔ<.`áþZÝ¿t¬õ‚MÓt9Ö÷ê\OþgÄ® ¼. ;ì ç­ã\‹ÿdõ'ÅõébÂs­Òç`t.AÿmýØÃ6ÿfúêjaw¤'×û CêêAF™?ªÌdùväÒÖâMÆ3}Pœ>ªó¸HËÓ©ú…ðÖ@ï¾gÔN§™ŸÇ(o•ï{Šž3áj„4-Æ`ï 7W"âËc%e¾« 5%Ó§ïhØ\¿¦Œ˜|VÊáÏ
+Í¥Š<2ÂHÚÒyŸ»
+µf²¿áŸV¹j¡Ãm{ƒ Ì k„:Ú8jkã&8kAž5ÜBr~ž6eˆ§f¤Û"P†v»«>1BX<ƹ hE•¥ç_w¬<•õ=i‘^ó ›*jî,Ôˆ8¯ÎöTÙ$üWH4¶hl»áAÀ{Æ(V¥ìõî—ýí;ESÎÙýâ¥2LŸ{îÉ×"#îÓÁ‹iˆÐçÃÆ!ÏÆ9÷|õÌ»¯¥ù§ÉñjXºƒñ?¨#Í2Å]lè î,‡[
+‡ê‡k9váMü(2€½à×ñrDgdÂÙ,»¸"š®à#43ӪǾêЃ”ê•ax²ëÛñø1V‹ÿÝh™0ïØLŽM4 Ý…õ¥ð€Ðµ^q0ZLx~Ð[c¿q*æŸaattö1@.Ì>B‡ýA ܆qq ·@¾67Ó­êxêˆCrüAØ“—t[lÞÎH#‚ºÆdÃ,=e9•Ð²C胈˜•>ZëošwÞh€Ÿ€‡+Òé
+‡t#1«BY”P¶‡’éÎêz(·;‚oë3ïÂ
+\;7 ê(u†],gùoÍ€Ô³/Ý„Ýi³ÂJÝ[DŽÉq'À½ñŽ¾[ä=W÷à"™êÝ2ò“™ÄØlþ¬£ÐfQâeùÊùj¥´ã´úedíî?›ùm
+³"˜É=²[nV@“Œ¸—KŸK¬üŒ
+kx*y¼ò§Ïú³:âcìFŽÎo:wÇÿS
+‘0&‹^Ü–üˆ3ßFšüS'HÖYlHdªÐZ“1™½å˜ù©Å…ÔIÆJH¦Äˆ±{¬›9Eóg'Ä,iáÛAËi°€´8{XNRy‹Æct<Mh„x”Lt“è ­È·Œh®—
+‹IÒé­ß(rGÞ3I5gbÜŒáXDƒ‚*jÃ؉b2ƒ˜,ºPûðx‘ÝÇKékÔb$”KC1É@ŽarN ý3‡… a³_¾Û"Ø©‰F
+é1Ɖ{çb]„ÝßJÎr¶{É“Ñ,$ËTÍeîs¥JhÝs,´3ð%n,†ªðpKÂQx40Ѓ rü"¡’HYlç/4 tTòœð¡—³"˜ú•nÜ7/ª‘ø™HßXÀòhÏ”K{-O÷Yúšñ9j1Ü&r“ŒëeG"t Š+g‹²%,¡D@oa3 ¥lm¦`èÊl²Ÿ–aÐIª1Ƶ—3ÅLxK&ˆ´ù¸3)yK”Cþ¶ÕŽlÏMìñ=BíðPbúåÙç[ÜH\"‰9]hˆÚi\‹¨ÇG0j¸xÔVåàò²qP
+Ö &0`Ó2е¨O, ¨G ËÓlMB4~b ~à.HÕÐpƒÂ颊òœ’
+—•zmáG‹O§–Y^©=¢©±o;n„çÜ¢Äï,QSÍ4'Ï©øy0ô' È-Š¨È@õíC-˜„"ÿû"|g¸ÎÞZ¦a™à­b/ÃKR¬ŽÕE™D˜í%ç/Ä[[ÿ_D«\—¹çhíK]Ö¬•8ÿ‹ÇˆDÁ1~ïñr7=âºTŠˆá2omòKg"÷ᒫ†D>âDq Ä2ùBEÎ `q#Ùe½µe¢@É Úã¡oͤéìOü ©š‘ûê¯ÓÐè­·¥ÃýàTüwv÷=KÈžÒagc5êÛ•ªþ±uú?©¯}«5uc^©º;…˱qêÄFšÎZI“Kœ@+OÁMnô¿ Òp¡(âFÐ’sé°‡2¾ƒüõ´Ú@•Èªèb6Mª‰øZtïÊépáçöª1ô櫵!S"‰æµø‰²vçùRƒÙÆE1Lå6‹°£Æhb Û;ËS%i˜=>ÄõIK4DI…¢â„A\æ¹"/N»¤6pHâ^ û 
+.—‡áìE"ÅTRœh ¨Un2C¿¦XGLüàuĽÊØçÜøñB"ã?6"òh H™«’ºgöÅð—9ç| °v¢d›á\:U©ºsyº‡€xq¾#“ð‹dŒTŽ i¢s& ¦°SÈÌ’§ÜàK½™:Ñ——9Ìs>5(mDÆKƒT†,ýM‡ŠÌE/={ÈÀÍ2U¤w¬/}Þ¨gB§AÜv‹ ºvR+'ÿüH&rè3ƒ‹WwDUwÀ‚;Pÿ¸Ýu‹Ÿà„ÝFŸ©æ}””ͧ§} 9>6£Ó1¤ê¬ ¯³ö?A#­`RŽ°ô â_iÐŽ>RQg4ž¾HFÜ)ðƒÛ÷”óµ)Ò4ro`Šº€økKNX °’b³„³§râî‡Qa¿z  ›©ûÆ£6Š±Ke`I|Ýìó>HÓ
+íJ}³1lè÷üDï¬6¼³ryV¹¨hRç½ý$T.xÌ/*Ç[ízvúÜ|½) ¾^Õ÷ࣼ°hnNy¯Ïÿ×<ÒùûQõ<#CX®/Nö÷ëg'Õ«Ic8ÜqÂacØUÊ‘>oñÜ4 »ñ}ý´mÇü¸x¸v“ý«_æ®Nƒ·Ù¸#ê2wZ“i+{ô“®=7µ¯ýÌòûý.>—ù±Röô|í иñz8OÏKÖã«3™‚òå±=OÐ+9£´Æ¾Ñ—L»[(îÿ<¶=tJ Ùoa8™}*¯—Žw«wx7˾]² }¹¯¶—ÄÖÊÝÁb}¥/ïæ}kKªöÅý’Í:/1e‡£bëEùh«ñÎz²þ…mo#Œ•{c½æ6w¤Íþ÷0w³'¥ë(_«O7•pÖòãSAhVomV^w×…Ÿ‡›úA­ÆZÆòE$ë—Rù±Æʽb¥p~NÃ,¼ß—ZCi X÷÷‚~ÙžÏY{ÛÛ¼ЇüÔfšânCêøSûL_Ú=ÎZ[Mmù¥læî÷ÃY‹¿ÃXÆ&®Þj6q«Lÿ9,~ g½éìn¼W­n+Û0š‚ÍjÎw/ê%½øÎZÎ<fkÚýM+TÓ_™Ý³Ñ®`å4Nj:§A®nlh-‚õñ¥ ¼\ôC}]Xmë-ÿ0
+4ó ß »õ¯gk<È…ý ëõ×æãœõqÿ¬Wgc¢@ý-6°FÐÄ
+X0–Ø£Æh4ñ4‰(øÿowAAXïò…»¸°ïM{3ã5 ÆÚµMOAåÆþÌÖ—<Uq
+þ¾{ÿ§`qZN‹±ÎúÄðëŒ/êC§8§ÕŸWkiÊðŸ×ë﨎Xœ~ﶡÍ2a8Õ2m8ižFkóçÿè”äæÓé®wTFÌél
+•F«ð OMz´g¦ß’cB²ÚiVô¥Å# T((NPâ}ý·$OÅ>Í/h厊´ýàßj †ÑƒÛ Ó*ÖdZþð«ªVï Á~ˆ>šéTåƒ&§Ÿ…O€Õ{×X¥÷ûˆìv
+7åùðŸÌ܇V\µ9ОýIºY¦ܸ¡ßꘙif!°GÙÇÀþ˜<ê8ñÍlÙWw ëŠÂîáw1ñ—¯(ÚÌ
+
+q›÷Ʊ!'u°MKáôAî7qÒÚš‰Vø¿]¥rJy_”°œ
+^5µ2Oác±µ-b#…—dWF
+¾;g˜p#ÃÒg¤Åt³Ð 1eÍ! ø÷ ËÜxl,¥³Ö¤?[¿á­UÃ.·í=ßô~`5øãyZÏϘâ<ãt ÙˆósNõž`–×êpyœ~!,k7ÍÐ/Éدp)¨/Yî6f£€´–%lÓìCÒN'`žS6–åayÁq:I83
+,¬± «á¾<¼·Õ ,ÓW çÒÆ0kÏ8‚³U­C³Vxø×s°p‰e“†Öà –'|ˆ—1U(E·´v¨:ëq`™Ó­¡~‘Ô,Ñû¾ýѵö8²jih„ #Cƒ¹ð 44¿V†f¸tnh07côžeQ‹ªæœÌás3 ïÉmhÞâÞ$/€gx ¨uÌ u­hLåÇЀœnÃû2wϸ‚ÌÓÐ`ê6Êf Î 6H$nõYFŽch`¿âØZÀjâþ‰´ëWAœþvcú¦Ñ±‡…Là›F‰7Í*$gˆå–_V4,Cx:ó¾@’O–dzߌ‡»ñ0ú€gà¯OÖ½!GÞ´x:I›CŽ=Ç“ï}Ä÷„N;€ò_VL¾'Å-Ç~B¾mýŠI|Ù˜B°7ÜäÈŒ%ð È­³¼²Î°ãÑàé4$K/+,¡)<˜ …”úêâk›ÆµûdÈ™å⻀g©?·µ‡VX‚ÇƧÁqåóx°„.´“±° x^ mð2L,×α´•ƒä0^Ä#b „$¨É–öW@L4‡¾âÅsa*U¿ò}h
+3‹ç,y`‚J¨™(–ùÿø`£í47ÑØúOåâíéíBzTzíBì·t#¯F¹—\GšÇË¥XíAòMkm)Öî¤#a~§BÜ€ÿ(+ý¡2¹œÅ»bGúw&˜zLÝT®ÂƒH¾p•ªŸƒñù.”×—†_9M\'´ª“oZŠ6•[9ü|+¥Â ¯ÎÔ?#é­#%c·éï
+æŸ>­óÊ%Lâ–-åó-S›¡M™^å]´M 5íäüNzµ¶>çˆ&ÜLgû¦yU1Ã1‚“û·m» ð4-]ñ'³/¶Ñª}#ÁÅuâ³Ø)~+[©nڪ̈́ã'‰»÷M™?†” ë'½÷9óW›—ù‰á`_§žx:{oAÊ·ô´UÀIðÏ Wŧÿÿ*e¶ ¯b¼4|—¢­nXñœ=‰è_5[6r«=™n‡Y“´tíÀãçáÖûu©:ÉcÓ¾.²ÍûF±½é& MÝíhMB§SõÈfÊ•Êlk¯Ó$ðV@¡…‚³±P, ]4„¥¥,ÅfSÉÛ3Huv´•£hÌP¨i aÍ “£`ȉÚ9Rè¡Ù¸Õz€‡·VøŒÝÞƒ;‡V@ŸÃXùÛ—L"Tb"®[p·äU†ã|’ÄéÇ´·ïÄ uƒùwî'~ZúP¬³C73Á·À²ï_àbêp‰iîTªVjšMÆ©.ƒð ÔËÜ@tqâ§Åì7ƒu.Qz¼¬1;WÀf´´û5³î—L9^en¸î— [¥r¹µ.è¸iQ[+ﱂûÒlÔHN<oJu߆>úà
+PB÷–?¤OÛWm¹®‚à™âÅÈ…f Pž]TR½¾,]_VüÛ훨â$ðW¶co ¤ÑG_Õ#ìWe+n2À[ýµ£Ù«^6&j\~^«(;(ÕÝ%hÊn´±æ[¸iœÇ%HîøQZ€ˆfI¹û2ùjAãqÄa$ýÙú -;ðŒ«a|[fGЪ~lØ RH‡¢Î0ÕÒLq;O¯†‡©àž5vÊƽÓ
+?Ð<‚U©0³ÃÎ"i«+KßÃß¼àÄö¶ö$ï%ê(+ŠS·Æ $r¤£áÆ&Püàºà3 Pâ( bƒ®
+(ñÚFS1öÝ·n=Zµ÷Û–uNÌ0¹5Ž´@NÃ¥óœöÊ”©5é­2\¿Þ_•‘ØxM^znðÐD ·ùί„áVƒ'Û¢NšB—¸]Ô±)1®€ý”êtÜþ/À
+endstream endobj 176 0 obj <</Filter[/FlateDecode]/Length 17828>>stream
+H‰¬WYWâÌ}¿kÝ„!B2…  ai@Ú¡‘ÿÿUUBÈP_jÙm<óÙ{ŸÁ,Î$¦_Ûh±(£EZ Ñóÿÿ£Õ‹H57ÝÜd/}Õp;µMÚÑÒ
+³1¥ ªu6À˜Âû nÎØ8áF†À VC¥Ñú<€½Ñ{É,YÿèwêeZc¸ž˜›lW´~ÑÅ;ÈëÆX¹ÝÑí6øú¼@Dºÿ–¿ò±NŸ}ÑGƘÈÛÂÒ«º7{ÇK÷Y>(fNŽxËDædõ¯_$Ú4v ‘šÝô@“o\“º½‡½éᣦI«Z£
+¦ÛõŸ¯1P¯ô1øSÀl°îMÄÈŽ€[Cóg3ª¢l@/õ·z-s¡ÓX e³¯Í…Ô!3lÁb1›¬ÆMòVö€{“‡"HQ@Kj±U@¬0®Zò’BX"ÈÐ}à þ÷ý2ÊAÓî L"è¤`Úh!‚°È5iÊôI‚oàI©×šõ‚°hOgŒíö¡ÃcÌŸ¿€j7miÒpp´ö®€{ÚÔëÄ[Æ¡h¬¹hl`Î[Í‹oö” ܘYT£U.¬¬Ux¼A” úlV~ñwΰ‹>+ßã²²‰’¡°K÷V>Èu€|ó ,Ú}Èʦ4uÉÁÊp6pYÙ”¡Z´Ã$Õ :î÷” ¯µ³ëeÁÊ&
+UÙ“•¡I<V6Ù;œ4KVÎ…h[VÖú®§ d4¬œ 1Žý*3‹Ÿ~<þ—ÈÑèQíÍ’adO#éC“G獅½„Jk.ø…{Á®l¾!1.¸a´Ä6šX°z¢¢€sÎiÌ5²¡ ’`Q’?±°ê9{´È…b&´PÜ#¾úŠ4ý¥ C®1ö%@ÕlÙSÚÁ¤ŠKˆQ_ƒ•>QÜpT©®2µ5ßhl¸âU-ð¦×ˆÉ'8Ku­ezÆï¢åTqù#™Ýµõ…$½T[Å
+‡JÎÖ@¿
+ çÀ€”)±IïÆ.±ùÅWÆ5Í4LÝòS÷¢ùÅm
+ÃÙ\¬ænIL§hÙZðîoëÅ5Í&…S´l-ð/™Ÿ¸Z«“Ö
+’´fíûlkº©­…°°†y7ñHëaTi ­'S¾srÝ€jÍÿ{•ûRn>(BM‡’¡ýQ¢ëÏ>äu•üÈ3‹·ÅÀ¹rzÑŒ•sÐt…áF§^G.©ÍЭµ¸û%7ê‰k€‰tú†kã-7ºY‡l¤’ÛöÍskÜÃÕ§ÊiD`]¹fjŒ]9GD#0¢ÿÙ¡`u°zï’Z4Ö\Â:c¤ ëÚ±l0¾û±¢å"ð~S> ‰§×°:
+±­Õ m×NÑ憞¿Ö¬ݘç\²èqi7ÜÜ’Sä(DEƒ‡(˜–šm€X°£A¬­¸ý)‘s£k,Ké’›Ä<^k¶†p ÀÊŠÖÝó+y±&+ˆÖN1”ðÎê<4„³çXšø§¸…|ãH¯L}c;‘̲™[-žé¾±Ú½ÝÑA¼Á×ç
+¨Sþ;“oßɕ€ÉÝêK^‡›&àКæ FÉF*3aFk£ 24èt°æ€ìL©{¬½_Õ‰y€àb tP:.¹–ØF#W¤ÜûPʵ[çTÎHpFäO|FAø-S”åâ=mW(Ð'Ím÷l®%0Ú?^-Ú~÷ìØà­Ž$ʉ•;P°r“ÿX¯ÖµÄ‘ ú,L@@D”{ @tÅ뀺¢#¼ÿvw’tº“NàO¾™Ý¡ªºêœS§~÷×¹ÔƇj¹t.õ°©ªn}ùNÁtäl^£œ‚ßm§×ÕP̧Y§Ô¢Lé»íœ¹õœE¡´Ï¬“à‘DZæ€ÚQ¨Iåal­ˆ‹ÇZ0QhD¡FZ裨<uq¦#ùLÃáÉ"yÖqÚ¦<z¡¹=-lo4Så§ûäÖ+C„ùwÆWY¤ša
+¥°WË•`ø4rmPSH¶…ÄÛR-Sx»PákhÔõËÛ…J’M¼§¤ä­®ÐNå»Âþx«"±¡P×oKƒBŒ
+F†#ùn( okM5©»oAM&" 
+—••·è(ô,kgÞZ ”ŠQw?¼g/OHC³ö52ŠÛ6GVÌ|Œ£$¦tGŒá5ŽU`tC%/~ß°í]èNV†‚!}¸{-øVÇÙëû­=Ásf<€Àšb$‹À[ 6b‡¾^h5PÎ*ãÅîz
+ihÀm4èí0½ÀÓF€µÅ·vL¡ m
+_㵕aH¿[‹§§qnå|4NÝÊ ÚÀóT°­dêVÎGE×y•ÅÙzLþÇåãè£o¾×t ‹gŠM>*í'ä6^ÊŒ·¥'A¿X/8ÐÃŽyßX8ZGG%I½d’Ó)#gC~s–‘F”5a«NSÎ7“Ã…à¡«E>š ªHƒ#ùñsT0ü—õ¹ô/¡I ,žnÕñº.¡ú~ðUp…Nª:Wj§Í…¬ªËjñ¬ùܶ˜%T§ 5Í™e½×'óUÕÑÔu™]w·
+ëR œ<Êo}9¼ÊýDI¿WÔÛ:·Êý)õL)Ê>_[õ×ãrö$†²zÙfÅ Çm§åÊM|1º·€#¢<;¬€æšÅ|í~l4ƒÿ®üÈ‘£"—={Úw÷•þýÍÄF‰ôåÛVHƒø»yÎK Š ñðʳº,9íÅ =
+OHâí 7ijuÐf
+w7`(Ph½&Þê¸ïFí­s­zc³Ùð8sU¿û»œbÃÈŒ>.Ͻ¢uËVC@Ä¢¥û/÷h`^…”g´,Ç-³› )Ô4kßE†h™?ò³Ç3ÃU†¥iYŽ¿œ}L½¢)bÞ³°\¤9¸þïêų¶K!Zä_úü‰¥i-ž J v¢¸J}Uú•ú_­¨ÚLÝÒyÍÍ$ _B¤ŸApýåïæi~`çbö/ßú-ý,· Ý(`Ñ¥Áÿ½Ë”/Žœþß"Y¹>/\)ýÉã³(U'ïr¢7ˆ7BG÷¢Å˜Mù‚ë¥qÝÛÞ7D§€Ä&ïm¹¯Ê­iˆM‡ÿ¦Ý72Á“ÉŽÝj3dÐ@Q<ˆÖ^ÑpkÒÉ“¬ ²ƒ~‰¯W)2•±;Ävñ‘£ÁP¿¤PºòmÅP˜éÑk\n$óuls˜:HO½@!´·Î a,RÀsøÑî;«á䣘á„p‹‚4[œ·(Žø^gŸ³á.˜Ûž¸Û¹@–êÞ„åU #Å\ø¥L–˜Fd³íj×4×p6ÈZ[NÁñq”t
+J‡•ód@”¬:è\ªzwÖÞWç.37´ÑêMÓ¢YàJíÑ.¢•ÓÇP´´X¤\¦uØ´©ðRw¿‚Ø*¬Kõ‡•B
+ҘѴϬ“ài' ÐåùYËëð‰×ãÚGP;Ò¹7>vˆ‚íúAã>Ø~z+¯uRuˆ7’zÉt™)*¯…€ÃúdÂQ7Hc½Ÿc<ÒÊ ã §º8Ij½Þ4[÷•áÓ%ëY“‰x­ù)ËY“C
+XÇ(K®ø*‹³õ ‰<–Eì^ÂkÓÅ,Llžéý/Ú7Û~~éÙ6=„Îæ%<ÚxG¨&Ì&/Ôæªb6š†~ô;‚@$ÊKøŠ¹Ã†¹%ÍÍ2Å>4g<¤[ƒ¬­÷ƒ¯Ê€+ôÁsÅpåæ+ôÛ¨çzI+úæ9¢ l /빕I»VR Ô<·öU Wu¯é¦Yî: 6À«@£º3{‡ ”ewÓ£áÏ­¼}&ñ­éT¼Ü,Û0¶ÕEÐ?iö4ŒR¾{E­!Íß0r¿L–ÖÆ ”F ñ$R‚¡ ûAL£йÌ0çèCئŠék÷èܯôšî=44Í*D.=tc MsXy]í±‡Pl ÉõC‹"(¸¦¦­‹,W+Ó·.n|…Dë—ªŽ>BÞ-5¶7x0y6M‚U&€±/i0®K˜Æ³U¬V¹Iðɲ9ÂH†Ì{3]ö¯Xï+ê‰ pÀ$X„Ó
+‹b?š´%$tXýl°–C½o` Çí¨(EÐ;r:l²¦YË6uúâ[-qï rCvsíXÒ€2Êlíƽë‘™xoJ•[Ó‚
+…ˆÐ—gnŽÛH‡Ñ 7W\¨&Íò®‰æƒNk;{ ›ŸËÈ„G±Æ.·¯c¬H§Ý ÷"Vÿs¥”}||[
+ѳHâ/ºÅ¨Ê6›ÐÍã ½ˆ ñ¥f¢Ò~ì=”KÒ×±áÉ?^îÇøhÝ•YЪßb‘=AnúÖn”àƒï˜ >DÍ¿æøâ¦L£‡½Qì†úŽØåñÍkkƒ#¦$nRBË«jVÆw{îÍ- ÂRœa„¨›-“gØ\š4;5ÏìíúæÜ« y nk8"?Î9˜ÜýèÜ §š›¸^Ы‰Ù¼Ú²[e³Í[ÙŸ„S?!BÉÔöc‡H:táÊü¸ý¡‚¾ßlèãþzŠb¥ïǺÛLL¨òot*è³g¹¶Ší—kª –ú£Ýe3Q[˜V÷gpeþkñÝñúÎÏ∗w4wÅö•v}Ó¸ÀŸêáôe¥=hòš‚r%¿¦€¶$­ULˆ ³
+~‘ºœÂhØügÖ) Í}ø‡Þ3¡€Î؆[³ü§à»ˆõBÝØÖÌ4 ü&¹ÌŽÓÝ°¹Ù€•£úM„F40H"ÈŒ‚V¨k
+h?ÓÆ \âå³õ¥›
+ ›{"¨rAGÐ&-äR@(š V†óËu›•;–ÌÒ+_P²áæÈ>‹÷O„tÕ ämAÿ +¿-¬|1 ›ÿ`ekà¡X Z»î/XùüMnƒÖþ„•;–¬çf„; ý@BͱòÅP8VÚY.ÍÊG¼íù7¬l˜<°ò…½}¥ý'+Ã=$Ç]ce„°v¤dèæ׬ }5Ö÷òõŠrã£Ê>êðÑØšìXÖ‰&ß7÷M^³‡ÜÜ1ÙÅþfƒÛ)íb‰ûå×Òý6V͘#é“´Ü xf7+no1ÅùÁ Ó*›
+Ø(Õ³iq¦làÛ*÷Ç?ë²w§¿ÌÄZñö ›_˜\{4TràÙDé­…Á{À§˜®È¡‚×°¼#é¥ÁÅ w䟄d¬Kª*uköÕg&Žï@;™ˆ]žêM¹PCÓ"y'iÐtó IH¹ó-’ê×K«»ºI¹ó-ÊÍPô0&)×j&à+¤{Ø=¯ÖþýÉ/z¼f™ih£Zo'ã }:+oƺ6G“owµÞÏ&TáУª”êÇpht°6ØSxû<…2¥`®8…%ø&•Ï;¨÷Êt¹ì[èµ®õZëîkn´¹ß·»–EÏUÁÖõAC£ã8“÷ó…9צAõ+êÒûùb‡ŒS+…¬éDbÝZÌ”¨Ò÷m}¥Vó¡ÒÎl @±ÅA“W …ÌÓ<·|î±{9øí¾Ñ
+m¿Ò¤?g»ø{¼C.H_J¯7Ç3èf{¬jäþ2½‘<¯£¨®Ó«‚“4L׋í /Õç‰%*[h]ÑB¼Ü¬˜} `x(˜s^Ìct¤˜u±Óˆ
+ iÔ{ ë\y@‘ÅŸ@±õ,€òg·*øl*ßTi¨>w%Ð|¨ ¹öh •rÏ@ÛY°ƒvô„ntýÅë+¾É諹#¥o"ëÆʺ†&“:ƒ\Ñ+0#Ìù1ÏÅË–;$:ø g­ÔKqÛL÷*:ÐzÁÛÅHÈRJ÷Ü®’’Ããùè€AàbÐ _òvŸu=@–\1¯»ŠŒ9¶ù>•Ò¾¨å\ ¶ôÕGÚ
+èü›•6¹”úzָȢÉ~oí“l*¨úsÐ Ç–òwõ”dë™V˜ïå;ONêE:}¹×–sè95W4êŽ\…Ù
+GÁâ½)~ŒJ-a:àc{!{Päzo$0‡Ñž»A$°Ã/ÖÆç¡_*¾Ã’}óœÞ‰+Æ·è¡3vq#Õ•&YûYl&
+’/bßÂy×Ñ4ç]õY%lää*燩šÅÓŠöÆ'¬ ÓK.ú¬PïUñ¤4µ8TbÖ(úk)|½ÆŸ RáBèò—Òq?MÄ‘«n5J ƒéûcÕ±ª6tI”}£ÉTŠ±ÃÃpή‰p
+å]ŠLg‘ ÙÂE4bŒÀý@|g …Æ/­d¼ÿ&rlzƒSÕµ±ß?]C}£HOO3qåÄQ %?ŠR©*f¹œ±ù„‰)ˤ8jô6ì 4­B4ƒcCXxÍ-Æ,"«Új=hªNïx‘±áŠô9lË='VÜòß!©i¦(»1wyÿ¯¿ *°K©Ï¥¼?«ÃR¥ÑÎô³iŸ‹™eÙ&÷òIȶ+Ât†»%!S)?9³ò%©lC3-5ÕZ
+1oû¤¡»ñ
+M¶°ûk4«5~–t.Ï„IæSWÚYGÐ%W´$¯V«saÚï“|©¢‘R*U Ã¹´;­ÈÙJHÁ(ǯϠ5˜<E6cÊ{“l\14ÇŸŒÚ¨n®Ù
+3Cº¹êæ™ê—ìa6…ð
+a‚o«¬x$–†¨>òJzžq‡'›SS®ØñÎÕÏ…$/-·!ý»‰øþfü…˜^NäñÊK/€“ü,²€æ}"!ˆŠ>ì@nlO˜µpxiÀí«œæ»çc˜JL˜dÕÜCO ´Þ¸`!Ñ
+w 2Æ×™\š±¯vE°Kd’áqô×>){¾ä³ €~XÚÍŽé¢EÊi§_¬V$f` †«whž¦Y{W½=q èµ²Ÿ¶ÎTjK©QZæz–“„
+ª ƒ0(\äµî¦ûÚ-ZÿB;  íiáþzظ‘&ºë ÉÞ)]ÙoT­¡)Æ&ðš ËÉŸ(z¬Tªaá¦^fÆ<+£j*êdäÊɸ?Šè—±X£¶ÓÙêBÊo m=ÐögŸØó´4Ã)ðœ=™&½U͉ÆCb­[ž­‡aƒÃ}ÕÉâs*\0Í Ýa΢‹Äé#¾Á&OpFÙâ;y§3YÊ„…Ú(©äçj—CƉûpeðÌIŒý K~»uµ¸ŽÖž.Òyašåh]Àž» ~TɨÇ÷b¬\†ø…ÎØ2£«ôGêâ»ú u™>„)¾ÎÙlv¼eŠ¬¯Å–Z[Ó6tiG›cæ&µ%ô÷ó¬Cg<ø–dKÆ„è$®;€9ëpÓnÆwN „€
+ÜÊw&ÞF^]0ö™}L诼OT˜ ¡E2n´cu¼ Qgª@¯Ã.ä
+Ð73dxK&~8¨Y€ºÖifÕ–6çzݸ…Yr6à´DÀʉ±Î)YyLsóÜÔ–ô£KÃ2tG»dV8£Å7öèFû h·?ƒ;éº:IuèòtnCí‰*½\[ ×jÝ€®¸Q·˜è`58îüÉ“mÉ#=™•£YµåÙwF}s‹qA]Å°UdönöDmi3…\gÔ5Ãþô„Šl|&0ÈØNíÌ-°×zÿb–qÆÊäüÉÂ÷^
+Ùn@úñï¢ðáŒ&¹~R®ž˜>!§Ò}"±êíxi„ƒL‹sºú¦¢ùæØ؜¥3¨ˆvò8]Q>*ß«êeê¼y§Â>Xµ«@lé (y°ÏëÊL`¥2 ohï¢7{——%âѪ†´Ã†Ú@€#gœP®«7£Œ^4ŒÚ±D{uDßEN‰{9Å-'4x<’ÖiµùPN(Ì1-Ê8­cÏܹ*BõÝÍ©a~vUôC9!²y$­ŸåÄèÔiø‚”ÿ.ª:wsjsB®óFZØÈR^ÞH‹ýaNæ¡´ɉ;ç„úæOQå°ÜÊIë›cZþöÊ÷z#-þפ
+[½Õ_ŸÈ†TËþúÕ¹ªî†óøªo„åÙÜ´{tÉé0/œûMô‹fœ‘U-¯y
+o³‚ÐëȲ3.v¶ú¹ÍIÿD%f%íPÍC§† ABØ £zÜ'Ì Ô\‰æ] ×d…Æ(’ªoáçÝÑ_KóèM‚`ÍŒ´ºW¸‚0A Eí~ZW¸‚0ø´öA+Ùx’½¼!´žJûù´Q¥Bî ‡ Uìlî@‹S*¼~ÂÕ‰Ól­€÷.´WÐ:âj0ÔEa~¤Ï_@ë
+WÿBÀZa‹Ó·¡E¨Ow)+ aºÓ{ÍZ~ª„aÆÐJ°[ù´|® ‹ŸquÐíô8kݧ¬ Bkg2„žä*£[ÐÒULb†ÕE }}n³#Ÿ+T™Òs…5q+YÍŠÅõ7Xö7{˜¾Ã²'Ší=N±—óÍc­ðmŠí*£ìÁ@Ýð?To¤7ßdY|Ú£ðR,„ù.Ë>J±og\A˜ï²ìo(özĽɲý_@w<ôÇ Ê74‰©+\]VÓû ´ìlkÜ3¤XÄFÐò¹zA±1´FŸߥØ[€þ)´–ª!e¡jþ„µîS
+ó´¤Á¯¡u…«k@ÿ€µèû3‡v(RÏÿwæÐp…Xà -±çqCë õF/lDY Õvá´à‘oB«9W ¡õäþ£½Êše–èûDÌ»]@EqDv÷QlÜm7÷]#¾§ûÛohoã̯ïÌ‹ÑteVåÉsN®^q…jóÃ`ÙéýÁ™ÃÆ•c9Œéß›9ÞAà_Aë—3Ç]ʲ½À;þø$kÙäq—²ò„Š<ô_ž9l\¡Óü6ku.?7†¿VCó·fcþŠ«»€ÆK¿€Vôù´¢§þ=Êz |üj°w %’ùÑ£ò¯ õW7üIhMfÀ\½;Íÿ-—Oîk?¥,#—ˆÝ‡Öd~ü$´>àê. ? -Ëø)e½ôŸgïQ£î@ëž×úÝqöÞ,ûŽÓ>;ΔþµÑ‚0ŸgÏhq{lºDæv¶ÎpçÚ@ÜT¹DTìD
+¨–QqU!Î<Sì·ã‘r3Ö†q ÕÅ©J¥™T]þ'$p1¯\*¸ôë_Ek•ÏôcõH`EûÈHIØäÚÙÌÉÉ7ÒbŽ8Ë¿Ëæ=Ñ#lvåäÖZ«£aõ ÔõÀH.b8¥«C
+@v0„dpœà:„ˆ‚“-]ce‹ìú%+3¯IóøPÏMÙ aØ ÅlÅV·ÓGÕÐtÙCÿTTÆ£ü3€“<K¹ŽðXê‹5{ pœâA
+z³
+[t‡èmÿ9ó\RÂèÒf6’ êèAÈî‘Ñ3#¤jžY›)ŠFKÍžr5uÔì
+O„»"U2[‰4k!Po£|5­Úíe`SLr;ëÇ”‰Ö®8(…¨,ÕÎIJ=~¾±[g-M[Á–li§!bþ†ªDŽn98> ,»„³Þôlëk@b L6OÙ¸£¨1W<…(«BÆ¢å³: 6Ó†KåÚ$èõ¼ý·e¤-ˆ^¹=Ê$…ªdö¹¨Îàñ6ðÿŽªJsº´¿zõ9˜Su>½NQLZ.aFö'‚.l[è?Šv{zt]šÍN®±t¡Ï#œn®Ë¹wMÙÓág3VÙ\/§ñ^É^KŸ1‹ôb´àE»vÄ—ÍÅ®—óäúŽ¬éJâu7ŠT{¼oÚ•F¸}’Í6{y‰«hÆàr%/ä”÷!
+ÑSÐJ¾¹â¹ÍZ.âMÕ¨ó6ú8ÜCÅ\ÆU?R•½}8ÈÝ{°…€:ïÓèÒTa=ÞÜV0Ž¹ H+º³3Â÷*¯b¥\ÊáØhÈïq{'ß)àCý àÓüÏfIÕC¨6 œ[Ä­º´XRa`¾Öå-¡"ëMDz‹K7²Á<ŠÆNºÍ9ò,ê½2Û"}ç›@¼b§Ö’inçr(Dµ ÏA½÷t“x¨8¢cc.²BïY 
+a¢ÅèfŽ6ÒèR].LÙ#"€…£»’‹%u¯¯bÛ»§iÆh¾N¥,*³œlµ¿c¬|Xªä¾‚
+‰¾K¦va ÌøìBOÚ ³Vß®úÊÄëGÔ‰|U Χńê7ÄêŇ!ÂÌËÖà„«ž ?è·l‘ë·Äànväu·‹f#è †#y÷IG*
+;{D‚Qä™ÝÁ a@Â:˜P_ïýŽÿŠ ÅZØ*mìŒøþ5’Q_¦VLt_K°m
+—^)ª)æu|nÓ:—Îu¸]c†úñ·B j"رœ×ô/RuÂ\)á…FȪbÉj%„¯½Ô­°2¯:¨Ép¨MM‚>ý‡ûú…¦èÔ·d‚N| ×/kóX=.f‹í·à×/Ì×/a¡‰4¶Óz4MÝüç,ïŒËÆÜž¿¥¿……'©PH»©‰þ¥B¸ùÞ~€Ù°T\‹
+üA`ñluÄÑ­9eÌÿ²^ÝÉ*Aø·Ø*b‰b£K좉=¯]1vôÿßÙÅr“¿x”•ÙÙ™§Ð¶þÕÖ©—?8$“§MÞ<»ËS­È²…
+2y¤cR轚‘Ȫñí1P̧MRÌ¡ž·‹ ßþ‘O
+[D»¡ÏŽ6ßcغxÆ3ä-“-_¦ÛqÒü¸Z~;oä9]ÐÿÙJcì,Ÿc+Š:ËçØJ4ž†Îò9¶ÆÐY>ÇV¢0t–ϱ•úx8ËçØJ47†Îò9¶C§‘³|Ž­Ä²ÄÈY>ÇV¢0¿ñ³´•¸ÓŒœåsl%Cgù[‰•©‘³|Ž­D mè,Ÿc+1­9ËçØÊGÆñ|Ómå±µB„‚‰K$¢šn®¢z¸µVD]]µ>
+‰ý]ËÆËY0.
+j­ÚÅÆǵž¢MoÏ!k&W
+º’Xx½V½w*Œ/Á-:1÷&„¹q»ñÉ"3•˜)ÓÑJ¿Zn0ûö?ìvcZØPžøcz`¶Ì.Ú8zj Õ„hͱ²W ­@›$µž]”þ±åE½ïD½lÖE5÷mZùãÿßR7˜ü°JßšN~|ècƒÉ-K©0„¡¸F3/|£1ö®žTÙ¾DRF;ÝÝ;Rbn‹ã8ø½Ö¶®!ìæ´ãNOÙ«´êI5×>Tª”lQ2>Ü‘HreAš™N““ïä©¿bŽM² ™&3`WiÓZxmG,~59p%]uzåYKãÄgr®€ØÕ2$EìL¨h@?îÈ)FÝÑá!:@Ïñ/» ¬rEûg“ÙN¦+Ô£<ºûùCÑñ>ëj8ttCPNÇLO‘ËÏÚd [˜qaW‡9OÖš ‡6¦Ðé¤,Ó¶0(P8˶%(ýu¡5óŒSsŒ¦ße5k’«¬Òt‘;ÔÅÖÈÖ¼<çyy—ùÞ'ç GÁëýüŠ›õ
+Ne;=à¶æd/OY“=ÁwÐ0²µäÒHTlM´«:óÂÄ!€Ø³žl¸1ˆ~ AnFΤ€fTf«³âUµ>`jJ´* ®Q…¼m´'Ûc2ïÃ*NJ,¨Šs'|›‰žYCÖ·Ÿ'ˆAÐ ,žïÕïa™ûdE(•c/êýåï‹/ æCuTäÍ7åMA1FH&ñYêHn{Éÿ  ¤Óæ S\äPQ
+Ìî0|Áì²
+[«Ùrx /€Nä*\Ä&™âªo§ÕVLô”JÚ»2c]´ÇÛøÔd›‹ÃfâYÿZ, `Vý*A§ðëL½b3£?,1SøÕÔ›x½ ¿yýZ
+PlÄŠ"a©Ÿ»žÄ¶
+ø.9á»ùqZ½âÃœH‰‹”æa ã§$n@ S±Òû´$}tÖ 9šÄŠ.’‹‘ƒ¬ƒã}Ø›”Ã0P‹³inÚl)/·¾EÍ%Êç)"¾‰wÿY€)¼ë@ßœy=ÅuM˜¬‹îë~ i¡x5Éy¾G Ïܶ„i}cA²·… Õ)×MU[U^/mãNÔ΃º.”{u=¡Àÿ^7¸[×´SØ=¨«~®+†Îï¥õ$âËcZ™ý˘ Þ÷/«ña©pÌ)ëßm²ëœÐxêi²Úã´Ú»ààáuë•xœÓâ µÀ¯Ò:æD—÷¿Êé6?Më9¥2ïkcøND¦ß¡@·wÜ÷·#
+‘ÚIü`
+Žà¹ž2…§Öh7}u§¡ŸB077|l‡­5þck¡M»—MqѾ×_[Öµ{}l£ž‘ïõ¾Ã›M¯$ðèÈo´o³ýh߉q²úiŒó}ÂÜêa¾Œ.L×öÅLÝ\ÍmÄ‚Ày{XÔ`ÅGûâAÄb …^H 
+x³­ÙjË´ç¨^aŽé»?ºÈû?tèLoijàW™xö³/[|¶.«Ô:q@Æu?¨û¼Trý‰¿AÊ3˜Âº¥˜
+ãÝŽ`—ë¼ê[ô |g23s »€0¼úíÕµ¤:¶CßoÕüƒÉÑÆ'B·3±OCC“ih‚ÁM°»fÎË|ûh›Øgέº/ª\¶¼-ioIKKŸ
+¦iT›½N~ÈBÚ±Sz§W†õ½ LMµj<^¡'åEš¤>B ×cÁPeïSrNÔ Ö¢pJó´>Ÿ‡’ÈÙPêšK.D”¤=ñ4éZ\ØBÏŠ%VrkóÐlБm›¨gÖK-ü0ZLñ• ÃK6¢)õÎí†7¦“W H4š[‹h‚ý”òŽHù{ESd¦ÀŽprµÄM¼+$¤zKÙîc8ÒöNÒ[—U6‡\DiÊaNɺ©¡·§”fâÃWØÈ4+óã…‹´ôïóÒWÓ*‹b
+†ÆhH¨~ÝÐéDòá8èÐd#1JæëüH­xœUQ¦ÝýÍ×%ûÁý¢q(û‘ƒ° ›ÒÑ3býÉ‚‚F¼®5?—¹5Ð_ÁFøªVž¢FA/Žï°‡È­?âQv ]¹çʯÞºhá4ÏA>/QfKÔ »0NÆêJ³_"¯7!†o»–1*×—ò«ªôµZ%й¿@±9¿[‘U¿Î‹q< ½þ.Ëp_«lS?
+-±À§ _ОºöÞºRÎùHèóÍAô¡P[Z6ÚºZE¹´ÛÊv$æ®Ýà,—"¥Ñ—>këìC¥}O­;¹™ÜVßMe+„„2QÖ¥üîI=£€…¼5úÊ–T®»©,ækø¥gp™((ªôµL0ÁS³z%AÒxŠ¬vª*/]¶aÄk%‘¬²‘ÈË:>HË "3pTª´ä:äZÚ2ùThzÛ8Ÿ/z+f󻶲¡z{?G(äascds¥[R•ˆä—¹Èþüøµ©7r–ªºh,xBM$o¿4P*Ž¬žüèeyÕg6ûg)G&
+@o¥jý£‘Œ',©Ú…>Ú]Ò*
+ ¢1åÖ±SBmŠD±IÆŽžž²Và~#ºCMr
+Mr“Pv©hÿ¬­öì´`½Ó*_‡2­áÃP)W^½˜ cUÕS'=ª®GLZ&Ÿ<Þg[®ãùtPÚÎS,BöÀ£ö6¯Ï¢IhSp­à9-œ±z.ò0š±Ò¹Ô“_Ør»NêSΙKsµO)öIAK"·Ë¨âÂ`ü5褿Ðñ/@t» º¹òðáBŸE3Ôò eÛû<‰Vz} ZâÇ$â×VŽÚ&]*vMUòǨÐÆÔŸ+¹ÝiŸôÁÒ^ê!f‹c¿,Ô.Ç·xÉ€)JýÑÕ÷ˆÅeïŸM­Z°I’—À“¾2⦀ú¶œz3¥q’w¬·Æ|$r¥ÄÀ™k „Ò”mpoð….7AÍB½¸©§ÛfæÁ1Ú“Öys{8d O=¯]†¤DùÌ:Ë*´å¡©©§¾Møé ,íUËj»>1CuóSE½-Ò‹5”–úÆEPý‚qdhév̇NSn5ZZ£øüü³J÷aòß
+w_ ûËb/ØpLb‹?àtUšg ’8ŒEB³¶gXdˆîÂúƒã³7áíóß
+?7ÿ[8.gáùÇ΀àY’F;ƒ=sãß4MŸ7Íe¯;ƒ}
+)ò‡eiž xGÎÓ$AgaõM†<ÊœÈ2w- )”eÀœ(2–
+endstream endobj 177 0 obj <</Filter[/FlateDecode]/Length 8499>>stream
+H‰ÌW]o\·} ÿÀ2PÓüþhž$(lÀ®QE!(’ì:XI… #õ¿ïÉË{÷ÊÒn‚"Q¼¸{–3Ι™kœTÆ;aev*áL”:¦(’T9†0oŽ>½?>zqþúôþá/Ÿ/>ßÝ^Ü&ì;ú8>Êâä¥øðã£/xŽ2…wYæ’¸)˜NPÆd‘­LQ|·Òz+V*cûwl£Œ>¦m
+à!+œPåïÃéñ‘?-~Á·_C’.ËûSÝ0cVå CLïŽL–:ÇùR“$îbg©?íÒü€§_Ö¯Ç6J“i —ÎÒ6 ² * Ú!‡LÓ^88µn¹â ”„Ð\…7ÒDç& ~|Ñ=aAI•ž<O@Ý­a-È͈i ¥,²B›8‘³Cö›VélVÈzÂ:%Õó’¢=k™¢«Ðþ¯ ¡«©–
+r'Î=¤kaà!¤B:´tqˆ
+Ð70— +ðìŒôê ¨T„P—™YdCJ3o§Hºíšr_GtàˆA7sgƒÔÚ¦ŠÙluÁŒeiµHP5}ö±ìr5å{*óf¶°¨T,X´|°R€ý\Ø+gÿ&)¼¿½½¸¹¾Ÿî/®>_ß>m^‚_­Bò¼R¤%T1hä?Ý-DH‹™=î9 ƒr4h]åÅÄ Î>ajd †–¾Â—˜"‡´,
+ Ú€Œ<») €˜ÎË×# ^ÿíîáíõåÝý"ÿý^‚Bò+½~{}±ýñâáþóÉDœ¼9ýþ¯õØÿxwÿ½d߉“Ó«»Ÿ¯ÏO¿ÏçˆèÝÃ×íõùF[ÆÉ zć«]†Í! snó'±ÈÄ„–ÿZœþ‡ê“–
+Ô£üÇjŒAÒá¸×^•ÇM}Œå±/Z|å…ŸP+Yivo”*›ú.+¥êt÷ûó6ø2ü¯*#^PÎô|‹v†ºˆˆs)3Ð)L):.„ZFˆmk
+rI†4‹äaÙ–ÁH¥x°õ2·eÉ;?"†Ã¨Þ*ˆÚb1l U(ƒÿ =-¨HñÖ®à–Áz®nÛÏŽnò5"‘øœQ”i*ôìm
+ži‹Ò"¶ bØ©ûë! (rlÝ…åUâøé ÅŽO­Ä +Ù„eË ÑŠAŠÅ€@üÆ'1Riî¡Õ0çŨ[h5JÃÔ`‘G%w8“¢Ý5Úøôø5R¡¯´1I
+y*ÅÞí§\8lª¡E”§X·ÕHo7N)Wœ‚­ÅÊsOÏô¾ê,×5Ç$0¼ŸšZýðV8 Ž ã`G¥/³5´º.ÏçÐBë= ïVH –*¸öb8S-õ•5>}i J7Ö
+G½yL„·3"¥]®¥îS³ q¤bäÙeM3x?E’éŠ&>H•lº£Ë¼Ÿ2ÉtE› ¤Î‘°AŸ x…’åŠF>H¥0]Ñ)£)•cÙÑ*é•éÚÑ+Ç(v-½Ÿ3¹ì«ÛçN.£¨ü µ!ë ¼ÙIï’Œ›…“ux>_€ç ´®ÓHh¾q¡u*Âè’ÛY=tFn‡©hç8OÌ.ûÓúÇš]Œ5˜ÑRUZƨ~³
+†±^gõ¬\˜¼÷S±0¥V= BœvzV,ŒÍR¬W
+‚Œ7yªRëÄd6•‰ÁÿT$†0j‰B­%¢ž(ÌJŸÝÆé=¯’Ƶú0^ëà iõa÷BŸÙÑÝoéè¸~e%hòÙ?×÷~“Áoðÿä±*Œ¼4FÓY;=Xdº"†’™îˆ„ÁCdB–+Baø ©éŠX˜Äƒä²vÑ{´Óg‹æ™ít–:y%ëfxT&¥E'¤»p&ØE'VpFËÔ w#y^'܃‘e'ü}$þ¼Žº¿ßµæ{`ÏÕFÆTFz }C7 úTø†ô2.oT¬©v™ªMR{éR:•Êe$0$e
+h”‡ÒFÄëÄÌ0êØôœŠ¼P£tæ6 P¥\…Sê‰FŒQÏÃ`Wœa莦¾ iWCÃÜSðûPQ: 戥TCò¦0pcbŸ‡ñ‘¨@Å5Αè›Ç¦<
+’²Óé· ZŽ€iÍ
+ÛÅW‚ú¼›îeË êP®oBê Ov5æ½lÃ<0—³#`ÕßÑL§À³@?9uœ„md‚¨—¤L‡j$ŽsÝ ëuÖ[Á”žê86]^X“Ib¸à©yP ‹·–1cl-¯z =õF„3tårHÓé»´Hæq4,l_®éó‰ê±ÁU®œÉõMÔÛVϱm²EQQÚ€$åš‹ãg[DŠþŠÆØ`”MÃ*è¶w¤Qp—‹‘:‡´t\ `r
+d¹{¸¥gšHLÎË0 Z½Y†¼X‹P]MÇîw‡Œß>÷­Ç¥ÕÂk|¦Öý_ `7 ÐÚr<8Ï…ÁÓ2BT[Sº|Ú¢
+tœJ
+ÄßƘVZ?Ƥi´•áÑ´8˜( „®µ÷>gï}î¹3ç^®3œ¥Î|³×Úß^{½¶‹®«œ sO˜Ïe,¦ÿ›  %>³°!C‘çêƒ0Æà#&4ÉÀ:
+Ö°[«ûgÅB>ž‘¼B±øD*DÕ{Dx²F!c¨}5Že5 †¡®®„·…YI𴃄š†±¦AA‡ þµ ÈIT¬}@$.³4DYK'`Mƒú\V79; !>®„ic®‹\¸™Š<P=> |ò¢¨ˆ‰è8TYƒŠ‹°#Í [+‰Í¾8—"m8ÔÜ Ë+„H,}È? R[ƒã3õ
+CmMÂLM4-˜XF*㊣Y+Sjz¸+‰Sš¡¦‰¨
+~GRJ[vI¨-;êƒ
+ê•;
+KkŽ*+’Ŷâ8Hl_mZÍkß)7–FRl,դؘ^±Ñgç¡Wj¬‹’JcݘTI*Mý… Â[ ˜^LJÁM2fEm77ˆÜ‚ýöÌ,¹Ù“›ÉOÕíÞ-çªæd‘†[Ê#T­Ë$ ¶’K¨™“Mn)ŸP5'£´[Ê©¼‹n¢{άvvo/¾â¼Ðt/‹°(Ê4^¼(Áži¼vµ×x=ßÙÆ[ϤXãmÂmÙÆÛžbQ¬7o7¯×ÿ”-ž²á0Ro‘*E¨ ŒÔ¥@ÇpÈ¡P=HWbZ…j™q™Pªf`¦@F$䬋HÆEÅS iik0“E*Q¡ÚÑHwe
+uß,3ö„8ÖD ¦P'`-˜”²oºˆ:EìI6%ìlz.«›œÝÚO'`ëü6'ëîê¬ë='`]W9‘éž0žË€µ1ÂôÅ?æQü !Ãèå<ŒÑË¡àqΆ2% B`Ä
+àCÄB5A †Bƒp**â™ÀD½šg³ª®ùgÈZ:L9Š <o`L„@'‚‰€RP9Š1lI4Äq
+–qʃÎ&êÕ<›
+ÇE¡Z/à?›¯V;?=úÒèú
+¥‚ˆþ¾íûnÞɲ }r›Ðh É9ãSœÛ¼Pš™Ø<RjDl¾¡Üž¬øÄ曋•’Uq)Y5%·!¥%«f¤dU\JVÅ¥dU\JVÅ¥dU\JVÅ¥dU\JVÅ¥dU\JVÅ¥dU\JVÅ¥dU\JVÅ¥dU\JVÅ¥dU\JVÅ¥dU\JVÅ¥dU\JVÅ¥dU\n&2ßD<¹ YÝtd¾¹X)Y—›¾Ì7#·!«›y2ߤòYÍ/±F”æ‘ØÌ”æžX>sÉ­Y>?Ïvq˜G¹Å[èh$ wvv.ÌøCgV Vwuu÷ô6žžî®…®NGgWÏ¢¾»ú–åÉÀÒþ%‹{»A'UXؽhÉÀ=÷¯|pphhh•'
+¨åq;}ŒÏO{Æx:¥ÝNpwYšáNÎëóÑ^·¿Ðá|rŸ¢2Œ ëd¾@Iƒ¢Ûéõ”‹Œ; wSê—¦TM½l©ZIô€²ºTÞËËå•ESòEXL™–âU¦^,_ØR±G®(6B1’Ð]vzð¢Ô¶ ®Ðx¦79”I¦Åøø:µSð
+ïášbŽTªÄsðê÷“|ñ$« '¨#e"œµ<žâ®¤•›+ŠðšÅþƒÈ“ Ò«<9>éíÆHï7é z.9–Êí3‰KI±ø>…A·WIâuù¥ÈÐàRÒ>7CæÁW6
+àTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTèàTè<,rÔAJ<,㨳”À©ÐyþS='Á>ÂQ'‚<šêȃUŒt´Á騂=1Ò3Άžçò)c-O9÷ªC8¬³N§«®8ñˆ ôÖë ÆšC0ôzàRôFQORTC(Š¬'LF}™¥ªÚ`ª£[,­mV«µ]ÚZ--TÉP]¥Œ`¨57Y::.–ã8
+ °.Gg‡¥É\k(Ž¢Ó›ÌÍív®»'‰F4D£‘pO7goo6›ô:yc]S»#Ž #£)QL«ÅÔèˆ íMuÆ Uze±û…ôäÔÌìÜU s³3S“i¡?h·P&½ì ;¸°01=¿°¸´œÕ°¼´¸0?=!„¹ŽF¢àÐê[:»céékÙ•Õµõ ëk«+ÙkÓéXwgK½AšˆÎHZ=Âä|öúæÖöÎM ;Û[›×³ó“BÃBuÒÄk¨VWxdjaeóÆî^.wKE.··{cseaj$ìj¥jàÔ«ªk¨662:³¸ºµ{{?Ÿ¿£"Ÿß¿½»µº83aÛ¨šê‚£ÁÊES³KkÛ{ûwîi8¸»¿·½¶4›ŠrÖ†r‡8·¼¾“ËÜ áþA>·³¾<'jâÕìÆÍ\þÞíOîÁ½|îæFöª8Pîh÷ ¤¡ãÖJŽ;· #=àiÇìÀìÀìÀìÀìÀìÀìÀìÀŽÿw‡•¡#—¯äÈç Cà¬åŽ¨8·¼¾“ËÜ áþA>·³¾<'F5ŽÔìÒÚöÞþ݃{îîïm¯-ͦÊTY\ÝÚ½½ŸÏßQ‘ÏïßÞÝZ]œ°mTÁ¡«¡Z]á‘©…•Í»{¹Ü-¹ÜÞîÍ•…©‘°«•ªÑÇ1‘´8z„ÉùìõÍ­í›v¶·6¯gç'…‡…4êŽA‡¡¾¥³;–ž¾–]Y][ßа¾¶º’½6Žuw¶Ô$G•žhìàÂÂÄôüÂâÒrVÃòÒâÂüô„æ: }UÁa¢,ö`¿žœš™»ªanvfj2-ôíÊ$;tƺ¦vG0FFS¢˜V!Š©Ñ!:Ú›êŒÒÄÁDô&ss»ëî G¢Ñ Ñh$ÜÓÍÙÛ›Í&½4 8ˆ¡ÖÜdéèt¸XŽã<*€Àº–&s­AÞDƒ©Žjl±´¶Y­Öv@hkµ´4Ru&CuÑ
+¸tÕ'Àéc•¨:„ŠÑ±ÙΊýñLœ$Ã$a õñP^‹_Î$ÆI"J$ÁС·HÂM÷ÂÃ
+ð²E¤{uÀ¯Ó>&Ô6ñBÆ*›C*'I¬äß² ÑLQý3Í%’3Ômàü`
+endstream endobj 178 0 obj <</Filter[/FlateDecode]/Length 15049>>stream
+H‰ì—}lUÀ÷§©6Ì%,_¶4-l»;ß-¨]»v]:0ÛŠe)w]e]·µÛbd ˆ3þá2•1,3Gâ㶠„„@Œòp¢ã5? K`‰Æ@âóœ¯÷¼·wYœÑ¸÷¶ïÇï¾ç¼ÏyÎóÙ1ÖÓÞÖ1ÖÞF‹®ÞéÓ7#›ÚÛöÄ?Rôî‚cMYaXgN ž•TÂ…4\Qü¡ü©ã0Z÷ÙS+QÓ„«BIQ£Tðb‡‡ÂP[B$LZî#„9B“ŽpMhÑ%¯)JD¡«IÍx1ì!A¢U€
+ïTxÁˆ°Šã~\‚hQÎb)‹ì} 1#Ö á$(Í@^†$?0m¹-Ê51ÚzâU
+¡dXKóÇdMÂ\ŽH-XNhÍxcŸè¡Ò5%e#ƒB7Tíî™U~vcàéDp.MjBkZBœ ^ÆX‘Àž£6Î*s"k–éó¤5"•Š³Hjœ
+if) RÔ+(Snwuƒ­Rµ•
+)&ì µà,R·Hδ[ŸeQ/ A¹WƒáIõœ8D¹_´„$`†£ö!Çø$RL,% ¹¬Ï v×@"ʦ‚4B¬ßZx£q„j,,ʆ愩.®‚‚ÖHþÃq¹ív\˜à¨—ÈÁH´N;çõ'ñWëmÝëØåÓª“ðÌI$X 1ùcªt7Êœ›¨¯tUé¿ÉñólRB
+Ê`¢„ÔX6•+$Ä$¨XCô®@>Å|Øóóƒ „@˜åÖD“Àç0ï*Äú Äx¯¥Ü`«vÝw cÇä´¡½mViPŸmmoSE—/û€Ùxë¿~<܆ÉLâ0a)ÖpwAs)‹À›bÁWI\­‚¯Uð}¨
+¾XÕ]òÂ[å]«¼k•w­ò®U޵ʻÿgy×1¶¢wf®r|nrçt}fÑíØÚúìv9r ÷àÁ•}xÚ†§ŽÞ!96095ÑîVNl›œ^WŸ›˜AoÄ6ˆ—£p…¯‡¥H( z‹Æ¨éusˆ?îîË?‹¿øçýŸIO“BÀ—8i:œ(ýõ¹zw!9ooj[pÅŸ«®n6øz²bÑ|Ú9¸~°«vôŽÍî· tÙ{¿yô»÷¯¯ÒåcýôéÓ?|èÎA»ìÚH—ÞùàϽöû³/žüÎ}Û7ÚküøòM~ðÜïþzáí?¾|êØ¡Ý·u:\ ì8ü“WÞºø¯¾óæ‹'ÞûùšÃ‹×ì>òÔ«€ÿñι~|ôÀ(qøš›ïzàøóçþ~áí?¼ô³Çͬ_êßx]Ïø¡ÏŸ=wö…'˜ºã³‹£(+¶:~úÙ3utuY²0 N6ß÷íï½Cãâoº}Ç—öMôÌÓÔ{ë¦5ËækpÁ§8½® ^°ð“k†¯øƒv²jz+Z‰³ôÕÉ–f<€ç*©‚‡—â±èç¹±X†×´X±rçΩ¢kxrzûÄÖF:4ýʼn™¹ÄIä}S“»vMNokäý“³õ-SéùxÕC¿Œ˜úVàèlûÑË×ÀÝ=p·Üam1º™[ÛÁ¹Öý' ÌN‚w‘0uÃð=ÍÚBe…Á&PqˆÔpbTB}€UTäøCùïª^M“ë®òÞÐ@3FEÞáƲ¬>/I–JˆeñQ6‡¾/
+ Žpæ‹ FüŠ
+ªTqè&TÃN¸íQ {6\©‹‰ó—N™Á’Ý$qó&©„Á^«0¶bIG©]+=„W<ž’ÕÇŒÖ"k„]',ô‘RÅ`¤cÕŽ<ž[m}kª­Ë4¡]
+§'V¤ŒAYhw!Ð{íÇ.C=±lTùÁcjF|éóããÂ`Í‘ÃHá ¥ÆCeHf(šÛ{ˆ?†§EB¬ƒ–rã¬f˜I„0¡ÂV b0Y6;éOcÄÞÀ½ŽKsm´ê¾f¦~ÙžÐVË»¼¶Ó³(u`½Üñ‚àvAnIE¬[e]«¬û–u±v»ä…ÿ¶Š¸V×*âZE\«ˆkqÿ“"®clEïÌ\ÿäøÜäÎéúÌþ¢Û±µõÙíþrä<îÁƒ+îð´ O½Crl`rj¢;Ý­œØ69½®>;71ƒ Þl/Gá
+_V¥%,E¢ŒPaƒ7`à] ÜÝ—ñÏû£IO“BÀ—8i:œ(ýõ¹zw!)°‘¡¶WðùÈG›Ñk»:ͧ«Ö®\2ÚúFºþ+GŽÜÂÒýÂ%ìÓkÆ:~êÔ‰oíètñªÍ3<òÔ¯~ûÆK§¾·C§§ËGö~â™×ÿ|áÂ[¯Ÿytß­78Êêyõü{ï¿ÿÞŸ~yâëã=Ÿ@Jž~åüÅ>¸xþ×O~câ3Nîå›ö ¿ùË»ïþígûòú¥ ‘ÞÐ7ºûkGþò¹7_{æñƒ£KýÛ®ZLoºëОþÅÉGï]^YÅí~øÁ{;«k럛ÞHWܵús}pÁ¢Zíúùšl»zá|ø_|Ð VMoEsp&ýoö«&DÏ«
+w)‘`A\XÞ¶”LH3¹?ï{Rè|iÚ +‰m!ÄÉdˆÓNgÒtÒ´ ]ˆQQWJպЅ `]‚µh»±bAWR7…¶Ë<çÞsî9÷›)¥
+.$ùùæýž¹ï½çžß繯e, ’¯Çñ£ÔD“6°ø~ P%‡;ñÙG–¶·7‡…•­GÖ/ΣË[O¬_Ùi¸a|¶¹qùòÆÖ¥yüØÆã«6Ûú»à¨å| üÀafpúAöcU=…å|¾= ß®AÞŸΞ3ÃÅýPE§ÞK©/F–l§ìGNï\ ‡…¥¥»×Ö®>zj{g÷†ª8CVÌtu/Aò˜Pþý~8;ùA’z !ÿ‘òB›\tÇR…@b‘Ÿ †À8RD¡B„‰ ¨H…Iã´íY»ˆJâ 8fëúeѺ,‘ìrÔÇÀLÌm-q,4¼ID’w¢p4@GCEߨmHߨÓDß³¼ ¾ëYßÈ ÅÏóјí¢NßøˆCÜd`‘~`¡“GœÆó?%üyê‚>:Eûª¥Þ5Ƀ@p´„5óaÑg;уàä‘Û°èq>b=ˆL–h‹ô¬™ˆ°èApt(YôtH=êE=r„=b ‹±–DÜIT\^ÉqËq# ñ¶Ò=B&9½ CDÕVtBújË{U[æj##êî:–}È…W¿ô* ò?/ sYN)^!BáTôWDeæµÊQ¾sT0&ô˲Ÿ&¡¿Îc:&ßÑ_ŒaLÆwôc?N$o™þ«‹Ö›ÜÑßRôÑäŽþºXd6Iè/"Þ;a¿`C‰¶&5cD~Õ>D~kɹ#¿Õ°Âˆ…üÖ+ôÜ·Þµô#á¾Å+£q÷ç1÷·8ïJ‡Ù^9ò®Ü7÷#KÏ«ò{T
+— qhûd`H`å° ž+‰a?ã‘Ô®T¬FåCºÚ"†Ä, Gje„¼P㯗•‘8‘ø@ÊñšrHCbà/y‰A7´Ô„ê…3œÊðZzY-½U­):¯ØÀŧ=Ñj´Ùßê¸]±•»ö„…kºqÒË"nëõV\ï
+gPwx ÒJC*jc Hr&I°P)¡Áš9²g—H)8£n…²„s•|á2ۖшx•òò½Õ…‚JñèMjé£Jv^à‚%/äiÔu-×¾¼E@6GëæÕâ!í—c¦[tßÉg{µwâ©85ÁóÈ¿áÁM˜júþx„yD?ÿ³(¢0mhtädCCk¹ C‚ˆ©"ÖzÏN4‘rd´Ö²!*hb¬N$$HÅÝäE9x®\õD‘´+ -IM` 8W2„^‚"H9ôVáʤšš
+}×
+k¬Äs ba¨dC=¦_cÑ*$—-çÒü(+ ´Ö%µaarA)1ô*†Ðû&›õ2¤VÙ *Å3+`Ó ¿¬Ç! œL8lL…! ˆ¡°Ú‰é7&i„Fþ¬¾Ø@oB}‘¶Š˜ÈµÚꉀÀ=ZZGs¸ŒïmÛ„ÄcÊlÛ¥Q‹5Y?($.cƒ:bÉ4¾=Îè׬Nš<¸Æ¿8ùåU‹¢¨È*œìÄñå»L
+Âî—÷(JLSR}<ÛJŽ<~U‚
+"dìßÿÌ`†3÷ï ÃÂÁáÌCËü|µü3ØpÌp?¸¾E’b’[ rG iàýq0åoOÖ˜R‡ªú@“Ȫ!„h²ÔÐâ¶id·ÜštA0Q+¯ò£?Ç#!TÅ’^Vô”Þ‰x8£îW䙦Ê,âÚšÎk—Ô,¢ k4‹j”e¬,e+ÒŸÚM¨2‰§®“ë5™ë Âz@^$Ù@b‚\±ÂÝcT2d’*ÂzFƒUô¨ª*Òç¡vênÄ"‹š«óJ‰Áwí»ª54Q' I?Þ‡µ¡FrÆ}6õê¶E£IÒ±&[5_iê¶Å_/+)";q"iqÛRûJ œâ%/K«A7´Ô„êE ï‚P†×BÐËj±è­jMÑy¤cjñiO´mö·:nWÔl¥y¢iFYƺR¶bù©]Ñ„*‰ÚsH…¸r,IÜbK°P)¡Áš9²g—H)H­Ó{ú˜«+̱‚UˆW)/ß[](¨Þ¤˜>ª”aç.XòBžF]ׂpíË‹Ô"f<A¨-µæÕâ!í—c¦[tßÉ»±Â ‹þxœïøPÿöƒ‚y. Š"J… ³nÆÌòVS~¸¹‰”EŽË ìI©AXÙÈ‹$€¨r¡D¼§«&§P¿D²¬³Š\gUÓy‚”÷ª^¤0Ökk)Û¼Óô';°IT° ¢ØTj[VY‹Þ©
+­dYé€íä‘{U‘C˜­>Õ¡Z ÿf¿Úb¬¼ªð<“΃IË%üÜ/µ‡ÿÿ÷kê0S˜iÐ6(:ÁÃÌ™8Ì03‘Ø›@iPR[ÓÆ[}­¶IK|mÚ÷Æ'S›X_äÑú }°Ñq­}]ÿ™À1a€3û|ì½öZk{ío•]¯±GBݳýæz´d*´raCÿv¹¦¦"ö†1€Ø?Æ é{œ$sèFӴб&S"å+æ^†<ž’½@kòt” §–yRø ³•ÉÓÇ7]NYGŽQÄÑ0-ôd­xH]q-r?!á~¤…þùÅ5v²1Gñ^Æ<Æ»K_ÉÔ†S¡ÓÜÉ%Sá€éTÀâ]–"pÏ1ë·β
+Ò™>”ñäs¥Ó,“%Ïõ°Ÿ¿8îRÐ\Ä»“j”L)ëÖè){z—(²kõáÅáL½WêB‹Z†J/‡aiŠÀ%×õÑæ"6‡Ñ`èãžé Io›Ñ4-4¬ÉRèk©kÀ¯‚á“ú¯a¡cS¤=D1çZ¨„N‹‚®!K¦BÓw ½ç`QúW7vqfè½o®i+ZÏ´Ð5¨v‡}èd‡ƒÚ¬4¼1‘€t—(FJ”?•4+\²Î7lXax_Èø9ÊPÏ"³¢½È¾¸gzHˆg±MÓBÚL…¾–ºOœRJǤٗÎ3/9ImBBúÓ:JA”h)«çg†“÷[@Þ8! ,¨DG"ŠD®%0P2™
+´;v[ßBôôâÅ$¥›™n{wQ诫^~ì]ó,Ï÷.“Ù¶íÙ¡¯[lssgßÌÜ@§5×™žYÈvYlßèì„ú~žÆ<;à~Å_›û†DsOg²½+~ÛÝ>Ú™zltv®=ƒìbn/G`„Ûã#’{Ö)Ñ@m{2“Áý
+¿à=
+™ZBT/V:熴“Øib—jûP(æ©ÁŒ =æ+KÐ¥2K汪Úr½ˆ5f@3–:hLæ f¤ k%JKIÌ' HÆ"Ü®€!ªh>E¼H]Ö\%‡“Ù§ÓÈá‡!)–¸?x •8£€”ø
+™‚ˆPts'ô5’"Õ@بAÚ6É~lœh ².P¬ÁZF׉ʒÚOH•좇C\Ñ~ŒòƒÕñ#<§Q•§ÿ$ª<™I0îÆYE6ƒøQ M­ai
+N’éÒL'ƒÔ€°’ý¨²RR‰Kég)ÓpJà•˜¤ ×’ØOÉti¦âŠöSìÝyë¯KæM…KÖUÆŠ¬ïä-U²ÅT?±ˆê‘é²›é~ŠEZ%'Ó•^’éuDoÕ}r1ÑË,™¯ÝϱH+¤Ÿp2¹t(k
+D«.k“ö0Aþ
+fr›ÍX†yEK›²ôÏ0¥Áž@õ}KîžÇm<O'ýñ*áoú¶ö&@`‚‚¾(–Ðþq†ýng¹Ï›KþR¨JþÞµ›·n^s×êÁá½j-·>Úl7‡¶âpç¡é3S_kàYxvþ[%eû™çŸn «Ÿ;ç¿Îzâ¹\èhšÉç_¼xœ ­7_|ÎMÐÇ/\>ÌÕÑï^zv\âP´ž¼ðQŽÃòð™'O8|ààÄÌÄãV†oÙ»‡«åÀà€°þÞ³zã–kzoQõî¿£U¯/Û·Z7n¬•‹º·¥QBôú¨¸Ñ ÌŽ»3•%}Õ˜–ðS˜ˆjd ¸bdjÉÛÝ733êÇó¬ïôÜtæØÐùv{{¶óñ¹8¯t,ãÓcí&αÙöÌ™öxóÑöBÓÍšínQ¶õMMOe‚ ú
+çþþl0k”F’>Áü²¡¸Oœ“Ѐ”¦TfG„j–
+û`?‰ÿ˜PÒ8¤ÔÓÆA7T.
+ºÖ4˜Î9µšç
+Ô6L9?ì@Â1]0‘!Pð¶dP­¹áUD
+…ÙÎ@³ µõÁúŠEr§­íi'÷TÆè,…ˆÖBe)A/¤€Dš‚Nuá
+msÙ09ˆ§~·Ðƒ ódáRAA^ÛµR+ X!‰
+0Ît5i ù«T5i%ž²ÐY:JÏ*‹ûë¨í³k ™Ê¹Á{RŠ\ËÊ tˆ†»’Zý]½6À†¼ð×F‚YGW@GkŠT¹’×q%‚dØ®åE)íñê.²x¤J;¼Wd-/ dá…¤@•+¬Ž+,pEh¼MÑ< eW<RåŠ} .¬¸6†ÜÐÕ*BÙ’×±%lQ&‹g_å"ªHBx-‹ê4®ÝwéÊ~‚’ Nm¹3à^Ž1Beb‡arf,&Y KÔ/† |/r[îtÞh‡ð¼d¡všÂ¸ÚiT¡Bí\[A«¬‚(È[F`5s”Š[ ¥ræÎ-z 6¶¤zg9 X–"@JrãBG3ÉBAÅô Ó™O³K`â~÷ [{ð¨\]¹>UÐoÄTA@[à™tH`DXC1††Ã÷Ìö•@\(ŸÁJeã3ÀaBiçsY@²„W+GaJŒ‹Z@Þ´¹6˜0H¯{¥ ù9^…„¸·¬ß­óœ­ç™X‚W¤2ój‹ØDõS×Mÿa¿zc£8®8#RWQuÁ²l0>ÏÌþ›±CZÿÇ–D8€SÇrûdÌÙØç€U5$iMP©ú!ˆ¶!DUš
+¤©´T5(%Š%ªR’(”Ð’mEèŸDH R«*‘úÞÌìÌìú
+UúéîN»³¿›Ý}óæ½÷û=ÙEPŸIðX$aGÁ¸`¹"D9#yœçÇh*ÿ1Œ Pźò1 Ù$áN’
+Ô¥; b;+FW^r6×7v$§Í‰º^"¦3RPÒ&“–‚†µn8Pß*}Ué«J_UúªÒW•¾þŸôU7ÚÜ6Sî,Ž•‹S¥ü̼×"±üìN5Ú€Ç9<HJÃÓžêÚzÃÑîâd¡Å\µ&Š¥MùÙra1x [‡a„¯Ç %¹˜ËlÁªz#Ô*ømÛo:ÿPÓÕ›ÉÄ àK¤-uÒÎ|9ßâ…¾¿bùPïòe·ü¹ãÎJ7ßCšW-Eë{{²`]ÛèìܘȠëÞóƒ#?~r06.ûÕËg~và‘±~e‚6>òô‰WßýÓÅ7Nýè‰[Ä]ürÓÖ}?}õ¿öá_ÞZ<vp÷õöºwúåÛW¯ÿçß½ÿÆ©#3'á5}»Ÿ~à}tùõ_Ù7L$|×½î?þÚå^ûðÏçýÂÁ™ÁFõÆ»[Çž|íâ勯¿thßäÃßX“˜Ò¼íàñ3¯œ}ñ;Ãm1œŒ<ñßyrsvñëÚõ­½…Ö%žª÷oí[¿ÔƒË¾æÓ»+ÀËj¾ú¥Jð-0NºJã%2Î7š0Ôq7d¢¥“ñè5@ê¬õÖã˜zÍíSS“^C±´³0žE{KfÊ' Þ1Yœž.–&²xgq6¿mÒÌo…WõŠQÌÊÁ ˆI©69ÞW;àj¤Ã€7<B¼ñ[›>Oþë§]D?:sû\òsoÈx
+©‚9TiJ]ÿƹ„ "¼Ê$0”Áqi‚(ò4…¹`0y+c\^Ç’!
+ £ e7Âc¡½¶Á¿e¾îÌ
+
+T–`+„v[cM»”¬{ª€ðd7äÊ“æ«? ×Ú-ñ iጟÝN@PÙn§‡é‘T§X8×™ÚÄ+Õ&rò^­_“^ÖV'¤ªSèH_pô*έ1·.O!Çô³Hº<…•ÊS˜”§
+_[ž¨¾fQæV³pˆØ°0¸õ‰WªO<©OŒ†jãÔ–¸±ŸÎ·w´:½#Úˆô`U7gö=J™[D›#mdÖp³b§r[,G²Èm"ëcÝ^D™­ûe6­?š¶&y¾m},‡™È1æº]“uĦ@Ó›™þÍfOeÌ
+ÓÓÀƒÓ1òö0ÝXÒ ©E1c,Ý‚BÊû"ºYU‹¸Sr8vµ¡©4•` ÏŽôLp™mzb±‰rLÑ´ÀŠnÍ"êF B1£$öœGAÉTU²ˆR.Ψ*¨Ò6¹÷’G£d!B‚Ö™ÔÙ˜I¾„J2½èä*ˆC˜)UÊ–L¢\ù؆k6ª;*…úM›D‘V|ë2’ÏÐÓ ê[å©*OUyªÊSUžªòÔÂSu£Ím3åÎâX¹8UÊÏÌ{-ÈÏîTá xœÃƒä.<Mà©®­7í.NZÌU{a¢XÚ”Ÿ-fƒ·
+¢Ð3o_¹þÙgׯüþ¥ï¾.ínÚºžð‡¿}üñ?.½ò·k]Ý1¼û»G~óÖå÷ß=÷âÂp£zÛkè½½üùË¿=uôñá¦Ô*ZxöÙ§wôÔ§×Ö2V.m¡Ù7l|°£> .[•ËݳԓËï¬Y
+þ ˆ®Ò8†ƒ è&^µÑÚ™F»ÁäF<z #k½õ8¦^sûÔÔ¤×Ð_,í,ŒgÑÞÒc…™²ÁI‚wL§§‹¥‰,ÞYœÍo›4ó[áU½bÓ/Að€TF µ1ú1§æ1™ûàj\í¸ð†Gˆ7¾’hÓçIô†&?G
+­×<Xž ½†öö¶±±¹]›¦Êyœœ6„èŒ#ڊ̛撟«vCƨŒPŸDTòÒ^C„G,+ PCÙ„Bˆô'É 8f‚ʤo1@j)ª%wG›YБÌÁõÓ¸8ÖRkD‚Œ)Ë$;¤¦Å” ‰ÄBp‰&b‰€m’qÈ?¢¾âx®´Bª!äI
+0§BoÄÃZá£mÛo:ÿPÓÕ‘›ÉZ˜À#Ò–:ivk-^Hê]~+mßm·WBW6Ô­ZŠÖw ´×.AE~÷ä–\|êðá…mÌ\×Ô²ûúF_\<ùÌtwF×tÌìîô›ï]:¿øüüæz…6 í=tâÜ…®]»záìѽ÷¯–(Ë/;û_ö«.ƪ«
+Ï3 ±BJZ¬á€ —ýö 2w  J¥jÑ †;zaœa(CˆVˆDš¦IM µÖøbª­RÒ§R+øL4þµ¶>ˆ!1­JM+®µ×93M%Ô·¹39³ï7û¬½þ×·{íí÷Þ{û/W~ú­ÎÆÛ倾ô›kï¼ÿþ;×~uþ‘±ÍNïu ¯þõúõ7ÿð‹|õþµ·!º¼=täÔ“/þú?ýþòO­õ§}lß4°ïìO~~é…§¾6´®fÅçOŸ;÷̓÷Ü]·mCgz⋼iqïöûÚw7Áž¥­Ö'g{rÁâÛfƒ·ðÁ„Ø:1Šéàz{ÊW@s¶nÇ«ˆ4ÄaóZ|½P#áË‹õ}““ãEï`wâÐØh˜xhlj:á,âíñîáÃ݉M¼¿{tdÿxÚ¿Ž¨†±ü"‚ ¦f?ÖÔ ,æðí |;y¿³ÚËŠÑ…PD»o¦Ð{×Iœ³º’«‹õ÷OO†Eo_ß–NçØWvONàæº",T Z4N:)íѪ
+ïiJI¼âBàLÀÑÃti±F”zŽ…ãBz§‰÷Gf€²*« "Ât˜×¢DFÃuË2æ'šÆþŽm’Ãý”a›ÄY"”ë¹€Çñ3ÇT0ÑZxÂQ¢&ˆ(­MF:þE©mUß]¸. fb™ÎCL,VUY1T‚™–ÕŠ¨€æ‚ØW–:0 £ËÛ4:ÛRQF¤­;‚C³Úºé똢S¦·R€Ó*õGZ_z¦¥@eKSz¾§ªhÌ;In”ÓßXîg¯bFÖ7;á½ÂÐ.¨$c!xµãJmlÝ"d°A^ ´Î c`’ÚiϬUQÊé@Ëฎ-€`d)¼ÙÂpÍ‘ÏæÓT«,™gÇÑÑÀ¿rÜAùp
+«‹2GÓ1¥ÈF$øÁ'
+"Ðü[x«Â¼ Ã.!CECÅÀÂHc=ÂyÅ£Y’Dñ2úP1å1f}B@‚oPV~ Jˆ Ë£ò÷ wÅôq¾‡)] 3
+o_¶²1°Þl…µ¦ŒõÞÁ{/¯|0³âjH\5ð‹ú6éʇJâ:Ì*w {š/&h·Sû^°\þªÐtLi|F‹ÆˆHl†RUõmŒkNE1,Tž 
+UÖ]-ÙVŠ
+ =VÆÜóƒÝp?}VR–¶6<’Ïç(ÝæÒ8K
+¹Ï …ã‹‚ú"ÕNîQ&»LÎÑÛðÑ_k…¶Ö
+}¤#ˆ=¦¬Jå^¤Bf?Ù
+“xt" V¦D‚™¨òÆ
+Vì]¸À½«‹=8¬Šëcî×Q7l:¬ØåH\dj¸ð?ó”mž²ÍS¶yÊ6OÙæ)Û<e›§ló”íÿGÙV ¯ß25ÝßíLw''F¦N¶säè!¿Üó|Ç£qøç
+÷þ矰·LàšýO\~ý­üýÍ?^úöþu\¾ëÄ÷_^ýÝ•‹OŸÜåuX²¹sê©ç.<ÿÌ3ç/<÷ÝSû7ßá¶nðë>~v¦3vò‘ÇûFw`¢Ëú÷M?2¤zzÔБ™©}[ g±¾whh —½;††ÕíNðbS¹Ì¼¬ÜÄ–%>þ‰ÅQÉEKýO"Lˆ­£˜.¥·§Œ4çë6|¸šHؼŸE/TÉêâÓ¸æÅú¾ÉÉñ¢w°;qhl´‰L<465pñöx÷ðáîÄ&Þß=:²<íßG TÃX€ÁrÖ˜å«ê–óøv¾‡¼ßY íeÅèB¨¢Ý7SêAzãêÖ¸¹ihdÐè 47îBiws«˜†žˆ5ÈÒg/ð:ÇB•2§¹ÐLJçÞç2 }’³*ƒˆhôÑÐJ3 ™ßÒöïyP™– M€0ú Ñ,;­k¡I‹ˆ8i@á•°DiÚOe4y× Ý4T~FL––À¨ð £YI|¶<j‘ö\^óÝbµãÕbð‘.&´ð?š‰T‚"Ž¶fbŠª)åíäЋ)R·Óƒ ;=ˆ×"ü¡^~ºLQCÍ\†š( âWY+é»QÈ0"?!üð`#?íJò“í4?ä\ùGlbêùŸ„©g1y(ãiJÖ¸´
+ŒÕ 6U))B<@êé‚'$³¦ÈòóÊN%-»ßfOC”L)(ï4Àn š‰ü„PO'z:ƒÑ®$?ÛÞô[{.g~(™™ k4¶´« #[¢2U½¸2ª–¾š•Ð¤à#Pó^kÞK`ê3Q|îEQ ÚÇ ®•nô1 B¬ ï /­¢òBë;‚µúŽ`2+ŠÏ–G-h›åµ[écÔÎÜÇ€7ëÐëe´S–¡ƒ‡>–ºlØéÁÜÇ¢üÔ‹¨¡f.CsuÉôMˆg¥•‘Fvx°‘LVyéÙn’r®Ü˜ÕÃò?IËbHƒÓ•1ôRµ^BåÐZOõrk^Ž`î1Q~îCÉ¡¤‡e×Óf[% ÷Ìð.ˆµLQù©ù9‚5?'0ÙågÛ›~kÏåÌ[ëa7Ãâx±åp½ß•š!„æ[t¸`nQ¬U1nT$hPU:—Cï—ÈX UJ«ªªà€J¸hâßØ ³—ãÿe¿lv¢(ܵ‰ïÀÆmãŒà€Ë¦iÓÄ0išÆ…iMnúþöþÌŒ?ÐNa ™£Æ{ðÎð1G°„ÞŽ=þPÚÁlRêÇnvsSfx>ÁW߆­4©¢ùiWŠæ?!€'83˜¤~ÍŸÓj×­õ}rvyZŠ`öNÂ뀆Á¬­QÚPÛ…1mE ƒ€Ëþ⫈ÒLJ¡Î­Íïáå…öBÀvøÏ?˜R꥚+½Î‹ LLï˜ Ä„%æ’I½Îàeš³YrîP&1玥ÒQÛÁð·J“Â;æ‚»‚s´à Î fsîÌß8ÇRn‚‘sKùhÖÖ,…ŽJˆ+cÚZä&ÎrÃS.((
+¾_£Χ}¾[éúa÷±/Ìí' CÛótòª„UÉðPÑ[«‘àT›ÏêÏÑs?ÓhßE­1<æ°Ëíïqû½]E©Jät²y™ƒ¼ê®±†IÕ3­;Xw¨]°ý#g×xŽýàÝ Ù'Þ ý㵂ô…×Ò/kÔ„¾ÑN
+„î8+ºkt„¾qªÝÝÝÝÝÝ5.ÂBKòMt­@è®2á  +ña+ýF8È?ðFAè²Ï/dC¼ã
+endstream endobj 179 0 obj <</Filter[/FlateDecode]/Length 5613>>stream
+H‰ì—}LSWǧPÚÞö¶¥-¥€À-Ø®å¥Ð7JyQÞ*¢DEHS+/JZP|¦”eÙÂ6<ËFÍMƒÑ %ã12õq$0§$è24ÆDÍÌþó9÷¶ååT)ƒ{>MÚ{ç{ßs¾ç¾ðò%à=·óréüÃí¹Ó¤ËöÜcò-í-«Ïwåí[]&coéÖ® yû}õv¬›Ç뼉Ò9Þà ÀÚ×hpM¡x9 P1!|…h€Â‹J¥ÑéN£R½€’Ð-.òÀ%4:ƒ‰²Øl€Íf¡LP¡Çb2»ˆJG˜,—Ç|ŸÇå°˜º¨ Q¼hÊæò}ýƒ1
+ †Ê2ómlë¹<0tstl||lôæÐÀ垶ƣó3ä¡À"Õ¹ö`1(4” Q&e›­õg;/ ŒŒÞ™˜|ð`râÎèÈÀ¥Î³õVsv’RÀCÁÄfU`ZRMÚ®âšÓíç¯ Þ½?õèñãGS÷ïŽ];ß~º¦xWšF&6£ZïáEg ‚Ãb3rËŽ5uô^¿yçþÃ'O§§Ÿ>yxÿÎÍë½MÇÊr3bÂlº—cqÂ`:}~yÝ™®+ƒ£SO¦Ÿ=þlúÉÔÄèà•®3uåùz]&`#³*O/„ã+ŠŒÏ4ZN6w÷ M>zúìÏ/þ|öôÑäØp_wóI‹13>RäËAœK?«2+ë[z®ŽŒ?x<ýüÅ_½x>ýøÁøÈÕž–úJ£áݪ–æеÕpiå]KÙÅåÊîuíJqùªtéàÒÝƵ;›«wQ—îØ®=\|¹öÔsñ ëâÓÜÅ7ßR\|#zϵ·¯áßôæ+— XNÄâ-…iæ*3ŠänEq²^c=;Ͷª"+Šd¡H5Š(°äJ‰Æ¶ƒ/y4@¥À^s`ÿäšq è&>¹GPD­Š‘k0…Z¾Ëg›
+yŒ&Z©U*¹J ¤ªXЯVêð¿Ç`°2z¦ùh*bä1jÎ9X¡šw*GSãÐÚ›µSkoÆÊUj] 6{ªQ—(Duu3M\;cÒ>Ø>…™S9šj‡vÎ|¶Ev¡ˆ“Ê°Ü=ıØ•l­J+-¨*µT˜­G°8¼/ÿÂ׬Z!ŠÄ8b“ã„ĔˉûTˆÃœÂœaŽdAǬ¤âU>@ŸÕì8–&ë±äê* fߥÿ*’aQ9UÖÒŠXa“&Zö™’õ:Óöý¶"ë¡¢BSfÑ“}”MægŸœ ¯°T`±:e´}vÕøŒñm†o$5±gÄ®!¶dzéEqŽã”¢¥Î
+Ö Ë@‘|ÇVS`*µS(µ˜L;ÓàçÊ-Y|
+°²H…Z«‹OHLÜäFâuZµ"R¶ pY `s¾KÜ$…Æ`ó„A¡²(MÜæÔt}¦!+k»ÉÊ2dêÓS7Çi¢d¡AB›A£Ì· ò¦PÏ/X©ŽOÙš•³'ÏhÚg6ïwfó>“1oONÖÖ”xu¤$ØÇB¨ùü¼é(W,‰Ò&éwäš
+KË+­¶ªêêêCnª²Y+ËK M¹;ôIÚ(I°‹ÒçeŽ/%ÁŠå±)Ûvï+©<ôaíÉ>n8åF>þèd퇇*KöíÞ–+
+8 ó9‹I,%‹ï¡MÉÚ[d9R×ðéÍçZÛÚÿí6ÚÛZÏ5ñiCÝKÑÞ¬mD¨?ŸE,æLàžTÇ7X¦ÚlØ[l;~êóÖ¯:»¿ýîû .\t  Ð÷ß}ÛÝùUë秎ۊ÷6«dÁ¾ÕÓÃ98åù‡Êã¶î.´Õ~r®ã›‹—ûúøÁõeÆ^eàÇþ¾Ë¿é8÷I­­p÷Ö8y¨?¥ÏFŽŽ°}‚¤êäl“åxck×Å~þùÆ­[ÿŹ½ÌEnݺñóðO?\ìjm<n1e'«¥A>ld6rà.Eè2ö¨ihéìí¼ñËد¿Ý½woÂMÜ»w÷·_Ç~¹1ØßÛÙÒPs`O†.B$Ä#w¸÷!
+Éõ߸Íh©ýìë ýC·Ç'&ÿcjê¡Û˜šúã÷ɉñÛCý¾þ¬ÖbÜ–½ÑŸË¤Q÷"pñPh(oƒD•¼ãì—{P×ÀÇyl²IHBB ! " IH@D@+>‚`1<¤ D ÄgÅ¢¶Nµ•Q±^Ñëè@}Lõvt”ªs¯£Su¬ÓÚ‡Ú©Sø[‹´p-×ëé=»y½ê‘Ìì/3a÷ã|çû³g7gËíw>uñ«[Ýw{~íí½O½½¿öÜíî¼õÕÅS‡wm´—ÿ%-!B.BÁ³è±%› Pë3gW­úpï§g¯Þè¼Ósÿ·þQÆÀ@ÿo÷{îtÞ¸zöÓ½®ªš©W+xìa–JMb–yQãÖ¶ŸýcwO_ÿƒ?ÿMƒƒ<èïëéþñëÏO´mm\dÎJÔ(=-ßð·¸DmÊžW÷ÎöŸ]úö§_zû >üà%•>èïýå§o/}v`û;uó²MÑJ ¸É"§%“”Sl]·ãàé/¾ïºÛ7
+1:Äüö«ðÉù¥K×mo;vöÊõ›·»¨ÿ…ìº}óú•³ÇÚ¶¯[Zš?Wùí!vþ²°Øä좚U›[8{ùÚ77nQ¸Ù ··n|síòÙ‡Z7¯ª)ÊNŽ “ù“»qî="(£ Sf–-mjÞsèø™s¯\½FÍÆ͵u»võÊÅsgŽÚÓÜ´´læC”R"@˜;7â…B®ŠKÉ1WÙ×7·¶9ÞqƵ íMðùó®]ð™ŽãGÚ[›×Û«Ì9)q*9ñJá±  “ëª1¤ç—TÛ›6·ìÞàðªß(Ž>°wËæ&{uI~ºAèÏõx=#&جËUZSfAI•mõúMÍ-;wíÞCåÛٞݻv¶4oZ¿ÚVURiÒªä`«ÎôxÕuN¦T‰'gæ•ÕØV¬iÚðÕoºïmhZ³ÂVSV”Ÿ™ŒG*¥C¦Òù‰ðD2L›Òs ç-XXc]b«o°ÛíË(j¨·-±Ö,\0¯07Ý„«1™ˆ‡x¼B’—L&‡/
+UO0¤däÌ2Ï/]`±”Q†Å² t~±yVANFŠa‚:4HÌçSé¶$'“Áæ
+ÄAJU4nHNÍÈÊΑ——O!yy3r³³2R“ x´J$pÙ Ï©tL&¡ÉÊC#4Úx½1)ybÊ$JI™˜œdÔÇk5¡ò@Ÿ”ôœJç5g°9<a€LŽ…G¨51±ZíJÑjcc4êˆpL. ò8l†ß0I—& AùB±T¬Pb¡aaaáÊ…bJE°L*òQ„5‚¤ó¢û1Ù—'ŠÄ©4 £ ¢šT*‹„a3ý†_nOM“ÅæpQŸ/
+lÕÖ*,†¦N«X\VYš–m*Í/«¯´-«¬(Í­\YêhUålç-š[[1£)>Î1\;1Ä%¡Ž\o8¹âÈå<µº¶2Éyœ^YUmu-n0Y YŠ;—)ŽétF,OÀæcz†ƒË&ö­‘çÎFÎ?F,Xù‰dc°˜±8PUE–$î°$,>N‡À–üIãmžçéøzZyÅFl´U_­Û+÷==xO
+Ü`$©Ô{ Iêõ^HÒ[zÏ/ùšzWÏÁ˜6ô¶Úcƨ¡·¥†CÂ3æ ½­32´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<´!<cËð5”üó ¼m4Úž' _+ÉõÆ„ák"ù ½1aèuÉÿ«7& ½(ùœzÞ’|!=ê%_BJO½Ñ–„w=ÏWëö
+UGUì¥m©·¢Ì¢z%ŒóàÅ3ž3“hòÀÇ qöìDGŠ¯¯Ÿ__2óéyDHñc0˜,›„Åb2DæÓòˆBD
+“ÅF8\”G‚r¹›E$úŒ˜Fòe0Ù—Ç÷ŠÅ’€
+©ˆÏa±y~@$)Â5¸qRFN~ásQ‘yNaAîÔTS|Œ*$PÄC˜~žÅˆR 6*”†¨bô)™3fÍ[PñVMmí¢êJKÉ켩“ Úˆ@!Êfx#J±8‰b|¬!5»°¤¢Ö¶|uãÚµo¯¨¯[øæìÜ4£V¥¸,bd)„'
+
+‹6¤æαÔÚ×lØ´eë¶m[›7¿Û¸¬®Ü<#=1&<XÌC<Š9JùK•ê„I¹s+–¬~wËG{öµ}üqûþ¿ílÞ¸fieÑôɺ(LêïY dQ‰‚Çk“²f—/iÜ´cï£ÇNvtœ<~ôà¾6¯µUÌ™–<a|°ŒÌ# ò%!j]Zþ›uooúkÛÑŽœ¿péÒ…óÿìø{û®—¤ë¢B$|RÑ=,&Ç?04Æ”õ?…§—·O[²a×á“ç.^¾|éü©Ã»7.ÞQ‘áa¥«$!ÈÍó##Ð[<ÂR*v¾qù ¬Û}ôÜÕ›wîÝ»{ëêùc{Ö/œØ˜çgg *- òB'¯ˆŒº‰SPriûŒÛœ»~ïÑÓçÏŸ=¾wãü‘+gv”¥;™¨ËŠðrÂuƒOTNÓÌ5,£ºwþú}§¯Ý{úòÍ»wo_=½íôþ óûª3ÃÝÌ5åDùàÁÒ ymK¨œúIK¶¹pûÉ«w?þôþÕ“Ûl]2©>'ÊÓR[(ºÄt¬¼bò›¦®ØyâÊýçï>}ýöíë§w/î_=±sÅ´æüXokEq$]À€WÔµñ‰+l±j÷©ë^}øòýçÏï_?¼ztýôžÕ3Z‹â|lô%àAÒÅ- ¡¤gë_Ü6kÍÞ37¿ùôíç¯_?¿}zóäæ™}kgµ'øÙê)Ip£ëÒ·õK(阽nÿ¹[Oß~þþë÷ï_ß?¿}zëÜþu³;JýlõÑt"YYßÎ?±´cP×md]·ÏX?§³4ÑßN_Í]’]sÖ8ûÙ»/?~ýùóëÇ—wÏnŸ?°~ngiH—$V]I¥sºî ëºC’®ßþü†êÚ@@WYçÜ Xu•ÑF×Á ¨º.Õ5ªkTר®§ À
+endstream endobj 180 0 obj <</Filter[/FlateDecode]/Length 9111>>stream
+H‰ìW{PTׯ^ Ëû©‚d/÷ž{îËq×RŠŽvUZ`Ôšhú°>ÒšêLŒI´1míÃG:£mª‰:¡N3hš«X1>ZGiê3¢ô;÷µ÷.`Bf2Îpavïýöû}¯s¾ßùn]û†ŽŸ¾p­ûî?~ôÅÝîkN?°cC{]yaÁ˜´¸È°áC‡| ®!C‡‡EÆ¥)(,¯D ¢Qƒ¨AÔ ê:vÊŠ:uì›Aµmر¿OTÛWDõ<~Ü£¡ö?ånÛ°P]fTדP©*jýö}G;»®Þºó çÑ£žwn]íê<¶û†67A¥ZP¡‘±©YSÊú׿¨ófÔùΣû^_ïw—M)ÈJ BÑSf׶þäµß½ûѹÏnÞ¾ÿ°§çáýÛ7¯œûè½½¯­k]X6…FÙbS2“Kk–­Ýö›Ãž½|ãó»>|pïó—Ïž<òÛmk[jJ'Ó™©±¶
+ ŒKÖÌõ,]µvÓÖí;ßÚ½{×›;^yiÝó˼óJŸÂ¹TJIË@)!F'ŒÈš L-™ãnl{þÇ7mÞ²eóK/®]ÝÞT_=Û%æ™­¨¡4g±ÉécÂÔâʞƖå«V¯Y³ú¹­M‹jªJœžkv¥9‹°Ç§ddçóSfÌ~vþBÏ’ï66~¯Áë^PU6³P Çe¤ÆCV&Wª³0[t|Jú˜<V*œþtyåœêyóªçT>S2sªŒò³3R¢mafWª3ˆ`£2Çå³Â¤§\3f͘6u²ˆ9Yé) 1‘á!WÄÄn³Ç%¥¥gŽËs°/J’(`–ž0>+cDr|tdxèp‹+ÅÙ°ádTL|RÚ¨ÑYÙãsróòòrÇg¡ÒG$'ÄÚm*È‚Òaá‘ö˜øÄä´£Ò3FÎÈ52-%)>ÖÒ¤À
+#ÀôRÝ)Àá!Æ€ôÑpHýªBž€1€Á×—@ú@~5Ä7xegÏhöLwûÝv[õ,»-ÛYÌׂ¤ÂÝê÷¶Ømev[›ÝÆRÎ¥vC•ÃÍÀűÔnÔ¿j7€Xù«^i·aI Aà)–‘iY–©&‹L Y,c
+Kͳ‚
+—EE+&P¢’­2bÊHG¶Æ0\+0µÈn«²Ûd*'—ªž«Üg×8[üÓêý ¾fwËJj"‘M"¤øPvÝ&è€ìZ“U¤¯
+ˆæ9‘"è‰fxX+ı´,’E5Ä)
+ú#¬ÂÍ ›t°Õ¶xQ Š„‡Ê±ŒH,ðV/¼ bDbè «ìeQeÏqÈ4†D9Pâ—ËY_ßÖTá󻉲µ˜yJá”æ§bx C—³"‡ò-q¬hîN.±¯Âܽè›È28 „dàA E¬?˜«§<K4‡”JéX‘Ó°Ú
+iÚ
+!IL:X2™PÌ«#™œX#6küÓzeTª”ž¥¦¿ˆæ\(—!Dˆ¸¡D,¯=˜s•”%F2–©
+Z:N—‰4{”,%Y$NZ„@Ú£–%PŒYó´Äq&3†Àœ­&ƒrÈœÒyºÓˆaÕëÕSã1tô 3ÁyÌU§pÐL·ÇK«Í]ÒàFs0¤[1’¡TŽEh,KÚñH Mh‘‘h Y¸€¥jgÇ:X²+eÊÈ™£·ü@EILƒ˜ªnÒQÆ”C” J’Ù~<%10krè¸ê¿ŽK×@]ªåÔü-"Äåê÷œ0 ¨‚2Ÿ¿Â[ïkñx=*KõW½‚
+¯»q¶nQ£r¦9‹‹ZÜžo³ÿÙE¾–&õ·Ü>ˆ¢Ò¿²Ñ[p­© œ=Ih¤/È–@Þä“lµ@Foét,ð b ó"DÅ‘Ç<!hŽ'T ߌ ËÛÇ:šU(Ó'‚W²Jˆg$Ár£Ó:ˆâÉú]íÔç;¤ÍwpFðÔr;i%ØZ2´¦Á<«òGcŽçÂR‹¡±ÄbUhÀû’Þ¡+‰3*M8T›„̤‰˜ÃB&†]ɱAŽ`¶“9!HˆÖoYð0Ë’Lp-””yZ`§6±°%•¾Yå°QíÄ LŠ26)A²,´ †ae Ò' k¬Q4dEðÂÞ‚>EʤñÊ0‚눬¬¡Á)S  «+S½CpWUs³» zl±Ö2ìx¨ŸÌAUõ½Šaeø¯L_Ä
+Ewp05Àb"žÕ’„#š•Qß&ÈP¡~Á2!1¥% õ"±8î‹Éžì+\†9™ÿ?$3ÆŽ•„¯Ifß#ýð™:+)VÆÊf‡£ÂÒ‡rM“Š€¥•àµI¹V™ÔEu ‰6&LjX€#[aÝT@¢yT€º N"샀)2W!Ò—†G]¢ j`†š¼aªWŽ
+©áÓ’ ÑÒîpÒÌmSmeëêŸêñ:J—â+mCGY¥Bÿ•®Ÿ |©Bý€‹½˜sËZjñ¥¶¡£¬Tp!ì¿C—Ü涵Öv¨µ-µÞZGás3ôƼoÙtT(­r•¦£Ú¶ÍUèP«4%>$¨TGI3øjƒé¨­P“³8´
+€¹£:¼’3%>cÉf_×o®£ð»Qƒ]®"Qx
+)½œ“52•”²ÜAHís>½kN‘R7ãëÃïZêvZ
+oD‡¨bˆ~Е'½‚
+áR®n.M Ñ›µzâË­¯1ù¶÷¼K4×yVKá‡g‚¤$üA•¢2-•ZïÒǘb éRuCM‰–fr*oD_(…LN¥š“¾TSNUìÝ81:=±dŠ_ÂÐS ï*~fnµ(¨Â¶]×ÿeU«N×D,óT+;§kd2 *|¶·ŽÍì‰Oõ³O'A•jL_aG{`‚Šðeˆœ±QÝ,FD–Ñ° A…DB¹èÒª R‹ò‚
+ªáÆ?TPI¨iÑŒ|ÁâT±ãMž¡x19¹ŒÃ¢Ô ‚j¸Ùâ-Ô¡Æo@P!»ÊÍ´ êØ© xAE>H
+{zEµžPw'4•œPr! íN'¹äÑK*6:|v¨ÈKªhÄjõ’Jj!ÐBÓß¾TUT)à^Q­ŸÉ,Õ+*ý]€ý‡8sG/¨üN*mK¥·TÁ Û'¨ZL\¤ ª-Ĺ
+j‘&¨Äœ â0à•ëU-p1ã$Jyn¨¯ä¼¦ bŸà‡Ù×õ9U9!PÀi›Vê!‰X ŸÕ6`z
+ƒ§Û)Au›œOïšSôÐÔ¯Ž>„žú°¶å‡!«THáÅÂ[‚ à9 5ðUxÞ%õi¼”†ÒDaàåŒ*zbÄ«†×zñÄ#…ÔÛnzD­:ß½’°[O\Ÿ(óãÉ‹s—PX…‘ðºÔE"aí±OÔmgË#"fîxqÞˆãZ·h0íÆ%ÿ»W1¹±ÞŒÝ«°Uú¾©0²|”üS…±[ô*¬SSô" ?W}ÜœÛðnÓÞL†ÕQôà5cG÷ ¨iVÿ¹5 ›£š/…
+D~ò§#‹Æ”`ìN‚I(ðŒ2òõr °1ÍHd¥¹|jPȘú«0òNùÅaå}ê ÁVjHMMhP,kíw8Em>Y}ð‚²ƒiërRíd>y ’—,<E,Q…“E€5 ¸)¶ó5ì³<Tõ¥µ¡j›Ž5ˆ‚F¢ª¬¶ÖtංƸePx§Æ\ÜÓ¾žPw'$
+Ê|è-³4XNgsÉm®­m]ÿ³CE^}éZ|­ *[­+-Ô(ƒ¥VãÀû:çÂZ+øZA5”ùäæBä¶ÿ]r››×Zó¡Ö¼Ôz[ýå>‘³?ä?þP ‹ªYî§Úp©¡!mÑžˆ:§n a®Y‡º'¢²Ì‡~°0ðìÍ°Ê,‹C«`%¦ûߧZ³õ˜•1Âìëúuï긧øŽ‘0¥»·õ~ â/ÚjÄEFläN<yúRx" ¾4¥våñèº0•Š: ,uÑiü5'|Jè±ÆËÅXçXÅf³OÙ°SFžÎ¤
+Çä…3Þ]JK7,ÚĆÅm3BíËûp8 „Ìß½³É"]@p8Ì>lñö.:XƒÀ’…¦€‘l븳Ñá°ÏnJp8,>a öY*ÇÝ6Ýáp×Ú¸²mà·Bq˜>Ø9w¿¯'ÔÝ ‹$Òît’KûøcøìP‘Çá8àqÖêpXkUαÊ`©Uq¸â ÷õ3™¥:ÖRaF
+Ñu:2b ]6¦bœá)´\BÛÌ'/FÌ]BØ%kZeÝêÎO›òjËc=ŠÝoN¾|íöÆ UÇî9tV
+±{Ž’AÁs4Y>JîÉÑì=G'À› Ž£S„¢]Êq4
+­~Çèûbtðœ¹iÇ ž£SÞø6MŽÞjãv<Aš,Úý'I³x”æPàQš2òýò,“<“¥;?™ž¥É¢oÀdiv ž¥9ԡƇÓú†c›z°këoýÀؾ$ƒ®_Hîâh;¢¬ æEÍ‘ŸHîÒü³åÇ›1{íÇâzö™Ô¥RߣýŽ5r’1”ç –xrˆÎ—ëÜO¥zô¾-´Þn[ä)¾ ü¬2å\]…fÊf6ú·ãqx[êKÁ»¡Ÿ1l>ò/Û§q$Zü=¾[66CèÜ Ì†#ÛüÂNÙÆÜËñ>yÚzØ·n)ÕùõâJS Ë×ÌcùšÙÕýt^ç׃’%ÇÒÓ­?¾{|v‡Z`½©<þ-káoi´ŽÑEä6Ë>—Ý»6s¶­¢7?«^]¿þç«÷š“¦ªý¿¯_¾u4g–¨i<©Oþö§Ë¿>ÿ¾í~ü9=ûñ/o^_]ã¯?þø» z•ŸÇ@2ºŒOž¾}‹^¼»~1‚Ä‚„`«pñä9>«~¢06‡’üùíËëHq‹?ã2~¾yó/tøáÅ{Üý¿xýÓˆüûwï^ý®^½~óòÝõ8•±ªñgúßûÿýûz–tøóÇo>Œ¿?_;zïG<1!ÆýÒE=ºzûö«®·mc‰¾ð и¡÷ûãÑν¸uá4@ãâæÍ%Vv«H%·iý=Cr—K[Ž©~$2² ¯Ž†Ã™ÙÙ³sVÛz½Ü<ø Á6‹ &ß¾t‚#Òš.·ÓŨĂésIm;­Õv\Sv¦Ï%µÕf3]ŒëÇh{ÉsÇ´× Í~šQõúî–øqDŽÑö r±wõrTbÝA$õä ðkUoO–7‹Õ¨ÄëƒHo²Z¯;Oƒ4¯¦³_¨ÝVóQy¦æ‘è“ûx½®ÿ¿‰õA¤ÇÂìõh~³j¹¼¨>nÏ6ß^¼9•äýGþµO*SEþñª¿LjßÌæÓíôÕ¦šµãþÓ•½_È{!íêÕýB
+;wÁ4ÿ¨†ë,CG7ï¥Ö£TÞÞRuÃÞvjŠ“LR¬ÑQ½xâš–08ïm?¥£¤Þ­£vª¨^tE¥ØxuÉ÷RÜã³:Ò\­ëyUg•eT–QŸ%¹cØqRè]·v–QYFe•eT–QYF=Ö«YFí”QÅÉíÑ V¼ÅGÉðOòâ‹öÿû)t¾àB“þŒ5ËóniUésò"«ûß[ÓŸº{ ÄºÈXÙ³–yb™'²&˼¹²¼Ëò.˻ϑÜ1no@¯&뻬ïHd}—õ]ÖwYß=W}÷œõ“Ü_?i)œÌúé@H7맬Ÿ²~úÉ5úI{+´Íú)ë§Ã™»³~Êú)맬Ÿž­~‚<ºÕO‰hbƒ¥è¥T»|T?õ’èÏé'¡÷ÐOjoý¤™´Leýt ¤;¹Z×óªs}f•uÔÁ¤öÜu”cJ³¬£²Ž:œù;먬£²ŽÊ:êÙê(Vˆ £°lÅýI—"J*ñ'uT¯žPRb/%¥÷WR‚iγ’:ÚÌÖ«m½^n²–ÊZ*k©Ï’ܱrž;a]–RYJО¥T–RYJe)õL¥ÔÝÑ V¼…bb¥²’ZˆR¦H[¥˜7V
+ /iÍ,3pVJh)Ö
+@Ä—ÖJ5¨3œã¬ ÊŒ×7ì6P5Ñ«8¢E Ñ"–Œh‹=Ày\$=€œ}:¢ÅfÉf\ÐÄ ¸QÌÐÄ Sª›@Dÿö#42<&h_ŒkZÓqí
+ÑEÎ
+$¬3Mh+–#ÐV,X ­´Õc‘¶z¨£­¸‡~âF'¼"á­Ø5‹}x«zÞzÐ{ñ–¨‘£CÄs(Csˆ@¼\€ ÷Ó–¦Ä0Í Z(*ÓÒÒÀîYÕl9]%¾:m9¦äÿoý€Òj&hKmD-˜Í´ Qa.;¡vùüŒo¿t±®xN!¶Ì€z$M;?zñ)ãèy;4%‰'íÓvÒ”ø«ŸÖoGÒ¶L!1Ë*ß¼&@ Åâ<p>~8¥Cˆ‰Á;C|‹ÖŽÀë£àa•ê1øA¯B\ò3¬”–ñÞsto‡§ˆ… ÏSLƒ†„- F'Ž¿±8ŠýzGU)7¼Yù¤ª±$çû%zÝœ³§šÇ‡¦Ñˆ”5¡]N,JŒSåÍ~x9—çM¹$m½¶1f"EAo¶Òí­ØšùƒMs[ï $'/õÑŠrØP[êL3^ =nÀ¤”ƒ8°'ˆ#F«|÷dZ“”é 4„%ANŠÖì~=Î÷áXî%ÃE„S£pCâ|£ÓI‘îC°˜½½2­)(£™Ín&jÜG\‰¯“Q?Qà'è”a›¡À=è‹ÖŒ¶¦_ƒóÔ_VÕ—KÖÖ§˜\W7‹ëm—|uðo7óíu‡FÛP,¼"@¡0ÇïßœÿxöoìÖäò£|}ùny3«°úÏ她|YPyÏ8£Êª{†ǧë5œLëjüp­½Ñ
+û[Ÿ¡|“ yŠÏÐ{¾_Ï«}2âg„ññÃrƒWÓ-vÿên[m‚瓺ž>´›]ß,çuµê¬DUø™>¶¿ßV}J~þuº¼ ¿OZÛãwxùj1´£¾é»1qú¥“šÌÖ«m½^n |`›Åˆ“o_:ÁiM—Û‹ébTbÁô¹¤¶Ö‹j;®);Óç’Ú‡j³™.Æõc´=ˆäŽ­‘W8þ FYÔë»[âÇ9FÛƒÈqÄÞÕËQ‰5v‘Ô“7À¯U½=YÞ,V£K¬"½Éj½zì< Ò¼šÎ~¡v[ÍG噚D¢Oîãõºþcü>&Ö‘ ³×£ùͪåò¢ú¸=Û|{ñæ|T’÷ù×>©üMùÇ «þ2©}3›O·ÓW›ª mLeïò^H»zu¿ÂÎD0ÍÄ?ªá:ËÐÑÍ{©õ(•··TÝ°·pãÅÉ-´•#…¤Sa%Ù:O éÜ]Q=RŠ±Âjz7­8–xTéÁ²[±°z\б݂N³]‚N±’þÇ+:»¿¢³ÜZ•Ý°ÿäj]Ï«šgA—]tŸ%¹ÿ³_.­mA
+7Š”ßF£è‰F•áÇ{TÚÞ£R¢„âQyèveţģģ^åäö‘ŸƒÁcˆQDJDj:ÀE¤D¤D¤D¤Þ¨H9ã]…Ù… ',N›„œ+ p8ä$­Þõ¡Vè¡Š“áå*:NØÅresÌ}ñV«ÏÝRz"]ÂCóó©€ï£Ë< òÉ7 Dë8q‚³%±H!$õ¥V–*‚‚PùìE\Õ¢ok¬‚œ®¯-ûÎÆãÚµV
+rå“e¦s¤À‰ë¨\5™JB1†¤Àò„ÐB¸*w°«O˜—aCmÙw>0×Nø¶˜c>FËc~5—}\›÷5ʹwCíß¾Cµr±Îµ:f€S_iÌ»÷¦¾x¾ÃC9/^0¼FyCSÿæúá)};¹¹]tùÑâûÍÝÙåÏ_‹{­x`nöQ«/üÙvâ“©
+endstream endobj 181 0 obj <</Filter[/FlateDecode]/Length 2284>>stream
+H‰ìW}lçoœÄI.$$9>Rœ6±ïÃ_G ­!ép’iÒÜ‹}8û.;_€TíP'1P¡ ›öê6UZ©:ÊH¢Jûø±j+$ªTUê¦B›ðÇP+¦R ¦‚ÂÞ;ßï.çp¡-1Òý"Ìù¹çyî÷¼ïs¯Ÿß#èâ®
+Ì7—,LVÆqWù¦#"YÝÕÃ|“Òg5¿ÄrQšGb³SzðÄŒðyÜæÊç‡àù}q˜G|Ç](ȅ΋¥Pà†E¼‹ŠŠ­%9`µZ”1–"k©md·WêÁ^•—•ƒ9 °¸´Ü¾hiõŠÚºººz€¡®¶fÙ’…P™U)°—U,®^¹¶É…á8îV0¤¹qMmU¥ÍZ(FXŠJ+ªêñ§6µ;;»´èìØÜú´·iղʲâÌC
+,ÖòÅõMëÚzB;v&hšQƒNìê'{ƒUUPIæ!E¥öêÆu!æÅý‡†GŽh1|øÀ¾døÇšj–‰¶E+ñ¶ÐàÁ£o?96®ÁØè‰c¯
+½k–”[„2Š,]ûTsðõñSï˜Ô`âÜ™Óïüáp²÷éÆe5a…ª›6…^<:þÏ?ùlú¢ÓSç?:óÎkûÈÖæš
++_z¥Ä¾ÂÕ¶cÿ§>œúüJ*uMÔ•/¦?:}ì@ÿf¤Ö^"D–Øk±àÎCÇßûäó/¯§Ó7UH§¯ùÅù3'ïêÀê*…Å•uxgbøäÙÏ®\ÿæÖm n}sýÊÔ¹ÑáD'®Ž GÆ&¦Sé[ßÞÑàÛ[éÔôÄغKÑEŸ¼˜Jß¾£}åîÜN_»89~„QEÔ»»>âÚM½ˆ›b„»ÞŒ0#Ì3ÂŒ0#̈!ýžÏ¡33äš
+Ïr‘ùë%ù`þz‡ ›×ãô¡>?ìEQ'A¸Q8¡´!N°·ìu;q¯Ï{ÆÉ‹‰’! ÙpŸ#|DÖ6ÓëVÚp·è$¥ÎÐl&É#g’mnÒ Ë™ÙLféñ’$’iJ6H®E²ÉÕŠ™³ß±l"í*D; [d#`G#Ü»]¸n¹,× s1†&Ù!xo{’ÿà—,x¤’BrViu¼U®T²UV‰vP•AߪÊ@ç"l,)^;íp`càLÇÅ^ a×6ŽÑQ¸I¨v"L
+´¡®¾$Åî¦"¡-ÔP(ã•lý2U£Àfh؃™ª³=ëwûP?ß¡€=F>Ç•ÍK (áå/ü„Á‰ìE¶‘1m#»Q§{F#g·M¿¹Q¿º¹·WÛÜ8ŠÎèmî¿ßÞ41?¡¦$Q—»kÖŽ"t:IQ¼Âª(_iË€œ¹Àx_‹ hgÅ2蔟µqÕ=–Y D<·ò-†¸×Ë·êAO¸ðà¸OÙb~ù_o çáøøpp‘Po `·Ý‹!Â?Px#P®_ØŸ¬Ñç–_S›bú6)8¨—s.”Ï»¶RdvôS±h?'¾£&Û÷Ä"\¿h¹%ó^ÑäÍš†D“«·#ØÓÞ¯ƒ¡½ø¦Ð¶x,L«ÖPˆ5Âü9ÑŽ"!ÀxI™a×F†IH–"¥<`KšÈ»Úiv$ùLr ÿœN&B‰gÕŒÃköÛ€ÆÞDœÍ$¨¾AŽ’Ž(幧ð ÷Çâ–¢¥EYI·ùnh€Ê–4ãön2>(Ýwd|¥3TåG“ É <_‘t¾‹r„šc™x2qU™* ¨ø6ß(‹ŒsÝdÔPa’ëÃRG²QŠ3Ö”¢ëÃRZ‚J&ɨ±~”}ó¢8†"êÃ0÷½Ž”(Ë ð¤"eß¼(ÒÀ²qC… ~yQÔ=vS,ˆÇ¢´¡ÂÞyQžÌV¹^(U™}dxßntÄPJ÷¼(ôžûØÏ°/ßG…w^”‡HÃWÎúÂT<ÞMíåÚ“mÝACEjCšæRÊ÷´"?øÂêÈs;ÔV‡#$G6')š‘•Õ.¤†’^¯Î’´syAFù 5œè)u´ð\¾õøRºøÕ•öVÔ^n‚×H¼à⯀BɃ(¯ÀÝ ìw2
+ÕQ ÝwÒP@:ÍYDá‚`¦ˆÊ“óÖÑÇ°Š5%”)¡L õ@Šs¡˜Ûãó{ÔgJ(SBåÏèmJ(SB™Ê”P©„
+nÿÚ=¡V:$‡(¶¹ž¿üÝ,‹S,d‹&ÉÝLÒ4Ñ5
+endstream endobj 182 0 obj <</Filter[/FlateDecode]/Length 16119>>stream
+H‰ìWkoÛÈý.@ÿaú!@ü!ÚrÈáE>SëÄ°]‹B`,Æa+“%e7ýõ=w†/Éò#Þ¤M»Ò@5CÞ™{:»x.ê÷Å+wÆÙtòâEÜùºnŽ™™f'ËåfµnhêåùbÆé©ð$˜·OþT4«²®Ž™3nW3zÿe¸¸)«²}ùˆ½<¢¥Ër½,°xU/ëæ}ýÛ,/úm!&É×XV?¸ü‡sÍô±tÙÙ©y$¯>å«Uù/< |7pi2ª7Õ¢¬®£ú·cÆ™r™Ç¦¸ Å¿–çÅêÁ'’újsST볦¾*V«˜Nµ:fñç¼b§ù5Vrö·b¹¬eÑ2¿ú'Þ O¼yV. (y“¯™2*‡'îܼün…· €îͼšŸÜ`ê¢X¯qÈ6¿ŽÆ[ÒÁh¼ü弸¶‹¿µ’/‹›Û%€1*x™y êã:ºïÅÉÌcBøLLCW_wGÔ->•Å¯ÇìM]­Na³¾°ØrG2åíüùfY4ïªr³ûfN[UOëE±ÄãÃûÙ27š!†kûÄeÞ\k˜¤^nÖ†2ïÖÞln~Ì?¾h7y{[T—õOæœÚ9ŒÆYÀ„
+ —sŸ‰Àì!=h+ÌV‚µ¿­X’A:ÙŠÀ?ƒ=Þ6åuYw‡Só×M¹ŒñLvWÚdŒ¾ºû¶'…ÞëuQuGÎ<>œÏN/hß´ZÄõ á¿2Ô…©+°`Y_·«Ã³›ÛV31‡¹Îš²"ÁÓÉ»ÌÏ–,¾nêÍíIõ¡žN^Zß½lò+<ÉÞ¾ÿGqµ†¶ÃÝŦ\pÁÛ£GD-ó*o˜Y8bíäå'¬ä8³ïae˜{ŠØ¤ø
+x Š¢0ÒQ©ÈUe„“FnäD"âa¦aBH…a¨Ã T>h-C7©BriT':Ö‘ÆCZë
+ñ¡¨ê,»–µþ ‡m}cÙÇlk­;Ø7Øcߌlkllì+[ß·Þ¯ŒƒÞÂ] Hwl,FvvMQ0XÛÚ»³t¸eé¤i7þŠÉ}Å£ÛÙgš¾=‚ÄpƱh_Þ±ÍQÚÆ â©g"Pß(:°mËRâhÐfpÓDÑþ6ט‚¿3¾i
+CÃBj ©!¤ì‚3¤¸–™Ð»è£Á(Ä 0‰¶ñÀ2yLL1q‰ß P©@B¡Ô•H÷Ê÷•ÉC‘Ü—ÉÚÚ±+Œ|“­º²ˆ÷¥aÔǪ-Ž%4và~’Âg[Œÿ„@%
+vŽ¿ù’uÓÄĽó8ˆ»ËEÑsq›z\*öíͽ…"568éý 븱Ùnmtß°¶ÍÐÖÀ˜~ÛÚè¾m½ÛÞøöbëNôW«{wuzÿè‹iH$d,:öjqê®^;üþj=ʆª/¾éK˜â
+‰ºÇW·yw%D–âÉŽ>ä‹ÏK–£t‰T‰„Ù§Ëç'˧¥ÊQ¢y:éDZ%F3Òíßì—MnÝH„÷|‡9@‹,Ö’ÅŸ9Io{1÷_LDdV>ROÝm÷èÍ0É$>²22ò ¾Ýo¸^–(½©¹
+<‡ÍSàªóà‰ðLf O†gÃÓa qF<%\8£]§E¼Ø”+WUѹñä„7z¿Î¬ãsáŽo?ó“ú‘jï…;¾ÿt{¯‡§âÍ€ àEŒ`ö"ÿ4Õ®PwàPÑ¢EÃ
+®lÞ< ás8Ò?s"Ž¦ •Nlô{ |_èkðkøk
+ „ï(ì u
+ßAø…Áå†Á‚_,
+.zù‘jR—Š [Ñ.ÙíjªMtçñí:’]òæHì)¸n–óÒ{“ü—5È…/91½øÓ‘ya²äÌUîÜÃÌ"—¦OgyõD)4 ŒëG#Ê·y7Ý›þM¯án_øÄU´pÇûÿןªòUáŽ_ý|ùÁšßë-þ>JÊßFÇþ×F«\±VþÞ ‡œ¿¼Å’ hþΊ¹.þQ×óÇÛ•©ŽÓ¿¦ù£Îóí‰~í}=ÈYKc~yÇ”Ë0óŽ ¬*ów*¸iͼãøƒËŸÓݯºåOF¾ÿç·ß~@ö§Ÿ AË ¯}¼^v®û` ‘IÀ$·X˜+춹±­,3Õ†zôñ„Ó®²ï˜=¡Q0xýçh¸i…³,. ¬ °Ó©³ie­©K(JHÅ0agñ ¥×_`Ïß¾¾¼#ñÈÐÝ?YO|šã:RW¡w…ÌíY`Ÿ¼Æ¨/ÞèÂÄÛ;? È
+„żª¨·)î5E¾Ýc”KþžÄ󞲌‘Ä2¼ég Õ;Ù[­þf›¿Ý®ÕurÚô–£&Ð>4
+§º³TME7ä)¤*ix’vM³MZ½´XèÔ¦­Ó¡-˜1”gkÅÌ·uÓÅšÕæ¾T´R_)£VJV¦±•²Â¯±q~vå£ ÇÏ 5)[-Ä›7§ã8l5Á•†€*Š øpÜ
+µõe]¦.”=¨ßºÙ¥´Ø ÚêU\yVZP'Uh5Ý"hŠ j5ôR,íu>J‡%ÒÔwëS̉MÉbóqÄd¬þl}*FŸˆOÜŠû?ÙÕï¿>¯)žzßn:§Æ±Ÿ¤ñ1Ô}„®k׳tl]»§+ÖTZÅæÅØ\ÙéüÍ7±9G¬äŦ™À+V•>¹ŒNÊKRÀÆCƒh
+K®ŒG&v“¨É©7ys¢ß>ó¹N©ŸSÕ9•ðƒÉOŠHÒ}àuV¯Óz4ë“þ~^¯4“u^J28«ËÏê~R·SúþM§4¾ŸRœPyœ‹Éé'Ñ"Ï Ëà,Š'™žb”` @É„ã½k$ˆÑ4Sšba`@Ëp{âðÁ}3YÞÃ+ÏhÁ(‡¢3U9Ñ,¢÷Ðuè6¶oÖØ4¶eNŸ›>5xk›ÍMŸšÕ7‰æŧÅf…;ã™ï8œ Î…¦½¶-`½¶.«¿Þ[vÖzJõ»s«M4½{çØ7tÆ:çÙúîʶnY§Zt‰Äʽ?ïçiJ Ê4%MÒbÏR–¤˜¢6¥¨½§(ÏPÉ
+Éi¡T#=5§U®ŒË“e¥ìÔºà4\y5Ù÷!Ç»èˆðÐQn9ÉEg¹Xqž5¢mè—Q-¹–>ÊÕ)ÅßáÖ3iœ pwtÒ´_ŒwI¼Ü@KPïª-eìÛÂ}ùr›Wó{ÚuĽuá®ßdöYÉ7œ[2ûî³ÏîŸoOП¢?Éæ[´þq‡]§—íÝÎè¬Ñ+y™…e¯ÙË¡Á·{Ѧg©‰ß¿9á[ùšì/zƇŸ¯ëê¥40ôÓ‹TU<WµHVCd«ÙÓUU¾Rºš/ÏW“'¬b {¡Áyh'RÖ œ5)i-žµ¶Ðú:ÏÒùo®ï‹3,u'W÷âº6URõ办j®®då0éx´,5›†‹˜Áô»G&<•M"”—nk(lÿ¼Q†K€=Ži¤©fÏ»–hñh¸á¡¦_i@‰×DW…·.pÙUŽ»É÷²€(Oz3o§æ•i2pp.ZC•¿7y=Å{j+Òg’veöΪ·xܪÝÑÔaëñÉíÂ]¬N'¹XV¿ÙñU¯ÚP-ú~ÒÙ{tšýOÚl³4°È/×"Y¶¢I]'÷¤±±¼6I“’¨íZ¥•*½˜?6Aäá.)§„‚Æ[%÷ÌÉ…;Ê=ÍAwQsR»ª×(¹îòÑ=ïÞ{ìݵ¾®êéÎ^NøEï!»·‰PØ· =Kê–Í O úuù ÚöùÛoógÓ—uîUg­3ö©ãÌŸ9œN׶Kß,6o}£h›ø&Éš´¢£áœisÜfÌ' œjÛ¢oŠ±OXlˆ×tÙ|=7Ãs+`¶àææÞgx5=Z¾~üi„ÛvíÞ*W…SvO Ù¸w¾ó¸;ä5ª¦¨9J'îYÞ­§3Ëf–Ër0‘QÑ)¬9UÏ^‹§.¸”2×+oYÎÚšzº*NO³ç©ž¤†ÈOGOMð½-ÒRq®š#¥ž‚"÷ZªM¼E⪑"òbBiˆÀ&ÑnPZ¹ª­©#R Él¬"´R-êZ†Éb&™$·Å4Ì4—¯½Ã™}×dÚ¤V§÷ÕgÚ&|vŽÏÎò=û¤Nõ¢«Á“ÐåhœßkjÚ¬Dl[ß |È~+SHèEð:J^¦¯Á*ö²]”d:²ê»½ïz?Úàþø:?tžÀàŽ“Ô׫ˆ‰ôx¹*­^W§šY@›Æ>5jzä5ß*GM¯ÂÓ­Æ[ ¯2†‹:u< ^ò~µ·Úþ êÙ¯–·‘+º7ààÆÀÌF¨ë5;–HÈÎH6YFºc4’t
+ÌR™ÀÜg/ÈÌ•‰3eÒdÆÊ|å:W±N“«ST&S5d®“1‰>GQµa†²¢éš
+/ð
+øçšÆŽâz²øùò…ÆPKDtt½N/ú(+.Ùî<ßßIþØ€
+C\$lK»í1ÄQ.`9ŒåÑîn0ƒ1šŸA+ÅE?¾÷áÓ-×Ì¿sAá¬,ßcLpzàç<¤1¸°£S)â¡)†ÕeI385${0@Àfs7X¬ì
+V†ˆŸFSc, )ÜÈï§uðüZ¾}Qï§ËBÞ, °ÙÕ +»¢q6q{Ôf"wí
+ÏÈw †å¥‘ú,Òʃ£ø› ^ëU[{tklŒ3}œÇUb#‚a Œ%,KLÜ„ /ñ"Õp±H¼Ð/Ü>`0üa;0\5`xk’¨‡xÁ€Wã…“HWâÅQÆZ㛑Øæ$²E jŒh³ˆÄ
+‹Õ¹¶„XÃV–@µÐ9ÕÈa
+žNˆº†©Ðq• [b‘[@YC—Þ ¬`ì„2_S@<ÃÚ´A\-Ä£s_9ïëE˜ÈKgŒ-gìX˜8ñÆÄÃÓˆ(x¸‚ˆÑˆ :GDéxØ#â(&®!¢à¡!â{˜h¨hìÒø¥ábÝá¢0 ⨰LP¸EƲC†îè8áÃW|ìÑ1W ½ìØGu|\"ÄmprÂÊ1ÀÄ 7{ìL 5g˜¸Ñëÿº¢Þ”©ek] ‰íãaÅKÆ;×D »ò1MŽ+x&š –‰ä¢‚è ]ª»D.™l׈†©+0jEí9‰t@_æ Íc!"
+<Î@e:0À¾ˆµÀ­6J¯àçhÎ@uºPî€v ÔkÍÙB;1 8rÌŽ“â™p1Aø8§ï o˜xÃÄ&þ
+!𳄇Œ¹¿žÁÂõ & ì”ÁRMaó¸
+‰ê™HK¶P5W´Ÿ–/ÎJÖhy£dŽö#…CO!QØsêi¤Ô±Ö,É„?‹0îÚSŠ&6’V0ÍøÛ
+?;É.L/^X;HŠ‰Âⓤæ&f¤ÄY¾Œ–|ăN@œèÕ!IÞI¢Y0tYGD’¶V°4Z¿9·vj§ßºŸâµß§sÕrší„¥°¢Ùû)ßr^9}»éÃéÞØ«^cÅËw•+»ùÄéžÝ=±íž~ËŠ§w_^ÛþÍt?™’]‹f6™‘¼…çÙ:øŸxž­ãÿ¹çÙ:øŸö< yp™ô™tšôšt›ô›tœôœtôtžôžtŸš#JJJJ'J/Š=‘<f)=)])}))½)Ý©æ°¢[ì;Æž±kì;ÇÞ±{ìf=dÙGv’½Ôyô“eOÙUö•eoÙ]ö—fÙeö™F'8Ö$tœ=g×ga³,n—~7 ÓA€ö‰ƒîàåáëT+õŠ½B-ßËõkÙVXÑÔÒ½T+äR§×ÜëX+÷’¯„Þ–n¦ÞÓØ;Ûºë{]ïtë¶í=¯}ÇŠºõ¿”  !aéx˜;*2ò¥Ë…ÔÅàÄ,—Å5·6\ìï`ºF-Æ Ž ïK/zƒÅŠ™ñÒÀw•’¯º[ƒiמ~¥]`Æ£¯yœÛ¬÷jëcâuëƒûgÖG„6ˆì–
+µü¦¶r]j+»ª4ov"t.?v#Wf'n•ü»Pª.FVp²Ã$†àHÙ©§°‘rÊ÷"‚M±¦LGˆó$¢¼R;DŠ½XºIìÍ\±r´q4qbáªyÛZ7±m4mmw ­ D6Wi΀òH}¤@R!)‘Ô˜À72¾–yå0a¤t·‘ãˆóTmÂ0s´˜±eYéC„8à*…Z¨§‘Q¡&ò+gs¹Ëõüµ<Só³%,ŽOT~¦¦}ujµB‚Jènb›„À‚PÕ(¤¤…|¡
+OÁñ"5VD†#f
+Ú@žm*Ìê%½*kt
+[š ‘>åt‡÷’#â[Àƒ.‰õUËJÅ»Œ"óÙ¨Ù-Á6·]3Eê#zFù/¹uQo²Ü« Õ^çSK:µ[:u›òß­ðdÅR ãSu9î’ôJ΋›ŒW^Kw¾æºIrSÝ
+lÑ1
+á £J ”¸­£0HtdVü™Ã€Ñµï¡²Ž{¦Æ—VÜY¨Ëj3»7â/°áO˜p°ÀƆ_3á»y|SÕ7U}SÕ?‡ª"DÄ‹w>ÎäÓ#ïrÜ‹½¢ª¯Y¦ªê ³Õøg ·Qù¶ØŸXëÇ'Ä~´áéœF ‘FPi#Ódª„N­ª¯”: ©¿,Djµâ{ ¹f@x‚Å7‚u•bÆ€$»Íj¡Y'D1H¹P-8M9ƒQ³;ºÍn!mç v¢7AüŽ`×,H¥Ò˜ tÊ
+26f[µAÈ9FþÇ~Ùô¸+Qt߀ÿƒ7f6 Q%qð6¢>³¼Õ[4t#Èbz‘™ÿwXEJ”ew’N0+›H`8±,U{ë¿\P¢#ØÊn×1¼'¥N¬l´ {^ð¸ú fLüêÊLŸ¨ :¨™“‘ž6òsz‚”¡D‘p´§(s”H‚£L’’l" –$Äeš”§¨kLu+W^
+™‡:ñ°'"ò°¡<d"¾ÆD¦"»Kö—ÌŲãB† '.}¦ß‘1ïÈ0+mâcOÇ$Σ|lîS­| q'+10±q³ggÈÔ\0ñ“^ÿêMq.—’f„mÚdWÇãŠGÇ»œ‰ÓaÕPžeÕ–#É:é Ó ŒìöiÑXÄÅxíÓŠ±À¨•iç!r‚Dƒú<ÌÍÐfa¬ë 05C’…œ^F¶†
+úíéàÄ„1L®žÑÀ$+Âpæ–30$âú2ËúÂêrz@(ݺ°ŒyU!€[YQÚ5´/²*Œë=HwHÆÉÒû®0Ï/ãü¬þ}q¾wÖ;ê⨎¥Ff¨ÐÑŒ¦F6P½ž¶T2ÆËeV(uF³#ÚP1÷HÕ[jßÐÅW¨ÆFÜ` ;==jéTC¿jºVá#3éã@7{zÚÒÙ†þÖt™{t ¾4Ñ÷@÷= tààÁâe&-ºzèâ¡k‡.ºrè¡ë÷(ë†.²h¤5C— ]1tÁÐõB— ]-X, »ƒríê‰Ú¢¨’£ Ê‚RZTÓÄyTw&îLÜ™¸3ñML4çOዬ¥ÕcÐÖœßx£§>»êlªGj¿þçéáÃÓû¾þŽ¿Û9Æ6ÿ­¥“½•7OÉ_™¶9Wrä{Þ=V®)ö_Ž¿H
+²‡Æ*å:i¥´VR­T/­˜ŽpêvmÔÔ.šó#>€¨uFø®+§†ïÖ<Þô]åú>~R×z5ój7z~üj:Šªª­ë6N‘–‘*°]ëüîJ1]ü?Lu'£§­y—ÛþÆ~Âå~x\9{}\ñ9nËq•G€‘K6Ó'[ ¤‰©Zð;CÊ œ$Ž–äÑ“@’H¤f"—,¸™!©°Á’YxL9.xprŽŒNF†Œùbdt ¡•Ã"Òàhžôvc£apt ŸFÇ”†Gu ­ŒŸ†…-I,›uœô6Ž” C%z …ˆcE 7†KøL D=â áࢌ›8px|,#Ž8x&Òb%q
+qŒ°óË#‘qÆÞ q’©ŽP: Ìc 49C"iM<mªmfbY–y™HAVŒ^'ñ?†ûj^æ™ ;JÜõ)êºsMŠ¸E¼ç—8àïã=|ç€ÞñË€O½ßŒø¾Ã%~añ ÷à%ž g\tx–þÖt™{d‡šéùˆK @Ñ´¸W5dTlT3”Œ¸ÜÐx¨é`Çá–ÉhØ(œqÂ!ò÷–{Ä9[¸k ¯†ÂŠmkÆaGÈ0›N[hmpâv+v¯’Gˆ ›4 åÚ-ÔµµÄDz€ö²ž:YgùzUÝ™¸3qgâÎÄ71Ñœ?<…/ÂFÞGÖý$ï+yÑ×c·Gw ݇t7¢0\Ñ¥­I7(ݦòn%±5n]iÿš¤çcºø ½÷Òÿ^R­€ '$4’®jåAˆX$‰M’ÜÃJFf#Ó‘ùX A¶…~eD)ù&N®‘Bz-HJ”‘’=%{6 ÃrÅ•Œ#%7©€‰IÒ”2±QQp¡ Nýâr/9ì-»½¦H¬[ïú”rÛ‹6)#kÍ¡“e/ÉßÚÏnßS’¸tµè«j?ì:›õ¯{»u7÷—Ÿ.¼ ÷X»|Íb§7G8x~a®ðUOHŽpÕN×]aç — ¬Ñ²;Px˜PÔ#IäõFDÁÄe¯‡bké×Sn8ÛÞ³íB+\Ѧ­)QPp $L”‚ƒ¬îx¸Ó•†yGC/4¨Ò7­g6µg½gÅãe‰ˆ·™ÈTlúW*Ž“‚+^L‹o¥¢¿5)`B=!rQRqËJoÈî'Fø>&Š”pÈ$Í1”Ù &ƒ†TPɬ 4¸C<–\Äyína¤æVfðôÜÑ銮Žt³£‡–œé™§SŽ:3ÑO/]0t V Þ=•57Ô;ª0V;ÖZ]7VY7VWj+•U§J‹ÕÙ+µ<=ÜrÙ]%‡uúæJnµÌõÔšêmÒùI/®ø“__¿bf‚·†ç²<«ã¹;jà©E *ÕYxLC½,usÔ¯£Žžz¨ðBQ õ¶TÝÁ3s.xzèÉDgÊgè“E Ž®uôΣ’€Z&ú¹PfƒŠ,jrtº£ßž®z?¡8(£ Z¸pÐÑÁˆG§b&”»Ð0ƒ’-Švh»Cåµt?á
+_þpOóëóï_>>~yý'}^>}~ÍŸývþ忯¯ÿzy>JMÛÿzz¸þ¹<Ux–îýGÖ”(Ä馯Kñ–¹é(ÈBŽ¥ UŽ“Èñ¶ GYHR¢}’å*Ê€(÷²Ü„¹Isg!OÊúá
+‘n2E¨²ÞYvš$Ôÿs_-¹‘ëHpÿ€>ÈlâŸ\R”tÿ#Mdð#J¥¶Ûváa0J¸,W•©d222¢·jmVi×Ö°¢ÄWC4®´®4¯´¯4°´p`×FF JU$Õ…RRQ©Ç_züÌaHÂýÕ¶ÀV¼¾g)c«œõ$í‘B7’Â姿fþôWˆb¬XMF!Ñ—fF7RþFù|Hˆ”¦¤a­hT GA}µÞ"¿=äxäpˆå"Í3íÎÆ1!Ì$ò]kÊx¹Ä"9
+{/£D- UE®„ð–"~%,1ì€á0U½×¼
+x5…ç §39ŵfœî°¢ž,Âü ;Ô|&¶™‹n3Üø +ö{ùÌݾoÇï~Ö ó?Êsfú/ûðwû¼¡ú7+A¬é §s-—vßmFçSÖŸó¸XÌH“é0Ò F›ØšÍ‚±—Ñ5ýãÑM¥1ôÜŽî+h&`=Ñ}j1X5 µ¤ãvC?¯hÙ„ã¢Û-:_ƒ°ÁV(hË žˆà æ°`œ(ไ̲að¯àšB à2
+œ#QÑ‘Ñ#H#âa„áj`ÅŽ#;¡éÄ”ÈR'¾&”k-€µó*#Ö)x`¯²â"G=‡ŽªÂN›8+=Ø¿È;à«(Å¢ÅÐzooX¬‰G£”øP+ëÔ³
+–Ü%²3ü’øÜ €Q?ò7'ð7>à×?†;gÁ
+$¤™`ÚÚ>Sì¤o}'ØZÒƒ6O:š SHhotÏ&vÒ- él‚´§¬þòù¯Ãfx}~%èþüªD2Ãg¦;½¾™ðîtÿžðnTö.Â…¢mÔõIùü/g€ç?çk¯ô£u ¦v°K&°ƒ“]. Í„ó”›
+°6€·Ìàž
+¼…ð‰B1MpÁ‡bÈa  ´àÐMtÑÇSÌq…ÙýîYPb“lò)¤˜rZÓ'v
+cm‘‰[†oá–]“mLu Öt—ö˜~‘€ÎBV#3#Ö
+RÏàÀ&ü/û嶣6 EÑ÷‘æ_’‹óhrùÿOêÚÛ± ` }iÕX•*†˜ÄÇ>{­žDmé‹ Û¶b.kâµ"}3Ð=û±£b¸líŠí¹Pĉ.ImuÜïèÀ'úpIÑ•)ðDÊG:u ó{úvK÷n8&[z¡ô=Òᾧ߷ôý†£Ä3²Ý6ÅD.Dò!ÀÊ‹–ìh8raa»LpI$aIÓ“8-ÉÓp4+ŽÇÂ6šÈ¦HFñŒN¬Žü:‘dµ8‹í<›Ï"‰Ì€™±¹RÛ;±}£ÖoU›Z‡Ãj\o„„ŠoõþýŠSsj½UýãšßTýûëR÷7ªþ¤îÔzWù§uYùí ¡Kæ'9mªN:4(¨Ìph»ô‡zìµò£Û?ÙUöˆìx,²ãS‘ýÝ‹5cÆÇ°Gí¯¿çÁŒwб/ãÑŒÏî9žñ'ßUÛçe/ã9œmw=Õ˜½È$•I8
+ÑËœô¿|¡1u®Œ[ÁªkÌâ˜&­™¬VŽ°²óÉr#½é6½! 8ö£?™èf0[uµžo;éj­<•'Xx¤<’ž¬=³[΢æc.T+J‹% ’I„¤B“IGlµZ‰*=š~B_OZ´‰Q°I¢©Eœ$2“gÖ%©ÒÉÑ©‹ŽëÆ-Mj·b:’éûË$ÜX¢¤Q)©”dJ:ݼEf‹¥JZu[Õz«g[ê˜Tô¼!´ª–pÙ
+j(VT£‹p6 !º gp6Õ´hžŠd¯tVK­ì©¬©Vó¼KΫ˜ÄrðšY(Y©¬”W( å´)ee©lY‹ÁëpNRÉ»7gÌRIàE€gk‘ÊŽˆ „e$6g‹eÅ‹H-;–2´’Ë™è]õòl—ÆÚQ–˜ŽÍ™ð^Ù¼’Í–b¡›„|$ì'B™VKgÃ&k7ñIò3аÌ+Ç„úhÛ²™:Ê<çG`ƒ<VÊÁ¢j›±xx‹?èªæî‘”ãky{À5Ì8¿5¦Wƒo?;¿=â~0cüÁ>˜ñZã~>†ãÁŒþ²Óûq§žy…óäg̳d½ÌZ¹)åN'-’충HdÈ,ŽY³,Q,’˜õ0ká¸Ao(:˜E0+`Ñ¿"~Yù²ìeÑËŠP&½+bW¤®è\¹,q£ÁYè<¸mvh!´¤)a´Fe˜Ng žl€ÑX-°Z ®…×l!¶ »1h׊9-ý÷—oœ ÝÂn·Ð[ð-ü€ ÁáÂpxó_2ÿEɼW šrßË ˆ5fâ?¬OÂÜǾåõ,u=ðÙ‘sü™ùþ. éûC ácÿÆÛR¿þJºv¨tÏ]ˆÒ#H¿Q†ÜP8H+G
+äá€õÆsÁ†#y;´±šc,Ôé9Ú#GܨCƒ4èì0g¤Aœ7Ì©
+ètn×u
+endstream endobj 183 0 obj <</Filter[/FlateDecode]/Length 17413>>stream
+H‰ì—mk$ÇÇß/Ìw˜7ß ‹~~0!ÐÝÓclÇä0˜ R„Bn“è΄|ûü«º{wVZ݃ï$ÜÒŽz5=]Õ¿þWUTQG³ÑñOˆ>Ƙð“cÁÏë´K"®I&T2É%›|Š)à'§”JZÒšjYe™u60›}v9ä”éZr͵ˆ"aºØb¦]ñ%ÀbÉ…®¥¬e]Ä¢`f±0¿XZÊB×Z%LW[Mu5ÀR-°ºÊUÃì´[ýêÖ0í~?í~7íÄg¾þ—f1@<¶fŸ1óŒédžÛzÆä³&ÎÛ´«ë3öܵ<c¥fìŸ- ™¸6 \EEXÏôrH!†|pÁtPAáW_ýâ‹Ï>ùèƒ÷Þyë×^yé±b„²ºÅ—]rÑçsÖ§rÒ „´àb³M6XoµÖXm••V °Õ,¦à$»`ü´3ÎXcŒ6ÊH#àª]tÖIG´×N[m´ÖJK-èŠcRTVIE”WNYe”VJI%ä:ípXyˆ{Ñüž°/^°/Í›æÏð¨ùÔ¼j~5ÏØ·iïšÉFøؼl~O›¯ÍÛæïð>ÃãæsóZ!ðüà{ó¾ùß"Ðb0¢Àqè‘h±hÑñ@D¦b‚¨p Ì|q•¦Ý/8!—tB´œÅ¥‰œÂ1J9|Ap諨¤õôÏ^Øf5[1 šîå´»¸ú<³å7m]!Ðó1*-"Ýx#T䉤䛨¬¡O)b†nŒ”Þµy¤8]קÏFëÊØí‹ô½ªû›o®oîo÷oûH¾½»ß±oæ¯~Þï¯_ßÞÌw}hö/¦Ý¹Q¸¬æ|Ãûq”j)öÔ s`3ˆK"‹"±J,[*©±H ½ 2Ê$3åÀ^åªð×´åØx"€È@c$+€‘€Ç
+’4È¡†²ÄŠå·ö‘ÚF´ŒÜ,R£[‹ˆQÌ=$'qc¸”
+y—¨‘Õ{S! ™ÛŠ¶P ÄâѺCÛ³¢XÐOf¤±¤=7?†´"Ü\PÑê"°÷¨©±Ô˜KV±¬˜yÁ2ÞЈ÷:¼Ý`
+«hV+ÖV°Æ„µ¬ØQ[‹æVAX2Y…G~%xࣃ§þ*x &a+bP‰„xïp& Ή¹8Ggªà„%D/¼¯A¼?²‘y_ƒšgÛÈÄieÞÝÈ€²neZ#¢È Ütâȧ³…íÄi@Èq6êipj u8â _˜øÂÄ&>ˆ 3_\ånKÅ¥·HŸ³¸tˆhÐ|#ð6ÜD!A+¸µbÆóôäËiwqõÑæ7ô6*4=õìM3~lû¶|Þ–‘ï/Òwöªîo¾}¸¾¹¿Ý¿í#ùöî~?ƾ™¿úy¿¿~}{3ßõ¡9ªÓîì0û”o8zT˜²çf1Û¿o€íEθ3Ó§†5oÖi™4J¥q¯6¶-«Ú_òl+¡{á{Q¸¸¢ÂŠÊªVTQIõ¸ ¢¡T@–šƒÖ$n
+¨%h "5±—Tµ·£1Œ½°ªTþÕA(?+?b‚F½Î"d†
+¡Q
+å^õ‚ˆ‹",–
+#”ü.Oõ=d,AÎPkAØj]!sX> µÞÊÕïÝ24 "‰Iyuƒª! §W}‡-ï4z
+ÛöyÆò;,ÚAÞ£ŒŸq–pìËoñS «ë²8„qHãÇ!C ‡D‘„L²H™ÄùhRyË!—C0‡dѲ9„“¥ó© b³•€h]ê ¬#CŠQv«31d:§¼á¯xèœ8~–éºdj%£ß>éå½­òa6«¢¡!8# Ÿ2Í'Ëi8/§áKöQNY‚Z_·vÒ,Dî EÔÝ-,G‚û;Þç/¥ÖåA–°Ë†{=ÏÝ^>ô{Š;¾&Nå)“<A PÈø™ß¢ð¨"*‚ŒÊ`!å˜vPwâÌ zpÞsOQUê ýŠ|ðT~?Óõ_›‘’ˆè‰åà ê1‡º *4º2{Á¡¯ÜãJÈ€æN×BHþ%ÓUH‹¡±ØXˆ‰ÂùÆF@h RÓAZ£x¡3 QjI`¤€–
+¿Ý‚­yç< ÆR%Y}\z¥Q3Ñ
+ÒkòÌÁ¹ j&Í}í
+|^jõ¶3|ÑTÐg¤öH„«8ßIf`þéë×l_*Þ:È¥«\Â}«¶wÒ~דÜPLÒÊeÌED:]ˆ@QŸJ8Wÿ {5¤‡'huÂ7‚ý^^ñιM~S.³Ë…Ø'¢;ìB{;øÌ»¾ÅæçÃ-bmÿï YìwøçOÿúÇâúêÛÏŸÿöñãß%}ý)=Ð0Åþüéw?Í?×É÷~÷Œ˜íYˆ ‚M5«c¾¡:
+^<Æ¿®xŒ²b2ÜInÁ“á³Zó']oÚè¨4Í’^‹ý@ºíÙ\gºÌîWg ø¢”W¾wÊS÷B3¼†mª6½6?SÁW
+eš§eƒÑC¯%Çab¿®¦ò°ƒ™ÅªªA@è®IÌ„<s`}æÜŠs[E:cî©á!–`@»½¥µæ ÷‹“ê@Öq7ã/9H9‡½¹·`VœÂm:XJrZN-Š´ð½NΛù¡®Å÷6p’
+bLÊ‘³´L&DÛåΠÙX#nÖa&ÈQË¢[í:é6t¨Ôf Zíó˜nµ÷ðî÷(æíÀ©¬:²À„KÃg9ÌŽ¾,y¥SfË{ã–N
+Õ âEPÕ#gkRp·Xýïf‰BPJó0¦©RÖÀÃÙALã~ÑÊ´R
+J÷Û0[òîǘ
+úè ㉠ÊG{€sì·¨¥Öätén‹¡ñWÕ¡Wড়„†„m¤ËŽcy1÷5Øä]*`Α¿1”´¦ï5G)˜‘I1G-G"FªÑˆÃ=ñR s0v¨Ì‘|e×;’È¿ÖØ—ƒº›C‰™­“DcÞyõ<-øWà³À[ ’˜¯µ-4rp¬„±ylæÑÙ‹“jšÎ,˜‹[Ô
+-™MÎÀα¼ J`-zYÄ”ÖÆÉþ
+‚˜ÁÐk4›(‡~UÞPïXP|·
+Ï+p,°ÑY¬ºîö6í6æÑÂcú‰£ÛäÿÐ]5i“¦ ìJ*ø·žmÝÿ<„ Uß̦Ÿî´Å‹$!Ûì 1€Wíê`_=JV ‚aaÍéøNkY[4z›®'
+ð/[¯>劰d2ÙÜdn-ÀæÏ L
+ßáü-´$Ó~`Ÿ59e3êÜì¦gw÷ê– ¿ö!ü´ˆ)‚ÀÁÒý*ˆíe7póá}$€µ9wä¼¾x– ” {¯:¨õ¥ ŒÐÇfä ]€\/Ha7 Oy¥ìlõN¥§k¿Æ¢ÛRçhm‚“2û¦^Ç=ÂŒtÍNµ¿µ`ÔGËEø¤M%¦|P8%õ÷Zg€Ïmn"ððC–n·›è<>t]¾×qxçÚèÓ×Nb"Ù6ç?aЊ¸Ôèæ0”[ʆ#"È ž,íБ3`ïÊvï,¹çÂÖ*¡ƒlGKíà‘€±ŒDoÊó§–Xsi~š›`÷}åï6Ä\,ûæïÏkß`xõ>Ìw–}ˆc{þŽ-.Ü{”l„A°tk‰Öú]HË'Êq«SF†.>WiwÕ!r ȶvü~¬íàêe<ÿý=ÒJ6k,$7Õ'±i6Ñoá¢ä\7×\¸P€{S‘´*`'éÚÄòìÈ6ÍÎ×ZJQ4éÍ` ñÁATeC—0-
+·Þé+AÜ•ê%~h±ëÚµªÀ«æ*ô“€™Ṽ!›b@z!(›$ÑÒ~ cm¶ÒQ&îèðc;RîŒ+ÞnÀóO|„=½®6e[œÇËOïMy2ÄÕÜóéf«Ø¡«ÆÝh_¿á·°&ãAÆô¾´¬;{>bTO°ýð!|¥ýʈq3è~mä×`Øôám­KFPÖ&¶°Y©~ûšûX…g]6ÊG䲶ËD¤µxc·JÐìVFÞøOrN*,œ/­Q[ˆs‰}.Û›iÄ’FÏ=[˜3
+é‡A¸¼ôÈܺð=ÖÕ1Àg+ñ¹cÊõbl.qjÞ
+Ðï6‹Ô8¬BÞ¡+³¨ÂújzŸ¡Oê.üZÛ””v=Àž{âmw;Âæ9kËÁ«¸Õ˜ËÀa‘MÒÆ“ÃÚ¤³eÜõíà±-Ä5Ûçu„b Î³àxôàDæŒX5Š&ùØá©Bmáâ Ôêä,5U¨NÞ†Gd¤„0#¬JåU¹Ì;†±¯ûœ` _¶p¾Üx´P7é Ö²þmž…RãkG¶:áέ֋(}PÛ<f„ût:]€Úç:ç~)Ü…Æw.io„Ü_%ˆ‚yòsè¡äˈ!:~$#,©¤¥šW…\už5Sš—ªm<9„’°1k“‡ëb;l·ö­ºô#¼@©Ñ€“,>MÆáéÎÕ°xKûÔíà%•žTV}Ë zëµE„Ò…_æ
+ }eæ$=ÒÚϽÚ&%äB·Ï͘êaÐÁ9)Ûpçq#œö.çú_Nhßó°žÉüÁÛ/ÿMÜÐö›q$ƒc²²Ã¤nFõÒR?·˜º# ¹u >c{„5${]¿ëÃiP¯kU’C‚2¬½n„²•5[ƒÝwÀ2èKÎé£k—»>ÇÛêY3‰‘¢4¶v|7R[#Hâ mä*ZÒã
+ÌׯYehF(õ‰À%Ž{Ì)?Õl."Y–­ ¹Ðy;.ñ/ÝÕ×ãÕqCß‘ø¿—H µdÆ3ž?í>¤ÝªUÓTHU!تîÑ"¾}ŽÇÇsovAHh9Ìúz<öñ9Á”È¡9ùá‰5Cê<'Ïj*§—ž%r«y?(×J&²ójyœó GJã¾h®5¬-Ô¤ +ÇêÞh Ä5.;3>g•Ùw»væ ‡Š2\?}NrcØo1Ì3Å«ŸsÀÔŽøœª»
+€E#¤Â°f“TN¿žS«§&sɬš1i#Kôn96ÆFsñ``‹Aî²³Âóõ8™Ë‰+q#~.v4è¯*‡Æ5ÕE°í
+qzâ«À¥5^zsåÜŽµ(;ÄÕb‹o(F_ý¸v¨ƒ‡42¼Çd#‚«½$‹ß%oÿºV¯äxår%o*Iµ$Ó©Æn]ô Ù™×AQaIådtærŠü[7-yG
+Xæ¢FjA4,™{#Ã0]ÌÙ½.G1Öê–&Ù5#@ _2&•F´U3·‘øÅ:=$nwŽÀY*vlçJ2®m–øÞì”üX©×˜zß} ¤©AŸKr0‚I¡‘3 aë ³£FØBü^nq·ÒB^4û½6O¸ƒË9.°ÃL¢Q2›I s ”ì>Õ@ØŪ-Jéì§XN½ë•öp±›]Þ{}KœS€Ö§›P°„V‚«› 4¡^x óI ¡G‰ƒ{Ø1pÙfWiÞS
+¹%!ØZâ%ROåˆSDÀrô͵;M'Á0k‚…Ú¶5Ài«éØ©#¤ºûl³_…lî1Çáaq²Äcf˜¡ˆP]¯¢Å"
+^-}âQ”`­)^LuåâLPL}Ž8;â÷×£x‡»,mïoœMNà
+¼‹0~÷ŠÆ-_AÖî
+^Š°÷RxyÊ.|n‰ñ:² ÍSø
+(W-Õ¯¼½Ñ4U½>³L®è1gÖÌÇ´—µôÐøÃtœƒÒ¢ë—nØN# <lªŒM iY?à9²€%Á‘¢øÌÓù”€Cóåù‡xÆT:[r¹Î›ûx5ýÕh«&9•Ïþbà¸vYB<v‘{‡3x{.ût
+{™dãxœ..ŽŽ° æÞê½ÜdDŽχ÷ÕÎaÔÁkõÕ_?ÿx÷Íû7wïÿwûúã§Ëï {ò§§—¯¿»ûøþöÇË“ïÞ½þpýâ¿×·o±KßýýӇ맗߬S/¾xêÛoxæ÷ö—í4{Ü-ŠžOϬjb› Üì-vYÒõoè;l$ü[l—á‡Û,ÙŠjÝ9"\Ž· ÜÄ‹ß·‹`–_ù…öjG’趹«|‡ íd‹$ø í 8RYpº¡ßÞ ¿Çç*«J£@Ò¨Ó4A°qd,]Ÿ ÚQVÚ-‚3§DýÁ0ÉÀNRð¶Î2ñ`Å\H®”,ßl…EÚ—
+ç$!. C`£Ï´?æf®]]µŽ­6Üÿ —©`X@Ý:I—ÓEÈ·=ý¹qXéAU4–²_Žs>>B@Ó8Õ=%c0\ñ‹ÖAÉA ‡+'¾B ݈‹|ä  ‰, Ç`+-Ò¾t0‘)Á‡A¸¹')sbqѹe€eâ-…?œAd¢(2<´oßðsãÄ6h‰ÈeôuÚ?)ÏÐê{GLÊß½á<ïM)íâtP0…G5¼g>X!Z§óby
+šÂ’m öºíKSûEãÖlð¨8­´mÜdcþ€½el+\Ó˜û8ÚÃøb0ÂÐI5ÛÊ\ÎVvr¦®ït>Æ• ÄS¾h—žè
+曾w¦HëàI!ÌšsÇ´ñõ`…l«˜Æ’‚‚¦±äƒ½²@{« wöÓ{¶â ö‡‚¬s«Â^ós‰¡kæuÔƧÐ÷’ƺ&Ü—Xq8¨ES$®}; taïK}½Ÿ‡U@©¯#—qózXè¢uPr°CR³Oí¾Ñâž—L뙃‚¦±$ƒ½´@ûÒÁDƤ¥#$NŠ§0Œç^ÒFÈ8OW‡E?#ÙõCÏ®`‹p}‡]K2®Øl41ÿ8ñ¦fU–Mß:(_ÁèÀ–ÛEë äà—@p¥|=h!YK6©$M_I8{iö¥ƒê w•h`áVãb̹†Äܳõô,ÄU7ÁÙO·xvûX‡°½w'Ë »,Œ4Ç
+©ën³AS9MÝ…,{]×­Éh#¸s0ÅÑDC›XXÙÛ-YRPÐD–|c°Wæ¬/Lcvy;l½»wñ.ÒSã"b`»íü'ŒkLM3ººÆŠg¶·YR5˳€íI Ĭ´-¦ÏÑ®`H4Ò¼h”ü” ¯}êàUZ^mÚ•ÂÁLbM×Cc½ÆùáHœÅ×U°†íù[KÉ[_˜òúÈ
+}a&
+ÿiqwSºWý±²ë¬0N6[ò™°)r­’¶rêó]QÖ—Zñ8]œžß·ï;ŒLO!õ6ôß?˜i¬©ÆŽõRó®ÿ+Îß~óŠó o98¦ýϯÿáÿÃÿõç?õ¯¿üõë×î½ôß ÿc»œ‰·—ÒªÔ÷Í‚­,ÛÓ”+¶ÛâÅ·ïœ3bÜåœJòc(¿`„¿—'’ÒŸ‡@yí QlÈñî[AÙ–…àˆF
+O8‡Òœö­ƒL³Oì ÄþHÄc}©ÈGCJuðfMlZ?K%ª«‰f
+†n£¬ö¤  ä`"+ŽldqZ^laíŸ9(h"KÂ1ØKsÚ·Ÿ\A‘ÇêU|ÈZÖÉó9& l‰S+ME†(4‘ñræg0@8³ö¤ àIÁÆ­ç÷`Ýwý¼¨ž‚‚¦±äƒ½2§}©ðÁÜ4²ºé>ŠK¬8†|±vI7½5äšáï“(€RûÜ”ŸÁPˆÖi8§  ä`+²Ü%£…B£Éƒg9((9XÂ1ØK ´/>³‚r¼O{MƒT_Ça_x; e _áSÛà£tÐôÍ25=¸ìnÎOÚ
+ÉV8ºù¶ˆci1øM]d¼BŒª@«¾½‚aÊ‹ÖÁƒŸ“ásÊãä´¬QWƒ&üöÒí¥Ãç÷P~JÖ’“„ºˆD¼ÕºôÎö$Ãk$‰Ø‰¦c^¥ŒÏ:J)/NwFà8šIÛYYB3ЗdëÁº”ö-Âú—ß¹þý7/¤ÿ•èZHiáFWѾ¼Â=u²"ƒœêñÆ«œ ¨â{뼞c¨•{7_Á-ª{®Ñ:øXHŽÉEý0-žýœ3=sPP,áJsÚ·æ3×*Ê;•C[ùú¹ñ
+›&¥á7r“•¤v“×e¬=Ê›9÷g0>ÎóŽZ%apœGòúz°B0¢³ýx
+
+šº’o•ë[…O®£p°2Wy—ø¹qx³•EažG´Ä~ê”GmFPÊã¯zWx岞¬ŽIvDŠóÕ•V5Vˆ†/´g
+
+šÂ’o…9í[….£H#Õ¢‹`×5)À„Vª{ÐV¼¥eÈÚѪI\ªî(4‰k›í
+Æ ¯*±Ñ:xRð!SUâÙ¨}=XyùšrH–‚‚Â`ùÆ`¯,ÐÞ*|r­ÜèS¼œTÐXqÂf0†hœÊ5Ÿ¦qÆïÐ4Îy–+˜ÐXª±Ñ:(9ƒâÜM”v‘~å  ‰¬ ‡`/-оtøà2Z¨ã¼÷‹jw‘/ßsä,"ÒݦBGaJP
+,¼~ÐLüÄÍ‹ÖAÉÁ¯BR‰àJ¾ž¬¨¾RÐ4Ö|C°Wæ¬/>³Šò°Â˜/‹×ÔÕUO+žQ—ps¥û\Âcç
+ ©›J]WpG
+¹\´žL\…ÑNy~=HÙ'ù¾e  Xº1Ø sÖ[ƒîƒ8àœõØvTv­!scƒ•ž¥ )¯Ö:(åáÿè´unö’ڞ؃‘?{X¾öóæ´Pm±Axä  I, Ç`/-оtøàFr‚
+b 0~n˜¾iH\jíG5ʽJyT3Ð$VK‚q¿áCŸ¬Ž| CVûúz’¢RiWšÀšnöºí­Á'÷AÃ-ÊéåÔB++œr‰‰²ÎŽ4uc 
+Åí]-ÃÔáœRØK±HîŒòÏ+á¹^:m“ä“RÚ0¨SÚJ}¯JzðdŸ95IO×ÕÌ^‡S)Ô+ÏDÌq™Ë½K6¸AuêlÅy¬ím£]À¡A §å+m-=nÐ<VÁ®ØZSÚÇ'3 Ø[Š’³ÂÕÍeà E9öF¸SЯ«;P;¼/çQ\;´ÞŒAñ–Iì0Z£¦ »1lbµÐšr„›ÿC ¯w~à HxJΨ(ÎP¹Uÿ}æŽ{ RÁ¸êE¡i
+Ñ8#e)l+U[ã–BØ
+Z»ŸNG2
+ÛÏMŒÿÔ„Y©ÈwŒ[Ÿ|§¹¿.ìº6â7·!›‰‚Ÿ¡aÈm…åœç­Dkµ'ro—j¾d®˜PÜãFk kЯ!8–‚Tî+âhÑFÒ¯)4Y°+¶ÖíáÃqÆ’/˜*E3Yð4vÑÊ&הط[–C%ªÉõšo”+&$°¶ÓÈÔdÁáF›Û®£½†ƒ›„‰©Å"×J­/Çy˜ð`Ú9*9 Œ‹ô¶Ã #åÊbp»ø ʘCwò!nHíÍ<:])îw§¸‘ý7S>vz­¬£ùœ ™»¬Õ•ZWŽtwàɼ!É
+C’gpÁ{¹dÚR´ÑQ;·‡]§;PŽ×·âª¯¿£õà­AlUÀ'*¯•s±]»Õd슭5G{øð`ây;öMpCÌdÃUá®L×b®òÆ`Šƒ¶:¿±Qz>Ý?mçŸqì#±ÌãWç¿_qnÚîw4[Y¤+¶fãÑù3A¼9V ±UƒÞ‚»Ç­á}äC—‹ö$Þ ÷†÷¼÷¶×Ï°pî´¼5¨µ‚Ûªçh.¨´Mƒê¯vÅÖš£=|x2èG–ßÙ\<Ž±-¯[«½r~ËYž–8f›êré¿PÜz)­¬A ¯A—1¡ÅósÜ40h.ףط¬´‡Oæ½{Ha¿Z4—¶äÏz õ(É9
+¥EªGØ
+>"\˜çwl°tÙñ™‚¸Û.
+TwÓ|f}ñÈ.)l´²f0A&Qy-´uL¾ÚW 2ƒ
+vÅ®5£=}x.‰Žo]bä§OO“ }b2Fû–)É)º•¨&GÚJ3V©¬@-G·z9RœA ̸þ¾€j0‹uÅ®-#==x0ŒX‡eèrŠ<nKŒlpow²€kËtm,ÁwbP YN±gÜý^6Z§uX`Ø:ÛÂzßó«¬TY¯/¶ÎíîÂsItpÓÕdý¨ÍbÁ1Ü£œv­I¡Ss Z|Å­ïN£Ô@V`T“ÅGHžÚ‹¯ø¸Üëï ȯb}±µåHɤ·‚+pjC\Hâ­á8#”MjàÉco~ÐÜ[Ô¬ãŠ1B¡d£55Øg;]éµÒâôå6 ª¿"Ø[kŽöðáÁLz?–û°Ž˜ËææN–Ã’åb±«“Õe¢­tœ¿¸“È
+Ü Ùc“OJ¼Ó2æöû êï‹XWlm9ÒÃóè­¯Õ&‘­ê2ìq i¦¤(³Ù:,­gj‡5Ë7rŵõ~Ðxk0Å[ã—Îh‡GmT¼[kŽvóáñDzŸ™vqÃþAâµÇKÎõ ƒ #LÎW˜ÏĬ˸&<ߣ÷ÏëŸFvðœËý’_gPÿ^”®÷F{RÒÀgÒèO¥ÑŸ4ýüVá“’»â.|:<ccâèˆ/S{»0vݹ•]zRœŸ¡6L‡\ÖâJŸ]4¼Ñ:p ŸÇDNu2(-ûBZ5È Iûâ䆵О>ènù«b'‹kŽ \èñþ¼í8–»Î0ð4MÇrU{ÍÆ\½½8m-†cX{ÃJë@Ö ö
+>Æq-¬0 ‘±¯TwY¯/¶Î”õtáÉø‰í"&™©#?¼í8v²Øa,·4M»Æ5Û£¢Ùdηb­¬cú‰Wwž>c…iøƒ²JPf½¾Ø3ÚÓ…'Ã'æd’ j3‡N¸9³Åˆ\qÁ’Õ↽Öj1Òe]‹Ç OWZN 6d4•×Â:WãO¯T‹Y¯/¶ÎŒöpáÉô TÏlQê±á|Ds& šåÊqîjêq/¹:P=Æ¢•×b€xh¥u kPÁñ±ƒÐÞKHÝ40È&›`Wl­íéÃäxù9ô”«™,8R …À&·<“ÆWâI†-‘Bs 7xiì°âqIάÐ:5ØU 9ɽËàµðñ\nTE¯+¶ÎŒõpá™:†É6ØBËæ®àxZ±,s”
+‰Ë$î†ÖŠÕ]H [1äõy¦þM{•Iƒ°T&ßGP“ÿw¡
+ȶÍü„Çžb*ÑÜ‹Þô°6ÚúÔÙ¯b~¼/Zc®x“œ¸ÑòÑ>[`LoíZ©Íå84{þ&þSd.©b‹ƒ/t?Öå³èˆNä2IÏ°ä¢
+ïƒK˜Úé"Kgq#µàÿ@ëÀ-:ÜL™Ñ²CfϺõ
+endstream endobj 184 0 obj <</Filter[/FlateDecode]/Length 5796>>stream
+H‰´WKÏ]GÜ[ò8$[‚“y?`eœ "HI„wÈJ ±Äg,Ë,üï©žéžî3'¡\Ž¯ëvêV×Ìô#çГ?Þ¼}þì75¦ûÑr §w9O;ûrèΚZž`w-˜ûÙRˆüa0ävöˆº·Ó÷^¯´d ‹Ap¼§ãJëÎè|Û408Œ` 6©)íÝ0üíù3w–šjé‡;Swe|¾•ð„9$|ˆ-EORMÙãïâsiŘR*“ܹ +Ü¢÷ì1ÈËt(;±¸§Ücú‚‡„¶³¤’¯œÐ9sBÈÅJ!u …%W .E¬›´”öfÁ²7yÜ°‚ðÁ×P !ÎÅT‡ñø“Sv¾†­¡fã¬s)Íßj½%µVðpB\fks-|ù\Ï•A‡“7à27Ÿ¯Á
+Ô†î¨Nô˸ð1Å਄„Š›?êM§‹Nbž
+º‚bËßR\¹†–³•Z7NÇÏ/wÕyÌp’ºÖ·ßgPÝe­l²2ÓãfÀòÖ•˜éJæŽéŽ!ºpo£Yb:
+ô!\W*‰F;ò?_6ÁL‹MáÙÖ—µ¥ƒpÈR"2ÕžùÀi_˜ùÕг—ÁXê\q‘\Ýhd ‹Ap˜ÑÅbay·MƒËbÑ«Á&³Åzwá{ È]2ËQ¡zºã•Kh_ i<ãj/Í·¦'×Ðcc»†Vúíz¥´˜­ŸŠ{zyR„”Êb.›
+²½ÿ OxªÇ•-?ö]ƒê¯—v¸‚mÊ‹öæÃ#AªT1¯U×uYq *¢/fÇól©Yh§Â¤àrõ)ß‚cñm£µàаÇÍ‚êãJÖÞa4»¤Á&XS3´7¹
+Òi'ÙT14uYpHiRˆešG¿õQ4»Ö’—E­¯æ,Á(™qm‚̪+XŠgLhÇ•e´U¿I`py¬Û‡ Ö„íÍ…G.‚¤õœ¯–w]=V<× *àù¥×ÄH ¸2ôÉû{°“=ÎÐ*84(ÃÂ[ªR³”¶—›‚nj±Š]š”!Üøö@¼úøÜ#Úuìv{ÚqLyŒj‘fV/ ȸұâvh N+—ÀŒ[ê6>Å.[ Áéæ¶qs 'åè·_ŸÿÿªSC5ÃyKž/þôü—-‚ Ç{à‡G’ÔYÁ#í
+ß_ Žy%d¹°Ú]èqSÀ ÌrM°¦eho<f%oÉAÛ²V nZ]ÈE`š•ÜpÀÙ€ËÝP{Û‚qýè]i-84è`\çACë‘êÜŒ—¿"Økj†öæÃ#WBkh÷œãfÓBñ@E\z]ðŽ“’’4š–J0àr95ÆÓò­‚¬a1(^üÏ„Í*¤°i`P]fÁ&ئ¼ho><r%åªò+ë®uYð ó@;= †ìQ”{„=(pyTš·àÔrÛhd æœ/EÚ«°R% u“Àà2Yôš`›±°Þ\˜ó6òÅðrâ-£F?‹à¹¹àe¥(§S«UpÙÔÖÔk‚±>”Ö‚$a(\q*Ç•õrÅEƒj4ë½\\ÍlÑî.¬ÝðWýêÕ§Ï_¿ÿáóû~xûéËñ[Â^üñåñÕ·Ÿ?½ÿð÷ãÅ·?½ýøî÷ÿx÷áÇ?¿ýüÓw_>¾{yüzD½úQøšc~Gÿù¯+è÷?ƒ9»“þâ«pÛI;žG”½pÜÒ§ÇÄèÜð¯7¼ä:N cTñTˆQ6±²µnÀq,(Péâ58`”ok´d ¯pm3ÿfÇ“8Ôò–æÏÕZïÚ8µ9šÉEçŽZæc»ÐZÐjûß¾w‰”4Z¥è«Ô1†¢=-CÐw€gôŽb=Óñ4Fy7ÓÖf:˜Ó¸ì A›`Ä o%Ó ![^ÆXJ2æ":çÞgGÈ”cŸ†dJ¿…³LMüo7Ëk)ó´;M‹~úíftªNÏ5¼Ñ×iœ°cAshï³QL°äDæU¿V¸^ ¡ø Ž—ùZJ)¤¡RCÏlOîc%¤3¬nÍÕЕ™ïÕ‘ŽmVÜLˆ¬—äDɾO'µ³éÎ`€ál~Úãɾqa°÷z—)»Q8p¡Õy #8ÁKvý~ø¯ù^P‚aÎ<8g¨—Õ ":ñC`ë|sÿf¿lzÛÖ•0¼?ÀùÞ8‹¦‘»IoVqÜšÔiqw-"¶4©C‘ŽÝ_©'rrMÒ¤\!hcØ#‡gæyË“|ð
+sf.ß+¼Õp!Ý]¾ùûýâ›Ín0©öy–Æ¡HivC}³×v¿g—qxP ;SmÞ‡AÙQã¼£3«›«xV—Ãþa™R3ß7½j.cxä—Ù3Š_)nïý ÏÞ ¬J³oõã{ýaþæÁ; 2­ºkÓý¢Ñ3í;ôK:0.¯€ ËšzßÏM’¹˜™ 6W{äå¼&ÉýþQQÂæú›<ä;v™Óoy9œÖ$íóff|¨Èö›“OG³<IÆFùHž¿;ÌÞ]~eæƒ2#bo¯|7”W?ùû¯‹$ÿÌ÷Š§ß&g”™¯úû¯ý»×ÙdÚÿïùç Bþz{h=ñÑqïŸÕ‚qóáž9 ¤s­ Íç“™}’<Œ bÊB <è÷ö?quÿaöŸÚŒÀ|Ï{S™Õ %aºŒŠÞĪ&Ž“EfN° |ë4Î- UŒ )ãlÁ`PVŒ•ÛkÂÚÂɧ٠Kb2ó›Qhˆ`É‚lÁˆùwÔHhš3ŽD]ùT˜¢\»¾rªRÜVô[Škš¨´œkãh¾â©Æk¹ûrk@Í(RÍ0"¿ ´&*ï¼a3Îœ¤p&á_m‰‘˜ñ¶à¸˜*ª‚ºñTLó¸kÊ
+ŒH@%êvÕ*Î}¨e=:‹D¤õnÁm@Œ…D:² ‡w±˜†ÿa±ß1y¨ãÜbðÝÎÆáÀö™H’Ä4عøŒ ïüLdT]Zk¤Ú8‰¤*^€ÂÔÚ=1®ÍVE)¨Óu){¡ØLè9ÈÈn²•Û^Av3¯z
+›' LB÷ÇõŽM^¦ß&gù3.ê†?ðÞ4Wh ô&Æ̸M µµÐÇàÜÒPÅš2ÎÌÞÁ²Bp¬,2 êk€XÛƒ8ù4;‚$ÀÏ:é©êyˆÑóИ‡@„æ¡9ãHÔÕÐ#ÕûÊ©Jp[ÑÈ©åœ2¾«3)Õ埄Tcndh×kž°$&;à41 ®7!‚¡5Ö2¤ŒÔú®–ÛÊs!“X0qƒRÚÝ’±]¯ùˆ‚¡¯N¼~Ý=4§%Ę‡Ð¢{Àô»óšåï‚h! ^¢Z6ü2ŠR@œ×ÁæŽ$ a‚¦õ-žkLËÝ×;[aî÷:bat¿×1[o[6³ÃÏI
+gþÕÀÌH|o‹‹©¢*ˆ›Ó<îš2À8•­h[pÃf*®—F—(¨j°åÁs­å\3S;Uvpø ê- 3rʸnæ¼öÌáuAÛ}‹ˆ²rt" Z3:OšYÖ§1áØJHÕãGlñ}iæ[=Ÿïñ#–§Í˜¦ #,€«s’´rä,ˆùºÕŽ8¯·ùé=zéo½lÎ_bÖŸM ËÊèþ¨ìÂŒB@¼dFÙÔ¸SÁ„<J$ÜÖ7Ta9ßËæ~w Z³Á!ìMªÂ1,)É΃1l[áÈ®w­Û" ð³nO¨ê
+e q'E˜Ã9Ž¤X`8ò0[ˆ¾S³Û ‹ u›X"Ô‘GÙ 얬(FÞ‘H!,"­íÜœ9Ü flg ¡Ø¨»?~‘4Â=ˆ·É(R×(¼€°àܼ… »µÅGLz¡Q¨tU‚maIH 0daH]¢¸îB­: Â镈·¯u‚&D§)%|Ä0“ÃAs³w„˜ŠkÌP\[ô;`ÐÄ®è¼AÃ@¼Ä Ù™.£(ÄylîH’@v!hŠ˜
+&äùS"ᶾ¡
+ËùîîBw Z³Á!ìMªÂ1,)É΃1l[á–»~BtšRÂGL#6³_O‚sªi¸g¨†Í\žƒ¼ì[©ßó.Žd‚ü©‰xÕSØ<e
+ò¾?†¨wlò2ý69ËŸqQ²O>ÍÆ”3ŒzƲÔÆù…¸IBª1þvhkÕš
+-˜H’Ä4Øe>Ì«´D$ ‰ˆ­„ÚV!“Ø8Æ›u§k¿]×Þwº†¸‚N×:]ët­ºöQšwºu­[×\–5ÈŠ´SµNÕž§jݲÖ-kªuª¶+ª6!:M)á#¦ålЉâ
+RŽaIIvÄel‡[n¢jº»6z¥6:ìÚq]umô°®è
+Ø#ë™ÿ{{È
+ÐÐë ½fŽ"‹_
+Kø•S…g,£[ªb‰XÄ +Ã] ³—qß«K[…$Ä(ae‹ƒ°[²F HH‘
+c_7‘¶0™™Ã Ê·–qÖª¬ç÷½ž?4ÿ{=óïؼ6¿Í½fÊü%F^6¶8)!¢FÝò !¢Æ¨ÖªÄÚBkšd²»¿|‘#4Ò=ˆ·E˜&ŒrDâ‚só‚ì>Ô$z¡©­Û­tU‚ma™†`$À…!U´v\oqÝ…Zu „Ó*Oß½•´L…–œ°$&ˆ3¸lN­y½l“UÁa˜uG3ä^”ÚÂ9lfIU8†%%ÙyDÛáV›?‚ ÑiJ ÕgÍm @vëÍ_HÙD’$¦†§êÛ#
+Ä"©ÙM/u]Ÿ·Qj+©#D ̪}jYN7éj¥
+xÍIù1@¤# ²æZ ˜®ÿa±é1y¨ãÜbðÝÎÆá -âÛ’éˆ^ô[5åÖšáH$Uñf…ù£‡$µûÌ¢}Ž¨ØÌé9ÈÈ.•ÓW=…ÍP¦
+ÏXF#uƵZ–°Ë:iؾ†»ö?âË aˆ¢Wñ¡Û®·ºñcu`š–’ ÞÞÒjI„Ø¿f×Ńò2ÉÌÅlmjeËL\BBÁL©yÐP™Y¤Œn ©¶º:ƒÆú›Sí–mcviÁÎ9"-åj¹qpþÊ¡žA‹Û7xŠè9e¬–ÚÖôÊÌÖ?Ÿf…M»/^ËP8xªU#Ó³$öEÒ Õ’
+}
+endstream endobj 185 0 obj <</Filter[/FlateDecode]/Length 4444>>stream
+H‰ì—_oܶÅß ô;ø¥@ Ô±×ŽÓ ûd{k#€cØ´÷¾\‘Z1á’
+EúO>ý•´»¶d_ZÇNÝ¡¶z âõ‘—?ÍpÎgåÌ;Qü²õë?ìZËn¶ÞýøÃxëçë…Ò†‹í$“Š[¡kÅÞÖÎ{íî~YýãnrQÿòç™òö—­©³RÏÛ¢K¦üJ%y@£Ùb))¿½U'úóòWÕ™v&2qÒhfï‘9÷ÏcXQxå
+ç·n–Âñ‰¸”¬:@Ô–ÿú}‡=vøΓ§â”ù¢L…«Ö8ûãEˆ¸Ý$R©éÚŒË4õ…Ø€û“ôfŒºYVÐÇFŽiêÁÓ- 0M˜
+•õa¹Vj*ª¡”¹êFSrž¹R°e€ øà*ÀÀ—¼MY"кµå /ÅfV,Ì%0|R©ðN–2²«yP
+*¹`nݳ†–
+ ²´Þíן׈÷ôt˜Z0
+ñø»§Éow’|“ ï2¤"k%U›½p„*ªN
+ÞMEœ&Õýè6ºn¸ÂÛ´4Ëi™FlË£[5ìï×ys4Ò!¼e}Úc£ëqýÀ»G@§‰m¨Z±0ÁÜÖ´©ð^–2ºní° -„œrdêŠÝ
+á:z ¤IöM.¼ËŠ¬•¤“¯›H†V»&L%¢âx”E¨ò§ê4
+Ü|j!]pî†1¹°Ì³gçNJ<™ŽÍ"7Exˆ{
+ÊÔ!½û
+n´Û¥ý⢜ƒ—USÜÓ±oÅÂ\¿´8…9¡Šüf¦Ö,’ZFGò`±`CGqºD î̼TQa0uÅn
+@¹0®ãF¥Ü& ÂáûOwýiðŽØ§#2³Ï"qGÆk^žñÈ„zèÁÐû³Ü¸B‹d®¥-#¶ÁèºbYãí,Ÿê|-·œ ¨ÅŠÂ+dÒ¯…d“åÕîA7ÎŒâÄŠ¯¾,$2gîéé6É©“. yT°¨u¥ÈÅl©©àÞvSi¿¸H»„ šbâ|Úó]Ã67lsÃ67ls±à Û\L½Úæ€9ls›°Í¥–•QY ûÜÿ…¡ßç^ë\×9 lÃ:ñ„Ö¹aÖ¹8×¹ƒÍZç œž¬sÛ£ Xè0ˆøWºÿÃç–!“uØç6aŸ[f‚SËòL&qfʇ\«O½‹aôf'V›Âñ‰¸”¬:´±5åÄí”ù¢L…«÷‚Ô‡#æÅ Ý a@R'ŒàôŠ}›4-Dh.õi /Aªkm?TyÆ^f(S¯‹ÇŠ÷ØJUW·£Œ}7S,ù2ÞZ~dr–Hwón÷ä<7J@–Së¨z±ÆÜ€;rôíT×Ë[„6V?\çiÃZê=ˆj«È7WÇrûÿ)G% ^‘ŒÉ…e.XË&Δx¶›En
+¯}2¶B¯’±CX9€äl j¦Ðk$”'w˘…¶ÞåÇ‘«³ððàB5!°ÚChŒ‘çp(ˆµt2ÅP|‹åó€ ûpÛ”l(Çɺ„w[ÊŦ8Ђ¬£ÕRgu2u¾‚N ~WBÒ–Ê5
+¯›h m
+^íÊOÃŒF¶µ á:FqðEK
+endstream endobj 186 0 obj <</Filter[/FlateDecode]/Length 17759>>stream
+H‰lWÉŽ7¼?àýCm.p'óÚ=ðÉ€OÆèªiy;H‡Áøÿ'r#‹õlKr+œE&s‰Œ<Fíí %?öVó™j¬°z|<;”Oª$få,¥eÆÒIÔôÛz¶ª‚¡•y@;¥Âx<ãhUŒûÙSL †3×^ ¤ÑÀFgn=ù ãL-³qgNý„ZøØÖÏ
+˜ZËŠ J[>ô¢x93n>L&
+€kñÙ¡XjÛqüÈvb¨Á‘æI@8ࡘxMzW=S!v€“4* ߥ$–Ißg'4ä)4Å+§WA÷`𨆴0ûù*µí¦9”Ú6Fïg.šW 1×P(nŒÕ&¯EI˜«¾+ 0L\\ýÚ HsMífœÏˆ€˜G40#?zu²€·+.w0Xµ¬-bQmÚ
+~l\ÈŠ«ØÑ‚ÞõëúóóñöŸç#úïÛŸÏG<¾ûõÛ·Ï_ûrüñßÏ_þúíÛÿŽXèû# Åÿ—JÌöù,=# Q¾Ö?ßþx>JåðüýGÿ‹æ+¥¡µ9*îûú|üÎ÷¿½=??àw8Ã
+p&¢«Ù¦F4f;>}Þ_Úþ×ñÕÁÐQûjäb—”Qc³Ø'Ï . ‹^=3INŸh4£ ]u4Ë}ÉBMé+ö¨Æ˜ÈðX†•u)V€m”6ë/ô h'Äý~7øQÑyA_€h9f+“›ž€´Nf<ºuQGÕÕ¡ÏJJ„Ü„¥]°wob0L»›–¬O@TH+`ÒnF›T”Ì°ˆµbÞ‚Gj¶È¤ ã€'w96£GÁðïNd#éÓ_<™Œ†ÇIæ ÂNÒlĵ‹²±’·Ð ³í7lå*0v£TÞç”S‹þ
+Ph'™ÀÁJ>PrÖª4´ÜÅóÆ]
+‡ÈmI8v ½-ù©…dÈŒ¢$?]AØldLßN6Q*g`œÂÓ/é±(z ~H£6î¹ #ë°F¥„Zm0wÜ sp˜.`y0—uS
+±æ<¯' Ò—3†#«^ˆÚ—þ¨Hª lJH
+VÍ\‹2|X-ðœywePy‰
+)åc–x3¹
+ávS=9j‰ ;‹°z?)•· ‹‚(Â4'D0}‘Òì ›%,Š©€9q8,9íÓ Ê ¯~X£ Ê@ó:ñxà¿
+ƒy3i¯.3pÅ(=ùi$§ULËÕäWè– ²†Ý”^º½†Z¢——ï¸nX0$¯*(ÀÔ½D *9•›1º+ªñJ*Ø•Ö_*
+0ó xq%Qf‘¨ZIIú…75Oâ,(—2B]uä’8)±lÅUy2¾J§´I/-Ùeºj›µÛ«ú3pLÏýf<Û«róÞŠŒ1-OÛcµµ 9qsËÚWéìÂôYC[&pPS9
+ ‡8^.eeGßä-"ù~â/‘•#ö—g÷è“LpÝOxí)¡mÁܶ¦wÀ¢ñn¦©÷á¹¾øaðÇ—ÄC‹ÅîÞz•
+¹ æ^Š‹y–¯W*«×Y¾^Óºo¼7@«Ø3‹L¢Ù,8ðL¤²Î›Š¹po@àI){ukÃsBˆ{__AÀš<q=q2Š^/T¹ÑÏÅÕIU—'9Öó…þÒò¾Nþ4ª¼u‘ªf@'öÆÀ+]B×Ùsh‰½»TŽ›m
+HÉTÚG†ÔVëÛlá2„ª¼!®ØÜwS)íTöÑ&}úËÔ¦É7ãÙ]kº®NÜ'ñjÛËØž½m³}ÿ﯊àççã÷çã‡_Ÿü
+G8>}y>ÚñÝ÷ǧÿ3ö·ü
+,/Âñ‹«æDÂðµ$$ñë\HxÉ’‚,1(£¼r-Zº¹Ål`Ö™Œ:ÜÀJÒÐÈ$l†x‹vScùž³åû"”²ª*ä;Ƈª˜B4¼–îÆY„Aó
+¼<dU£cVÒê,üjÙ(-›¥ª±¥4ÓœÕS4U¢1̃Æt"Ô„¸W½ UÝŠ.:èêfíO'–Ž¢ E_ ·(e‚a`Õ¾
+º†¨å?Œ€Ìü-·²ÎDOšqá•C¶¢’s3”ÅA¸õÃÛ¤!>T¬
+•E"”owÙÜtU4Çþ8dOš¤×ÀÃCV¢Ê±'´Ôådû‡ ¢Ò¿dªÎ¨\9#ï^ EçÃyd|9u[´|¯C­EÍ9mÕÜÙu‘]p¡q£‹ŠŽ9€qè^'¤SÛü˜Ó;Hx®Æ¨€îÆ)GÔ¤ÀÅäµ
+‰¥&´ t\ZÖ~pœèLŒË|!˜€Éù™=/?||ùÂ.¯¼¿¿¼»¾Zn/¯n¯ï?-ùd9¥=¢sЧ$j1_ d+ÈÍ.$-äçáwà»1᧞Ü)r; kœZ4“\¤2¶%…•,|NŠË”†¥Ñ&æ ¤… BÏ}½‰–jŸÈ„ê–Ãñï~ëá/kÑ„ÞÌ}éH:¬¯^}x{öøéÝíñÓíÃýåãÓò%ÅÌòö=jøúì½5Ëñáî÷‡?ÿþrùûõr÷pu}²üƒŽ}E?^¾pZF(µ§çUÜÿã[êÿ¼o{ð]üáëû«žî>>üÖ‡ë›Ûûz}¸¼º¹^@=Ëw—÷7×'/ÍrF¯¸ø<Äæwôc~ä7øíWÄ>/aùvùég³\á“ß 5Ââxæýh¸EcÚÈ´A“´p.󇿠pvÅ÷p¦Áàã@€O¾Å©•‘Õ¦'s.ƒ„¿œ88l@ ¯PE¼`±Á+ø¼³ø¤³¸;Zå ««Y•€Žø ÛT
+yžXv©ƒyyEn_
+ãDP>ß ðÎ7u'CéZ“‚}@ú¹‡‚<m{
+‡K¡W›vub˜[&¾ŸÇÎðLþsæð‡E8r~)ÌÜV’3Ƕ•äéO¼²zÑWG×ýY]=÷“SIuÛÿUêŒܸ}ê¯QFcOgT’Á‹ <ŠCAú®îú£8?B6:*‡_ž'gëÊÉ‚ýRCI`g(”LÚ,Ž—iÞ±³§iäïÓö‡ÈÄ*x¢ÇcK5v~Ãì~Aó ¿7ðE1Ùhùú7N7Ð/%`*ýÓÄRçUÈé\\N`3Ðý:È´ÐT’p1„Qä'‹Öb½¤É:=Ïz@[
+ Ϲ-”TWò3lTYy)½1%×qµ‘½q㛌U+ñ•.€†qA²a0H•reI¦-&-(–K Î ì,Ç®5JÖx­e‘®ë¾'h;ù<^˜s/ü§|D)L†xµ_¤ëKÊBШC‡)Nù¨äaa@³¥ÐËñ&Sc·*¨²uŠÂ?ºUè`Š“Ø­e@§z~â†^ÑE†7F‰˜k¬`Á©"D‡ks‡”'d¬DFˆY!Ë-×8>]ŒªeFÈŠ
+«!`è¤Ý̲Ae?a€çàö1@bc–yrÏÅÈ=gÞòÉrŠo)žÔì`ë àf¹ûvçÝ` í̾­¢úËiØð4cŽ¨-ñ
+ñئ»D£ñj%ÌOdUJ±€,A—™Ö[P/Àx%·= kÖSˆì!Äà¼Õ þÛv
+:In 8¼˜•8Ä~ÕþUo¾”Ü® PˆÚ<íÀ5ñþ€®2ÞHɱ÷ïalFVjröÓ‹,¡zŽ
+Ë´LœÈ á|áIEÙ qyzš“:¾Šéj7
+)+”Þ’fH°ˆÂÿÏ©Ñö½-D—|ýÙ®:Óˆð›!L¨’‹cŒ@c\€aî¸ÍÓV"P GxÕŸ3Â5 ]t
+\Έ‘­’Â`ÊúS0ÝÂ@o†™‚Ú‡Ét!%Gnÿ&Óp~ÃwÀ¨ AüêÁ<T½˜ç\µ=»+~„+ȹ?-ÆuÚ2¯á3Á((ÙÎ@ûWЦÝ"ƒ•Ü´b²ÎŠç®`Ì]ûp<éy)œÛ%;Õ`öHß ÝùpWPâ´´TÐP„¼ºñNŽ‚ 5›¶5ND8÷9–VÕ>öFD 1‰?‹Gfß éc3ÁNñ@(¶<—“qó•%ùLÜK-m×ï’„3&¿°Ë²Ž¹6@®'%‰³aSPz³µÔ²›‚B.SeHÙ`ê}ô«×f¦€'XUFñ HÉwÀ/31fïP’…ËÑʈó&3
+½æ£°¬Xg¾Õ‚ ÄÜ;‡´ .ß¾DH^2·[±`¬aTÞ`Ür… ²øŠW«
+§ZÈ$;oiÑK¢Ù"D áDs’(–O"%dŽ^é’7JÍ[èàYëþÛ]rU=÷‹;§Ã6ž' a?ïàx€Û/ì×Úæâx×yÜ)š žÅçø蘜¹WoÅ
+Q½AlÓ\» 63l±úãš-±bµÝsxÙ¶=²jñ×l‹lóÂm4"—b2ûÃÑ%/.n´’1©Ç®z”€òš’—Ëø6C¾ý°’$…Ë<oæ§Ý9ü¼aÉ7]î}×^ºîH›ïø°¹óÈ›eT²)ùŽ0›¿ÏÅÁôG2Ú²pÇ(Ñq¤Gæµ)OéL¤©I¸¢œèX‘³íÜ'zw¥Ã§‰ßþýý-?þö2³%Ll›YIÏD¹ú#NeN¾ÕŸË§×bGË“d"×:ªâò|yX+†Öy˜= ÝÆbÉ5\‹Ùj)½,5wƒî7lbýõ3¿¥™ÅOÛ†©â
+” 0ņ@GŠ0èÕØMµ…c¢é„5›ZDÚ*Æ=ËÀ`R…þŒ#€Â.L7‡`߸+ £)’c uõÈEk³:=åè/e[ÜÜVQkOѧ½„iì9”ÎvêŸëÂwJUlm\ >žL§âúOaÞ8¾½gêóq½*Š«(¸v  ö­Õ¶›˜ø#bÖnâäÓˆéÞÄ–6SßsäŽr”5†íáB±ôWÇĵp\6²{éžm`æÓgÅÍ0$Òx.x±ñ\õ†"×Z‹0n»ùÑ¢C à– §iÞ~{jœ±%8 ¶þ؇í~r³{|”³Ažt­èö¾É‘D®k“Zk^·0…<Ù<aÙc^aj¿;ʠץ椗2ùñÖ¢üÒx8±L~ZŸãðš' rk<¯áãaŽñõIÅïzŒ¯Ï4<nß0zÇ~¥`Á†?”%Ò âMÉ,á@Ô‹RöFëÀuRÊ7®Ï¢?ÀQ
+ž8w FÑχÍÚf5¨ê¸Ò aØ×ú+ûô=øÓ¨òxÔMªÚÙôfàÝ.¡ëê=´ÆÄ.S rs©€ŒL_·dÈl º´…Ç°Q}–!žØJ÷RíÒni$zÑAM}ZèÚ꺑x+ñ†í!ÛmÓöKþ?^Áïo¿½¿}÷Óûþ¤Gz|þåým<¾ùöñùŸ_¯ý%Û‹ôø‡ JN2O
+‡¤F㬳‘ld:+Í ÁYKMª&»4IüäKÈù¤.…°ÀC$§þš9lê²raÿšu®›®³™:ë즔B0¾­†
+Ü¡¢;”¦ºŽK¤¡—ÀÑ“ƒ¬1ƒA+b¼Q¬­“_bˆåã*Âe7]iYÞ²¸þ¥1B8ïòßWõšô¸b虿%&`þ›‘,䵊ï
+ 2ÊçÒÌd§R]A«¦!r—Û<†-¨´‚>«%ÆiqôRâÜ•¨Ü‹9O•à -âi™ÑŸ ‘ñKXÏ\³ÖˆÇäyÖj‹}BD†©Å/î~Ñ€×Åò¨Z\DVÌ”,W@ýªï€wMÉ"dµ™Øýqzr%IšÿŇLÜpö‡„ª:Nú^40Q§I8(JáçEÝŒðîÅàµzç¶x›‘«Áï@Í•õ8.Ø‹»ÌÓݯÀ•g»Ÿ EŒëqQD«óK'ˆÓdy^œ\—ŽŽ1 ûÀà›?…W¹È©,M²ä
+#éÉÕDœ‹9{£ÐaÞ@ùQ ÀfÅCµ(à°£* ¡“)^åf
+PØ5` (‚µ´UÕHr Èpüï{8$ï̽»rU×6dÍÙY‡CÖõf*"Íw}Wjiyn
+'h<L̨’ 7}æmLÉÀÅ©ϹP’÷2‰zV-ã0‘"Èεn‹ühâ™A&j «ˆèÑK}!gbËØŠWÏF ¸jåû­Åµ³ð AÈÜ*JÞ†èeri2ƒ¯eA
+ÿD`ûUÉÁ9(ÏM¬üÔÍ£.É<¥‡CÔßzs“š²^ñÑF7_0ÚC<X~l~$ze”1‡$!ѪÎT:¥™B†é)‚ƒJÆ­ˆÄ²Þ3niÈä‹Ûø†æ
+Roü”3ƒ!àý¶úIJ9Ÿ ˜Z‹˜PV›¢rñœ#¨§¨$!É&ö óL]0<윢¤ƒv¬ÎpCï@lP¸vÙeÈ\C=hIÀ2}•Í¥$½å@¬ž…’áv°U ¹Tiv†HžÁ„ ²Å„<}̯#BT‘—r¦Qhñ<+{HÉn¡ÏÐÒvó\%)'ovó³=[FÛÌwêŒÖ´TIò4ÖVDPçPAÚsMnú¯ióêô¹©oˆóQ½PƒŽÍR¥òÌPÆC€4²I{Mç'!„¶j ˆa””j X'`{ÒEÛ¼M£ -pÍ“k 5Ñæë–ÒƒzË<… :% àhZæ'»”?Éñ8Ô-Ø$›­ËrZµ7€ ±XL+ Yu5kß7Z]ØL-BÜe-@•ƒj˜Ž>å×e;ND-Ѭí1²m
+Cß°üLÙ‰À”„‡Í®èœ§»)+mzó°é&I™`GÓ%x’åTF%¢“"/‚&¼ÓÑ°1*w{Ræ \KÏaP ³>¨ÞX¯-¸+MÛc³³Ìå¤á!g©«§gÙ>ð4šHD럯K·[‰:ˆÔÚú@KsÚV-¸bdsŽµˆ…àÚ³ª¡ãðµÙ‚ñÓIËFiYcÓ2JÉr”7‚,BÊëÝÙzÊX;ìæty¬íÍö‡X¶¿˜/Àpêi‘[¿û||Ï7?¿xywÿêêüþêÃíîîóôGÂþD?NžTÝøÍˬùù»Û‹7ŸoÞ¸V`³¿¼ºUèéf÷Û/ûûg'fzIg½ûÔ’öÛô¯${ ^Ô@7†Vðíã(@§ÕXé øòŽ¾`Îÿˆßþ ìÓ¦Ÿ¦¿ÿÃL8ëÝk¦ˆZÓDm@’š$5A8ÔåHO'ó‰K™
+% õ¬÷Ê~)‡œ%‹´2ÅÏf½ì}XIÑñ¼3G ˜Í ¾‰e{êY Q#¨x÷3öú;·d_áw<“$xŪãGÖœ¢¡ãf £h±V¹b|VúEldì\u£Mõ [í1›vuþV—ÀÏ¡ùž­q¨6—ã´8 wl›Ž)Ø…_bÜŽ™ k¶ÇCÆÅ'˜mdîXs€ûÅ1£iœs„0ù&Ù83#Aüz«;fÓ­Îßê÷^sÀû­ûaC|ºcË`öKŒ›ã1³qíÃöxÈæ`–ÅlÊ:˜Ü/ÐrÛí*4'ñÆ1˜ÅCÅ°>ë[Ý1›nu>;Üáe0¼ßº6ħ;¶ f¿Ä¸93×>l‡lfM§Ñ¹ƒ2à~ñJV²[D˜‘c0k@sOe¹Õ³éWçÏÚAàe0¼ßº6ħ;¶ f¿Ä¸93›Ö>l‡Œƒùí[M#PIScØ¢é‰yÖ⢠F®Y™ó¤TP–á–@,štÊF¢]`rt°èx ®<êu³ªÁÎ\òÁ‘HJÔ²ª¤l› É{ŸçQ K¢ÚŒ[ ´l2ûâûÚòç¬Ú¶ˆµ›Ò 5U6X†ŒmÛÔ]ÏuæKÉÞë,6¹z J¹ÚÞ
+Ñ0pô…¶Z a¼°4<¨_Ûäæ"b˜„ÚþfÅÛŽûæ[#VL›yšk<¤á]Náà~¡\2µÖ° À1|²ô Kyx†³š_j°ÜŸsŽÍ,¼8[ëGÜËB¬h†Óœ—å –ú0hÍHxÆMaw‘ª¨Y¿L8u°°UudbkÍ4ë@æ¨jòB$8”l›GSÉåÑB2x•d4ói2©¹ž ‡¼Æ‰&™áîYüœó
+´hˆœg ÛU”pÕê! ΔÏU‚ÄF:H©BÙ}4ÎÛ…BC\ßØC)ê;e>Å9´&ð¡ÁðÔ¥þÇpµs+
+®ÈÒUfƒ ®Z…æÓ<×,!ùÕf‰‹kv0ÛÁ…œíf‡KFà|¦âÇ7½ø#ÜS þ¯»ûûýÝíw¿ÿúáîþoŸÝ?›þ@{ÌôbóáÃõrÓíîýõþûWûßd›=4õSÌo÷w;:r0ˆÉ+”‰ªÍ£ ÛxZ¦
+YWžÑ$9xŒWжsÉÉ+ðÏÍåɇi-¢ƒÐú¹.ZÝÒ‘P²{s#L±Ù´%úÛxØ>Åå"ü‡Q°¦-~(2dö4šXÀ¼ø¨bªÓ»ÝZíŠøØ·¡—™»IYˆ³š\×=¤iPZÅD”VÅVt=˜nJí%5ÓA÷æFݯ‡”Z&ÔÒÇn‹ï É´L%úîŸ{ïc´jš{^iÒ˧t˜ç,‹óB£Á+¯ZŽuLš’D£?ÑöÄîcLı¨x¥à•8¥&š»ó½¶‹[žlÚ¨àâäIRÊ9†}ìéÆ$r)!–8Ôó„áh~Ü`eˆBƒÆYKäW 6Ø%Ø:C=ª3„äˆ%냋ýØŸn¶]9,ð™¦}$­2ZˆyÞÚê`Šêï1Cý‚Ã-
+ËØ-@ä‰N"ÚV0i«}R&Áµº
+½®BŸ° ¶:ÓÁ†ÒcþÄVE_Zíà|³Í7ëPulta¿¦iáÖcæ% ÷|þB»á`°­;Ë”9ˆrÑlÉBië Ñg5 £þ€gŸƒ•èÞÄŒyÏÑ¿kM6é“ö¡ÏŠ
+ÄP9½»éßÆO°ÿ/_NW5Ì}þÿ½ùŠ£#Ý#·£ç¦ñ…¢×ž¤Ê`µ£þü”yA•VºÕpv^÷ún3hËVmì 1ï[‘`*ÆÌ%ŸŠúâØ/·Ý6Ž$ ¿ÊÜ°/4ÛçÃ¥i{
+×€ d“k9IA(~ûý»§O53$%Ã’„7‚¦Ø]}¨êªÿËßIâÉÎ9g
+N=jÛ¬œŸ1}ÁdãÃãKæÇ[ÞíÞœdèN"¥d
+ÅI3í\(WÌ;&}®I™!×缩 åÑø]ï×Û5„s_Ãq†›ä^E[‰sãXd ñ5|7ùE³‹î±úÎ2‹æÕ¨lfšl…`iª®B¨e²âéðQ% $t'àM.4ïjFµûѼfy¨uãBœÑ„d´®›Ê.¼ïšs½&§$u{®ÞÎæ\L¨²~V m½ŸÕÐ# ½CAOtv÷L:¨É•EB+Ë¥Ý'¡%
+€`VÝZ
+"™ãìŸ
+àšÔùãV]<~U„C
+ÿt¤¨sÜ…E˜» ùPãÛÚYcW½³#O@Wn:¾Í“Ø¿*Ç¡8Lƃn„ÊùÜÚQÍÚõœ=Ÿw|®ÆÞÒE9_T$åžê¾²}f¿ÍúIļžÞk{À4“ï^ú!÷=k§û™µF˜”“ì)æ±¾ÿ–óïíõýùõr†bŽ óã@F¸—a@¯Pƒ™Š
+1ªÆ-K¥–*¶;®¸>ŽžlÚ³½“uõ§ØÒ^z¨`vâ â„;0Û0H Ç'¥æ‘kÿ µÃ•jëø¨ÖDuê$÷Ìbž‘ð(¦hÿ±–ó M™¡VCÊjá£låºÕd‘ê‚Ì1âJg1®WÓ0§¡Ø“Ó[§.¨Äï:ý®ƒzήÚÀý™{˜[zäb½
+°]T Ì°ÌzóPª«éßË·?èSL1÷í_WÛëÛpñüÛí%´9ÿx¹úùîËru“†ñ©«30ïÍíuÜYãp¼»ŸBaùãífùîëúãö2˜½É¦‹»ËËÕmwÒ®þwû°û*Ü݇ûZdÞ™K;â/øïOØî;ÕýÚýö;ë–˜þálÄ†ëŒ ‰jMÚD¾•8³¥›¾•[ù»¡Úê52Eś¨ pz]‘"Qmž‘‚xM–*¹tßÊîü]wÞxM§Ë SöQï#ÕS–îrq1_[9j+*ª:oøOh¦BÃAçä\7©°
+/Rj¿OòÇ C˜ºéQct¬j¥.e’AÁc
+½.hE®q˜¨¤8w±9 Š“fÚ¹P®˜wLú\“2H®3A$Ø S
+¥ñ»Þ¯!·kì6¾†ã 7+ȽŠª¸ìƱÈâkønò‹fÝcõ5œ!eÍ«QÙÌHÙªÁ ®’¨e²2êðQu $ˆ'êM.4ïjFµûѼfy¨uãB¦Ñg´®›Ê.¼ïšs½&§$u{®ÞΨæ\L¨¼~V!m½ŸÒ#½CFOTtv÷L*:¨É•EG+˥ݧ£%
+€`VâZp
+Zõ‰ôxˆ´Í9Â,&¯Gvë{¡J.4vÄ™Ø՜݄lÈ95oÇj1u32ûýf¼¶32Ð#>5™4¼dàìñiS¬ûq¶œ•öȇ×M]¥¡À Ôæ™›i7‰ év˜Ç÷®vÄc´Á=öƒ¤ò„ räpÊÙ—ÏGP9‚ÊTŽ r•#¨üAÅ¡ÊÚ˜z R2"PbPT-M4fÂ$—vÊ<Æö•¦lu(•ÉŸVD>ïXAî œvÿ\Ð\=V&ë.¾aÝ'†D†‰ÜVLè" Z’¡”ªÈîÆ܆ Ù75û!9WgÍ„u/c;;`'Zz|Úë:Všõ‰?Ï
+Äì²îHÏ_]2SîAP2ÉèÉP
++³ö#¬ü`Xyu$•#©IåH*GR9’Ê?‘TP4½Óƒ†TVš¬§ŠÝÊÞòš—²JMíPW8FÖÇLȪ¤2ŽŽ×/÷Ùó~Nwìó» Æ();y†UÆê?ä B½ž GÛ:0W…weÇÀò¨e'Àò€e¹ùD¼BÏ$áaí`oj€tu|kÇ ÚÕœ aE›(VåD™µS?ÄÞ¬ë$paÆîCbi1ÝçähŸ$¿[+ŠJ]q1=YÖŽó‰z¾z¯»ìÔÁ.fnu²Ë=öƒô"{®8êÿÐËc]ÿ½èåöv»A;éþs}¾ù¼ša˜oÆ«Ñ×C/ò¥#X %&£àÏvêPQbÚ¡B£M’¢1…÷&•êˆG‡ôf0–å³q þ™à=f&Dò×:â$H÷d¹ÆøÞ«m7Žãˆ~Aþa^ HA´ê{w%O"ã8Nd ü`À zE8 xh:6ÿ>§º«o3»+S±Ô왞ªêºžªf P7Ø/:¨¯àùo˜K:…ÂfL$œ¬lFyj0½0„¾œð
+MðyM…Ø=9®oÊÊ“‘}¯)Ÿ©VZ”ƒ[ý6 ¼¢H~™$"iª{¦Bì>ž ·û˜¥#ÅIˆgÒ$mê°G¾AÝüAb¿èohgÕ[O\-tzHÖ‹_aè¨\å*ÑPH ¬ºå¯×GÕÎ’?€‹ˆMŒlhÉBzéiÌiƒCˆÖ] ¯è>¨0‚†‹½žX«2ÍHÚ‘Ÿw4‹à6Äa9ùqð8æѹ™<YåÙǨô<Ž9ôþ¥­r–ûÊÙë¼·î”Ö)³é2í¹qy…‚ãÆ¥ˆ[Xm\šûg‰®'×púm8ûQtÜâ"b®h„[Þ'.l7+<pŽRÝé”=”I+'ðòÆz‡ŒD9âødÙtªêù_ˆù4ÄÎa4YÍaC¾uNçó´TÚ­AÿÓëÛv:× ô¿„mc™„×Æ ¿¥ëa…
+Ôù› ¶~Å­UŽtÑØ©[ƒº©ƒ°|ŸA~Ÿo½ð+¸šš×«Ù¨\8JÖ9«½‹Ìw"x¤¡™ï(1ˆ‹(`û:ÿÁ¯=wš¨ÚÓuŸ}”nøm‡µÕ2¦ÖsMq i&¯
+,ñ-O<VØGulyâ°o,“8\Ư3eçäÊÎä,&Û¿åj0­jDÅ
+iGQ×ÉÍ&p«ƒ±>àeÇ°–dQ1Õ™4ñ]ANˆhHuV†Áõ¬YU„Û¡(õ¦Lö«2ɹ騕‰‘ªsÔ[j¶^°u©¼.–&a]Ž6å²_•K7=ƒ…7·;2¦“Š+wð&À}&×EAM•›œ| Rç9/ŽL|š x%Þ
+¨|¦KJ|ejÃÒ7à
+‡Õ~&G±Ê 3g+â%66d@¯ÕBˆÕŽŒs`ëZÄkªŠ™¢Í[e+,5©šh¾LG&œcü¾óÀ ÷3}ºÎ³ÑÉ.„»ô!œÐ­` jÇ&g¸SMÞ懈"ÊœšÙnæÆÞPî/X…ÚM´®c1QQÕ9Ö®ÖamGaŠ¼Š˜ #ÂnÚ{²Á×’l8ä©`«dÔFõFÄ ¼çõgß½|uÿðç«ýÃÕÝíÅýãòGÆž½
+\$8‡²uA8!ÙX5Ž¹iÄ8‰…8Šúò±Öƒ¥…ßò§:šéZ¬$GðÄ 7Þ"ÊÝìZuUÖÏAÀ*ˆÌ
+H:ó`€6®Ö3-¸Âßœ¨+í2o«²õ(áð!é–¡®ä]Ð š%Éð©v©ìF;g4IŠDç3×q ¨i•öž¿ •-¡¨÷TS>ìñèsád±6 ØK/Û Eí†RÍæ¾®8õ|-³&í&pÉkoOødv- Ƭ"¶M®ó#IwšJmåfyù%xÎ34lû‹‡‡ËûÛÏywÿðõãûK™jyyvww=º½øþúò‹Ÿ®Þ]þ(ÇôVÔL€îóÀ‚ScgM šþ·‹C?3ilœ‰¹¿|syqýÕf×/üÅ$•Þ^_í/ßî/®1ؾ¸¿z÷÷ËÇ#ãìWM¦¿^^¿_O¥ÿÓHò‹FíÁÔ= ºŸû›EªxiI«Ü±â"ý÷µèDý-RÓÆD£„¨4« ®l_ºC¡ç2M<ÆT™ äòáÔx4ÍhEwÓå]ÀWÙÚfw¶ZËå‹vyÛî;Hè®™”9[k§6€ý
+[ßîZŠ•@IY´/Oâv®çÈ}Ôó¨”b™R¶-õ›¤ê÷€†«©½% !2fÁ-msÐW<¯såÜÐBa˜@ÉC™LY‚ÉÞYâú¦Ž¤6a¶õL1Õ÷|Ÿ¨ÛÛ~éAD÷ЬÏQƒqì×8àã}ëP¬ëH( œŠ·É›jÊ8®fu ã+•¹ÄĘdX7P"‚1 C®†KÀBT11¿¨2NoAÍ©¢Í—DseÓ‹§-ºSI1˜IF}òa­ª >ñL/nÒ;ÞÕ^WØ
+¥²Å«…¶$b?NËøÆä°Uø_»œÆ
+Å”™Ö%ûyá‘Ãy¿÷ÄÂ4*(Ḫ¡Õa<ªìKÎ „Ò£¨Šµ¸qóNäõÓ†+øR"”(È 5ÚÐ
+DL¼ª—p\I#Ú‚Iu‰2±ô¸(¼:¯¯Êê*¿Ø0¼÷`EKñŒ$!.£0 Åí¹Ì{c]s£)L8|n| ¢ãœpbVÀ¨TæߌŠª¸¦òEH£/uÎwwå0xžŸ!ðÁÐéÉ„ƒ9 ña7Ø`ìAœçL^S­‘°!
+ü`
+endstream endobj 187 0 obj <</Filter[/FlateDecode]/Length 14501>>stream
+H‰ÌWÛnÇ}'Àè¤aû^Ýö—r&’2L ˆåîŠÙ€äë,þ}Nõe¦g–ŽhƒbÒÌٞ꺞ª"ïLgIjùNjåĻÃò6vd¤cÜtÊû
+ÛNûÈpQÑ0þñð@Š7éwª8Òg ö±‹1}VàwØSú<cçt¿Sì´4ªàª”h»@1|Ð||~Ï¢lð×?àÿ¯nN϶»7ëÅn½yœoŸÄ·Œiqzñ¸GgÊü}¾Û­¶ßþe³Ý}xúeu,¾á3RœÎ6›ûñ¡Çùíýêí§õrõk9¦öE]®îÖ¿î¶s¾²¨¨3ÞYát'£WÂRGNz¡\•BâÏéåj~ÿ~¾Û®?ó'#±ñê~½X]-æ÷ëÇ»·Ûõòo«§"ú;þë𠊣cqý3^ð™¼ùþqyõôp»¹¯À Š=VèèÇí­8³ûO«ãC)Î8G®;<øtx ÄÙ/üú#?ª¤~{bè¯xú7°ß„ïÅ?þ)Å__æäcK„ÂwÚS²«Áu§-‚Ź%;ÒÄq6‘ß)æÇEÎê4éþWRp2b$¢Ë}éãw¸7b$1•Tpý¥õ=ß<èÕœ,h$î› ³[vSþ3û;ðè§ÇÇùÃj)î¶óåz…d1渜€{;euȯvR‰¥Œï,¨ùÐy mfw‡ÆÀ,íÓÙb/H£ŠIz æg¥èg³ß+Ó§?lv—«Åf»„ž9[_¦×^žŸ]¼-v~ø¸Ù>äßjž"¡—›ÛÕÍÙE¼RW»§ûÕÍ É8Ù=×Ë}—ê/¹´ü›ÎßU7øZŸÒÿ²äx›Þ5!XI^—ìEâ(émƒsŠ©.˜œb± ´3 T¨´ªùØ㮂­X¯q}6–·>C4¾=ƒ+Ÿ’®‘5€£‹|ÐrÚØ3¶û|ßï^–Ùʇcq";)•µ™c`¼±ŽÎª@a/8Æv
+ÿ央/év°¤Õ¹ AjœÔˆà×Å.X2
+y
+ñZáARÐЕÜ&8‘¿L¹\ÚÊk¯ç½‰ìZWÛ êðU0{Ðæ¹/ã¬î>¯î.8Ü­M,ÑËd_=vwzÏ#œ¥<:Ç™ãBM³"±G×7x£k/¶7i0Ÿý…ãø¦q†²^“µq*$*è3'š ÁÒ‹V¢ÃFŽ(ïç[?>×ð q
+,5Ò¡‚Y‡Aáæpcò vß/l˜ÊþzGÚSáüXu¬…N#öà…qŒðEpŠ¿ˆª3ÒR­ƒ˜¸]vMiÆϨ3h:ï½kÀ"×iirØçÑb$µÇª‹J ‡1‹‘ÔÈœÕX…
+ ½¾íáÁàFìž^#BœÆf‡ŸÔ—ªoo°£q²:’RÀ¼¡ ÈãaŠƒé´­Q‘:²•Þ`qÈUƒ­IΫ`ïÔ`£Ÿh’*LÄ`Ñ¡HèqBÁ[ëÄH,éÎÅèÇ:T°KQ¸=ܛ֊ÝóÃk„Åb±²”N}éõ­—9»¬…ÖåÍwÆèa‰¬0&gíRŒQAÙdI2õD²¨Óœ½ÌWxôˆÉat>ˆ˜ˆÀ¬Â¢2j…c?§÷R½D‡Œ&ŒTèÁ"¡êÛn,Äîyá5b‚²öʸ“úRÔÕ’†Ë&|6c]çtêµÄ©uÓÀÇ ƒ˜#¥Ôh$„|ö‚×Ìä0L™â±˜UBÜÃQ‰±T¡ò‚بPÀ"aз9ÜÜ‹záUÚ “°”æ†S^ªºZÕËÌ^Õ
+•cG¸•á°Çâô
+ß?Þ‰£Ùìl±øôp¹ÙÍùt•È±ÁJ\/sBê?šS
+ËÞóâèX\ÿœˆèÌ»4»¼YbBØ\ª^äq©3H]LÛ—è Šr9a ¯D•ò4s^%›¨à²Œ·hï1–Æ*&UtãyvQ¹1D_n#“Ë ESLédÛ)˜b„ÓÃü†Ã”f*äv–Dbà³ä:¤.¹ÏóÒ’ÉŠ©Ö×µGvšœÍx’œA :ªd¥ê.äU0Àžó:1Y2>ã2L‡P‡tWÕ“HüYZBΡɦŒ‡Ñéß´èACv9⦡»CI\É_…ÌNŠàH8ì5ìÒYЦCÂÊ%µ.•ò$›âåx¾Oôä±î ™¡h04îTÚ=#@i”8Å„‘;±Ž2E“¸‘›OxîãçnO<ƒÆI+ØXæŸý–›¡K݇ÙʺÂQ/Õ<É—š è#˜W¡©?®ÿ[)$+Ê\ÿ¿°Ù*på¥Ý ¬MiÙ*b•C÷b£ˆK\C’ç$rŸ/…NÒ"º201o©LÓ\¦=±è5Ï@eƒ–UªT†28쎲¤)ߦcb6Œ­^™¤.žHå$„U¼‹TøYÕGB`<3Ï2ü]b°4•AN%½<71WÉŠ§>Ìc˜b2* k™@ƒª  6ƒiÂüóU×bÉmDAþC¿²†¹H*I%=îŽHpXH0,„`l¯q<›`0&ÿ>§>Ô­î{Ù½ã¹c&ñÜZu©T§Îq2‰µj5\²îwŽªÈVšñÆ‹•xZáµÖöĺ uqAÊ´áÙ9
+0ò FƒÙ”n:ˆxˆrsःŠ#ƒ²ba†uÞ›p_dO*v°kàœ)™dEp¿Nµ§Œ]
+S4v„çwÕ\8) ‰×eCªhê;ZÛ°Põ“*Je톚IÈZ“¾€ì£èÑÖyuùº1©Ì„T-º
+Í–Ö7Œv5‡ëR1*…d“%#„
+Çõº¦$u…¨UF¤D
+8œ@Gˆ
++çg…¤€
+ˆ–‡
+•³zgÊ¢(EFÖ
+©æq°®œYúá FpqMNtrwlAÅtØõ …âÄŠ\\{„¶š ‡‹Q°¬dFêa
+ñN¤^ºc‹®Ú.LXž¦º ?5욊zJg`¦¡}‰¤Š3NFgÛÙÈ—!,)3[ pO.Ù@g
+Ë]'j¦Q/~.4Ø‹!dPLÐ6^„à@!¨T]Í\w» 
+l ŸBâ" T’yñ[!«Ü%çÐp ÿîÒíÊÐåû„>µ}™”•Ý„=²VσJè%Š)”—
+È’$œ“ U—Ø›p„ˆ|J· ¨~ {†ú\„!¹•é'60+„ºÑb!éµ:L¡XX@e_Å45°ÑóSÆqˆRtUÇ´”ˤ“DÔˆp¿ôé¥{c0Ä -‚mÄ ~/}YQ\Ü,%
+'È(é/ÿWF}fsçb6ú}úñdÇ¢Õ ¿óˆ]“±×KÇoÇŒ5®éÜö‚Éãùs3‚§ìÍ?/ãÑ+?ôb@°÷¬­S‘Š
+¢áå ø8_Æö”î!4«Öd,Yº;Y¸M/#ŽnÓúÄq»2®ßjÞæ”^š½]J?¹þ~¾°û´DÐ1(ÏÃhÂjžìÒ\µ8?jªµf#’bŠ£W»pìØê2»­àa¼ö¡ÿZ»°uªóW(ÄÞ×fÜ]<Ù·(7§Ó{öï¾?OÅ—×õtLíÕ¢"æ,òðxŒ›`aŽ RäXʧˆÿY;&RA
+#\[rM Ì ¬z
+?AÞá¿!-ïó!¹’<!8Ì$`gˆ ã‘ÁÁ¶‚ñ0ñÛç«Ãßj©;“–-}ánUïCí:¬ZË8’¡fþjÆs5ü¬»<¬Šc0í`-+²É$AUá–Í^²‹#“Ú Ü¥Æ4Û4£R3×•é ¯ ´™cÜ>­Öc6’¾ˆ×³¶ýD\¼VBm6š¥B¢*È{4æH…+ÕG5ShÂêö2Õì-˜Ãsi¾¸à±ãè¾2·¾¦e¡v¹.Iä¡h0ê¤
+h5íĨ ÓÉ$c?ôf¸dÕoÕ­ã3ñhÅk­ìs×­­È©ä¥
+Ï.QР÷i¢´ZP± /…›C€‡6jðÅMä§4-‡t±vüpö+XQŠdaÈ5µdieIØþþÔf*F!c \”7JÏg^…»ÌÓT«L–£n¼‰ÌÎ.˜OèKníàV²BV1èŠÁÜÑŽ«x]¶7¡Ö㞀êΙzœBEò¾˜Š{ 5²r†YŒÁ8¥BÎÄ Ô¥_1ñ•“B`¡‚ÈÛ°Q(¢j?_·§!öÚÄX^fì}nR•jdÖ® CUtaðØ!?ÑÈw)ÒÔ&¦h4‰çO- VÆV­‡›1™o;j Xºb#Vé»Ágʪˆú/¯HI‘Õz@­Na7La„³E7"»¡k󬕲ëu©§"ع*¦ 3±–ƒ¹ø|­7²Êôe1ÐâÓ­”>·çÎ9NQ¨Ã@jÒæšLmÑBnN#3@ª
+Ùõ¼&)¨[¥Fʨ
+MYxq:t¯2i-N…·œ‰ç5ù"¥V` Ò"”î^$ß]³ô`D*·
+=VQNp¾(€5 «1W8c)ÕŒUçñW2ò&§¶æ>”–ÊikŠB‘‚P+^!ÜŸQì:ªšU¥f¢”l±@d‰.+G0>5½Ôtå6ä¨æšMíz–g¾87ãS”m
+ÝW*.Zfô×µ £Ïµ»ÂÄ›gb/sñÔ©$âE±qŠ÷*k#P›’¨X@¼ ‚~æâ"/£R\„E¢½–$§umM”®¥¯ˆ‡|¤ÚLÁXÓ†q!LŠ„‹ÂÿÆþn*@ž
+¡þ‡qb…£”  $/3}Ô½FxZÁ¥@àì$’šµY3„ í±&z´”mÖ…Áº¶t·ä<Ñ3ôüUp%Ó*»hì†Þ×
+®u£Ô £Y§ÒÿÒ>Í„U^y£¥–]Á‰½J¦Í>£¯U²¬6‘6¶˜‘y]ض̆¬síà E¸¸E§;e:´±R«¿¡æ¸ËLkÃ{DSJ³0rzU‚•-›1‹ð´¤SñIì%˜
+MÍÍ5Íq· ª`ƒ‚
+¿‰ ©óà^¡¬}JÌ‘r©ÄUÁéºìO!5—I™Ù½ð£;æêaP‰ZÊȈú5€R’÷ß”p à)MÉŽˆõÝŠ1)e
+BÛ¶h5QPB(’B„P,¦àJ† 7µË„s[¨Ò²¨ÁÙÓz@Iѽ€ Ž1L(t¢¹bŽsB6 fÊjä¹L/ 9få[×þ
+å×b+8™Õ]ƒFâÀh^2nØubû‹LË3æ9|1S}_ <]@_ïÑŒI¤©'Óa· ‡eâÑR«F§#í~"¾€+M¢¬š A-þ2—¡µ°$”)”–8‡p„Ø›V IMœ¤ÙKe† CH"91ä>œ"o4Wļ5G)rÅü!CÐUºi0Fö6§ÂrS¦ †)7¾”ÅAê#Š¿Äþ¨kahaàfau@ãÀ¾Fb‹¦…ðN*áüXoU/Ž”4Ï‚§¥ßUº{n˜dþ¶ó×
+ ôG´Í ÂÂÓÈd‚äÁ<Í™”0ŒÌÁo@7\YŸÊ$Iÿ€ÂD@JrSÄCþ¤!C YÙq]µ’.á@žò<í¹üÊv"29@ÑùÉç_~~çËG1Õe&Ü Å8&ÄÒ½Göä~YüŸFüAÎÙmAý|usÅÜù~8rîÞvá7gOcxñ‡÷¯žz÷ãÕÛÕpþú§7ïWÓɳçÏý&,gréÅ/
+
+ÁAá/JdkHQê®iÞCJÂifˆPwúåm ËŸøö/l¿,eù~ùû?ÂòŠ‹.žY;„Cç9Ð[
+ÞW‹%¢diÿo¶N©n~Þ]ˆöÁŽ¬áâ)÷'rý,èŽ[1úî÷üè{îxò›éõpÁW:çütu}µòœË0&þð¹å/!·$Üâ:EzóÍBœØÅà&3z©1bˆsÖ4-ÆÖ
+å̬;Ø) I’/:¥bFñìÕ(X–FÒÚgdåÐLs5öÁiÈ:/Ò•sKzö[pœuuìÙâŒÔ@PcNv0¼9näKí·(³N¬†Z±4x>#Eªº¦jC½†¤¡Æ§@”m‡¼ö¨n±C/ úº¾‘Q÷BeVcþ.©ñ×y¬d'ýÑeÇ–@Š}ÝnyŒ’ÔÅÑ
+åá ó3kf!zÌ*#˜ËPçi¨¶ÔDq\SwöÊ Ôu#Nˆ =Ý8â¾’ÒƳR¶¡¨€À…“¡j¬—@¨! CÂb€!MdÉN±%,Õ¨‹“sn•ä“ú±ë,íb¯qboÌ‹XBÌÑé1pÑÖ”&q_&Éé‘ä12ýáÕGèô»‰<“¯ß¯~| ¼z½ún³ùi»ýpùâúV¹rN~‡šù—D¾€1tÎý©f”ìÈ4úãÑ÷öìfu²zvsöûþuRø¦ÿÑt-‘v‘ 5‰ùm}H§OË«Q´PŽ
+*Ï;V¯³¨L«aœ]ÑŠ–
+ Ô³S_XQ5q7Q/…ùR”ÊÜïmŒLŽœiÿRÅ`~ìÙ aÚüj™'ÿmÞh3}uuuv¹;_½¾9;»Cvx´U”"š0º½M–A Ž…ÔŠ&šƒíïæõ7ñpY öý¤1¥‚â²u
+5Ym.µ’ð³Íص1abJ•ŽY•½tl&rúnçk%¬W´p8ÏaÚDS÷9 ¥~˜4h½—CókL݃°û . eŒƒ²£Ù]M=Òßµ£…! &‘HR *ÚÁå!¥Ç vh\^‹æ t&2½jÌ µhj§Á"H ¯³xZÀ°Ž’Êæ|)
+s[]E`ÃÙågG‡³’Ó£c0%ßÅ}éó¦Á‡t7¿Šðp¤ˆ)~ŽÆŒ
+ar2êîë®°"°fu Òù{ 
+?b
+Òð•uùÏ¥ü4pgË «ø©¸½€f‹ #ð­6ÛO~ëæ¾oEÿ*Y9µV3VÉ[‡®q”’܈6nµ½¾|wýáê|õþÍÙ»Ýêòú|7‡¿‡ ÷e±‡½¥~™l÷
+‹øyñzª"Dñqèʇº¹@W¦ÃÐ5Ø ]¹ÃË}˜+~6æ
+d.Þ;ö§!W=‚\uátA.ïž¹ò£‹ï\ùQÈÅO\ÇðÊ=^ÑŽWü¼Bj«²<€±Ò1–?ÌXîs2În´'=±””vPý÷`,š0ÖÃߺ¹ï[ÿ\Œõ‰¸óvûßÏ‹ÝùÓáN
+Z{ÑŽA $3hG<4óãé³÷¥,"U_ƒ@>±5ТÒR
+òr°ï'ý‹8=¯ñ'Š;¥AC`g õ¡³®ŠíeóR䃃SÈ>8Ç\ì †IxK°¬$ŸCœ—Ä,÷’HVöƒÕÜî{]*SSîþ !nkXÉB"÷¸Ö’Z½+c‰|‹ °7Žl=v/.±‚0S3Î8ÄOÒÖ¥2Y#é{È '¦~Á0¹ê°Óè‰ÓNL“ÐŒ†ZLÂj’ÍÉvVcÿ>¾šìlì ­¦¿Ž ¾íŠÝaÈbê®Õ½ó¹'ˆQl¬ïãÄÞŒ”S7–ÑèóÄ8„;'×h 8Ù§¤šp+[g¤¡ü‹ÄHžhü>fÎÌ+’€¬ün^|z:óðÇYê_Íàê«v~AÚ™’AW!{‘ÎBÞ©0bf=Ø—Î
+±¤á ¥D:‹†$ (I>Ä\ÁøôU5¿ªæŸZ5%Ô.è –FL² MÌ8%Ó¡1²YÔ}¥–…Qv۶υ˜IæKeôJžÛ0ŒŒ0Ør0IEÊ‹ 5Å’K´Å:bÊ®õá‚íÚ‹ Ö»eÛ3ŽEv†er Ëä:úlfœª~3%¬ – óW…h /¡
+Ô|·Ô¤I•`ÄÌd;`q‰lqt±®fÞ”mÇN4÷üö®‘4 ×àçIôH]þ\{ª~É¡ÖAtî$ˆÇä8MŽx›Œ‹Á™úÔn­R™,˘u&Åc•é°@%óáŸæ€XVé&™âË:~ê[7÷|kµ9)÷RײÇþHzÇ8yx&› g-©SOSátˆ¹j‘­ÌIuíŠj–Ð~¬MÄŽÀ±Ç5•Ú”áCûÓZŸÙS•õ b÷ìUvJA¿²ÍË`‰K&×¼NÁ¥^0°ç¢š‚w¸’Ôa8^.²C‰ÿg¿J{ÛƵè÷ùü2@L®Z^?Å]Þt^ÛM0(03[MÜ:’!+É´¿þ’¢K^âlÄq“ÊW$/yyî¹çö|ßò¡¨CTã9Ôgó]õ²¥°+§÷ÎN¥ Ýx:– ñ›Û@}ò}W¥©và_pje¬ëgBÂ
+á/Ã
+ÊÓÕ€RJø&Í1×çž2sîœë¤BOë N-qê”[×oe¿ ŸzF§@C‡xšMu-ô‚µ’½]µ/J»r¢Œ¾“Ù¾2à×wA•*6»‹µ—ìiî’CuY!…4TAe| MÒ¶/Æ!Å­hA7º3”
+ØÆá.ʬG5Ïàž=¤™¸>$-n4*,€t1'}ú`>Â]f(ºÝC"3=”sÐ+fj£‡ú¯±°žÏþŠ>A—ÜW†ìAEh']7‡üdÙé‰@ºùËÀÉc jz7èQ<
+†,'Cs Z6á•Š[ÂZÛsχíR}iŽo¥]7úŠ€ëûñª ®ìúRÚž„«•›qdø¬‰Âh «¨Â^\1â ™V‹è{wð-ÝÕÅÞìÊL¶A2;O&3Ú÷·H<„;úH *$_”PB,Ç¥õ:“fù¥s™´œIˆ9î¯ãWÀkw©K¥ƒáåf/«ÑaÚ%ß6]‹ºJÔÍ!ºjA˜.Ím\¼\¼.´
+jIl¡
+  fÁ‹zdú–eॷzºðÞÔ{-ïÊG½G¶(òŽ%0¿k tK`Á» ½±ÏzÞQèíÀV¡÷jCk…Þç¤UèíЙB盧гn ¬.qç, j¼6ÃWÝ(ίø»Ø‘TJhlèò)f°áÂàQ q>Sôwe
+´ïï~Ú=ÑÑ9yµ˜.j÷æÎ]¥Ý[æxQ»7wîÚíÞ­ôŽÒßO>¦Éa6JòQr¶»[Ø ª¿ÙzñqbÞöÝáøN¿ÆƒBi˜žÆ¤Ÿ]NÏɇ(‰Îâ ¢ig;Ë^ûöU4€‹ÉùhP =NÓñä×$«Ïí¡ e½F}‚Z8¡c¨]ãí8Ê—Nf§ô26ÇÚ5:føóf´Çgaª=÷{FùycíWçQ6H«sb”]£cìqüON^®FûâUíÑ$ΪGy–~‹±·^qû@LóîïGs"¤áRŽù®ã¥ÿQjÍ7›0tñ®×ÜAHëŸëGÐí9ßìÞ|‹Ùà |ÜÑkŸ{qn#¯óÄúVD9òÂsr홯»cÂƜݓs6æ>>7Žù]§HWîêí9N°[Ý#®äÚQ˜@øq¶=bbÇz¼,»·ˆã¼m7èdvsœvïé^wT#ĹÁÊã,!^µ9 -†'}]—)‡4Ò\ú–3u{böNWßû:Àí;í(ÿ>Ž§[/öþ—¤×‰ù¦Ëÿö~’&;dï#ŽC~Åë}ˆƒ«¸|¿÷*½˜hD¿qF3È%ıf«ÍöŠ1¿vO;Ê£Á·›O[Å[?šŽ W<‹'qóe|ƒõ:ui„˜¤ù§xB Í[;° i¶#”üŽ§¯°]I>?ÿ¦d¸…wŸ*)¶÷:þB^’­d»¶ÔŽ^û%1¾ ´Ù;Œ²¼óXýqœ —„bñÌ
+ÍðNPÛyµÂü/>Å«4^Žòy'hN¾#@蛾Mà0´:@c2ß\ÅÉÁphŽo TÅSw©= ëöž§xhüPˆBÐ M!e¡g${hÑ_>|ŽfÝÅÈb³È*7ôÔqõdŽ„9oþ‰—z/ö¥Y¢›ª ~p|=?[–!¯Ò,‰³éŽ‰AmÒvãu/M°1[¶0(v[ÜžYeïx”Wà[ô§8BÎeÑpt9]€ç5‹Í3©7âÛG"Î[eÂ{ªXå0÷M(>σ)Ć)ž SX‰åtÔÜûy5µ8*6;^gé„GÃôºµ—ó3£±ÂªyÁ\H'Ñ(›L_Q®#‘êÂ<PιU©žtÁ»m(§ƒ±ÝNÿ.ÉÉö`š vŠmÚô=O³MËUœåÖB©³ £ì›];uÆtÙÅJ.8_fn1ãïtœ [ÿeA¨çQhOm
+ÃÆ;ÐCÖ/”&<O°@ÿÇ™b
+*Ó/ªß‡()s’é]ü“ÿŽ×."õnPCfV.gXg8Ë¿OÔRõ@ªÐÓEàñ„œ!FA÷)n÷3W‰þi…÷V6½Ž 6EmSÔžd·£ÈÙc·1O˜7 olxãIò†¯¨VQ=Ͻ@˜ʹV\!ežtq{
+É8`™€ä¸W,¡ŽÍ+ÍuÎ/ÈLÅîÁ0¢û%«Ã\RÓ‹RSñÕÿ#¡õç ƒ<äâÙÔ,‡$¢tÎÌ-ÈA”Îz•h×;%JK¨MãAZu- À-{x`8¥ƒ srBªb€å~ ^OxæÛ€
+î9ùå
+¦Àªe´b­X°W,
+endstream endobj 188 0 obj <</Filter[/FlateDecode]/Length 6788>>stream
+H‰ìWkOËýŽÄè/‘@ŠÙ~?®ÅÖ/ÝäÚF‡#˺vØËx–Ìvð¯OUõôÌô.ð#ÉÌŠeèé>]}ªêT5ãìÍõögbœýÆûÈ4{ÉÞ¾ãl¾ ïŽðüooMž–§ì1ÛÞb;ÏUuÜ^Wå.ûãöÖc6yº˜µì1¼šMKƒã&Óbµ˜Áª¶lØOÛ[;óåIÉ~®køÿEµü¸ ;s6éfÀŠ§Íò’Ÿóåǽbq¹ `ÕÕÙ¢†)å«â}I“Æ
+ÉlÕÌhà‘Ü6“óeó)Ö›Ñà‡²‰EÈô½Ä¼h.hˆï¹þŠº¼,"¤…KJ<©®òOªzþC—oÑå·0^\Uí»±4/Þ_Vƒ4Q®EWqI÷K¬WHh%<.¬NÇ?xH¬‰k‡ Mmv¸?ü~}VÏš–Œ_ÑÁ¡__-ëÃ,ê³Gºñi ©vXTeÛ–QtOîoöÎÛ#X¿j›Y~·K}ó IÍ_loÎJàÎßÏmÙ/½'‘E)T¿Í=CPÁ{–mÖ¯9z1eGå|XeEðrl`°F@Že–Žÿ£¬*P§´ÞJgIX†­z¨|ዦ,ë~.(7ÞWH£BÈ—‹aù“ëbXí½²ÖÀ\gƒ°7}”VO««biCàxf„ru£w²Õ/‹3h‹@Ø
+Ή$
+蘢©/#A´:,²Q£Çìà18%RÚ
+Wï(ܤåÖÂÓ Å1ù—áqdÓ ¹æ ‡ÍXp€HèÌO"9¾?tL‘WéþÌBŒ½Ö¤©{²TgLç&颩‚”ÂnšjQ„qƒÌGiy{0ÔâÉc¹@"Q#-nÕÁê˜h©”Cîzgqh¤Õy
+G AT"€£ÜÉZ КHÐÉØX[¤…yŽÂÚHx^b;å’Š )—(•P³磀7’L­]²†ïRzŒ
+=H6˜õ+%Ǽç¡}ƒÛu0†,
+€Úº™2ýKk¢çúüt©,=ä'è"Òéœä7‚{A* ql¹'O3ïcI`xô0R'ÑÉÔAF)õNRȨNV*£•½,ÉÄeà74+ ú†ëµÌjV”}ØÛa¼e%K‘“¤
+µô˜× ZR…AgÍŠKd±ªá–Ãáo yO©4¢
+†¦LtcNI°Ösª26Ž’2i ¯Á?˶PšRÞ¤96/(¤Î<sd3Pé‹kª**+® X\Ñó~„ëLìÏ,ׂpÁCžà ƒ >MõÚ9MÆÐáz4˜ßš³ÖE1õ*?,Ôð¨}mT@,ZI;ʱϰ†
+5
+Ø7­6
+l=¥²V×÷¿)t¸¦n«|ýˆ×†î|LÑ×gó»^²oý¡oH8Ýì0ÞåøB
+ý[.Ml†‡»+Aùßþ¢K-”Æ0€ï!Vc¨C Ð2»ÞöÝ=ntqYçhUs£¦Š Ïx„¶<fS?¢SãàRg"ã}xŶz·Ù÷Šâ
+Fjäÿêiø%¿U~ú8÷¾ý‹…_HZÜÉÇ3%ìÛgξˆ„É„å—ÐçµúÌ/?û(ä£<¤ô>Édþ7~ûD¿“M*ÿ¸©.Á;.’gÎdý²ê=Æ$ä»âÿ¾$ìéjF·4-žæŒÑüNùîÊ»Z+éG!ÈÁüß{yÑ×ò÷››c(yÜõ@4z¿o…ròÃÇÃjÉÓâ§þ‘ÿý;¾*¬Eëâ¿3’=Ñ"7 A|£|È6OYÞ×ÇG%Û¤y*¯úW_“(–µ7ŸøŽÕ^ÜÓïuÅÖµÇYî—vD„µ—ÿæB¿ûU,ó¿
+Â"£̌ùb¶‘’³ü4Ÿx9¬½\eCV¼©kÊ?Wø2aDÕwŠRþxSÿNùn”¿S碌2 žhèWå;tØù99Üè‚äU¬•£¥´Ç3ù‰›U~Ì>™ŸûŸ¾ ô‹«åcÈ„3"Çÿ}¸ÿÌsyúã_®zûUÊrAŸH)’åFÒìæêg%.Ïæßø3oôW ]'i(òŠ”ªáÕ`ž§ªú¸øGÖôøqïŸ,û¶%"ûåæjð˜ÿÕµ[R‹£¸ø {AÈÈJëŽÑdõÇ‹OãŒB²”ò¼ BPš´ôg€Ë„…yÀ.2?3T~V4
+¸{ëx¾§J{ÛE‚oÖÀ¶«´(܈¦t( ¬VdK…ü˜&jx=ÆÙKýTÃ\’à©8n,qšr Ö:Æ\<Ãëh¨Qàå[ÎŒó6ŸÐ4]нœgw‹‡{dó+×Ë×'vüê¡v„D’~FUhÌ6ÙéÔY=/$]9Á(sŽÄRð®mdßbšD1Ì€i)ŠâZÉvI(cØQ‰…«}ô—Zˆ_6 ]×÷’‹
+ÈÕ]2
+÷ ¨=¢±è
+÷ ¨=¢±è
+ _> 5
+¼ã쥆ªa.IðT7‚8M9
+Pkc.žáu4Ô(ðr£2ã¼Í¨è½ržÝ-îAͯ4×ÍV”7ÊÈ»'vüê¡v„D’~FUhÌ6ÙéÔY=/$]9Á(wŽÄRð® °äÄ4‰b˜ÓR3ĵ’í’PÆ °£ Wûè/µÃl8º®/î%!«»d
+žf뻤
+H@w‘T.HbÓÒKA“DDv—i饠­h–‘6+-
+¸Át2ò'#ÇslmWì`k`ÛUZŒ€nD
+S:PV#²¥B·PC¯Ç8{©Ÿj˜K<Ç… NSŽÔZǘ‹gx 5
+¼|¬Ì8oó)zÁœgw‹‡{dó+ͽ³å2òz¨]!‘¤ŸQ$³ÍD6B:uVÏ IWE0Ê‚#±¼ëFsûJÓ$ŠaLKQ ÏŽ¶KBƒÈŽJ`Öá_j!ŽÙ°t]_ÝK.B*\Èí]B
+H@{‘T.HbÓÒKA“DDv—i饠­h–‘6+-
+¸Á­7M'Cç”®ÆXì`k`ÛUZŒ€nD
+S:PV#²¥B·PC¯Ç8{©Ÿj˜K<Ç… NSŽÔZǘ‹gx 5
+¼ÜxÍ8oó)zÁœgw‹‡{dó+ͽ³å2òî‰=åƒÎj×AH$égT…Él3‘NÕóBÒ•CŒ2‡àH,ïºÑÆÖ… ¦IÃü—–¢!ž}yÛ%¡ŒAdG%
+0ëè/µ¿lº®/î%!CÈÝ]B
+
+šf2àØ8«¤·‚¶æJ±
+qjQ©nÌõ¼˜¿BÝ'ÝÓó$Ê…<ruÇjÈç5µ;ÏgšÝ+^š†x¶ëÈŽI‡rõ<“ªÈ‘0¦ÜaK ï»Ð\Çx„<
+Bl«¤$zˆm$ûˆ|B`ßJ*\§[ÿ—Y˜]߃{)¤Ï%2º¿
+ª…¹dÞ{‘n‰q6å$@q …üÄãØP“ÀË•G!N-*Õyù¢žóW²û¤{užD¹G®îØñ_7µ;ÏgšÝ+^š†x¶ëÈŽI‡rõ<“ªÈ‘0¦ÜéX¢`S ¹×wÍOFSãyò(±m°’’ègŽefûˆ|BhßJdæ“2ƒ˜2"<îƒhíˆ
+endstream endobj 189 0 obj <</Filter[/FlateDecode]/Length 3958>>stream
+H‰ì—Qoã8Ç߸ï0@q@¸Eã4IÛÛ§¹6)\ƒ¦÷vPd: *K$§í·?ÚÓm­Ä‰h4måŒý0ƒ™6"Eþù;¿_ŠXƒüíÛ?ÿþ·ü/úv:‘ö[ç)RÅð{þ‡}^ÁËÏßNgV/åÂ5X3‘ýeÑŠ?@|¥„Òæ·j{ÉÒ¿Ìÿøù×é§ÿùùö¯â_×Kn—J2ýüó?þxóg_8Ï,˜—7œ~ךmÛœ‹çD³ûebGm÷‘QÝLÆc¥SfƒˆÆ2½
+x…Óçܬ·¢òd)€^Žùf1îÅ ¿Bþ­”ØW"šI³bøFþL+Ç!ˆÒèúîPÆÐè^,ƒÀê€ß\¥â5ÄYàw±PziïSp•[ô]oéj%„Zƒž2cAÿ`[Ö®£Ú€®öl7ˬºÍÓFƒ-›7„Pª)~
+­Fbt‚ ìœŒ‹‡rwÓz´ih¬þŒ.%^4Á8Ä$²yc¹Èb¸b«<2"¥ëio0ôS™¥ô5ªl`Ôõê…ç ÎÐ$M@nxêÅ|„y±7ÖÝò Ï?I2³ûâU¤·žNÚò9¦5ÐÝÌè‰qZ‰¼ÚÖ:¢ÝÁW­¹¥à çyÿ¹csARLŸSÑ流?@LïÄMá*²U4™‘D[ Ã}dT7“ñXi”^ADc™^€áÞ‚vËþW÷¡ªŸ÷`O®IýhÛ)Œ™å«(‡<Y
+ ×Ÿc~L“*òN*«™4+†oäÏ´òp‚( ¯rÊÝ‹eXð›ë]cØaÔgE€õ„Z•[ô~‘¥•j zÊŒÅe‚ lY$Ų˳!Ü,³ê6O ¶lÞB©¦øi(´‰Ñu‚²s2.ÊÝMëѦ¡±"‰M01m'*™7†‹,†+¶Ê##Rº.AöCß8•YJ_£ÊÖA
+W‘­¢ÉŒ$Úî#£º™ŒÇJ£ô
+"Ëôì ÷´;Xö¿ºõ}ËÅž\“úѶS3ËWQy²@¯?Çü˜&UäTV3iV ßÈŸiåá8Q^å&”14ºË °:à7׻ưè!Ί
+ —¢c~LC+ò-«™4+†oäÏ´q‚(ÿhÆüâ²D\¬ÞŒB'Õ´´íRÖ Ç!ÊÎɸx(—;­G›†ÆJ’+P0N¬Ø²y0‚Òß±[9p
+czamõú{‹ËaO–è¥è˜ÓÔŠ¼SËj&ÍŠáù3­@‡ ŠÃ?›1¿¸C÷7ã†Ð¹ /eßp‚ ìœŒ‹‡r¹Óz´ih¬-)ßV^Šœ,™£(ý»•çóËáYwà]e[9ÐÊV´r •±¶r •“ƒþÙù°×­²kå@+Z9ÐÊV´r •¿„ˆ¢Á`؆çç­hõ@«Z=ÐêV´zà—Õ½þàübpýrz࢕­¨ª ð›k ”ú¬ð»X(½´÷)‰»Ê-zÿpÑJµ=eÇÆ&ðrï:ª èjφp³ÌªÛ<m4زyC[!Ø
+AW~5ao0ôÉ™¥ENH’¬l`Ôíú
+W‘­¢ÉŒ$Úî#£ò®¯ŸŽezv†rí–þ¯nD§Ñå êºçÝKßðr`rMjMÛNaŒ/,®^ou9ìÉR
+¼ý*†iS+C§4g)ÖgÉÒ/Ûüðv¤·NÚò9¦5ÐÝìø™ Z‰¼Ù¶º¢æàÙþà UÿyàsIRL_Sѧ’Z<BFïÄ]árÙrMf¬ÐèpŸÕdš¦Ú ôŠ"š‚›%÷¸· ÝÁ²ÿÝ}蜖ô»Î.ÿ¦7¤Î´íÇô
+Õ–G¾XI W¢g~L3‹gVa¸²kŽ/´òð¢(à;ÚZÝ«eX= ðÌMÓ@ö d¥ °dÛå}Xn-¥Þ€™q[àZÁ%¶,’viòì7/ }W¥[7ï¡Ò3<œj#1úQPöÎR÷QÞnÞŽ6•°)|h’ ÈhÛQͼ3„B–\óu‘Òw‰‚t\…Æ©*súBU·Žõƒz!Ã9ˆsŒ
+ú°Ü2ZJ½3ã¶Àµ‚KlY$íÒäÙn^ú®J ¶nÞB¥gx48ÕFbô¢ ì¥î£¼Ý¼m+a5RøÐ$Ѷ£šyg…,3¸æë*2"¥ïé ¹
+SUæô…ªn ëõB†sçŠ& ßyDÄ|‚¹Û Û€nùDŠ÷¿X”¶ùáíHo;´åsLk¡»Ùñ3´y³muEÍÁ³ýÁ.ªþóÀç’¤˜¾¦¢?N%µx„ŒÞ‰»Âå²åšÌX¡-Ðá>3ªÉ4MµAéE47K(îqoA»ƒeÿ»ûÐù ß%¿ú—Ipvù0½!u¦m§8¦×íŸÉàrouyì‹•z-zæÇ4µXpj†+»æøGñB+Ï!ŠâÏfÌ/nKÄÍê¿qG蔞ÕÖ]ʾá9DAÙ;KÝGyÜy;Ú<6V‚–TX’ bÅÖÍ£Q”áŽ}Ò‡Ò£á þ(=Òš'5ðƒÕÀþw µµ4ºWË(°z$à™ T<Ê—Òø[.µYsð.·(èÃ#Óh)õÌŒ[†·\bËjºªwл=;ÂÍËBßUi£ÁÖÍ;Bx’·'yëËÛ.
+YfpÍ×UdDJß%
+ÒAr§ªÌ]õ‘$uÝ:
+@Öê… ç Î0T³€ü'À
+endstream endobj 162 0 obj [/ICCBased 170 0 R] endobj 190 0 obj <</CreationDate(D:20090527042239-04'00')/Creator(Adobe Illustrator CS4)/ModDate(D:20090730214335-05'00')/Producer(Adobe PDF library 9.00)/Title(colorbox)>> endobj xref
+0 191
+0000000004 65535 f
+0000000016 00000 n
+0000000076 00000 n
+0000048436 00000 n
+0000000005 00000 f
+0000000006 00000 f
+0000000007 00000 f
+0000000008 00000 f
+0000000009 00000 f
+0000000010 00000 f
+0000000011 00000 f
+0000000012 00000 f
+0000000013 00000 f
+0000000014 00000 f
+0000000015 00000 f
+0000000016 00000 f
+0000000017 00000 f
+0000000018 00000 f
+0000000019 00000 f
+0000000020 00000 f
+0000000021 00000 f
+0000000022 00000 f
+0000000023 00000 f
+0000000024 00000 f
+0000000025 00000 f
+0000000026 00000 f
+0000000027 00000 f
+0000000028 00000 f
+0000000029 00000 f
+0000000030 00000 f
+0000000031 00000 f
+0000000032 00000 f
+0000000033 00000 f
+0000000034 00000 f
+0000000035 00000 f
+0000000036 00000 f
+0000000037 00000 f
+0000000038 00000 f
+0000000039 00000 f
+0000000040 00000 f
+0000000041 00000 f
+0000000042 00000 f
+0000000043 00000 f
+0000000044 00000 f
+0000000045 00000 f
+0000000046 00000 f
+0000000047 00000 f
+0000000048 00000 f
+0000000049 00000 f
+0000000050 00000 f
+0000000051 00000 f
+0000000052 00000 f
+0000000053 00000 f
+0000000054 00000 f
+0000000055 00000 f
+0000000056 00000 f
+0000000057 00000 f
+0000000058 00000 f
+0000000059 00000 f
+0000000060 00000 f
+0000000061 00000 f
+0000000062 00000 f
+0000000063 00000 f
+0000000064 00000 f
+0000000065 00000 f
+0000000066 00000 f
+0000000067 00000 f
+0000000068 00000 f
+0000000069 00000 f
+0000000070 00000 f
+0000000071 00000 f
+0000000072 00000 f
+0000000073 00000 f
+0000000074 00000 f
+0000000075 00000 f
+0000000076 00000 f
+0000000077 00000 f
+0000000078 00000 f
+0000000079 00000 f
+0000000080 00000 f
+0000000081 00000 f
+0000000082 00000 f
+0000000083 00000 f
+0000000084 00000 f
+0000000085 00000 f
+0000000086 00000 f
+0000000087 00000 f
+0000000088 00000 f
+0000000089 00000 f
+0000000090 00000 f
+0000000091 00000 f
+0000000092 00000 f
+0000000093 00000 f
+0000000094 00000 f
+0000000095 00000 f
+0000000096 00000 f
+0000000097 00000 f
+0000000098 00000 f
+0000000099 00000 f
+0000000100 00000 f
+0000000101 00000 f
+0000000102 00000 f
+0000000103 00000 f
+0000000104 00000 f
+0000000105 00000 f
+0000000106 00000 f
+0000000107 00000 f
+0000000108 00000 f
+0000000109 00000 f
+0000000110 00000 f
+0000000111 00000 f
+0000000112 00000 f
+0000000113 00000 f
+0000000114 00000 f
+0000000115 00000 f
+0000000117 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000051202 00000 n
+0000048489 00000 n
+0000048844 00000 n
+0000049045 00000 n
+0000061445 00000 n
+0000058207 00000 n
+0000050103 00000 n
+0000049109 00000 n
+0000231123 00000 n
+0000049538 00000 n
+0000049588 00000 n
+0000055520 00000 n
+0000055406 00000 n
+0000051720 00000 n
+0000051805 00000 n
+0000052189 00000 n
+0000055557 00000 n
+0000058244 00000 n
+0000061521 00000 n
+0000062006 00000 n
+0000062952 00000 n
+0000069751 00000 n
+0000084919 00000 n
+0000102822 00000 n
+0000111395 00000 n
+0000126519 00000 n
+0000132206 00000 n
+0000141391 00000 n
+0000143749 00000 n
+0000159943 00000 n
+0000177431 00000 n
+0000183301 00000 n
+0000187819 00000 n
+0000205653 00000 n
+0000220229 00000 n
+0000227091 00000 n
+0000231160 00000 n
+trailer
+<</Size 191/Root 1 0 R/Info 190 0 R/ID[<7EB5FF43BD08164184F35B8300F050C9><E617EB833E197F43BC059F7255614CEE>]>>
+startxref
+231333
+%%EOF
diff --git a/library/colorbox/colorbox.css b/library/colorbox/colorbox.css
new file mode 100644
index 000000000..544a76f3b
--- /dev/null
+++ b/library/colorbox/colorbox.css
@@ -0,0 +1,52 @@
+/*
+ ColorBox Core Style:
+ The following CSS is consistent between example themes and should not be altered.
+*/
+#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxOverlay{position:fixed; width:100%; height:100%;}
+#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
+#cboxContent{position:relative;}
+#cboxLoadedContent{overflow:auto;}
+#cboxTitle{margin:0;}
+#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
+#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
+.cboxIframe{width:100%; height:100%; display:block; border:0;}
+#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
+
+/*
+ User Style:
+ Change the following styles to modify the appearance of ColorBox. They are
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
+*/
+#cboxOverlay{background:#000;}
+#colorbox{}
+ #cboxTopLeft{width:14px; height:14px; background:url(images/controls.png) no-repeat 0 0;}
+ #cboxTopCenter{height:14px; background:url(images/border.png) repeat-x top left;}
+ #cboxTopRight{width:14px; height:14px; background:url(images/controls.png) no-repeat -36px 0;}
+ #cboxBottomLeft{width:14px; height:43px; background:url(images/controls.png) no-repeat 0 -32px;}
+ #cboxBottomCenter{height:43px; background:url(images/border.png) repeat-x bottom left;}
+ #cboxBottomRight{width:14px; height:43px; background:url(images/controls.png) no-repeat -36px -32px;}
+ #cboxMiddleLeft{width:14px; background:url(images/controls.png) repeat-y -175px 0;}
+ #cboxMiddleRight{width:14px; background:url(images/controls.png) repeat-y -211px 0;}
+ #cboxContent{background:#fff; overflow:visible;}
+ .cboxIframe{background:#fff;}
+ #cboxError{padding:50px; border:1px solid #ccc;}
+ #cboxLoadedContent{margin-bottom:5px;}
+ #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;}
+ #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
+ #cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
+ #cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
+
+ #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(images/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;}
+ #cboxPrevious{left:0px; background-position: -51px -25px;}
+ #cboxPrevious:hover{background-position:-51px 0px;}
+ #cboxNext{left:27px; background-position:-75px -25px;}
+ #cboxNext:hover{background-position:-75px 0px;}
+ #cboxClose{right:0; background-position:-100px -25px;}
+ #cboxClose:hover{background-position:-100px 0px;}
+
+ .cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
+ .cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
+ .cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
+ .cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;} \ No newline at end of file
diff --git a/library/colorbox/colorbox.jquery.json b/library/colorbox/colorbox.jquery.json
new file mode 100644
index 000000000..dd517a5f4
--- /dev/null
+++ b/library/colorbox/colorbox.jquery.json
@@ -0,0 +1,30 @@
+{
+ "name": "colorbox",
+ "title": "ColorBox",
+ "description": "A lightweight customizable lightbox plugin",
+ "keywords": [
+ "modal",
+ "lightbox",
+ "window",
+ "popup",
+ "ui"
+ ],
+ "version": "1.3.32",
+ "author": {
+ "name": "Jack Moore",
+ "url": "http://www.jacklmoore.com",
+ "email": "jack@colorpowered.com"
+ },
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "http://www.opensource.org/licenses/mit-license.php"
+ }
+ ],
+ "homepage": "http://jacklmoore.com/colorbox",
+ "demo": "http://jacklmoore.com/colorbox",
+ "download": "http://jacklmoore.com/colorbox/colorbox.zip",
+ "dependencies": {
+ "jquery": ">=1.3.2"
+ }
+} \ No newline at end of file
diff --git a/library/colorbox/component.json b/library/colorbox/component.json
new file mode 100644
index 000000000..171764fbf
--- /dev/null
+++ b/library/colorbox/component.json
@@ -0,0 +1,8 @@
+{
+ "name": "jquery-autosize",
+ "version": "1.3.32",
+ "main": "./jquery.autosize.js",
+ "dependencies": {
+ "jquery": ">=1.3.2"
+ }
+} \ No newline at end of file
diff --git a/library/colorbox/content/ajax.html b/library/colorbox/content/ajax.html
new file mode 100644
index 000000000..e772638ad
--- /dev/null
+++ b/library/colorbox/content/ajax.html
@@ -0,0 +1,11 @@
+<div id='homer' style="background:url(../content/homer.jpg) right center no-repeat #ececec; height:135px; width:280px; padding:30px 10px;">
+ <strong>Homer</strong><br/>
+ <em>\noun\</em><br/>
+ <strong>1.</strong> American bonehead<br/>
+ <strong>2. Pull a Homer-</strong><br/>
+ to succeed despite<br/>
+ idiocy
+</div>
+<script>
+ $('#homer strong').css({color:'red'});
+</script> \ No newline at end of file
diff --git a/library/colorbox/content/homer.jpg b/library/colorbox/content/homer.jpg
new file mode 100644
index 000000000..87ec76c99
--- /dev/null
+++ b/library/colorbox/content/homer.jpg
Binary files differ
diff --git a/library/colorbox/content/marylou.jpg b/library/colorbox/content/marylou.jpg
new file mode 100644
index 000000000..4c717d276
--- /dev/null
+++ b/library/colorbox/content/marylou.jpg
Binary files differ
diff --git a/library/colorbox/content/ohoopee1.jpg b/library/colorbox/content/ohoopee1.jpg
new file mode 100644
index 000000000..aae19a3e6
--- /dev/null
+++ b/library/colorbox/content/ohoopee1.jpg
Binary files differ
diff --git a/library/colorbox/content/ohoopee2.jpg b/library/colorbox/content/ohoopee2.jpg
new file mode 100644
index 000000000..206894489
--- /dev/null
+++ b/library/colorbox/content/ohoopee2.jpg
Binary files differ
diff --git a/library/colorbox/content/ohoopee3.jpg b/library/colorbox/content/ohoopee3.jpg
new file mode 100644
index 000000000..4d64d2400
--- /dev/null
+++ b/library/colorbox/content/ohoopee3.jpg
Binary files differ
diff --git a/library/colorbox/example1/colorbox.css b/library/colorbox/example1/colorbox.css
new file mode 100644
index 000000000..5ee3feba9
--- /dev/null
+++ b/library/colorbox/example1/colorbox.css
@@ -0,0 +1,86 @@
+/*
+ ColorBox Core Style:
+ The following CSS is consistent between example themes and should not be altered.
+*/
+#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxOverlay{position:fixed; width:100%; height:100%;}
+#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
+#cboxContent{position:relative;}
+#cboxLoadedContent{overflow:auto;}
+#cboxTitle{margin:0;}
+#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
+#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
+.cboxIframe{width:100%; height:100%; display:block; border:0;}
+#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
+
+/*
+ User Style:
+ Change the following styles to modify the appearance of ColorBox. They are
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
+*/
+#cboxOverlay{background:url(images/overlay.png) repeat 0 0;}
+#colorbox{}
+ #cboxTopLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px 0;}
+ #cboxTopRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px 0;}
+ #cboxBottomLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px -29px;}
+ #cboxBottomRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px -29px;}
+ #cboxMiddleLeft{width:21px; background:url(images/controls.png) left top repeat-y;}
+ #cboxMiddleRight{width:21px; background:url(images/controls.png) right top repeat-y;}
+ #cboxTopCenter{height:21px; background:url(images/border.png) 0 0 repeat-x;}
+ #cboxBottomCenter{height:21px; background:url(images/border.png) 0 -29px repeat-x;}
+ #cboxContent{background:#fff; overflow:hidden;}
+ .cboxIframe{background:#fff;}
+ #cboxError{padding:50px; border:1px solid #ccc;}
+ #cboxLoadedContent{margin-bottom:28px;}
+ #cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;}
+ #cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;}
+ #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
+ #cboxPrevious{position:absolute; bottom:0; left:0; background:url(images/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}
+ #cboxPrevious:hover{background-position:-75px -25px;}
+ #cboxNext{position:absolute; bottom:0; left:27px; background:url(images/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
+ #cboxNext:hover{background-position:-50px -25px;}
+ #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;}
+ #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
+ #cboxClose{position:absolute; bottom:0; right:0; background:url(images/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
+ #cboxClose:hover{background-position:-25px -25px;}
+
+/*
+ The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
+ when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
+ See: http://jacklmoore.com/notes/ie-transparency-problems/
+*/
+.cboxIE #cboxTopLeft,
+.cboxIE #cboxTopCenter,
+.cboxIE #cboxTopRight,
+.cboxIE #cboxBottomLeft,
+.cboxIE #cboxBottomCenter,
+.cboxIE #cboxBottomRight,
+.cboxIE #cboxMiddleLeft,
+.cboxIE #cboxMiddleRight {
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
+}
+
+/*
+ The following provides PNG transparency support for IE6
+ Feel free to remove this and the /ie6/ directory if you have dropped IE6 support.
+*/
+.cboxIE6 #cboxTopLeft{background:url(images/ie6/borderTopLeft.png);}
+.cboxIE6 #cboxTopCenter{background:url(images/ie6/borderTopCenter.png);}
+.cboxIE6 #cboxTopRight{background:url(images/ie6/borderTopRight.png);}
+.cboxIE6 #cboxBottomLeft{background:url(images/ie6/borderBottomLeft.png);}
+.cboxIE6 #cboxBottomCenter{background:url(images/ie6/borderBottomCenter.png);}
+.cboxIE6 #cboxBottomRight{background:url(images/ie6/borderBottomRight.png);}
+.cboxIE6 #cboxMiddleLeft{background:url(images/ie6/borderMiddleLeft.png);}
+.cboxIE6 #cboxMiddleRight{background:url(images/ie6/borderMiddleRight.png);}
+
+.cboxIE6 #cboxTopLeft,
+.cboxIE6 #cboxTopCenter,
+.cboxIE6 #cboxTopRight,
+.cboxIE6 #cboxBottomLeft,
+.cboxIE6 #cboxBottomCenter,
+.cboxIE6 #cboxBottomRight,
+.cboxIE6 #cboxMiddleLeft,
+.cboxIE6 #cboxMiddleRight {
+ _behavior: expression(this.src = this.src ? this.src : this.currentStyle.backgroundImage.split('"')[1], this.style.background = "none", this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.src + ", sizingMethod='scale')");
+}
diff --git a/library/colorbox/example1/images/border.png b/library/colorbox/example1/images/border.png
new file mode 100644
index 000000000..f463a10d8
--- /dev/null
+++ b/library/colorbox/example1/images/border.png
Binary files differ
diff --git a/library/colorbox/example1/images/controls.png b/library/colorbox/example1/images/controls.png
new file mode 100644
index 000000000..dcfd6fb9f
--- /dev/null
+++ b/library/colorbox/example1/images/controls.png
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderBottomCenter.png b/library/colorbox/example1/images/ie6/borderBottomCenter.png
new file mode 100644
index 000000000..0d4475edf
--- /dev/null
+++ b/library/colorbox/example1/images/ie6/borderBottomCenter.png
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderBottomLeft.png b/library/colorbox/example1/images/ie6/borderBottomLeft.png
new file mode 100644
index 000000000..2775eba89
--- /dev/null
+++ b/library/colorbox/example1/images/ie6/borderBottomLeft.png
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderBottomRight.png b/library/colorbox/example1/images/ie6/borderBottomRight.png
new file mode 100644
index 000000000..f7f51379c
--- /dev/null
+++ b/library/colorbox/example1/images/ie6/borderBottomRight.png
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderMiddleLeft.png b/library/colorbox/example1/images/ie6/borderMiddleLeft.png
new file mode 100644
index 000000000..a2d63d156
--- /dev/null
+++ b/library/colorbox/example1/images/ie6/borderMiddleLeft.png
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderMiddleRight.png b/library/colorbox/example1/images/ie6/borderMiddleRight.png
new file mode 100644
index 000000000..fd7c3e849
--- /dev/null
+++ b/library/colorbox/example1/images/ie6/borderMiddleRight.png
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderTopCenter.png b/library/colorbox/example1/images/ie6/borderTopCenter.png
new file mode 100644
index 000000000..2937a9cf9
--- /dev/null
+++ b/library/colorbox/example1/images/ie6/borderTopCenter.png
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderTopLeft.png b/library/colorbox/example1/images/ie6/borderTopLeft.png
new file mode 100644
index 000000000..f9d458b5b
--- /dev/null
+++ b/library/colorbox/example1/images/ie6/borderTopLeft.png
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderTopRight.png b/library/colorbox/example1/images/ie6/borderTopRight.png
new file mode 100644
index 000000000..74b8583cf
--- /dev/null
+++ b/library/colorbox/example1/images/ie6/borderTopRight.png
Binary files differ
diff --git a/library/colorbox/example1/images/loading.gif b/library/colorbox/example1/images/loading.gif
new file mode 100644
index 000000000..b4695d811
--- /dev/null
+++ b/library/colorbox/example1/images/loading.gif
Binary files differ
diff --git a/library/colorbox/example1/images/loading_background.png b/library/colorbox/example1/images/loading_background.png
new file mode 100644
index 000000000..6ae83e697
--- /dev/null
+++ b/library/colorbox/example1/images/loading_background.png
Binary files differ
diff --git a/library/colorbox/example1/images/overlay.png b/library/colorbox/example1/images/overlay.png
new file mode 100644
index 000000000..53ea98f70
--- /dev/null
+++ b/library/colorbox/example1/images/overlay.png
Binary files differ
diff --git a/library/colorbox/example1/index.html b/library/colorbox/example1/index.html
new file mode 100644
index 000000000..727fe78d7
--- /dev/null
+++ b/library/colorbox/example1/index.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset='utf-8'/>
+ <title>ColorBox Examples</title>
+ <style>
+ body{font:12px/1.2 Verdana, sans-serif; padding:0 10px;}
+ a:link, a:visited{text-decoration:none; color:#416CE5; border-bottom:1px solid #416CE5;}
+ h2{font-size:13px; margin:15px 0 0 0;}
+ </style>
+ <link rel="stylesheet" href="colorbox.css" />
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
+ <script src="../jquery.colorbox.js"></script>
+ <script>
+ $(document).ready(function(){
+ //Examples of how to assign the ColorBox event to elements
+ $(".group1").colorbox({rel:'group1'});
+ $(".group2").colorbox({rel:'group2', transition:"fade"});
+ $(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
+ $(".group4").colorbox({rel:'group4', slideshow:true});
+ $(".ajax").colorbox();
+ $(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
+ $(".vimeo").colorbox({iframe:true, innerWidth:500, innerHeight:409});
+ $(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
+ $(".inline").colorbox({inline:true, width:"50%"});
+ $(".callbacks").colorbox({
+ onOpen:function(){ alert('onOpen: colorbox is about to open'); },
+ onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); },
+ onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); },
+ onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
+ onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
+ });
+
+ //Example of preserving a JavaScript event for inline calls.
+ $("#click").click(function(){
+ $('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here.");
+ return false;
+ });
+ });
+ </script>
+ </head>
+ <body>
+ <h1>ColorBox Demonstration</h1>
+ <h2>Elastic Transition</h2>
+ <p><a class="group1" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group1" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group1" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Fade Transition</h2>
+ <p><a class="group2" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee">Grouped Photo 1</a></p>
+ <p><a class="group2" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group2" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>No Transition + fixed width and height (75% of screen size)</h2>
+ <p><a class="group3" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group3" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group3" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Slideshow</h2>
+ <p><a class="group4" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group4" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group4" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Other Content Types</h2>
+ <p><a class='ajax' href="../content/ajax.html" title="Homer Defined">Outside HTML (Ajax)</a></p>
+ <p><a class='youtube' href="http://www.youtube.com/embed/617ANIA5Rqs?rel=0&amp;wmode=transparent" title="The Knife: We Share Our Mother's Health">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
+ <p><a class='vimeo' href="http://player.vimeo.com/video/2285902" title="R&ouml;yksopp: Remind Me">Flash / Video (Iframe/Direct Link To Vimeo)</a></p>
+ <p><a class='iframe' href="http://wikipedia.com">Outside Webpage (Iframe)</a></p>
+ <p><a class='inline' href="#inline_content">Inline HTML</a></p>
+
+ <h2>Demonstration of using callbacks</h2>
+ <p><a class='callbacks' href="../content/marylou.jpg" title="Marylou on Cumberland Island">Example with alerts</a>. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.</p>
+
+ <!-- This contains the hidden content for inline calls -->
+ <div style='display:none'>
+ <div id='inline_content' style='padding:10px; background:#fff;'>
+ <p><strong>This content comes from a hidden element on this page.</strong></p>
+ <p>The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.</p>
+ <p><a id="click" href="#" style='padding:5px; background:#ccc;'>Click me, it will be preserved!</a></p>
+
+ <p><strong>If you try to open a new ColorBox while it is already open, it will update itself with the new content.</strong></p>
+ <p>Updating Content Example:<br />
+ <a class="ajax" href="../content/ajax.html">Click here to load new content</a></p>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/library/colorbox/example2/colorbox.css b/library/colorbox/example2/colorbox.css
new file mode 100644
index 000000000..3bb3d8121
--- /dev/null
+++ b/library/colorbox/example2/colorbox.css
@@ -0,0 +1,43 @@
+/*
+ ColorBox Core Style:
+ The following CSS is consistent between example themes and should not be altered.
+*/
+#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxOverlay{position:fixed; width:100%; height:100%;}
+#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
+#cboxContent{position:relative;}
+#cboxLoadedContent{overflow:auto;}
+#cboxTitle{margin:0;}
+#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
+#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
+.cboxIframe{width:100%; height:100%; display:block; border:0;}
+#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
+
+/*
+ User Style:
+ Change the following styles to modify the appearance of ColorBox. They are
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
+*/
+#cboxOverlay{background:#fff;}
+#colorbox{}
+ #cboxContent{margin-top:32px; overflow:visible;}
+ .cboxIframe{background:#fff;}
+ #cboxError{padding:50px; border:1px solid #ccc;}
+ #cboxLoadedContent{background:#000; padding:1px;}
+ #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
+ #cboxLoadingOverlay{background:#000;}
+ #cboxTitle{position:absolute; top:-22px; left:0; color:#000;}
+ #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}
+ #cboxSlideshow, #cboxPrevious, #cboxNext, #cboxClose{text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(images/controls.png) no-repeat 0 0;}
+ #cboxPrevious{background-position:0px 0px; right:44px;}
+ #cboxPrevious:hover{background-position:0px -25px;}
+ #cboxNext{background-position:-25px 0px; right:22px;}
+ #cboxNext:hover{background-position:-25px -25px;}
+ #cboxClose{background-position:-50px 0px; right:0;}
+ #cboxClose:hover{background-position:-50px -25px;}
+ .cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious{right:66px;}
+ .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
+ .cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
+ .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
+ .cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}
diff --git a/library/colorbox/example2/images/controls.png b/library/colorbox/example2/images/controls.png
new file mode 100644
index 000000000..8569b57f1
--- /dev/null
+++ b/library/colorbox/example2/images/controls.png
Binary files differ
diff --git a/library/colorbox/example2/images/loading.gif b/library/colorbox/example2/images/loading.gif
new file mode 100644
index 000000000..19c67bbd0
--- /dev/null
+++ b/library/colorbox/example2/images/loading.gif
Binary files differ
diff --git a/library/colorbox/example2/index.html b/library/colorbox/example2/index.html
new file mode 100644
index 000000000..727fe78d7
--- /dev/null
+++ b/library/colorbox/example2/index.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset='utf-8'/>
+ <title>ColorBox Examples</title>
+ <style>
+ body{font:12px/1.2 Verdana, sans-serif; padding:0 10px;}
+ a:link, a:visited{text-decoration:none; color:#416CE5; border-bottom:1px solid #416CE5;}
+ h2{font-size:13px; margin:15px 0 0 0;}
+ </style>
+ <link rel="stylesheet" href="colorbox.css" />
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
+ <script src="../jquery.colorbox.js"></script>
+ <script>
+ $(document).ready(function(){
+ //Examples of how to assign the ColorBox event to elements
+ $(".group1").colorbox({rel:'group1'});
+ $(".group2").colorbox({rel:'group2', transition:"fade"});
+ $(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
+ $(".group4").colorbox({rel:'group4', slideshow:true});
+ $(".ajax").colorbox();
+ $(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
+ $(".vimeo").colorbox({iframe:true, innerWidth:500, innerHeight:409});
+ $(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
+ $(".inline").colorbox({inline:true, width:"50%"});
+ $(".callbacks").colorbox({
+ onOpen:function(){ alert('onOpen: colorbox is about to open'); },
+ onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); },
+ onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); },
+ onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
+ onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
+ });
+
+ //Example of preserving a JavaScript event for inline calls.
+ $("#click").click(function(){
+ $('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here.");
+ return false;
+ });
+ });
+ </script>
+ </head>
+ <body>
+ <h1>ColorBox Demonstration</h1>
+ <h2>Elastic Transition</h2>
+ <p><a class="group1" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group1" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group1" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Fade Transition</h2>
+ <p><a class="group2" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee">Grouped Photo 1</a></p>
+ <p><a class="group2" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group2" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>No Transition + fixed width and height (75% of screen size)</h2>
+ <p><a class="group3" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group3" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group3" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Slideshow</h2>
+ <p><a class="group4" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group4" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group4" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Other Content Types</h2>
+ <p><a class='ajax' href="../content/ajax.html" title="Homer Defined">Outside HTML (Ajax)</a></p>
+ <p><a class='youtube' href="http://www.youtube.com/embed/617ANIA5Rqs?rel=0&amp;wmode=transparent" title="The Knife: We Share Our Mother's Health">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
+ <p><a class='vimeo' href="http://player.vimeo.com/video/2285902" title="R&ouml;yksopp: Remind Me">Flash / Video (Iframe/Direct Link To Vimeo)</a></p>
+ <p><a class='iframe' href="http://wikipedia.com">Outside Webpage (Iframe)</a></p>
+ <p><a class='inline' href="#inline_content">Inline HTML</a></p>
+
+ <h2>Demonstration of using callbacks</h2>
+ <p><a class='callbacks' href="../content/marylou.jpg" title="Marylou on Cumberland Island">Example with alerts</a>. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.</p>
+
+ <!-- This contains the hidden content for inline calls -->
+ <div style='display:none'>
+ <div id='inline_content' style='padding:10px; background:#fff;'>
+ <p><strong>This content comes from a hidden element on this page.</strong></p>
+ <p>The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.</p>
+ <p><a id="click" href="#" style='padding:5px; background:#ccc;'>Click me, it will be preserved!</a></p>
+
+ <p><strong>If you try to open a new ColorBox while it is already open, it will update itself with the new content.</strong></p>
+ <p>Updating Content Example:<br />
+ <a class="ajax" href="../content/ajax.html">Click here to load new content</a></p>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/library/colorbox/example3/colorbox.css b/library/colorbox/example3/colorbox.css
new file mode 100644
index 000000000..153e32e6f
--- /dev/null
+++ b/library/colorbox/example3/colorbox.css
@@ -0,0 +1,38 @@
+/*
+ ColorBox Core Style:
+ The following CSS is consistent between example themes and should not be altered.
+*/
+#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxOverlay{position:fixed; width:100%; height:100%;}
+#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
+#cboxContent{position:relative;}
+#cboxLoadedContent{overflow:auto;}
+#cboxTitle{margin:0;}
+#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
+#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
+.cboxIframe{width:100%; height:100%; display:block; border:0;}
+#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
+
+/*
+ User Style:
+ Change the following styles to modify the appearance of ColorBox. They are
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
+*/
+#cboxOverlay{background:#000;}
+#colorbox{}
+ #cboxContent{margin-top:20px;}
+ .cboxIframe{background:#fff;}
+ #cboxError{padding:50px; border:1px solid #ccc;}
+ #cboxLoadedContent{border:5px solid #000; background:#fff;}
+ #cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
+ #cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
+ #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
+ #cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(images/controls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
+ #cboxPrevious:hover{background-position:bottom left;}
+ #cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(images/controls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
+ #cboxNext:hover{background-position:bottom right;}
+ #cboxLoadingOverlay{background:#000;}
+ #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
+ #cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(images/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
+ #cboxClose:hover{background-position:bottom center;} \ No newline at end of file
diff --git a/library/colorbox/example3/images/controls.png b/library/colorbox/example3/images/controls.png
new file mode 100644
index 000000000..e1e97982a
--- /dev/null
+++ b/library/colorbox/example3/images/controls.png
Binary files differ
diff --git a/library/colorbox/example3/images/loading.gif b/library/colorbox/example3/images/loading.gif
new file mode 100644
index 000000000..19c67bbd0
--- /dev/null
+++ b/library/colorbox/example3/images/loading.gif
Binary files differ
diff --git a/library/colorbox/example3/index.html b/library/colorbox/example3/index.html
new file mode 100644
index 000000000..727fe78d7
--- /dev/null
+++ b/library/colorbox/example3/index.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset='utf-8'/>
+ <title>ColorBox Examples</title>
+ <style>
+ body{font:12px/1.2 Verdana, sans-serif; padding:0 10px;}
+ a:link, a:visited{text-decoration:none; color:#416CE5; border-bottom:1px solid #416CE5;}
+ h2{font-size:13px; margin:15px 0 0 0;}
+ </style>
+ <link rel="stylesheet" href="colorbox.css" />
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
+ <script src="../jquery.colorbox.js"></script>
+ <script>
+ $(document).ready(function(){
+ //Examples of how to assign the ColorBox event to elements
+ $(".group1").colorbox({rel:'group1'});
+ $(".group2").colorbox({rel:'group2', transition:"fade"});
+ $(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
+ $(".group4").colorbox({rel:'group4', slideshow:true});
+ $(".ajax").colorbox();
+ $(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
+ $(".vimeo").colorbox({iframe:true, innerWidth:500, innerHeight:409});
+ $(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
+ $(".inline").colorbox({inline:true, width:"50%"});
+ $(".callbacks").colorbox({
+ onOpen:function(){ alert('onOpen: colorbox is about to open'); },
+ onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); },
+ onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); },
+ onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
+ onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
+ });
+
+ //Example of preserving a JavaScript event for inline calls.
+ $("#click").click(function(){
+ $('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here.");
+ return false;
+ });
+ });
+ </script>
+ </head>
+ <body>
+ <h1>ColorBox Demonstration</h1>
+ <h2>Elastic Transition</h2>
+ <p><a class="group1" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group1" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group1" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Fade Transition</h2>
+ <p><a class="group2" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee">Grouped Photo 1</a></p>
+ <p><a class="group2" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group2" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>No Transition + fixed width and height (75% of screen size)</h2>
+ <p><a class="group3" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group3" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group3" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Slideshow</h2>
+ <p><a class="group4" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group4" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group4" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Other Content Types</h2>
+ <p><a class='ajax' href="../content/ajax.html" title="Homer Defined">Outside HTML (Ajax)</a></p>
+ <p><a class='youtube' href="http://www.youtube.com/embed/617ANIA5Rqs?rel=0&amp;wmode=transparent" title="The Knife: We Share Our Mother's Health">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
+ <p><a class='vimeo' href="http://player.vimeo.com/video/2285902" title="R&ouml;yksopp: Remind Me">Flash / Video (Iframe/Direct Link To Vimeo)</a></p>
+ <p><a class='iframe' href="http://wikipedia.com">Outside Webpage (Iframe)</a></p>
+ <p><a class='inline' href="#inline_content">Inline HTML</a></p>
+
+ <h2>Demonstration of using callbacks</h2>
+ <p><a class='callbacks' href="../content/marylou.jpg" title="Marylou on Cumberland Island">Example with alerts</a>. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.</p>
+
+ <!-- This contains the hidden content for inline calls -->
+ <div style='display:none'>
+ <div id='inline_content' style='padding:10px; background:#fff;'>
+ <p><strong>This content comes from a hidden element on this page.</strong></p>
+ <p>The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.</p>
+ <p><a id="click" href="#" style='padding:5px; background:#ccc;'>Click me, it will be preserved!</a></p>
+
+ <p><strong>If you try to open a new ColorBox while it is already open, it will update itself with the new content.</strong></p>
+ <p>Updating Content Example:<br />
+ <a class="ajax" href="../content/ajax.html">Click here to load new content</a></p>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/library/colorbox/example4/colorbox.css b/library/colorbox/example4/colorbox.css
new file mode 100644
index 000000000..54560688a
--- /dev/null
+++ b/library/colorbox/example4/colorbox.css
@@ -0,0 +1,82 @@
+/*
+ ColorBox Core Style:
+ The following CSS is consistent between example themes and should not be altered.
+*/
+#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxOverlay{position:fixed; width:100%; height:100%;}
+#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
+#cboxContent{position:relative;}
+#cboxLoadedContent{overflow:auto;}
+#cboxTitle{margin:0;}
+#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
+#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
+.cboxIframe{width:100%; height:100%; display:block; border:0;}
+#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
+
+/*
+ User Style:
+ Change the following styles to modify the appearance of ColorBox. They are
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
+*/
+#cboxOverlay{background:#fff;}
+#colorbox{}
+ #cboxTopLeft{width:25px; height:25px; background:url(images/border1.png) no-repeat 0 0;}
+ #cboxTopCenter{height:25px; background:url(images/border1.png) repeat-x 0 -50px;}
+ #cboxTopRight{width:25px; height:25px; background:url(images/border1.png) no-repeat -25px 0;}
+ #cboxBottomLeft{width:25px; height:25px; background:url(images/border1.png) no-repeat 0 -25px;}
+ #cboxBottomCenter{height:25px; background:url(images/border1.png) repeat-x 0 -75px;}
+ #cboxBottomRight{width:25px; height:25px; background:url(images/border1.png) no-repeat -25px -25px;}
+ #cboxMiddleLeft{width:25px; background:url(images/border2.png) repeat-y 0 0;}
+ #cboxMiddleRight{width:25px; background:url(images/border2.png) repeat-y -25px 0;}
+ #cboxContent{background:#fff; overflow:hidden;}
+ .cboxIframe{background:#fff;}
+ #cboxError{padding:50px; border:1px solid #ccc;}
+ #cboxLoadedContent{margin-bottom:20px;}
+ #cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;}
+ #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;}
+ #cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;}
+ #cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
+ #cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
+ #cboxLoadingOverlay{background:#fff url(images/loading.gif) no-repeat 5px 5px;}
+ #cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
+
+/*
+ The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
+ when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
+ See: http://jacklmoore.com/notes/ie-transparency-problems/
+*/
+.cboxIE #cboxTopLeft,
+.cboxIE #cboxTopCenter,
+.cboxIE #cboxTopRight,
+.cboxIE #cboxBottomLeft,
+.cboxIE #cboxBottomCenter,
+.cboxIE #cboxBottomRight,
+.cboxIE #cboxMiddleLeft,
+.cboxIE #cboxMiddleRight {
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
+}
+
+/*
+ The following provides PNG transparency support for IE6
+ Feel free to remove this and the /ie6/ directory if you have dropped IE6 support.
+*/
+.cboxIE6 #cboxTopLeft{background:url(images/ie6/borderTopLeft.png);}
+.cboxIE6 #cboxTopCenter{background:url(images/ie6/borderTopCenter.png);}
+.cboxIE6 #cboxTopRight{background:url(images/ie6/borderTopRight.png);}
+.cboxIE6 #cboxBottomLeft{background:url(images/ie6/borderBottomLeft.png);}
+.cboxIE6 #cboxBottomCenter{background:url(images/ie6/borderBottomCenter.png);}
+.cboxIE6 #cboxBottomRight{background:url(images/ie6/borderBottomRight.png);}
+.cboxIE6 #cboxMiddleLeft{background:url(images/ie6/borderMiddleLeft.png);}
+.cboxIE6 #cboxMiddleRight{background:url(images/ie6/borderMiddleRight.png);}
+
+.cboxIE6 #cboxTopLeft,
+.cboxIE6 #cboxTopCenter,
+.cboxIE6 #cboxTopRight,
+.cboxIE6 #cboxBottomLeft,
+.cboxIE6 #cboxBottomCenter,
+.cboxIE6 #cboxBottomRight,
+.cboxIE6 #cboxMiddleLeft,
+.cboxIE6 #cboxMiddleRight {
+ _behavior: expression(this.src = this.src ? this.src : this.currentStyle.backgroundImage.split('"')[1], this.style.background = "none", this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.src + ", sizingMethod='scale')");
+}
diff --git a/library/colorbox/example4/images/border1.png b/library/colorbox/example4/images/border1.png
new file mode 100644
index 000000000..0ddc70405
--- /dev/null
+++ b/library/colorbox/example4/images/border1.png
Binary files differ
diff --git a/library/colorbox/example4/images/border2.png b/library/colorbox/example4/images/border2.png
new file mode 100644
index 000000000..aa62a0b72
--- /dev/null
+++ b/library/colorbox/example4/images/border2.png
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderBottomCenter.png b/library/colorbox/example4/images/ie6/borderBottomCenter.png
new file mode 100644
index 000000000..12e0e9ac0
--- /dev/null
+++ b/library/colorbox/example4/images/ie6/borderBottomCenter.png
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderBottomLeft.png b/library/colorbox/example4/images/ie6/borderBottomLeft.png
new file mode 100644
index 000000000..b7a474ae0
--- /dev/null
+++ b/library/colorbox/example4/images/ie6/borderBottomLeft.png
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderBottomRight.png b/library/colorbox/example4/images/ie6/borderBottomRight.png
new file mode 100644
index 000000000..6b6cb159b
--- /dev/null
+++ b/library/colorbox/example4/images/ie6/borderBottomRight.png
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderMiddleLeft.png b/library/colorbox/example4/images/ie6/borderMiddleLeft.png
new file mode 100644
index 000000000..8d0eb739d
--- /dev/null
+++ b/library/colorbox/example4/images/ie6/borderMiddleLeft.png
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderMiddleRight.png b/library/colorbox/example4/images/ie6/borderMiddleRight.png
new file mode 100644
index 000000000..d65509e30
--- /dev/null
+++ b/library/colorbox/example4/images/ie6/borderMiddleRight.png
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderTopCenter.png b/library/colorbox/example4/images/ie6/borderTopCenter.png
new file mode 100644
index 000000000..35d8da2d0
--- /dev/null
+++ b/library/colorbox/example4/images/ie6/borderTopCenter.png
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderTopLeft.png b/library/colorbox/example4/images/ie6/borderTopLeft.png
new file mode 100644
index 000000000..ae9bda040
--- /dev/null
+++ b/library/colorbox/example4/images/ie6/borderTopLeft.png
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderTopRight.png b/library/colorbox/example4/images/ie6/borderTopRight.png
new file mode 100644
index 000000000..0d8868399
--- /dev/null
+++ b/library/colorbox/example4/images/ie6/borderTopRight.png
Binary files differ
diff --git a/library/colorbox/example4/images/loading.gif b/library/colorbox/example4/images/loading.gif
new file mode 100644
index 000000000..602ce3c3a
--- /dev/null
+++ b/library/colorbox/example4/images/loading.gif
Binary files differ
diff --git a/library/colorbox/example4/index.html b/library/colorbox/example4/index.html
new file mode 100644
index 000000000..727fe78d7
--- /dev/null
+++ b/library/colorbox/example4/index.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset='utf-8'/>
+ <title>ColorBox Examples</title>
+ <style>
+ body{font:12px/1.2 Verdana, sans-serif; padding:0 10px;}
+ a:link, a:visited{text-decoration:none; color:#416CE5; border-bottom:1px solid #416CE5;}
+ h2{font-size:13px; margin:15px 0 0 0;}
+ </style>
+ <link rel="stylesheet" href="colorbox.css" />
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
+ <script src="../jquery.colorbox.js"></script>
+ <script>
+ $(document).ready(function(){
+ //Examples of how to assign the ColorBox event to elements
+ $(".group1").colorbox({rel:'group1'});
+ $(".group2").colorbox({rel:'group2', transition:"fade"});
+ $(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
+ $(".group4").colorbox({rel:'group4', slideshow:true});
+ $(".ajax").colorbox();
+ $(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
+ $(".vimeo").colorbox({iframe:true, innerWidth:500, innerHeight:409});
+ $(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
+ $(".inline").colorbox({inline:true, width:"50%"});
+ $(".callbacks").colorbox({
+ onOpen:function(){ alert('onOpen: colorbox is about to open'); },
+ onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); },
+ onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); },
+ onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
+ onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
+ });
+
+ //Example of preserving a JavaScript event for inline calls.
+ $("#click").click(function(){
+ $('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here.");
+ return false;
+ });
+ });
+ </script>
+ </head>
+ <body>
+ <h1>ColorBox Demonstration</h1>
+ <h2>Elastic Transition</h2>
+ <p><a class="group1" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group1" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group1" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Fade Transition</h2>
+ <p><a class="group2" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee">Grouped Photo 1</a></p>
+ <p><a class="group2" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group2" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>No Transition + fixed width and height (75% of screen size)</h2>
+ <p><a class="group3" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group3" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group3" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Slideshow</h2>
+ <p><a class="group4" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group4" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group4" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Other Content Types</h2>
+ <p><a class='ajax' href="../content/ajax.html" title="Homer Defined">Outside HTML (Ajax)</a></p>
+ <p><a class='youtube' href="http://www.youtube.com/embed/617ANIA5Rqs?rel=0&amp;wmode=transparent" title="The Knife: We Share Our Mother's Health">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
+ <p><a class='vimeo' href="http://player.vimeo.com/video/2285902" title="R&ouml;yksopp: Remind Me">Flash / Video (Iframe/Direct Link To Vimeo)</a></p>
+ <p><a class='iframe' href="http://wikipedia.com">Outside Webpage (Iframe)</a></p>
+ <p><a class='inline' href="#inline_content">Inline HTML</a></p>
+
+ <h2>Demonstration of using callbacks</h2>
+ <p><a class='callbacks' href="../content/marylou.jpg" title="Marylou on Cumberland Island">Example with alerts</a>. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.</p>
+
+ <!-- This contains the hidden content for inline calls -->
+ <div style='display:none'>
+ <div id='inline_content' style='padding:10px; background:#fff;'>
+ <p><strong>This content comes from a hidden element on this page.</strong></p>
+ <p>The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.</p>
+ <p><a id="click" href="#" style='padding:5px; background:#ccc;'>Click me, it will be preserved!</a></p>
+
+ <p><strong>If you try to open a new ColorBox while it is already open, it will update itself with the new content.</strong></p>
+ <p>Updating Content Example:<br />
+ <a class="ajax" href="../content/ajax.html">Click here to load new content</a></p>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/library/colorbox/example5/colorbox.css b/library/colorbox/example5/colorbox.css
new file mode 100644
index 000000000..544a76f3b
--- /dev/null
+++ b/library/colorbox/example5/colorbox.css
@@ -0,0 +1,52 @@
+/*
+ ColorBox Core Style:
+ The following CSS is consistent between example themes and should not be altered.
+*/
+#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxOverlay{position:fixed; width:100%; height:100%;}
+#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
+#cboxContent{position:relative;}
+#cboxLoadedContent{overflow:auto;}
+#cboxTitle{margin:0;}
+#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
+#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
+.cboxIframe{width:100%; height:100%; display:block; border:0;}
+#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
+
+/*
+ User Style:
+ Change the following styles to modify the appearance of ColorBox. They are
+ ordered & tabbed in a way that represents the nesting of the generated HTML.
+*/
+#cboxOverlay{background:#000;}
+#colorbox{}
+ #cboxTopLeft{width:14px; height:14px; background:url(images/controls.png) no-repeat 0 0;}
+ #cboxTopCenter{height:14px; background:url(images/border.png) repeat-x top left;}
+ #cboxTopRight{width:14px; height:14px; background:url(images/controls.png) no-repeat -36px 0;}
+ #cboxBottomLeft{width:14px; height:43px; background:url(images/controls.png) no-repeat 0 -32px;}
+ #cboxBottomCenter{height:43px; background:url(images/border.png) repeat-x bottom left;}
+ #cboxBottomRight{width:14px; height:43px; background:url(images/controls.png) no-repeat -36px -32px;}
+ #cboxMiddleLeft{width:14px; background:url(images/controls.png) repeat-y -175px 0;}
+ #cboxMiddleRight{width:14px; background:url(images/controls.png) repeat-y -211px 0;}
+ #cboxContent{background:#fff; overflow:visible;}
+ .cboxIframe{background:#fff;}
+ #cboxError{padding:50px; border:1px solid #ccc;}
+ #cboxLoadedContent{margin-bottom:5px;}
+ #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;}
+ #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
+ #cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
+ #cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
+
+ #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(images/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;}
+ #cboxPrevious{left:0px; background-position: -51px -25px;}
+ #cboxPrevious:hover{background-position:-51px 0px;}
+ #cboxNext{left:27px; background-position:-75px -25px;}
+ #cboxNext:hover{background-position:-75px 0px;}
+ #cboxClose{right:0; background-position:-100px -25px;}
+ #cboxClose:hover{background-position:-100px 0px;}
+
+ .cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
+ .cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
+ .cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
+ .cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;} \ No newline at end of file
diff --git a/library/colorbox/example5/images/border.png b/library/colorbox/example5/images/border.png
new file mode 100644
index 000000000..df13bb6da
--- /dev/null
+++ b/library/colorbox/example5/images/border.png
Binary files differ
diff --git a/library/colorbox/example5/images/controls.png b/library/colorbox/example5/images/controls.png
new file mode 100644
index 000000000..65cfd1dc9
--- /dev/null
+++ b/library/colorbox/example5/images/controls.png
Binary files differ
diff --git a/library/colorbox/example5/images/loading.gif b/library/colorbox/example5/images/loading.gif
new file mode 100644
index 000000000..b4695d811
--- /dev/null
+++ b/library/colorbox/example5/images/loading.gif
Binary files differ
diff --git a/library/colorbox/example5/images/loading_background.png b/library/colorbox/example5/images/loading_background.png
new file mode 100644
index 000000000..9de11f467
--- /dev/null
+++ b/library/colorbox/example5/images/loading_background.png
Binary files differ
diff --git a/library/colorbox/example5/index.html b/library/colorbox/example5/index.html
new file mode 100644
index 000000000..727fe78d7
--- /dev/null
+++ b/library/colorbox/example5/index.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset='utf-8'/>
+ <title>ColorBox Examples</title>
+ <style>
+ body{font:12px/1.2 Verdana, sans-serif; padding:0 10px;}
+ a:link, a:visited{text-decoration:none; color:#416CE5; border-bottom:1px solid #416CE5;}
+ h2{font-size:13px; margin:15px 0 0 0;}
+ </style>
+ <link rel="stylesheet" href="colorbox.css" />
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
+ <script src="../jquery.colorbox.js"></script>
+ <script>
+ $(document).ready(function(){
+ //Examples of how to assign the ColorBox event to elements
+ $(".group1").colorbox({rel:'group1'});
+ $(".group2").colorbox({rel:'group2', transition:"fade"});
+ $(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
+ $(".group4").colorbox({rel:'group4', slideshow:true});
+ $(".ajax").colorbox();
+ $(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
+ $(".vimeo").colorbox({iframe:true, innerWidth:500, innerHeight:409});
+ $(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
+ $(".inline").colorbox({inline:true, width:"50%"});
+ $(".callbacks").colorbox({
+ onOpen:function(){ alert('onOpen: colorbox is about to open'); },
+ onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); },
+ onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); },
+ onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
+ onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
+ });
+
+ //Example of preserving a JavaScript event for inline calls.
+ $("#click").click(function(){
+ $('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here.");
+ return false;
+ });
+ });
+ </script>
+ </head>
+ <body>
+ <h1>ColorBox Demonstration</h1>
+ <h2>Elastic Transition</h2>
+ <p><a class="group1" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group1" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group1" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Fade Transition</h2>
+ <p><a class="group2" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee">Grouped Photo 1</a></p>
+ <p><a class="group2" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group2" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>No Transition + fixed width and height (75% of screen size)</h2>
+ <p><a class="group3" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group3" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group3" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Slideshow</h2>
+ <p><a class="group4" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
+ <p><a class="group4" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
+ <p><a class="group4" href="../content/ohoopee3.jpg" title="On the Ohoopee as an adult">Grouped Photo 3</a></p>
+
+ <h2>Other Content Types</h2>
+ <p><a class='ajax' href="../content/ajax.html" title="Homer Defined">Outside HTML (Ajax)</a></p>
+ <p><a class='youtube' href="http://www.youtube.com/embed/617ANIA5Rqs?rel=0&amp;wmode=transparent" title="The Knife: We Share Our Mother's Health">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
+ <p><a class='vimeo' href="http://player.vimeo.com/video/2285902" title="R&ouml;yksopp: Remind Me">Flash / Video (Iframe/Direct Link To Vimeo)</a></p>
+ <p><a class='iframe' href="http://wikipedia.com">Outside Webpage (Iframe)</a></p>
+ <p><a class='inline' href="#inline_content">Inline HTML</a></p>
+
+ <h2>Demonstration of using callbacks</h2>
+ <p><a class='callbacks' href="../content/marylou.jpg" title="Marylou on Cumberland Island">Example with alerts</a>. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.</p>
+
+ <!-- This contains the hidden content for inline calls -->
+ <div style='display:none'>
+ <div id='inline_content' style='padding:10px; background:#fff;'>
+ <p><strong>This content comes from a hidden element on this page.</strong></p>
+ <p>The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.</p>
+ <p><a id="click" href="#" style='padding:5px; background:#ccc;'>Click me, it will be preserved!</a></p>
+
+ <p><strong>If you try to open a new ColorBox while it is already open, it will update itself with the new content.</strong></p>
+ <p>Updating Content Example:<br />
+ <a class="ajax" href="../content/ajax.html">Click here to load new content</a></p>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-cs.js b/library/colorbox/i18n/jquery.colorbox-cs.js
new file mode 100644
index 000000000..42114c0a7
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-cs.js
@@ -0,0 +1,14 @@
+/*
+ jQuery ColorBox language configuration
+ language: Czech (cs)
+ translated by: Filip Novak
+ site: mame.napilno.cz/filip-novak
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "{current}. obrázek z {total}",
+ previous: "Předchozí",
+ next: "Následující",
+ close: "Zavřít",
+ xhrError: "Obsah se nepodaÅ™ilo naÄíst.",
+ imgError: "Obrázek se nepodaÅ™ilo naÄíst."
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-da.js b/library/colorbox/i18n/jquery.colorbox-da.js
new file mode 100644
index 000000000..66bfb6cd0
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-da.js
@@ -0,0 +1,14 @@
+/*
+ jQuery ColorBox language configuration
+ language: Danish (da)
+ translated by: danieljuhl
+ site: danieljuhl.dk
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Billede {current} af {total}",
+ previous: "Forrige",
+ next: "Næste",
+ close: "Luk",
+ xhrError: "Indholdet fejlede i indlæsningen.",
+ imgError: "Billedet fejlede i indlæsningen."
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-de.js b/library/colorbox/i18n/jquery.colorbox-de.js
new file mode 100644
index 000000000..3d6e2e147
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-de.js
@@ -0,0 +1,13 @@
+/*
+ jQuery ColorBox language configuration
+ language: German (de)
+ translated by: wallenium
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Bild {current} von {total}",
+ previous: "Zurück",
+ next: "Vor",
+ close: "Schließen",
+ xhrError: "Dieser Inhalt konnte nicht geladen werden.",
+ imgError: "Dieses Bild konnte nicht geladen werden."
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-es.js b/library/colorbox/i18n/jquery.colorbox-es.js
new file mode 100644
index 000000000..6449c66f8
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-es.js
@@ -0,0 +1,13 @@
+/*
+ jQuery ColorBox language configuration
+ language: Spanish (es)
+ translated by: migolo
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Imagen {current} de {total}",
+ previous: "Anterior",
+ next: "Siguiente",
+ close: "Cerrar",
+ xhrError: "Error en la carga del contenido.",
+ imgError: "Error en la carga de la imagen."
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-fr.js b/library/colorbox/i18n/jquery.colorbox-fr.js
new file mode 100644
index 000000000..f6afe3fd4
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-fr.js
@@ -0,0 +1,14 @@
+/*
+ jQuery ColorBox language configuration
+ language: French (fr)
+ translated by: oaubert
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+current: "image {current} sur {total}",
+previous: "pr&eacute;c&eacute;dente",
+next: "suivante",
+close: "fermer",
+xhrError: "Impossible de charger ce contenu.",
+imgError: "Impossible de charger cette image."
+});
+
diff --git a/library/colorbox/i18n/jquery.colorbox-it.js b/library/colorbox/i18n/jquery.colorbox-it.js
new file mode 100644
index 000000000..d67d76cf7
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-it.js
@@ -0,0 +1,13 @@
+/*
+ jQuery ColorBox language configuration
+ language: Italian (it)
+ translated by: maur8ino
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Immagine {current} di {total}",
+ previous: "Precedente",
+ next: "Successiva",
+ close: "Chiudi",
+ xhrError: "Errore nel caricamento del contenuto.",
+ imgError: "Errore nel caricamento dell'immagine."
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-ru.js b/library/colorbox/i18n/jquery.colorbox-ru.js
new file mode 100644
index 000000000..c9c220068
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-ru.js
@@ -0,0 +1,14 @@
+/*
+ jQuery ColorBox language configuration
+ language: Russian (ru)
+ translated by: Marfa
+ site: themarfa.name
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "изображение {current} из {total}",
+ previous: "предыдущее",
+ next: "Ñледующее",
+ close: "закрыть",
+ xhrError: "Ðе удалоÑÑŒ загрузить Ñодержимое.",
+ imgError: "Ðе удалоÑÑŒ загрузить изображение."
+}); \ No newline at end of file
diff --git a/library/colorbox/images/border.png b/library/colorbox/images/border.png
new file mode 100644
index 000000000..df13bb6da
--- /dev/null
+++ b/library/colorbox/images/border.png
Binary files differ
diff --git a/library/colorbox/images/controls.png b/library/colorbox/images/controls.png
new file mode 100644
index 000000000..65cfd1dc9
--- /dev/null
+++ b/library/colorbox/images/controls.png
Binary files differ
diff --git a/library/colorbox/images/loading.gif b/library/colorbox/images/loading.gif
new file mode 100644
index 000000000..b4695d811
--- /dev/null
+++ b/library/colorbox/images/loading.gif
Binary files differ
diff --git a/library/colorbox/images/loading_background.png b/library/colorbox/images/loading_background.png
new file mode 100644
index 000000000..9de11f467
--- /dev/null
+++ b/library/colorbox/images/loading_background.png
Binary files differ
diff --git a/library/colorbox/jquery.colorbox-min.js b/library/colorbox/jquery.colorbox-min.js
new file mode 100644
index 000000000..969064042
--- /dev/null
+++ b/library/colorbox/jquery.colorbox-min.js
@@ -0,0 +1 @@
+(function($,document,window){var defaults={transition:"elastic",speed:300,width:false,initialWidth:"600",innerWidth:false,maxWidth:false,height:false,initialHeight:"450",innerHeight:false,maxHeight:false,scalePhotos:true,scrolling:true,inline:false,html:false,iframe:false,fastIframe:true,photo:false,href:false,title:false,rel:false,opacity:.9,preloading:true,className:false,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",open:false,returnFocus:true,reposition:true,loop:true,slideshow:false,slideshowAuto:true,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:false,onLoad:false,onComplete:false,onCleanup:false,onClosed:false,overlayClose:true,escKey:true,arrowKey:true,top:false,bottom:false,left:false,right:false,fixed:false,data:undefined},colorbox="colorbox",prefix="cbox",boxElement=prefix+"Element",event_open=prefix+"_open",event_load=prefix+"_load",event_complete=prefix+"_complete",event_cleanup=prefix+"_cleanup",event_closed=prefix+"_closed",event_purge=prefix+"_purge",isIE=!$.support.leadingWhitespace,isIE6=isIE&&!window.XMLHttpRequest,event_ie6=prefix+"_IE6",$overlay,$box,$wrap,$content,$topBorder,$leftBorder,$rightBorder,$bottomBorder,$related,$window,$loaded,$loadingBay,$loadingOverlay,$title,$current,$slideshow,$next,$prev,$close,$groupControls,$events=$({}),settings,interfaceHeight,interfaceWidth,loadedHeight,loadedWidth,element,index,photo,open,active,closing,loadingTimer,publicMethod,div="div",className,init;function $tag(tag,id,css){var element=document.createElement(tag);if(id){element.id=prefix+id}if(css){element.style.cssText=css}return $(element)}function getIndex(increment){var max=$related.length,newIndex=(index+increment)%max;return newIndex<0?max+newIndex:newIndex}function setSize(size,dimension){return Math.round((/%/.test(size)?(dimension==="x"?$window.width():$window.height())/100:1)*parseInt(size,10))}function isImage(url){return settings.photo||/\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i.test(url)}function makeSettings(){var i,data=$.data(element,colorbox);if(data==null){settings=$.extend({},defaults);if(console&&console.log){console.log("Error: cboxElement missing settings object")}}else{settings=$.extend({},data)}for(i in settings){if($.isFunction(settings[i])&&i.slice(0,2)!=="on"){settings[i]=settings[i].call(element)}}settings.rel=settings.rel||element.rel||$(element).data("rel")||"nofollow";settings.href=settings.href||$(element).attr("href");settings.title=settings.title||element.title;if(typeof settings.href==="string"){settings.href=$.trim(settings.href)}}function trigger(event,callback){$(document).trigger(event);$events.trigger(event);if($.isFunction(callback)){callback.call(element)}}function slideshow(){var timeOut,className=prefix+"Slideshow_",click="click."+prefix,clear,set,start,stop;if(settings.slideshow&&$related[1]){clear=function(){clearTimeout(timeOut)};set=function(){if(settings.loop||$related[index+1]){timeOut=setTimeout(publicMethod.next,settings.slideshowSpeed)}};start=function(){$slideshow.html(settings.slideshowStop).unbind(click).one(click,stop);$events.bind(event_complete,set).bind(event_load,clear).bind(event_cleanup,stop);$box.removeClass(className+"off").addClass(className+"on")};stop=function(){clear();$events.unbind(event_complete,set).unbind(event_load,clear).unbind(event_cleanup,stop);$slideshow.html(settings.slideshowStart).unbind(click).one(click,function(){publicMethod.next();start()});$box.removeClass(className+"on").addClass(className+"off")};if(settings.slideshowAuto){start()}else{stop()}}else{$box.removeClass(className+"off "+className+"on")}}function launch(target){if(!closing){element=target;makeSettings();$related=$(element);index=0;if(settings.rel!=="nofollow"){$related=$("."+boxElement).filter(function(){var data=$.data(this,colorbox),relRelated;if(data){relRelated=$(this).data("rel")||data.rel||this.rel}return relRelated===settings.rel});index=$related.index(element);if(index===-1){$related=$related.add(element);index=$related.length-1}}if(!open){open=active=true;$box.css({visibility:"hidden",display:"block"});$loaded=$tag(div,"LoadedContent","width:0; height:0; overflow:hidden").appendTo($content);interfaceHeight=$topBorder.height()+$bottomBorder.height()+$content.outerHeight(true)-$content.height();interfaceWidth=$leftBorder.width()+$rightBorder.width()+$content.outerWidth(true)-$content.width();loadedHeight=$loaded.outerHeight(true);loadedWidth=$loaded.outerWidth(true);if(settings.returnFocus){$(element).blur();$events.one(event_closed,function(){$(element).focus()})}$overlay.css({opacity:parseFloat(settings.opacity),cursor:settings.overlayClose?"pointer":"auto",visibility:"visible"}).show();settings.w=setSize(settings.initialWidth,"x");settings.h=setSize(settings.initialHeight,"y");publicMethod.position();if(isIE6){$window.bind("resize."+event_ie6+" scroll."+event_ie6,function(){$overlay.css({width:$window.width(),height:$window.height(),top:$window.scrollTop(),left:$window.scrollLeft()})}).trigger("resize."+event_ie6)}slideshow();trigger(event_open,settings.onOpen);$groupControls.add($title).hide();$close.html(settings.close).show()}publicMethod.load(true)}}function appendHTML(){if(!$box&&document.body){init=false;$window=$(window);$box=$tag(div).attr({id:colorbox,"class":isIE?prefix+(isIE6?"IE6":"IE"):""}).hide();$overlay=$tag(div,"Overlay",isIE6?"position:absolute":"").hide();$loadingOverlay=$tag(div,"LoadingOverlay").add($tag(div,"LoadingGraphic"));$wrap=$tag(div,"Wrapper");$content=$tag(div,"Content").append($title=$tag(div,"Title"),$current=$tag(div,"Current"),$next=$tag(div,"Next"),$prev=$tag(div,"Previous"),$slideshow=$tag(div,"Slideshow"),$close=$tag(div,"Close"));$wrap.append($tag(div).append($tag(div,"TopLeft"),$topBorder=$tag(div,"TopCenter"),$tag(div,"TopRight")),$tag(div,false,"clear:left").append($leftBorder=$tag(div,"MiddleLeft"),$content,$rightBorder=$tag(div,"MiddleRight")),$tag(div,false,"clear:left").append($tag(div,"BottomLeft"),$bottomBorder=$tag(div,"BottomCenter"),$tag(div,"BottomRight"))).find("div div").css({"float":"left"});$loadingBay=$tag(div,false,"position:absolute; width:9999px; visibility:hidden; display:none");$groupControls=$next.add($prev).add($current).add($slideshow);$(document.body).append($overlay,$box.append($wrap,$loadingBay))}}function addBindings(){function clickHandler(e){if(!(e.which>1||e.shiftKey||e.altKey||e.metaKey)){e.preventDefault();launch(this)}}if($box){if(!init){init=true;$next.click(function(){publicMethod.next()});$prev.click(function(){publicMethod.prev()});$close.click(function(){publicMethod.close()});$overlay.click(function(){if(settings.overlayClose){publicMethod.close()}});$(document).bind("keydown."+prefix,function(e){var key=e.keyCode;if(open&&settings.escKey&&key===27){e.preventDefault();publicMethod.close()}if(open&&settings.arrowKey&&$related[1]){if(key===37){e.preventDefault();$prev.click()}else if(key===39){e.preventDefault();$next.click()}}});if($.isFunction($.fn.on)){$(document).on("click."+prefix,"."+boxElement,clickHandler)}else{$("."+boxElement).live("click."+prefix,clickHandler)}}return true}return false}if($.colorbox){return}$(appendHTML);publicMethod=$.fn[colorbox]=$[colorbox]=function(options,callback){var $this=this;options=options||{};appendHTML();if(addBindings()){if($.isFunction($this)){$this=$("<a/>");options.open=true}else if(!$this[0]){return $this}if(callback){options.onComplete=callback}$this.each(function(){$.data(this,colorbox,$.extend({},$.data(this,colorbox)||defaults,options))}).addClass(boxElement);if($.isFunction(options.open)&&options.open.call($this)||options.open){launch($this[0])}}return $this};publicMethod.position=function(speed,loadedCallback){var css,top=0,left=0,offset=$box.offset(),scrollTop,scrollLeft;$window.unbind("resize."+prefix);$box.css({top:-9e4,left:-9e4});scrollTop=$window.scrollTop();scrollLeft=$window.scrollLeft();if(settings.fixed&&!isIE6){offset.top-=scrollTop;offset.left-=scrollLeft;$box.css({position:"fixed"})}else{top=scrollTop;left=scrollLeft;$box.css({position:"absolute"})}if(settings.right!==false){left+=Math.max($window.width()-settings.w-loadedWidth-interfaceWidth-setSize(settings.right,"x"),0)}else if(settings.left!==false){left+=setSize(settings.left,"x")}else{left+=Math.round(Math.max($window.width()-settings.w-loadedWidth-interfaceWidth,0)/2)}if(settings.bottom!==false){top+=Math.max($window.height()-settings.h-loadedHeight-interfaceHeight-setSize(settings.bottom,"y"),0)}else if(settings.top!==false){top+=setSize(settings.top,"y")}else{top+=Math.round(Math.max($window.height()-settings.h-loadedHeight-interfaceHeight,0)/2)}$box.css({top:offset.top,left:offset.left,visibility:"visible"});speed=$box.width()===settings.w+loadedWidth&&$box.height()===settings.h+loadedHeight?0:speed||0;$wrap[0].style.width=$wrap[0].style.height="9999px";function modalDimensions(that){$topBorder[0].style.width=$bottomBorder[0].style.width=$content[0].style.width=parseInt(that.style.width,10)-interfaceWidth+"px";$content[0].style.height=$leftBorder[0].style.height=$rightBorder[0].style.height=parseInt(that.style.height,10)-interfaceHeight+"px"}css={width:settings.w+loadedWidth+interfaceWidth,height:settings.h+loadedHeight+interfaceHeight,top:top,left:left};if(speed===0){$box.css(css)}$box.dequeue().animate(css,{duration:speed,complete:function(){modalDimensions(this);active=false;$wrap[0].style.width=settings.w+loadedWidth+interfaceWidth+"px";$wrap[0].style.height=settings.h+loadedHeight+interfaceHeight+"px";if(settings.reposition){setTimeout(function(){$window.bind("resize."+prefix,publicMethod.position)},1)}if(loadedCallback){loadedCallback()}},step:function(){modalDimensions(this)}})};publicMethod.resize=function(options){if(open){options=options||{};if(options.width){settings.w=setSize(options.width,"x")-loadedWidth-interfaceWidth}if(options.innerWidth){settings.w=setSize(options.innerWidth,"x")}$loaded.css({width:settings.w});if(options.height){settings.h=setSize(options.height,"y")-loadedHeight-interfaceHeight}if(options.innerHeight){settings.h=setSize(options.innerHeight,"y")}if(!options.innerHeight&&!options.height){$loaded.css({height:"auto"});settings.h=$loaded.height()}$loaded.css({height:settings.h});publicMethod.position(settings.transition==="none"?0:settings.speed)}};publicMethod.prep=function(object){if(!open){return}var callback,speed=settings.transition==="none"?0:settings.speed;$loaded.empty().remove();$loaded=$tag(div,"LoadedContent").append(object);function getWidth(){settings.w=settings.w||$loaded.width();settings.w=settings.mw&&settings.mw<settings.w?settings.mw:settings.w;return settings.w}function getHeight(){settings.h=settings.h||$loaded.height();settings.h=settings.mh&&settings.mh<settings.h?settings.mh:settings.h;return settings.h}$loaded.hide().appendTo($loadingBay.show()).css({width:getWidth(),overflow:settings.scrolling?"auto":"hidden"}).css({height:getHeight()}).prependTo($content);$loadingBay.hide();$(photo).css({"float":"none"});callback=function(){var total=$related.length,iframe,frameBorder="frameBorder",allowTransparency="allowTransparency",complete;if(!open){return}function removeFilter(){if(isIE){$box[0].style.removeAttribute("filter")}}complete=function(){clearTimeout(loadingTimer);$loadingOverlay.remove();trigger(event_complete,settings.onComplete)};if(isIE){if(photo){$loaded.fadeIn(100)}}$title.html(settings.title).add($loaded).show();if(total>1){if(typeof settings.current==="string"){$current.html(settings.current.replace("{current}",index+1).replace("{total}",total)).show()}$next[settings.loop||index<total-1?"show":"hide"]().html(settings.next);$prev[settings.loop||index?"show":"hide"]().html(settings.previous);if(settings.slideshow){$slideshow.show()}if(settings.preloading){$.each([getIndex(-1),getIndex(1)],function(){var src,img,i=$related[this],data=$.data(i,colorbox);if(data&&data.href){src=data.href;if($.isFunction(src)){src=src.call(i)}}else{src=$(i).attr("href")}if(src&&(isImage(src)||data.photo)){img=new Image;img.src=src}})}}else{$groupControls.hide()}if(settings.iframe){iframe=$tag("iframe")[0];if(frameBorder in iframe){iframe[frameBorder]=0}if(allowTransparency in iframe){iframe[allowTransparency]="true"}if(!settings.scrolling){iframe.scrolling="no"}$(iframe).attr({src:settings.href,name:(new Date).getTime(),"class":prefix+"Iframe",allowFullScreen:true,webkitAllowFullScreen:true,mozallowfullscreen:true}).one("load",complete).appendTo($loaded);$events.one(event_purge,function(){iframe.src="//about:blank"});if(settings.fastIframe){$(iframe).trigger("load")}}else{complete()}if(settings.transition==="fade"){$box.fadeTo(speed,1,removeFilter)}else{removeFilter()}};if(settings.transition==="fade"){$box.fadeTo(speed,0,function(){publicMethod.position(0,callback)})}else{publicMethod.position(speed,callback)}};publicMethod.load=function(launched){var href,setResize,prep=publicMethod.prep,$inline;active=true;photo=false;element=$related[index];if(!launched){makeSettings()}if(className){$box.add($overlay).removeClass(className)}if(settings.className){$box.add($overlay).addClass(settings.className)}className=settings.className;trigger(event_purge);trigger(event_load,settings.onLoad);settings.h=settings.height?setSize(settings.height,"y")-loadedHeight-interfaceHeight:settings.innerHeight&&setSize(settings.innerHeight,"y");settings.w=settings.width?setSize(settings.width,"x")-loadedWidth-interfaceWidth:settings.innerWidth&&setSize(settings.innerWidth,"x");settings.mw=settings.w;settings.mh=settings.h;if(settings.maxWidth){settings.mw=setSize(settings.maxWidth,"x")-loadedWidth-interfaceWidth;settings.mw=settings.w&&settings.w<settings.mw?settings.w:settings.mw}if(settings.maxHeight){settings.mh=setSize(settings.maxHeight,"y")-loadedHeight-interfaceHeight;settings.mh=settings.h&&settings.h<settings.mh?settings.h:settings.mh}href=settings.href;loadingTimer=setTimeout(function(){$loadingOverlay.appendTo($content)},100);if(settings.inline){$inline=$tag(div).hide().insertBefore($(href)[0]);$events.one(event_purge,function(){$inline.replaceWith($loaded.children())});prep($(href))}else if(settings.iframe){prep(" ")}else if(settings.html){prep(settings.html)}else if(isImage(href)){$(photo=new Image).addClass(prefix+"Photo").bind("error",function(){settings.title=false;prep($tag(div,"Error").html(settings.imgError))}).one("load",function(){var percent;if(settings.scalePhotos){setResize=function(){photo.height-=photo.height*percent;photo.width-=photo.width*percent};if(settings.mw&&photo.width>settings.mw){percent=(photo.width-settings.mw)/photo.width;setResize()}if(settings.mh&&photo.height>settings.mh){percent=(photo.height-settings.mh)/photo.height;setResize()}}if(settings.h){photo.style.marginTop=Math.max(settings.mh-photo.height,0)/2+"px"}if($related[1]&&(settings.loop||$related[index+1])){photo.style.cursor="pointer";photo.onclick=function(){publicMethod.next()}}if(isIE){photo.style.msInterpolationMode="bicubic"}setTimeout(function(){prep(photo)},1)});setTimeout(function(){photo.src=href},1)}else if(href){$loadingBay.load(href,settings.data,function(data,status){prep(status==="error"?$tag(div,"Error").html(settings.xhrError):$(this).contents())})}};publicMethod.next=function(){if(!active&&$related[1]&&(settings.loop||$related[index+1])){index=getIndex(1);publicMethod.load()}};publicMethod.prev=function(){if(!active&&$related[1]&&(settings.loop||index)){index=getIndex(-1);publicMethod.load()}};publicMethod.close=function(){if(open&&!closing){closing=true;open=false;trigger(event_cleanup,settings.onCleanup);$window.unbind("."+prefix+" ."+event_ie6);$overlay.fadeTo(200,0);$box.stop().fadeTo(300,0,function(){$box.add($overlay).css({opacity:1,cursor:"auto"}).hide();trigger(event_purge);$loaded.empty().remove();setTimeout(function(){closing=false;trigger(event_closed,settings.onClosed)},1)})}};publicMethod.remove=function(){$([]).add($box).add($overlay).remove();$box=null;$("."+boxElement).removeData(colorbox).removeClass(boxElement);$(document).unbind("click."+prefix)};publicMethod.element=function(){return $(element)};publicMethod.settings=defaults})(jQuery,document,window); \ No newline at end of file
diff --git a/library/colorbox/jquery.colorbox.js b/library/colorbox/jquery.colorbox.js
new file mode 100644
index 000000000..5b9aecdc2
--- /dev/null
+++ b/library/colorbox/jquery.colorbox.js
@@ -0,0 +1,975 @@
+/*
+ jQuery ColorBox v1.3.32 - 2013-01-31
+ (c) 2013 Jack Moore - jacklmoore.com/colorbox
+ license: http://www.opensource.org/licenses/mit-license.php
+*/
+(function ($, document, window) {
+ var
+ // Default settings object.
+ // See http://jacklmoore.com/colorbox for details.
+ defaults = {
+ transition: "elastic",
+ speed: 300,
+ width: false,
+ initialWidth: "600",
+ innerWidth: false,
+ maxWidth: false,
+ height: false,
+ initialHeight: "450",
+ innerHeight: false,
+ maxHeight: false,
+ scalePhotos: true,
+ scrolling: true,
+ inline: false,
+ html: false,
+ iframe: false,
+ fastIframe: true,
+ photo: false,
+ href: false,
+ title: false,
+ rel: false,
+ opacity: 0.9,
+ preloading: true,
+ className: false,
+
+ current: "image {current} of {total}",
+ previous: "previous",
+ next: "next",
+ close: "close",
+ xhrError: "This content failed to load.",
+ imgError: "This image failed to load.",
+
+ open: false,
+ returnFocus: true,
+ reposition: true,
+ loop: true,
+ slideshow: false,
+ slideshowAuto: true,
+ slideshowSpeed: 2500,
+ slideshowStart: "start slideshow",
+ slideshowStop: "stop slideshow",
+ onOpen: false,
+ onLoad: false,
+ onComplete: false,
+ onCleanup: false,
+ onClosed: false,
+ overlayClose: true,
+ escKey: true,
+ arrowKey: true,
+ top: false,
+ bottom: false,
+ left: false,
+ right: false,
+ fixed: false,
+ data: undefined
+ },
+
+ // Abstracting the HTML and event identifiers for easy rebranding
+ colorbox = 'colorbox',
+ prefix = 'cbox',
+ boxElement = prefix + 'Element',
+
+ // Events
+ event_open = prefix + '_open',
+ event_load = prefix + '_load',
+ event_complete = prefix + '_complete',
+ event_cleanup = prefix + '_cleanup',
+ event_closed = prefix + '_closed',
+ event_purge = prefix + '_purge',
+
+ // Special Handling for IE
+ isIE = !$.support.leadingWhitespace, // IE6 to IE8
+ isIE6 = isIE && !window.XMLHttpRequest, // IE6
+ event_ie6 = prefix + '_IE6',
+
+ // Cached jQuery Object Variables
+ $overlay,
+ $box,
+ $wrap,
+ $content,
+ $topBorder,
+ $leftBorder,
+ $rightBorder,
+ $bottomBorder,
+ $related,
+ $window,
+ $loaded,
+ $loadingBay,
+ $loadingOverlay,
+ $title,
+ $current,
+ $slideshow,
+ $next,
+ $prev,
+ $close,
+ $groupControls,
+ $events = $({}),
+
+ // Variables for cached values or use across multiple functions
+ settings,
+ interfaceHeight,
+ interfaceWidth,
+ loadedHeight,
+ loadedWidth,
+ element,
+ index,
+ photo,
+ open,
+ active,
+ closing,
+ loadingTimer,
+ publicMethod,
+ div = "div",
+ className,
+ init;
+
+ // ****************
+ // HELPER FUNCTIONS
+ // ****************
+
+ // Convience function for creating new jQuery objects
+ function $tag(tag, id, css) {
+ var element = document.createElement(tag);
+
+ if (id) {
+ element.id = prefix + id;
+ }
+
+ if (css) {
+ element.style.cssText = css;
+ }
+
+ return $(element);
+ }
+
+ // Determine the next and previous members in a group.
+ function getIndex(increment) {
+ var
+ max = $related.length,
+ newIndex = (index + increment) % max;
+
+ return (newIndex < 0) ? max + newIndex : newIndex;
+ }
+
+ // Convert '%' and 'px' values to integers
+ function setSize(size, dimension) {
+ return Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : $window.height()) / 100) : 1) * parseInt(size, 10));
+ }
+
+ // Checks an href to see if it is a photo.
+ // There is a force photo option (photo: true) for hrefs that cannot be matched by this regex.
+ function isImage(url) {
+ return settings.photo || /\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i.test(url);
+ }
+
+ // Assigns function results to their respective properties
+ function makeSettings() {
+ var i,
+ data = $.data(element, colorbox);
+
+ if (data == null) {
+ settings = $.extend({}, defaults);
+ if (console && console.log) {
+ console.log('Error: cboxElement missing settings object');
+ }
+ } else {
+ settings = $.extend({}, data);
+ }
+
+ for (i in settings) {
+ if ($.isFunction(settings[i]) && i.slice(0, 2) !== 'on') { // checks to make sure the function isn't one of the callbacks, they will be handled at the appropriate time.
+ settings[i] = settings[i].call(element);
+ }
+ }
+
+ settings.rel = settings.rel || element.rel || $(element).data('rel') || 'nofollow';
+ settings.href = settings.href || $(element).attr('href');
+ settings.title = settings.title || element.title;
+
+ if (typeof settings.href === "string") {
+ settings.href = $.trim(settings.href);
+ }
+ }
+
+ function trigger(event, callback) {
+ // for external use
+ $(document).trigger(event);
+
+ // for internal use
+ $events.trigger(event);
+
+ if ($.isFunction(callback)) {
+ callback.call(element);
+ }
+ }
+
+ // Slideshow functionality
+ function slideshow() {
+ var
+ timeOut,
+ className = prefix + "Slideshow_",
+ click = "click." + prefix,
+ clear,
+ set,
+ start,
+ stop;
+
+ if (settings.slideshow && $related[1]) {
+ clear = function () {
+ clearTimeout(timeOut);
+ };
+
+ set = function () {
+ if (settings.loop || $related[index + 1]) {
+ timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed);
+ }
+ };
+
+ start = function () {
+ $slideshow
+ .html(settings.slideshowStop)
+ .unbind(click)
+ .one(click, stop);
+
+ $events
+ .bind(event_complete, set)
+ .bind(event_load, clear)
+ .bind(event_cleanup, stop);
+
+ $box.removeClass(className + "off").addClass(className + "on");
+ };
+
+ stop = function () {
+ clear();
+
+ $events
+ .unbind(event_complete, set)
+ .unbind(event_load, clear)
+ .unbind(event_cleanup, stop);
+
+ $slideshow
+ .html(settings.slideshowStart)
+ .unbind(click)
+ .one(click, function () {
+ publicMethod.next();
+ start();
+ });
+
+ $box.removeClass(className + "on").addClass(className + "off");
+ };
+
+ if (settings.slideshowAuto) {
+ start();
+ } else {
+ stop();
+ }
+ } else {
+ $box.removeClass(className + "off " + className + "on");
+ }
+ }
+
+ function launch(target) {
+ if (!closing) {
+
+ element = target;
+
+ makeSettings();
+
+ $related = $(element);
+
+ index = 0;
+
+ if (settings.rel !== 'nofollow') {
+ $related = $('.' + boxElement).filter(function () {
+ var data = $.data(this, colorbox),
+ relRelated;
+
+ if (data) {
+ relRelated = $(this).data('rel') || data.rel || this.rel;
+ }
+
+ return (relRelated === settings.rel);
+ });
+ index = $related.index(element);
+
+ // Check direct calls to ColorBox.
+ if (index === -1) {
+ $related = $related.add(element);
+ index = $related.length - 1;
+ }
+ }
+
+ if (!open) {
+ open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys.
+
+ // Show colorbox so the sizes can be calculated in older versions of jQuery
+ $box.css({visibility:'hidden', display:'block'});
+
+ $loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden').appendTo($content);
+
+ // Cache values needed for size calculations
+ interfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();//Subtraction needed for IE6
+ interfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width();
+ loadedHeight = $loaded.outerHeight(true);
+ loadedWidth = $loaded.outerWidth(true);
+
+ if (settings.returnFocus) {
+ $(element).blur();
+ $events.one(event_closed, function () {
+ $(element).focus();
+ });
+ }
+
+ $overlay.css({
+ opacity: parseFloat(settings.opacity),
+ cursor: settings.overlayClose ? "pointer" : "auto",
+ visibility: 'visible'
+ }).show();
+
+ // Opens inital empty ColorBox prior to content being loaded.
+ settings.w = setSize(settings.initialWidth, 'x');
+ settings.h = setSize(settings.initialHeight, 'y');
+ publicMethod.position();
+
+ if (isIE6) {
+ $window.bind('resize.' + event_ie6 + ' scroll.' + event_ie6, function () {
+ $overlay.css({width: $window.width(), height: $window.height(), top: $window.scrollTop(), left: $window.scrollLeft()});
+ }).trigger('resize.' + event_ie6);
+ }
+
+ slideshow();
+
+ trigger(event_open, settings.onOpen);
+
+ $groupControls.add($title).hide();
+
+ $close.html(settings.close).show();
+ }
+
+ publicMethod.load(true);
+ }
+ }
+
+ // ColorBox's markup needs to be added to the DOM prior to being called
+ // so that the browser will go ahead and load the CSS background images.
+ function appendHTML() {
+ if (!$box && document.body) {
+ init = false;
+
+ $window = $(window);
+ $box = $tag(div).attr({id: colorbox, 'class': isIE ? prefix + (isIE6 ? 'IE6' : 'IE') : ''}).hide();
+ $overlay = $tag(div, "Overlay", isIE6 ? 'position:absolute' : '').hide();
+ $loadingOverlay = $tag(div, "LoadingOverlay").add($tag(div, "LoadingGraphic"));
+ $wrap = $tag(div, "Wrapper");
+ $content = $tag(div, "Content").append(
+ $title = $tag(div, "Title"),
+ $current = $tag(div, "Current"),
+ $next = $tag(div, "Next"),
+ $prev = $tag(div, "Previous"),
+ $slideshow = $tag(div, "Slideshow"),
+ $close = $tag(div, "Close")
+ );
+
+ $wrap.append( // The 3x3 Grid that makes up ColorBox
+ $tag(div).append(
+ $tag(div, "TopLeft"),
+ $topBorder = $tag(div, "TopCenter"),
+ $tag(div, "TopRight")
+ ),
+ $tag(div, false, 'clear:left').append(
+ $leftBorder = $tag(div, "MiddleLeft"),
+ $content,
+ $rightBorder = $tag(div, "MiddleRight")
+ ),
+ $tag(div, false, 'clear:left').append(
+ $tag(div, "BottomLeft"),
+ $bottomBorder = $tag(div, "BottomCenter"),
+ $tag(div, "BottomRight")
+ )
+ ).find('div div').css({'float': 'left'});
+
+ $loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none');
+
+ $groupControls = $next.add($prev).add($current).add($slideshow);
+
+ $(document.body).append($overlay, $box.append($wrap, $loadingBay));
+ }
+ }
+
+ // Add ColorBox's event bindings
+ function addBindings() {
+ function clickHandler(e) {
+ // ignore non-left-mouse-clicks and clicks modified with ctrl / command, shift, or alt.
+ // See: http://jacklmoore.com/notes/click-events/
+ if (!(e.which > 1 || e.shiftKey || e.altKey || e.metaKey)) {
+ e.preventDefault();
+ launch(this);
+ }
+ }
+
+ if ($box) {
+ if (!init) {
+ init = true;
+
+ // Anonymous functions here keep the public method from being cached, thereby allowing them to be redefined on the fly.
+ $next.click(function () {
+ publicMethod.next();
+ });
+ $prev.click(function () {
+ publicMethod.prev();
+ });
+ $close.click(function () {
+ publicMethod.close();
+ });
+ $overlay.click(function () {
+ if (settings.overlayClose) {
+ publicMethod.close();
+ }
+ });
+
+ // Key Bindings
+ $(document).bind('keydown.' + prefix, function (e) {
+ var key = e.keyCode;
+ if (open && settings.escKey && key === 27) {
+ e.preventDefault();
+ publicMethod.close();
+ }
+ if (open && settings.arrowKey && $related[1]) {
+ if (key === 37) {
+ e.preventDefault();
+ $prev.click();
+ } else if (key === 39) {
+ e.preventDefault();
+ $next.click();
+ }
+ }
+ });
+
+ if ($.isFunction($.fn.on)) {
+ $(document).on('click.'+prefix, '.'+boxElement, clickHandler);
+ } else { // For jQuery 1.3.x -> 1.6.x
+ $('.'+boxElement).live('click.'+prefix, clickHandler);
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ // Don't do anything if ColorBox already exists.
+ if ($.colorbox) {
+ return;
+ }
+
+ // Append the HTML when the DOM loads
+ $(appendHTML);
+
+
+ // ****************
+ // PUBLIC FUNCTIONS
+ // Usage format: $.fn.colorbox.close();
+ // Usage from within an iframe: parent.$.fn.colorbox.close();
+ // ****************
+
+ publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) {
+ var $this = this;
+
+ options = options || {};
+
+ appendHTML();
+
+ if (addBindings()) {
+ if ($.isFunction($this)) { // assume a call to $.colorbox
+ $this = $('<a/>');
+ options.open = true;
+ } else if (!$this[0]) { // colorbox being applied to empty collection
+ return $this;
+ }
+
+ if (callback) {
+ options.onComplete = callback;
+ }
+
+ $this.each(function () {
+ $.data(this, colorbox, $.extend({}, $.data(this, colorbox) || defaults, options));
+ }).addClass(boxElement);
+
+ if (($.isFunction(options.open) && options.open.call($this)) || options.open) {
+ launch($this[0]);
+ }
+ }
+
+ return $this;
+ };
+
+ publicMethod.position = function (speed, loadedCallback) {
+ var
+ css,
+ top = 0,
+ left = 0,
+ offset = $box.offset(),
+ scrollTop,
+ scrollLeft;
+
+ $window.unbind('resize.' + prefix);
+
+ // remove the modal so that it doesn't influence the document width/height
+ $box.css({top: -9e4, left: -9e4});
+
+ scrollTop = $window.scrollTop();
+ scrollLeft = $window.scrollLeft();
+
+ if (settings.fixed && !isIE6) {
+ offset.top -= scrollTop;
+ offset.left -= scrollLeft;
+ $box.css({position: 'fixed'});
+ } else {
+ top = scrollTop;
+ left = scrollLeft;
+ $box.css({position: 'absolute'});
+ }
+
+ // keeps the top and left positions within the browser's viewport.
+ if (settings.right !== false) {
+ left += Math.max($window.width() - settings.w - loadedWidth - interfaceWidth - setSize(settings.right, 'x'), 0);
+ } else if (settings.left !== false) {
+ left += setSize(settings.left, 'x');
+ } else {
+ left += Math.round(Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2);
+ }
+
+ if (settings.bottom !== false) {
+ top += Math.max($window.height() - settings.h - loadedHeight - interfaceHeight - setSize(settings.bottom, 'y'), 0);
+ } else if (settings.top !== false) {
+ top += setSize(settings.top, 'y');
+ } else {
+ top += Math.round(Math.max($window.height() - settings.h - loadedHeight - interfaceHeight, 0) / 2);
+ }
+
+ $box.css({top: offset.top, left: offset.left, visibility:'visible'});
+
+ // setting the speed to 0 to reduce the delay between same-sized content.
+ speed = ($box.width() === settings.w + loadedWidth && $box.height() === settings.h + loadedHeight) ? 0 : speed || 0;
+
+ // this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly,
+ // but it has to be shrank down around the size of div#colorbox when it's done. If not,
+ // it can invoke an obscure IE bug when using iframes.
+ $wrap[0].style.width = $wrap[0].style.height = "9999px";
+
+ function modalDimensions(that) {
+ $topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = (parseInt(that.style.width,10) - interfaceWidth)+'px';
+ $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = (parseInt(that.style.height,10) - interfaceHeight)+'px';
+ }
+
+ css = {width: settings.w + loadedWidth + interfaceWidth, height: settings.h + loadedHeight + interfaceHeight, top: top, left: left};
+
+ if(speed===0){ // temporary workaround to side-step jQuery-UI 1.8 bug (http://bugs.jquery.com/ticket/12273)
+ $box.css(css);
+ }
+ $box.dequeue().animate(css, {
+ duration: speed,
+ complete: function () {
+ modalDimensions(this);
+
+ active = false;
+
+ // shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation.
+ $wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px";
+ $wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px";
+
+ if (settings.reposition) {
+ setTimeout(function () { // small delay before binding onresize due to an IE8 bug.
+ $window.bind('resize.' + prefix, publicMethod.position);
+ }, 1);
+ }
+
+ if (loadedCallback) {
+ loadedCallback();
+ }
+ },
+ step: function () {
+ modalDimensions(this);
+ }
+ });
+ };
+
+ publicMethod.resize = function (options) {
+ if (open) {
+ options = options || {};
+
+ if (options.width) {
+ settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth;
+ }
+ if (options.innerWidth) {
+ settings.w = setSize(options.innerWidth, 'x');
+ }
+ $loaded.css({width: settings.w});
+
+ if (options.height) {
+ settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight;
+ }
+ if (options.innerHeight) {
+ settings.h = setSize(options.innerHeight, 'y');
+ }
+ if (!options.innerHeight && !options.height) {
+ $loaded.css({height: "auto"});
+ settings.h = $loaded.height();
+ }
+ $loaded.css({height: settings.h});
+
+ publicMethod.position(settings.transition === "none" ? 0 : settings.speed);
+ }
+ };
+
+ publicMethod.prep = function (object) {
+ if (!open) {
+ return;
+ }
+
+ var callback, speed = settings.transition === "none" ? 0 : settings.speed;
+
+ $loaded.empty().remove(); // Using empty first may prevent some IE7 issues.
+
+ $loaded = $tag(div, 'LoadedContent').append(object);
+
+ function getWidth() {
+ settings.w = settings.w || $loaded.width();
+ settings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w;
+ return settings.w;
+ }
+ function getHeight() {
+ settings.h = settings.h || $loaded.height();
+ settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h;
+ return settings.h;
+ }
+
+ $loaded.hide()
+ .appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations.
+ .css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'})
+ .css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height.
+ .prependTo($content);
+
+ $loadingBay.hide();
+
+ // floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width.
+ //$(photo).css({'float': 'none', marginLeft: 'auto', marginRight: 'auto'});
+
+ $(photo).css({'float': 'none'});
+
+
+ callback = function () {
+ var total = $related.length,
+ iframe,
+ frameBorder = 'frameBorder',
+ allowTransparency = 'allowTransparency',
+ complete;
+
+ if (!open) {
+ return;
+ }
+
+ function removeFilter() {
+ if (isIE) {
+ $box[0].style.removeAttribute('filter');
+ }
+ }
+
+ complete = function () {
+ clearTimeout(loadingTimer);
+ $loadingOverlay.remove();
+ trigger(event_complete, settings.onComplete);
+ };
+
+ if (isIE) {
+ //This fadeIn helps the bicubic resampling to kick-in.
+ if (photo) {
+ $loaded.fadeIn(100);
+ }
+ }
+
+ $title.html(settings.title).add($loaded).show();
+
+ if (total > 1) { // handle grouping
+ if (typeof settings.current === "string") {
+ $current.html(settings.current.replace('{current}', index + 1).replace('{total}', total)).show();
+ }
+
+ $next[(settings.loop || index < total - 1) ? "show" : "hide"]().html(settings.next);
+ $prev[(settings.loop || index) ? "show" : "hide"]().html(settings.previous);
+
+ if (settings.slideshow) {
+ $slideshow.show();
+ }
+
+ // Preloads images within a rel group
+ if (settings.preloading) {
+ $.each([getIndex(-1), getIndex(1)], function(){
+ var src,
+ img,
+ i = $related[this],
+ data = $.data(i, colorbox);
+
+ if (data && data.href) {
+ src = data.href;
+ if ($.isFunction(src)) {
+ src = src.call(i);
+ }
+ } else {
+ src = $(i).attr('href');
+ }
+
+ if (src && (isImage(src) || data.photo)) {
+ img = new Image();
+ img.src = src;
+ }
+ });
+ }
+ } else {
+ $groupControls.hide();
+ }
+
+ if (settings.iframe) {
+ iframe = $tag('iframe')[0];
+
+ if (frameBorder in iframe) {
+ iframe[frameBorder] = 0;
+ }
+
+ if (allowTransparency in iframe) {
+ iframe[allowTransparency] = "true";
+ }
+
+ if (!settings.scrolling) {
+ iframe.scrolling = "no";
+ }
+
+ $(iframe)
+ .attr({
+ src: settings.href,
+ name: (new Date()).getTime(), // give the iframe a unique name to prevent caching
+ 'class': prefix + 'Iframe',
+ allowFullScreen : true, // allow HTML5 video to go fullscreen
+ webkitAllowFullScreen : true,
+ mozallowfullscreen : true
+ })
+ .one('load', complete)
+ .appendTo($loaded);
+
+ $events.one(event_purge, function () {
+ iframe.src = "//about:blank";
+ });
+
+ if (settings.fastIframe) {
+ $(iframe).trigger('load');
+ }
+ } else {
+ complete();
+ }
+
+ if (settings.transition === 'fade') {
+ $box.fadeTo(speed, 1, removeFilter);
+ } else {
+ removeFilter();
+ }
+ };
+
+ if (settings.transition === 'fade') {
+ $box.fadeTo(speed, 0, function () {
+ publicMethod.position(0, callback);
+ });
+ } else {
+ publicMethod.position(speed, callback);
+ }
+ };
+
+ publicMethod.load = function (launched) {
+ var href, setResize, prep = publicMethod.prep, $inline;
+
+ active = true;
+
+ photo = false;
+
+ element = $related[index];
+
+ if (!launched) {
+ makeSettings();
+ }
+
+ if (className) {
+ $box.add($overlay).removeClass(className);
+ }
+ if (settings.className) {
+ $box.add($overlay).addClass(settings.className);
+ }
+ className = settings.className;
+
+ trigger(event_purge);
+
+ trigger(event_load, settings.onLoad);
+
+ settings.h = settings.height ?
+ setSize(settings.height, 'y') - loadedHeight - interfaceHeight :
+ settings.innerHeight && setSize(settings.innerHeight, 'y');
+
+ settings.w = settings.width ?
+ setSize(settings.width, 'x') - loadedWidth - interfaceWidth :
+ settings.innerWidth && setSize(settings.innerWidth, 'x');
+
+ // Sets the minimum dimensions for use in image scaling
+ settings.mw = settings.w;
+ settings.mh = settings.h;
+
+ // Re-evaluate the minimum width and height based on maxWidth and maxHeight values.
+ // If the width or height exceed the maxWidth or maxHeight, use the maximum values instead.
+ if (settings.maxWidth) {
+ settings.mw = setSize(settings.maxWidth, 'x') - loadedWidth - interfaceWidth;
+ settings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw;
+ }
+ if (settings.maxHeight) {
+ settings.mh = setSize(settings.maxHeight, 'y') - loadedHeight - interfaceHeight;
+ settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh;
+ }
+
+ href = settings.href;
+
+ loadingTimer = setTimeout(function () {
+ $loadingOverlay.appendTo($content);
+ }, 100);
+
+ if (settings.inline) {
+ // Inserts an empty placeholder where inline content is being pulled from.
+ // An event is bound to put inline content back when ColorBox closes or loads new content.
+ $inline = $tag(div).hide().insertBefore($(href)[0]);
+
+ $events.one(event_purge, function () {
+ $inline.replaceWith($loaded.children());
+ });
+
+ prep($(href));
+ } else if (settings.iframe) {
+ // IFrame element won't be added to the DOM until it is ready to be displayed,
+ // to avoid problems with DOM-ready JS that might be trying to run in that iframe.
+ prep(" ");
+ } else if (settings.html) {
+ prep(settings.html);
+ } else if (isImage(href)) {
+ $(photo = new Image())
+ .addClass(prefix + 'Photo')
+ .bind('error',function () {
+ settings.title = false;
+ prep($tag(div, 'Error').html(settings.imgError));
+ })
+ .one('load', function () {
+ var percent;
+
+ if (settings.scalePhotos) {
+ setResize = function () {
+ photo.height -= photo.height * percent;
+ photo.width -= photo.width * percent;
+ };
+ if (settings.mw && photo.width > settings.mw) {
+ percent = (photo.width - settings.mw) / photo.width;
+ setResize();
+ }
+ if (settings.mh && photo.height > settings.mh) {
+ percent = (photo.height - settings.mh) / photo.height;
+ setResize();
+ }
+ }
+
+ if (settings.h) {
+ photo.style.marginTop = Math.max(settings.mh - photo.height, 0) / 2 + 'px';
+ }
+
+ if ($related[1] && (settings.loop || $related[index + 1])) {
+ photo.style.cursor = 'pointer';
+ photo.onclick = function () {
+ publicMethod.next();
+ };
+ }
+
+ if (isIE) {
+ photo.style.msInterpolationMode = 'bicubic';
+ }
+
+ setTimeout(function () { // A pause because Chrome will sometimes report a 0 by 0 size otherwise.
+ prep(photo);
+ }, 1);
+ });
+
+ setTimeout(function () { // A pause because Opera 10.6+ will sometimes not run the onload function otherwise.
+ photo.src = href;
+ }, 1);
+ } else if (href) {
+ $loadingBay.load(href, settings.data, function (data, status) {
+ prep(status === 'error' ? $tag(div, 'Error').html(settings.xhrError) : $(this).contents());
+ });
+ }
+ };
+
+ // Navigates to the next page/image in a set.
+ publicMethod.next = function () {
+ if (!active && $related[1] && (settings.loop || $related[index + 1])) {
+ index = getIndex(1);
+ publicMethod.load();
+ }
+ };
+
+ publicMethod.prev = function () {
+ if (!active && $related[1] && (settings.loop || index)) {
+ index = getIndex(-1);
+ publicMethod.load();
+ }
+ };
+
+ // Note: to use this within an iframe use the following format: parent.$.fn.colorbox.close();
+ publicMethod.close = function () {
+ if (open && !closing) {
+
+ closing = true;
+
+ open = false;
+
+ trigger(event_cleanup, settings.onCleanup);
+
+ $window.unbind('.' + prefix + ' .' + event_ie6);
+
+ $overlay.fadeTo(200, 0);
+
+ $box.stop().fadeTo(300, 0, function () {
+
+ $box.add($overlay).css({'opacity': 1, cursor: 'auto'}).hide();
+
+ trigger(event_purge);
+
+ $loaded.empty().remove(); // Using empty first may prevent some IE7 issues.
+
+ setTimeout(function () {
+ closing = false;
+ trigger(event_closed, settings.onClosed);
+ }, 1);
+ });
+ }
+ };
+
+ // Removes changes ColorBox made to the document, but does not remove the plugin
+ // from jQuery.
+ publicMethod.remove = function () {
+ $([]).add($box).add($overlay).remove();
+ $box = null;
+ $('.' + boxElement)
+ .removeData(colorbox)
+ .removeClass(boxElement);
+
+ $(document).unbind('click.'+prefix);
+ };
+
+ // A method for fetching the current element ColorBox is referencing.
+ // returns a jQuery object.
+ publicMethod.element = function () {
+ return $(element);
+ };
+
+ publicMethod.settings = defaults;
+
+}(jQuery, document, window));
diff --git a/library/fancybox/jquery.fancybox-1.3.4.js b/library/fancybox/jquery.fancybox-1.3.4.js
index be7727537..43e2cd56b 100644
--- a/library/fancybox/jquery.fancybox-1.3.4.js
+++ b/library/fancybox/jquery.fancybox-1.3.4.js
@@ -26,7 +26,8 @@
titleHeight = 0, titleStr = '', start_pos, final_pos, busy = false, fx = $.extend($('<div/>')[0], { prop: 0 }),
- isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest,
+ isIE6 = false,
+// $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest,
/*
* Private methods
@@ -612,7 +613,7 @@
}
if (currentOpts.type == 'iframe') {
- $('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" ' + ($.browser.msie ? 'allowtransparency="true""' : '') + ' scrolling="' + selectedOpts.scrolling + '" src="' + currentOpts.href + '"></iframe>').appendTo(content);
+ $('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" ' + ' scrolling="' + selectedOpts.scrolling + '" src="' + currentOpts.href + '"></iframe>').appendTo(content);
}
wrap.show();
diff --git a/library/fullcalendar/changelog.txt b/library/fullcalendar/changelog.txt
index 17b31f862..549631ad0 100644
--- a/library/fullcalendar/changelog.txt
+++ b/library/fullcalendar/changelog.txt
@@ -1,4 +1,28 @@
+version 1.6.0 (3/18/13)
+ - visual facelift, with bootstrap-inspired buttons and colors
+ - simplified HTML/CSS for events and buttons
+ - dayRender, for modifying a day cell (issue 191, thx althaus)
+ - week numbers on side of calendar (issue 295)
+ - weekNumber
+ - weekNumberCalculation
+ - weekNumberTitle
+ - "W" formatting variable
+ - finer snapping granularity for agenda view events (issue 495, thx ms-doodle-com)
+ - eventAfterAllRender (issue 753, thx pdrakeweb)
+ - eventDataTransform (thx joeyspo)
+ - data-date attributes on cells (thx Jae)
+ - expose $.fullCalendar.dateFormatters
+ - when clicking fast on buttons, prevent text selection
+ - bundled with latest jQuery (1.9.1) and jQuery UI (1.10.2)
+ - Grunt/Lumbar build system for internal development
+ - build for Bower package manager
+ - build for jQuery plugin site
+
+version 1.5.4 (9/5/12)
+ - made compatible with jQuery 1.8.* (thx archaeron)
+ - bundled with jQuery 1.8.1 and jQuery UI 1.8.23
+
version 1.5.3 (2/6/12)
- fixed dragging issue with jQuery UI 1.8.16 (issue 1168)
- bundled with jQuery 1.7.1 and jQuery UI 1.8.17
diff --git a/library/fullcalendar/fullcalendar.css b/library/fullcalendar/fullcalendar.css
index 04f118493..db0544543 100644
--- a/library/fullcalendar/fullcalendar.css
+++ b/library/fullcalendar/fullcalendar.css
@@ -1,12 +1,7 @@
-/*
- * FullCalendar v1.5.3 Stylesheet
- *
- * Copyright (c) 2011 Adam Shaw
- * Dual licensed under the MIT and GPL licenses, located in
- * MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
- *
- * Date: Mon Feb 6 22:40:40 2012 -0800
- *
+/*!
+ * FullCalendar v1.6.0 Stylesheet
+ * Docs & License: http://arshaw.com/fullcalendar/
+ * (c) 2013 Adam Shaw
*/
@@ -79,11 +74,8 @@ html .fc,
margin-right: -1px;
}
-.fc-header .fc-corner-right {
- margin-right: 1px; /* back to normal */
- }
-
-.fc-header .ui-corner-right {
+.fc-header .fc-corner-right, /* non-theme */
+.fc-header .ui-corner-right { /* theme */
margin-right: 0; /* back to normal */
}
@@ -124,17 +116,17 @@ html .fc,
.fc-widget-header, /* <th>, usually */
.fc-widget-content { /* <td>, usually */
- border: 1px solid #ccc;
+ border: 1px solid #ddd;
}
.fc-state-highlight { /* <td> today cell */ /* TODO: add .fc-today to <th> */
- background: #ffc;
+ background: #fcf8e3;
}
.fc-cell-overlay { /* semi-transparent rectangle while dragging */
- background: #9cf;
- opacity: .2;
- filter: alpha(opacity=20); /* for IE */
+ background: #bce8f1;
+ opacity: .3;
+ filter: alpha(opacity=30); /* for IE */
}
@@ -145,43 +137,54 @@ html .fc,
.fc-button {
position: relative;
display: inline-block;
+ padding: 0 .6em;
+ overflow: hidden;
+ height: 1.9em;
+ line-height: 1.9em;
+ white-space: nowrap;
cursor: pointer;
}
.fc-state-default { /* non-theme */
- border-style: solid;
- border-width: 1px 0;
+ border: 1px solid;
}
-
-.fc-button-inner {
- position: relative;
- float: left;
- overflow: hidden;
+
+.fc-state-default.fc-corner-left { /* non-theme */
+ border-top-left-radius: 4px;
+ border-bottom-left-radius: 4px;
}
-
-.fc-state-default .fc-button-inner { /* non-theme */
- border-style: solid;
- border-width: 0 1px;
+
+.fc-state-default.fc-corner-right { /* non-theme */
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 4px;
}
-
-.fc-button-content {
- position: relative;
- float: left;
- height: 1.9em;
- line-height: 1.9em;
- padding: 0 .6em;
- white-space: nowrap;
+
+/*
+ Our default prev/next buttons use HTML entities like &lsaquo; &rsaquo; &laquo; &raquo;
+ and we'll try to make them look good cross-browser.
+*/
+
+.fc-text-arrow {
+ margin: 0 .1em;
+ font-size: 2em;
+ font-family: "Courier New", Courier, monospace;
+ vertical-align: baseline; /* for IE7 */
+ }
+
+.fc-button-prev .fc-text-arrow,
+.fc-button-next .fc-text-arrow { /* for &lsaquo; &rsaquo; */
+ font-weight: bold;
}
/* icon (for jquery ui) */
-.fc-button-content .fc-icon-wrap {
+.fc-button .fc-icon-wrap {
position: relative;
float: left;
top: 50%;
}
-.fc-button-content .ui-icon {
+.fc-button .ui-icon {
position: relative;
float: left;
margin-top: -50%;
@@ -189,107 +192,89 @@ html .fc,
*top: -50%;
}
-/* gloss effect */
-
-.fc-state-default .fc-button-effect {
- position: absolute;
- top: 50%;
- left: 0;
- }
-
-.fc-state-default .fc-button-effect span {
- position: absolute;
- top: -100px;
- left: 0;
- width: 500px;
- height: 100px;
- border-width: 100px 0 0 1px;
- border-style: solid;
- border-color: #fff;
- background: #444;
- opacity: .09;
- filter: alpha(opacity=9);
- }
-
-/* button states (determines colors) */
-
-.fc-state-default,
-.fc-state-default .fc-button-inner {
- border-style: solid;
- border-color: #ccc #bbb #aaa;
- background: #F3F3F3;
- color: #000;
+/*
+ button states
+ borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
+*/
+
+.fc-state-default {
+ background-color: #f5f5f5;
+ background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
+ background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
+ background-repeat: repeat-x;
+ border-color: #e6e6e6 #e6e6e6 #bfbfbf;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ color: #333;
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
-
+
.fc-state-hover,
-.fc-state-hover .fc-button-inner {
- border-color: #999;
- }
-
.fc-state-down,
-.fc-state-down .fc-button-inner {
- border-color: #555;
- background: #777;
- }
-
.fc-state-active,
-.fc-state-active .fc-button-inner {
- border-color: #555;
- background: #777;
- color: #fff;
+.fc-state-disabled {
+ color: #333333;
+ background-color: #e6e6e6;
}
-
-.fc-state-disabled,
-.fc-state-disabled .fc-button-inner {
- color: #999;
- border-color: #ddd;
+
+.fc-state-hover {
+ color: #333333;
+ text-decoration: none;
+ background-position: 0 -15px;
+ -webkit-transition: background-position 0.1s linear;
+ -moz-transition: background-position 0.1s linear;
+ -o-transition: background-position 0.1s linear;
+ transition: background-position 0.1s linear;
}
-
+
+.fc-state-down,
+.fc-state-active {
+ background-color: #cccccc;
+ background-image: none;
+ outline: 0;
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+ }
+
.fc-state-disabled {
cursor: default;
+ background-image: none;
+ opacity: 0.65;
+ filter: alpha(opacity=65);
+ box-shadow: none;
}
-
-.fc-state-disabled .fc-button-effect {
- display: none;
- }
-
+
/* Global Event Styles
------------------------------------------------------------------------*/
.fc-event {
- border-style: solid;
- border-width: 0;
+ border: 1px solid #3a87ad; /* default BORDER color */
+ background-color: #3a87ad; /* default BACKGROUND color */
+ color: #fff; /* default TEXT color */
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
font-size: .85em;
cursor: default;
}
+
+a.fc-event {
+ text-decoration: none;
+ }
a.fc-event,
.fc-event-draggable {
cursor: pointer;
}
-a.fc-event {
- text-decoration: none;
- }
-
.fc-rtl .fc-event {
text-align: right;
}
-
-.fc-event-skin {
- border-color: #36c; /* default BORDER color */
- background-color: #36c; /* default BACKGROUND color */
- color: #fff; /* default TEXT color */
- }
-
+
.fc-event-inner {
- position: relative;
width: 100%;
- height: 100%;
- border-style: solid;
- border-width: 0;
overflow: hidden;
}
@@ -298,7 +283,7 @@ a.fc-event {
padding: 0 1px;
}
-.fc .ui-resizable-handle { /*** TODO: don't use ui-resizable anymore, change class ***/
+.fc .ui-resizable-handle {
display: block;
position: absolute;
z-index: 99999;
@@ -316,6 +301,20 @@ a.fc-event {
border-width: 1px 0;
margin-bottom: 1px;
}
+
+.fc-ltr .fc-event-hori.fc-event-start,
+.fc-rtl .fc-event-hori.fc-event-end {
+ border-left-width: 1px;
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ }
+
+.fc-ltr .fc-event-hori.fc-event-end,
+.fc-rtl .fc-event-hori.fc-event-start {
+ border-right-width: 1px;
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+ }
/* resizable */
@@ -341,66 +340,6 @@ a.fc-event {
-/* Fake Rounded Corners (for buttons and events)
-------------------------------------------------------------*/
-
-.fc-corner-left {
- margin-left: 1px;
- }
-
-.fc-corner-left .fc-button-inner,
-.fc-corner-left .fc-event-inner {
- margin-left: -1px;
- }
-
-.fc-corner-right {
- margin-right: 1px;
- }
-
-.fc-corner-right .fc-button-inner,
-.fc-corner-right .fc-event-inner {
- margin-right: -1px;
- }
-
-.fc-corner-top {
- margin-top: 1px;
- }
-
-.fc-corner-top .fc-event-inner {
- margin-top: -1px;
- }
-
-.fc-corner-bottom {
- margin-bottom: 1px;
- }
-
-.fc-corner-bottom .fc-event-inner {
- margin-bottom: -1px;
- }
-
-
-
-/* Fake Rounded Corners SPECIFICALLY FOR EVENTS
------------------------------------------------------------------*/
-
-.fc-corner-left .fc-event-inner {
- border-left-width: 1px;
- }
-
-.fc-corner-right .fc-event-inner {
- border-right-width: 1px;
- }
-
-.fc-corner-top .fc-event-inner {
- border-top-width: 1px;
- }
-
-.fc-corner-bottom .fc-event-inner {
- border-bottom-width: 1px;
- }
-
-
-
/* Reusable Separate-border Table
------------------------------------------------------------*/
@@ -436,6 +375,15 @@ table.fc-border-separate {
.fc-grid th {
text-align: center;
}
+
+.fc .fc-week-number {
+ width: 22px;
+ text-align: center;
+ }
+
+.fc .fc-week-number div {
+ padding: 0 2px;
+ }
.fc-grid .fc-day-number {
float: right;
@@ -492,6 +440,10 @@ table.fc-border-separate {
white-space: nowrap;
font-weight: normal;
}
+
+.fc-agenda .fc-week-number {
+ font-weight: bold;
+ }
.fc-agenda .fc-day-content {
padding: 2px 2px 1px;
@@ -566,19 +518,28 @@ table.fc-border-separate {
.fc-event-vert {
border-width: 0 1px;
}
-
-.fc-event-vert .fc-event-head,
-.fc-event-vert .fc-event-content {
- position: relative;
- z-index: 2;
- width: 100%;
- overflow: hidden;
+
+.fc-event-vert.fc-event-start {
+ border-top-width: 1px;
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+ }
+
+.fc-event-vert.fc-event-end {
+ border-bottom-width: 1px;
+ border-bottom-left-radius: 3px;
+ border-bottom-right-radius: 3px;
}
.fc-event-vert .fc-event-time {
white-space: nowrap;
font-size: 10px;
}
+
+.fc-event-vert .fc-event-inner {
+ position: relative;
+ z-index: 2;
+ }
.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */
position: absolute;
diff --git a/library/fullcalendar/fullcalendar.js b/library/fullcalendar/fullcalendar.js
index 779a313c7..648938fee 100644
--- a/library/fullcalendar/fullcalendar.js
+++ b/library/fullcalendar/fullcalendar.js
@@ -1,23 +1,20 @@
-/**
- * @preserve
- * FullCalendar v1.5.3
- * http://arshaw.com/fullcalendar/
- *
+/*!
+ * FullCalendar v1.6.0
+ * Docs & License: http://arshaw.com/fullcalendar/
+ * (c) 2013 Adam Shaw
+ */
+
+/*
* Use fullcalendar.css for basic styling.
* For event drag & drop, requires jQuery UI draggable.
* For event resizing, requires jQuery UI resizable.
- *
- * Copyright (c) 2011 Adam Shaw
- * Dual licensed under the MIT and GPL licenses, located in
- * MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
- *
- * Date: Mon Feb 6 22:40:40 2012 -0800
- *
*/
(function($, undefined) {
+;;
+
var defaults = {
// display
@@ -29,6 +26,9 @@ var defaults = {
right: 'today prev,next'
},
weekends: true,
+ weekNumbers: false,
+ weekNumberCalculation: 'iso',
+ weekNumberTitle: 'W',
// editing
//editable: false,
@@ -66,10 +66,10 @@ var defaults = {
dayNames: ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],
dayNamesShort: ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],
buttonText: {
- prev: '&nbsp;&#9668;&nbsp;',
- next: '&nbsp;&#9658;&nbsp;',
- prevYear: '&nbsp;&lt;&lt;&nbsp;',
- nextYear: '&nbsp;&gt;&gt;&nbsp;',
+ prev: "<span class='fc-text-arrow'>&lsaquo;</span>",
+ next: "<span class='fc-text-arrow'>&rsaquo;</span>",
+ prevYear: "<span class='fc-text-arrow'>&laquo;</span>",
+ nextYear: "<span class='fc-text-arrow'>&raquo;</span>",
today: 'today',
month: 'month',
week: 'week',
@@ -98,10 +98,10 @@ var rtlDefaults = {
right: 'title'
},
buttonText: {
- prev: '&nbsp;&#9658;&nbsp;',
- next: '&nbsp;&#9668;&nbsp;',
- prevYear: '&nbsp;&gt;&gt;&nbsp;',
- nextYear: '&nbsp;&lt;&lt;&nbsp;'
+ prev: "<span class='fc-text-arrow'>&rsaquo;</span>",
+ next: "<span class='fc-text-arrow'>&lsaquo;</span>",
+ prevYear: "<span class='fc-text-arrow'>&raquo;</span>",
+ nextYear: "<span class='fc-text-arrow'>&laquo;</span>"
},
buttonIcons: {
prev: 'circle-triangle-e',
@@ -111,7 +111,9 @@ var rtlDefaults = {
-var fc = $.fullCalendar = { version: "1.5.3" };
+;;
+
+var fc = $.fullCalendar = { version: "1.6.0" };
var fcViews = fc.views = {};
@@ -177,6 +179,8 @@ function setDefaults(d) {
+;;
+
function Calendar(element, options, eventSources) {
var t = this;
@@ -258,6 +262,9 @@ function Calendar(element, options, eventSources) {
if (options.isRTL) {
element.addClass('fc-rtl');
}
+ else {
+ element.addClass('fc-ltr');
+ }
if (options.theme) {
element.addClass('ui-widget');
}
@@ -674,6 +681,8 @@ function Calendar(element, options, eventSources) {
}
+;;
+
function Header(calendar, options) {
var t = this;
@@ -747,54 +756,47 @@ function Header(calendar, options) {
var text = smartProperty(options.buttonText, buttonName); // why are we using smartProperty here?
var button = $(
"<span class='fc-button fc-button-" + buttonName + " " + tm + "-state-default'>" +
- "<span class='fc-button-inner'>" +
- "<span class='fc-button-content'>" +
- (icon ?
- "<span class='fc-icon-wrap'>" +
- "<span class='ui-icon ui-icon-" + icon + "'/>" +
- "</span>" :
- text
- ) +
- "</span>" +
- "<span class='fc-button-effect'><span></span></span>" +
- "</span>" +
+ (icon ?
+ "<span class='fc-icon-wrap'>" +
+ "<span class='ui-icon ui-icon-" + icon + "'/>" +
+ "</span>" :
+ text
+ ) +
"</span>"
- );
- if (button) {
- button
- .click(function() {
- if (!button.hasClass(tm + '-state-disabled')) {
- buttonClick();
- }
- })
- .mousedown(function() {
+ )
+ .click(function() {
+ if (!button.hasClass(tm + '-state-disabled')) {
+ buttonClick();
+ }
+ })
+ .mousedown(function() {
+ button
+ .not('.' + tm + '-state-active')
+ .not('.' + tm + '-state-disabled')
+ .addClass(tm + '-state-down');
+ })
+ .mouseup(function() {
+ button.removeClass(tm + '-state-down');
+ })
+ .hover(
+ function() {
button
.not('.' + tm + '-state-active')
.not('.' + tm + '-state-disabled')
- .addClass(tm + '-state-down');
- })
- .mouseup(function() {
- button.removeClass(tm + '-state-down');
- })
- .hover(
- function() {
- button
- .not('.' + tm + '-state-active')
- .not('.' + tm + '-state-disabled')
- .addClass(tm + '-state-hover');
- },
- function() {
- button
- .removeClass(tm + '-state-hover')
- .removeClass(tm + '-state-down');
- }
- )
- .appendTo(e);
- if (!prevButton) {
- button.addClass(tm + '-corner-left');
- }
- prevButton = button;
+ .addClass(tm + '-state-hover');
+ },
+ function() {
+ button
+ .removeClass(tm + '-state-hover')
+ .removeClass(tm + '-state-down');
+ }
+ )
+ .appendTo(e);
+ disableTextSelection(button);
+ if (!prevButton) {
+ button.addClass(tm + '-corner-left');
}
+ prevButton = button;
}
}
});
@@ -839,6 +841,8 @@ function Header(calendar, options) {
}
+;;
+
fc.sourceNormalizers = [];
fc.sourceFetchers = [];
@@ -914,6 +918,16 @@ function EventManager(options, _sources) {
_fetchEventSource(source, function(events) {
if (fetchID == currentFetchID) {
if (events) {
+
+ if (options.eventDataTransform) {
+ events = $.map(events, options.eventDataTransform);
+ }
+ if (source.eventDataTransform) {
+ events = $.map(events, source.eventDataTransform);
+ }
+ // TODO: this technique is not ideal for static array event sources.
+ // For arrays, we'll want to process all events right in the beginning, then never again.
+
for (var i=0; i<events.length; i++) {
events[i].source = source;
normalizeEvent(events[i]);
@@ -1227,6 +1241,8 @@ function EventManager(options, _sources) {
}
+;;
+
fc.addDays = addDays;
fc.cloneDate = cloneDate;
@@ -1581,10 +1597,38 @@ var dateFormatters = {
return 'th';
}
return ['st', 'nd', 'rd'][date%10-1] || 'th';
+ },
+ w : function(d, o) { // local
+ return o.weekNumberCalculation(d);
+ },
+ W : function(d) { // ISO
+ return iso8601Week(d);
}
};
+fc.dateFormatters = dateFormatters;
+
+
+/* thanks jQuery UI (https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.datepicker.js)
+ *
+ * Set as calculateWeek to determine the week of the year based on the ISO 8601 definition.
+ * @param date Date - the date to get the week for
+ * @return number - the number of the week within the year that contains this date
+ */
+function iso8601Week(date) {
+ var time;
+ var checkDate = new Date(date.getTime());
+
+ // Find Thursday of this week starting on Monday
+ checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
+
+ time = checkDate.getTime();
+ checkDate.setMonth(0); // Compare with Jan 1
+ checkDate.setDate(1);
+ return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
+}
+;;
fc.applyAll = applyAll;
@@ -1658,7 +1702,7 @@ function sliceSegs(events, visEventEnds, start, end) {
msLength: segEnd - segStart
});
}
- }
+ }
return segs.sort(segCmp);
}
@@ -1742,29 +1786,26 @@ function setOuterHeight(element, height, includeMargins) {
}
-// TODO: curCSS has been deprecated (jQuery 1.4.3 - 10/16/2010)
-
-
function hsides(element, includeMargins) {
return hpadding(element) + hborders(element) + (includeMargins ? hmargins(element) : 0);
}
function hpadding(element) {
- return (parseFloat($.curCSS(element[0], 'paddingLeft', true)) || 0) +
- (parseFloat($.curCSS(element[0], 'paddingRight', true)) || 0);
+ return (parseFloat($.css(element[0], 'paddingLeft', true)) || 0) +
+ (parseFloat($.css(element[0], 'paddingRight', true)) || 0);
}
function hmargins(element) {
- return (parseFloat($.curCSS(element[0], 'marginLeft', true)) || 0) +
- (parseFloat($.curCSS(element[0], 'marginRight', true)) || 0);
+ return (parseFloat($.css(element[0], 'marginLeft', true)) || 0) +
+ (parseFloat($.css(element[0], 'marginRight', true)) || 0);
}
function hborders(element) {
- return (parseFloat($.curCSS(element[0], 'borderLeftWidth', true)) || 0) +
- (parseFloat($.curCSS(element[0], 'borderRightWidth', true)) || 0);
+ return (parseFloat($.css(element[0], 'borderLeftWidth', true)) || 0) +
+ (parseFloat($.css(element[0], 'borderRightWidth', true)) || 0);
}
@@ -1774,20 +1815,20 @@ function vsides(element, includeMargins) {
function vpadding(element) {
- return (parseFloat($.curCSS(element[0], 'paddingTop', true)) || 0) +
- (parseFloat($.curCSS(element[0], 'paddingBottom', true)) || 0);
+ return (parseFloat($.css(element[0], 'paddingTop', true)) || 0) +
+ (parseFloat($.css(element[0], 'paddingBottom', true)) || 0);
}
function vmargins(element) {
- return (parseFloat($.curCSS(element[0], 'marginTop', true)) || 0) +
- (parseFloat($.curCSS(element[0], 'marginBottom', true)) || 0);
+ return (parseFloat($.css(element[0], 'marginTop', true)) || 0) +
+ (parseFloat($.css(element[0], 'marginBottom', true)) || 0);
}
function vborders(element) {
- return (parseFloat($.curCSS(element[0], 'borderTopWidth', true)) || 0) +
- (parseFloat($.curCSS(element[0], 'borderBottomWidth', true)) || 0);
+ return (parseFloat($.css(element[0], 'borderTopWidth', true)) || 0) +
+ (parseFloat($.css(element[0], 'borderBottomWidth', true)) || 0);
}
@@ -1956,6 +1997,7 @@ function firstDefined() {
}
+;;
fcViews.month = MonthView;
@@ -2003,12 +2045,14 @@ function MonthView(element, calendar) {
t.end = end;
t.visStart = visStart;
t.visEnd = visEnd;
- renderBasic(6, rowCnt, nwe ? 5 : 7, true);
+ renderBasic(rowCnt, nwe ? 5 : 7, true);
}
}
+;;
+
fcViews.basicWeek = BasicWeekView;
function BasicWeekView(element, calendar) {
@@ -2049,12 +2093,14 @@ function BasicWeekView(element, calendar) {
t.end = end;
t.visStart = visStart;
t.visEnd = visEnd;
- renderBasic(1, 1, weekends ? 7 : 5, false);
+ renderBasic(1, weekends ? 7 : 5, false);
}
}
+;;
+
fcViews.basicDay = BasicDayView;
//TODO: when calendar's date starts out on a weekend, shouldn't happen
@@ -2086,12 +2132,14 @@ function BasicDayView(element, calendar) {
t.title = formatDate(date, opt('titleFormat'));
t.start = t.visStart = cloneDate(date, true);
t.end = t.visEnd = addDays(cloneDate(t.start), 1);
- renderBasic(1, 1, 1, false);
+ renderBasic(1, 1, false);
}
}
+;;
+
setDefaults({
weekMode: 'fixed'
});
@@ -2144,6 +2192,7 @@ function BasicView(element, calendar, viewName) {
// locals
+ var table;
var head;
var headCells;
var body;
@@ -2156,6 +2205,7 @@ function BasicView(element, calendar, viewName) {
var viewWidth;
var viewHeight;
var colWidth;
+ var weekNumberWidth;
var rowCnt, colCnt;
var coordinateGrid;
@@ -2164,9 +2214,12 @@ function BasicView(element, calendar, viewName) {
var rtl, dis, dit;
var firstDay;
- var nwe;
+ var nwe; // no weekends? a 0 or 1 for easy computations
var tm;
var colFormat;
+ var showWeekNumbers;
+ var weekNumberTitle;
+ var weekNumberFormat;
@@ -2177,17 +2230,17 @@ function BasicView(element, calendar, viewName) {
disableTextSelection(element.addClass('fc-grid'));
- function renderBasic(maxr, r, c, showNumbers) {
+ function renderBasic(r, c, showNumbers) {
rowCnt = r;
colCnt = c;
updateOptions();
var firstTime = !body;
if (firstTime) {
- buildSkeleton(maxr, showNumbers);
+ buildEventContainer();
}else{
clearEvents();
}
- updateCells(firstTime);
+ buildTable(showNumbers);
}
@@ -2205,124 +2258,141 @@ function BasicView(element, calendar, viewName) {
nwe = opt('weekends') ? 0 : 1;
tm = opt('theme') ? 'ui' : 'fc';
colFormat = opt('columnFormat');
+
+ // week # options. (TODO: bad, logic also in other views)
+ showWeekNumbers = opt('weekNumbers');
+ weekNumberTitle = opt('weekNumberTitle');
+ if (opt('weekNumberCalculation') != 'iso') {
+ weekNumberFormat = "w";
+ }
+ else {
+ weekNumberFormat = "W";
+ }
}
- function buildSkeleton(maxRowCnt, showNumbers) {
- var s;
+ function buildEventContainer() {
+ daySegmentContainer =
+ $("<div style='position:absolute;z-index:8;top:0;left:0'/>")
+ .appendTo(element);
+ }
+
+
+
+ function buildTable(showNumbers) {
+ var html = '';
+ var i, j;
var headerClass = tm + "-widget-header";
var contentClass = tm + "-widget-content";
- var i, j;
- var table;
-
- s =
- "<table class='fc-border-separate' style='width:100%' cellspacing='0'>" +
- "<thead>" +
- "<tr>";
+ var month = t.start.getMonth();
+ var today = clearTime(new Date());
+ var cellDate; // not to be confused with local function. TODO: better names
+ var cellClasses;
+ var cell;
+
+ html += "<table class='fc-border-separate' style='width:100%' cellspacing='0'>" +
+ "<thead>" +
+ "<tr>";
+
+ if (showWeekNumbers) {
+ html += "<th class='fc-week-number " + headerClass + "'/>";
+ }
+
for (i=0; i<colCnt; i++) {
- s +=
- "<th class='fc- " + headerClass + "'/>"; // need fc- for setDayID
+ html += "<th class='fc-day-header fc-" + dayIDs[i] + " " + headerClass + "'/>";
}
- s +=
- "</tr>" +
- "</thead>" +
- "<tbody>";
- for (i=0; i<maxRowCnt; i++) {
- s +=
- "<tr class='fc-week" + i + "'>";
+
+ html += "</tr>" +
+ "</thead>" +
+ "<tbody>";
+
+ for (i=0; i<rowCnt; i++) {
+ html += "<tr class='fc-week'>";
+
+ if (showWeekNumbers) {
+ html += "<td class='fc-week-number " + contentClass + "'>" +
+ "<div/>" +
+ "</td>";
+ }
+
for (j=0; j<colCnt; j++) {
- s +=
- "<td class='fc- " + contentClass + " fc-day" + (i*colCnt+j) + "'>" + // need fc- for setDayID
- "<div>" +
- (showNumbers ?
- "<div class='fc-day-number'/>" :
- ''
- ) +
- "<div class='fc-day-content'>" +
- "<div style='position:relative'>&nbsp;</div>" +
- "</div>" +
- "</div>" +
- "</td>";
+ cellDate = _cellDate(i, j); // a little confusing. cellDate is local variable. _cellDate is private function
+
+ cellClasses = [
+ 'fc-day',
+ 'fc-' + dayIDs[cellDate.getDay()],
+ contentClass
+ ];
+ if (cellDate.getMonth() != month) {
+ cellClasses.push('fc-other-month');
+ }
+ if (+cellDate == +today) {
+ cellClasses.push('fc-today');
+ cellClasses.push(tm + '-state-highlight');
+ }
+
+ html += "<td" +
+ " class='" + cellClasses.join(' ') + "'" +
+ " data-date='" + formatDate(cellDate, 'yyyy-MM-dd') + "'" +
+ ">" +
+ "<div>";
+ if (showNumbers) {
+ html += "<div class='fc-day-number'>" + cellDate.getDate() + "</div>";
+ }
+ html += "<div class='fc-day-content'>" +
+ "<div style='position:relative'>&nbsp;</div>" +
+ "</div>" +
+ "</div>" +
+ "</td>";
}
- s +=
- "</tr>";
+
+ html += "</tr>";
}
- s +=
- "</tbody>" +
- "</table>";
- table = $(s).appendTo(element);
-
+ html += "</tbody>" +
+ "</table>";
+
+ lockHeight(); // the unlock happens later, in setHeight()...
+ if (table) {
+ table.remove();
+ }
+ table = $(html).appendTo(element);
+
head = table.find('thead');
- headCells = head.find('th');
+ headCells = head.find('.fc-day-header');
body = table.find('tbody');
bodyRows = body.find('tr');
- bodyCells = body.find('td');
- bodyFirstCells = bodyCells.filter(':first-child');
- bodyCellTopInners = bodyRows.eq(0).find('div.fc-day-content div');
+ bodyCells = body.find('.fc-day');
+ bodyFirstCells = bodyRows.find('td:first-child');
+ bodyCellTopInners = bodyRows.eq(0).find('.fc-day-content > div');
markFirstLast(head.add(head.find('tr'))); // marks first+last tr/th's
markFirstLast(bodyRows); // marks first+last td's
- bodyRows.eq(0).addClass('fc-first'); // fc-last is done in updateCells
-
- dayBind(bodyCells);
-
- daySegmentContainer =
- $("<div style='position:absolute;z-index:8;top:0;left:0'/>")
- .appendTo(element);
- }
+ bodyRows.eq(0).addClass('fc-first');
+ bodyRows.filter(':last').addClass('fc-last');
-
-
- function updateCells(firstTime) {
- var dowDirty = firstTime || rowCnt == 1; // could the cells' day-of-weeks need updating?
- var month = t.start.getMonth();
- var today = clearTime(new Date());
- var cell;
- var date;
- var row;
-
- if (dowDirty) {
- headCells.each(function(i, _cell) {
- cell = $(_cell);
- date = indexDate(i);
- cell.html(formatDate(date, colFormat));
- setDayID(cell, date);
+ if (showWeekNumbers) {
+ head.find('.fc-week-number').text(weekNumberTitle);
+ }
+
+ headCells.each(function(i, _cell) {
+ var date = indexDate(i);
+ $(_cell).text(formatDate(date, colFormat));
+ });
+
+ if (showWeekNumbers) {
+ body.find('.fc-week-number > div').each(function(i, _cell) {
+ var weekStart = _cellDate(i, 0);
+ $(_cell).text(formatDate(weekStart, weekNumberFormat));
});
}
bodyCells.each(function(i, _cell) {
- cell = $(_cell);
- date = indexDate(i);
- if (date.getMonth() == month) {
- cell.removeClass('fc-other-month');
- }else{
- cell.addClass('fc-other-month');
- }
- if (+date == +today) {
- cell.addClass(tm + '-state-highlight fc-today');
- }else{
- cell.removeClass(tm + '-state-highlight fc-today');
- }
- cell.find('div.fc-day-number').text(date.getDate());
- if (dowDirty) {
- setDayID(cell, date);
- }
- });
-
- bodyRows.each(function(i, _row) {
- row = $(_row);
- if (i < rowCnt) {
- row.show();
- if (i == rowCnt-1) {
- row.addClass('fc-last');
- }else{
- row.removeClass('fc-last');
- }
- }else{
- row.hide();
- }
+ var date = indexDate(i);
+ trigger('dayRender', t, date, $(_cell));
});
+
+ dayBind(bodyCells);
}
@@ -2352,13 +2422,20 @@ function BasicView(element, calendar, viewName) {
}
});
+ unlockHeight();
}
function setWidth(width) {
viewWidth = width;
colContentPositions.clear();
- colWidth = Math.floor(viewWidth / colCnt);
+
+ weekNumberWidth = 0;
+ if (showWeekNumbers) {
+ weekNumberWidth = head.find('th.fc-week-number').outerWidth();
+ }
+
+ colWidth = Math.floor((viewWidth - weekNumberWidth) / colCnt);
setOuterWidth(headCells.slice(0, -1), colWidth);
}
@@ -2376,8 +2453,7 @@ function BasicView(element, calendar, viewName) {
function dayClick(ev) {
if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick
- var index = parseInt(this.className.match(/fc\-day(\d+)/)[1]); // TODO: maybe use .data
- var date = indexDate(index);
+ var date = parseISO8601($(this).data('date'));
trigger('dayClick', this, date, true, ev);
}
}
@@ -2568,15 +2644,34 @@ function BasicView(element, calendar, viewName) {
function allDayBounds(i) {
+ var left = 0;
+ if (showWeekNumbers) {
+ left += weekNumberWidth;
+ }
return {
- left: 0,
+ left: left,
right: viewWidth
};
}
-
+
+
+
+ // makes sure height doesn't collapse while we destroy/render new cells
+ // (this causes a bad end-user scrollbar jump)
+ // TODO: generalize this for all view rendering. (also in Calendar.js)
+
+ function lockHeight() {
+ setMinHeight(element, element.height());
+ }
+
+ function unlockHeight() {
+ setMinHeight(element, 1);
+ }
}
+;;
+
function BasicEventRenderer() {
var t = this;
@@ -2619,6 +2714,7 @@ function BasicEventRenderer() {
function renderEvents(events, modifiedEventId) {
reportEvents(events);
renderDaySegs(compileSegs(events), modifiedEventId);
+ trigger('eventAfterAllRender');
}
@@ -2718,6 +2814,8 @@ function BasicEventRenderer() {
}
+;;
+
fcViews.agendaWeek = AgendaWeekView;
function AgendaWeekView(element, calendar) {
@@ -2764,6 +2862,8 @@ function AgendaWeekView(element, calendar) {
}
+;;
+
fcViews.agendaDay = AgendaDayView;
function AgendaDayView(element, calendar) {
@@ -2800,6 +2900,8 @@ function AgendaDayView(element, calendar) {
}
+;;
+
setDefaults({
allDaySlot: true,
allDayText: 'all-day',
@@ -2851,7 +2953,8 @@ function AgendaView(element, calendar, viewName) {
t.getRowCnt = function() { return 1 };
t.getColCnt = function() { return colCnt };
t.getColWidth = function() { return colWidth };
- t.getSlotHeight = function() { return slotHeight };
+ t.getSnapHeight = function() { return snapHeight };
+ t.getSnapMinutes = function() { return snapMinutes };
t.defaultSelectionEnd = defaultSelectionEnd;
t.renderDayOverlay = renderDayOverlay;
t.renderSelection = renderSelection;
@@ -2907,7 +3010,10 @@ function AgendaView(element, calendar, viewName) {
var colWidth;
var gutterWidth;
var slotHeight; // TODO: what if slotHeight changes? (see issue 650)
- var savedScrollTop;
+
+ var snapMinutes;
+ var snapRatio; // ratio of number of "selection" slots to normal slots. (ex: 1, 2, 4)
+ var snapHeight; // holds the pixel hight of a "selection" slot
var colCnt;
var slotCnt;
@@ -2915,6 +3021,7 @@ function AgendaView(element, calendar, viewName) {
var hoverListener;
var colContentPositions;
var slotTopCache = {};
+ var savedScrollTop;
var tm;
var firstDay;
@@ -2922,6 +3029,9 @@ function AgendaView(element, calendar, viewName) {
var rtl, dis, dit; // day index sign / translate
var minMinute, maxMinute;
var colFormat;
+ var showWeekNumbers;
+ var weekNumberTitle;
+ var weekNumberFormat;
@@ -2959,6 +3069,18 @@ function AgendaView(element, calendar, viewName) {
minMinute = parseTime(opt('minTime'));
maxMinute = parseTime(opt('maxTime'));
colFormat = opt('columnFormat');
+
+ // week # options. (TODO: bad, logic also in other views)
+ showWeekNumbers = opt('weekNumbers');
+ weekNumberTitle = opt('weekNumberTitle');
+ if (opt('weekNumberCalculation') != 'iso') {
+ weekNumberFormat = "w";
+ }
+ else {
+ weekNumberFormat = "W";
+ }
+
+ snapMinutes = opt('snapMinutes') || opt('slotMinutes');
}
@@ -2976,8 +3098,15 @@ function AgendaView(element, calendar, viewName) {
s =
"<table style='width:100%' class='fc-agenda-days fc-border-separate' cellspacing='0'>" +
"<thead>" +
- "<tr>" +
- "<th class='fc-agenda-axis " + headerClass + "'>&nbsp;</th>";
+ "<tr>";
+
+ if (showWeekNumbers) {
+ s += "<th class='fc-agenda-axis fc-week-number " + headerClass + "'/>";
+ }
+ else {
+ s += "<th class='fc-agenda-axis " + headerClass + "'>&nbsp;</th>";
+ }
+
for (i=0; i<colCnt; i++) {
s +=
"<th class='fc- fc-col" + i + ' ' + headerClass + "'/>"; // fc- needed for setDayID
@@ -3111,6 +3240,18 @@ function AgendaView(element, calendar, viewName) {
var bodyCell;
var date;
var today = clearTime(new Date());
+
+ if (showWeekNumbers) {
+ var weekText = formatDate(colDate(0), weekNumberFormat);
+ if (rtl) {
+ weekText = weekText + weekNumberTitle;
+ }
+ else {
+ weekText = weekNumberTitle + weekText;
+ }
+ dayHead.find('.fc-week-number').text(weekText);
+ }
+
for (i=0; i<colCnt; i++) {
date = colDate(i);
headCell = dayHeadCells.eq(i);
@@ -3149,6 +3290,9 @@ function AgendaView(element, calendar, viewName) {
slotScroller.height(bodyHeight - allDayHeight - 1);
slotHeight = slotTableFirstInner.height() + 1; // +1 for border
+
+ snapRatio = opt('slotMinutes') / snapMinutes;
+ snapHeight = slotHeight / snapRatio;
if (dateChanged) {
resetScroll();
@@ -3337,10 +3481,10 @@ function AgendaView(element, calendar, viewName) {
function constrain(n) {
return Math.max(slotScrollerTop, Math.min(slotScrollerBottom, n));
}
- for (var i=0; i<slotCnt; i++) {
+ for (var i=0; i<slotCnt*snapRatio; i++) { // adapt slot count to increased/decreased selection slot count
rows.push([
- constrain(slotTableTop + slotHeight*i),
- constrain(slotTableTop + slotHeight*(i+1))
+ constrain(slotTableTop + snapHeight*i),
+ constrain(slotTableTop + snapHeight*(i+1))
]);
}
});
@@ -3381,7 +3525,7 @@ function AgendaView(element, calendar, viewName) {
slotIndex--;
}
if (slotIndex >= 0) {
- addMinutes(d, minMinute + slotIndex * opt('slotMinutes'));
+ addMinutes(d, minMinute + slotIndex * snapMinutes);
}
return d;
}
@@ -3544,9 +3688,9 @@ function AgendaView(element, calendar, viewName) {
var d2 = cellDate(cell);
dates = [
d1,
- addMinutes(cloneDate(d1), opt('slotMinutes')),
+ addMinutes(cloneDate(d1), snapMinutes), // calculate minutes depending on selection slot minutes
d2,
- addMinutes(cloneDate(d2), opt('slotMinutes'))
+ addMinutes(cloneDate(d2), snapMinutes)
].sort(cmp);
renderSlotSelection(dates[0], dates[3]);
}else{
@@ -3603,6 +3747,8 @@ function AgendaView(element, calendar, viewName) {
}
+;;
+
function AgendaEventRenderer() {
var t = this;
@@ -3639,7 +3785,8 @@ function AgendaEventRenderer() {
var resizableDayEvent = t.resizableDayEvent; // TODO: streamline binding architecture
var getColCnt = t.getColCnt;
var getColWidth = t.getColWidth;
- var getSlotHeight = t.getSlotHeight;
+ var getSnapHeight = t.getSnapHeight;
+ var getSnapMinutes = t.getSnapMinutes;
var getBodyContent = t.getBodyContent;
var reportEventElement = t.reportEventElement;
var showEvents = t.showEvents;
@@ -3675,6 +3822,7 @@ function AgendaEventRenderer() {
setHeight(); // no params means set to viewHeight
}
renderSlotSegs(compileSlotSegs(slotEvents), modifiedEventId);
+ trigger('eventAfterAllRender');
}
@@ -3760,7 +3908,7 @@ function AgendaEventRenderer() {
vsideCache={},
hsideCache={},
key, val,
- contentElement,
+ titleElement,
height,
slotSegmentContainer = getSlotSegmentContainer(),
rtl, dis, dit,
@@ -3849,9 +3997,9 @@ function AgendaEventRenderer() {
seg.vsides = val === undefined ? (vsideCache[key] = vsides(eventElement, true)) : val;
val = hsideCache[key];
seg.hsides = val === undefined ? (hsideCache[key] = hsides(eventElement, true)) : val;
- contentElement = eventElement.find('div.fc-event-content');
- if (contentElement.length) {
- seg.contentTop = contentElement[0].offsetTop;
+ titleElement = eventElement.find('.fc-event-title');
+ if (titleElement.length) {
+ seg.contentTop = titleElement[0].offsetTop;
}
}
}
@@ -3865,7 +4013,7 @@ function AgendaEventRenderer() {
eventElement[0].style.height = height + 'px';
event = seg.event;
if (seg.contentTop !== undefined && height - seg.contentTop < 10) {
- // not enough room for title, put it in the time header
+ // not enough room for title, put it in the time (TODO: maybe make both display:inline instead)
eventElement.find('div.fc-event-time')
.text(formatDate(event.start, opt('timeFormat')) + ' - ' + event.title);
eventElement.find('div.fc-event-title')
@@ -3882,16 +4030,15 @@ function AgendaEventRenderer() {
var html = "<";
var url = event.url;
var skinCss = getSkinCss(event, opt);
- var skinCssAttr = (skinCss ? " style='" + skinCss + "'" : '');
- var classes = ['fc-event', 'fc-event-skin', 'fc-event-vert'];
+ var classes = ['fc-event', 'fc-event-vert'];
if (isEventDraggable(event)) {
classes.push('fc-event-draggable');
}
if (seg.isStart) {
- classes.push('fc-corner-top');
+ classes.push('fc-event-start');
}
if (seg.isEnd) {
- classes.push('fc-corner-bottom');
+ classes.push('fc-event-end');
}
classes = classes.concat(event.className);
if (event.source) {
@@ -3906,19 +4053,15 @@ function AgendaEventRenderer() {
" class='" + classes.join(' ') + "'" +
" style='position:absolute;z-index:8;top:" + seg.top + "px;left:" + seg.left + "px;" + skinCss + "'" +
">" +
- "<div class='fc-event-inner fc-event-skin'" + skinCssAttr + ">" +
- "<div class='fc-event-head fc-event-skin'" + skinCssAttr + ">" +
+ "<div class='fc-event-inner'>" +
"<div class='fc-event-time'>" +
htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) +
"</div>" +
- "</div>" +
- "<div class='fc-event-content'>" +
"<div class='fc-event-title'>" +
htmlEscape(event.title) +
"</div>" +
"</div>" +
- "<div class='fc-event-bg'></div>" +
- "</div>"; // close inner
+ "<div class='fc-event-bg'></div>";
if (seg.isEnd && isEventResizable(event)) {
html +=
"<div class='ui-resizable-handle ui-resizable-s'>=</div>";
@@ -3968,7 +4111,8 @@ function AgendaEventRenderer() {
var dis = opt('isRTL') ? -1 : 1;
var hoverListener = getHoverListener();
var colWidth = getColWidth();
- var slotHeight = getSlotHeight();
+ var snapHeight = getSnapHeight();
+ var snapMinutes = getSnapMinutes();
var minMinute = getMinMinute();
eventElement.draggable({
zIndex: 9,
@@ -3999,9 +4143,9 @@ function AgendaEventRenderer() {
eventElement.width(colWidth - 10); // don't use entire width
setOuterHeight(
eventElement,
- slotHeight * Math.round(
- (event.end ? ((event.end - event.start) / MINUTE_MS) : opt('defaultEventMinutes'))
- / opt('slotMinutes')
+ snapHeight * Math.round(
+ (event.end ? ((event.end - event.start) / MINUTE_MS) : opt('defaultEventMinutes')) /
+ snapMinutes
)
);
eventElement.draggable('option', 'grid', [colWidth, 1]);
@@ -4033,8 +4177,8 @@ function AgendaEventRenderer() {
// changed!
var minuteDelta = 0;
if (!allDay) {
- minuteDelta = Math.round((eventElement.offset().top - getBodyContent().offset().top) / slotHeight)
- * opt('slotMinutes')
+ minuteDelta = Math.round((eventElement.offset().top - getBodyContent().offset().top) / snapHeight)
+ * snapMinutes
+ minMinute
- (event.start.getHours() * 60 + event.start.getMinutes());
}
@@ -4067,11 +4211,12 @@ function AgendaEventRenderer() {
var hoverListener = getHoverListener();
var colCnt = getColCnt();
var colWidth = getColWidth();
- var slotHeight = getSlotHeight();
+ var snapHeight = getSnapHeight();
+ var snapMinutes = getSnapMinutes();
eventElement.draggable({
zIndex: 9,
scroll: false,
- grid: [colWidth, slotHeight],
+ grid: [colWidth, snapHeight],
axis: colCnt==1 ? 'y' : false,
opacity: opt('dragOpacity'),
revertDuration: opt('dragRevertDuration'),
@@ -4105,7 +4250,7 @@ function AgendaEventRenderer() {
}, ev, 'drag');
},
drag: function(ev, ui) {
- minuteDelta = Math.round((ui.position.top - origPosition.top) / slotHeight) * opt('slotMinutes');
+ minuteDelta = Math.round((ui.position.top - origPosition.top) / snapHeight) * snapMinutes;
if (minuteDelta != prevMinuteDelta) {
if (!allDay) {
updateTimeText(minuteDelta);
@@ -4142,7 +4287,7 @@ function AgendaEventRenderer() {
// convert back to original slot-event
if (allDay) {
timeElement.css('display', ''); // show() was causing display=inline
- eventElement.draggable('option', 'grid', [colWidth, slotHeight]);
+ eventElement.draggable('option', 'grid', [colWidth, snapHeight]);
allDay = false;
}
}
@@ -4155,38 +4300,39 @@ function AgendaEventRenderer() {
function resizableSlotEvent(event, eventElement, timeElement) {
- var slotDelta, prevSlotDelta;
- var slotHeight = getSlotHeight();
+ var snapDelta, prevSnapDelta;
+ var snapHeight = getSnapHeight();
+ var snapMinutes = getSnapMinutes();
eventElement.resizable({
handles: {
- s: 'div.ui-resizable-s'
+ s: '.ui-resizable-handle'
},
- grid: slotHeight,
+ grid: snapHeight,
start: function(ev, ui) {
- slotDelta = prevSlotDelta = 0;
+ snapDelta = prevSnapDelta = 0;
hideEvents(event, eventElement);
eventElement.css('z-index', 9);
trigger('eventResizeStart', this, event, ev, ui);
},
resize: function(ev, ui) {
// don't rely on ui.size.height, doesn't take grid into account
- slotDelta = Math.round((Math.max(slotHeight, eventElement.height()) - ui.originalSize.height) / slotHeight);
- if (slotDelta != prevSlotDelta) {
+ snapDelta = Math.round((Math.max(snapHeight, eventElement.height()) - ui.originalSize.height) / snapHeight);
+ if (snapDelta != prevSnapDelta) {
timeElement.text(
formatDates(
event.start,
- (!slotDelta && !event.end) ? null : // no change, so don't display time range
- addMinutes(eventEnd(event), opt('slotMinutes')*slotDelta),
+ (!snapDelta && !event.end) ? null : // no change, so don't display time range
+ addMinutes(eventEnd(event), snapMinutes*snapDelta),
opt('timeFormat')
)
);
- prevSlotDelta = slotDelta;
+ prevSnapDelta = snapDelta;
}
},
stop: function(ev, ui) {
trigger('eventResizeStop', this, event, ev, ui);
- if (slotDelta) {
- eventResize(this, event, 0, opt('slotMinutes')*slotDelta, ev, ui);
+ if (snapDelta) {
+ eventResize(this, event, 0, snapMinutes*snapDelta, ev, ui);
}else{
eventElement.css('z-index', 8);
showEvents(event, eventElement);
@@ -4218,6 +4364,8 @@ function countForwardSegs(levels) {
+;;
+
function View(element, calendar, viewName) {
var t = this;
@@ -4472,6 +4620,8 @@ function View(element, calendar, viewName) {
}
+;;
+
function DayEventRenderer() {
var t = this;
@@ -4609,28 +4759,22 @@ function DayEventRenderer() {
for (i=0; i<segCnt; i++) {
seg = segs[i];
event = seg.event;
- classes = ['fc-event', 'fc-event-skin', 'fc-event-hori'];
+ classes = ['fc-event', 'fc-event-hori'];
if (isEventDraggable(event)) {
classes.push('fc-event-draggable');
}
+ if (seg.isStart) {
+ classes.push('fc-event-start');
+ }
+ if (seg.isEnd) {
+ classes.push('fc-event-end');
+ }
if (rtl) {
- if (seg.isStart) {
- classes.push('fc-corner-right');
- }
- if (seg.isEnd) {
- classes.push('fc-corner-left');
- }
leftCol = dayOfWeekCol(seg.end.getDay()-1);
rightCol = dayOfWeekCol(seg.start.getDay());
left = seg.isEnd ? colContentLeft(leftCol) : minLeft;
right = seg.isStart ? colContentRight(rightCol) : maxLeft;
}else{
- if (seg.isStart) {
- classes.push('fc-corner-left');
- }
- if (seg.isEnd) {
- classes.push('fc-corner-right');
- }
leftCol = dayOfWeekCol(seg.start.getDay());
rightCol = dayOfWeekCol(seg.end.getDay()-1);
left = seg.isStart ? colContentLeft(leftCol) : minLeft;
@@ -4651,10 +4795,7 @@ function DayEventRenderer() {
" class='" + classes.join(' ') + "'" +
" style='position:absolute;z-index:8;left:"+left+"px;" + skinCss + "'" +
">" +
- "<div" +
- " class='fc-event-inner fc-event-skin'" +
- (skinCss ? " style='" + skinCss + "'" : '') +
- ">";
+ "<div class='fc-event-inner'>";
if (!event.allDay && seg.isStart) {
html +=
"<span class='fc-event-time'>" +
@@ -4816,7 +4957,7 @@ function DayEventRenderer() {
var rowDivs = [];
for (i=0; i<rowCnt; i++) {
rowDivs[i] = allDayRow(i)
- .find('td:first div.fc-day-content > div'); // optimal selector?
+ .find('div.fc-day-content > div'); // optimal selector?
}
return rowDivs;
}
@@ -4859,7 +5000,7 @@ function DayEventRenderer() {
function resizableDayEvent(event, element, seg) {
var rtl = opt('isRTL');
var direction = rtl ? 'w' : 'e';
- var handle = element.find('div.ui-resizable-' + direction);
+ var handle = element.find('.ui-resizable-' + direction); // TODO: stop using this class because we aren't using jqui for this
var isResizing = false;
// TODO: look into using jquery-ui mouse widget for this stuff
@@ -4955,6 +5096,8 @@ function DayEventRenderer() {
}
+;;
+
//BUG: unselect needs to be triggered when events are dragged+dropped
function SelectionManager() {
@@ -5052,6 +5195,8 @@ function SelectionManager() {
}
+
+;;
function OverlayManager() {
var t = this;
@@ -5090,6 +5235,8 @@ function OverlayManager() {
}
+;;
+
function CoordinateGrid(buildFunc) {
var t = this;
@@ -5136,6 +5283,8 @@ function CoordinateGrid(buildFunc) {
}
+;;
+
function HoverListener(coordinateGrid) {
@@ -5194,6 +5343,8 @@ function _fixUIEvent(event) { // for issue 1168
event.pageY = event.originalEvent.pageY;
}
}
+;;
+
function HorizontalPositionCache(getElement) {
var t = this,
@@ -5220,5 +5371,7 @@ function HorizontalPositionCache(getElement) {
};
}
-
-})(jQuery);
+
+;;
+
+})(jQuery); \ No newline at end of file
diff --git a/library/fullcalendar/fullcalendar.min.js b/library/fullcalendar/fullcalendar.min.js
index df37bdfd8..2f07418e3 100644
--- a/library/fullcalendar/fullcalendar.min.js
+++ b/library/fullcalendar/fullcalendar.min.js
@@ -1,114 +1,7 @@
-/*
-
- FullCalendar v1.5.3
- http://arshaw.com/fullcalendar/
-
- Use fullcalendar.css for basic styling.
- For event drag & drop, requires jQuery UI draggable.
- For event resizing, requires jQuery UI resizable.
-
- Copyright (c) 2011 Adam Shaw
- Dual licensed under the MIT and GPL licenses, located in
- MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
-
- Date: Mon Feb 6 22:40:40 2012 -0800
-
-*/
-(function(m,ma){function wb(a){m.extend(true,Ya,a)}function Yb(a,b,e){function d(k){if(E){u();q();na();S(k)}else f()}function f(){B=b.theme?"ui":"fc";a.addClass("fc");b.isRTL&&a.addClass("fc-rtl");b.theme&&a.addClass("ui-widget");E=m("<div class='fc-content' style='position:relative'/>").prependTo(a);C=new Zb(X,b);(P=C.render())&&a.prepend(P);y(b.defaultView);m(window).resize(oa);t()||g()}function g(){setTimeout(function(){!n.start&&t()&&S()},0)}function l(){m(window).unbind("resize",oa);C.destroy();
-E.remove();a.removeClass("fc fc-rtl ui-widget")}function j(){return i.offsetWidth!==0}function t(){return m("body")[0].offsetWidth!==0}function y(k){if(!n||k!=n.name){F++;pa();var D=n,Z;if(D){(D.beforeHide||xb)();Za(E,E.height());D.element.hide()}else Za(E,1);E.css("overflow","hidden");if(n=Y[k])n.element.show();else n=Y[k]=new Ja[k](Z=s=m("<div class='fc-view fc-view-"+k+"' style='position:absolute'/>").appendTo(E),X);D&&C.deactivateButton(D.name);C.activateButton(k);S();E.css("overflow","");D&&
-Za(E,1);Z||(n.afterShow||xb)();F--}}function S(k){if(j()){F++;pa();o===ma&&u();var D=false;if(!n.start||k||r<n.start||r>=n.end){n.render(r,k||0);fa(true);D=true}else if(n.sizeDirty){n.clearEvents();fa();D=true}else if(n.eventsDirty){n.clearEvents();D=true}n.sizeDirty=false;n.eventsDirty=false;ga(D);W=a.outerWidth();C.updateTitle(n.title);k=new Date;k>=n.start&&k<n.end?C.disableButton("today"):C.enableButton("today");F--;n.trigger("viewDisplay",i)}}function Q(){q();if(j()){u();fa();pa();n.clearEvents();
-n.renderEvents(J);n.sizeDirty=false}}function q(){m.each(Y,function(k,D){D.sizeDirty=true})}function u(){o=b.contentHeight?b.contentHeight:b.height?b.height-(P?P.height():0)-Sa(E):Math.round(E.width()/Math.max(b.aspectRatio,0.5))}function fa(k){F++;n.setHeight(o,k);if(s){s.css("position","relative");s=null}n.setWidth(E.width(),k);F--}function oa(){if(!F)if(n.start){var k=++v;setTimeout(function(){if(k==v&&!F&&j())if(W!=(W=a.outerWidth())){F++;Q();n.trigger("windowResize",i);F--}},200)}else g()}function ga(k){if(!b.lazyFetching||
-ya(n.visStart,n.visEnd))ra();else k&&da()}function ra(){K(n.visStart,n.visEnd)}function sa(k){J=k;da()}function ha(k){da(k)}function da(k){na();if(j()){n.clearEvents();n.renderEvents(J,k);n.eventsDirty=false}}function na(){m.each(Y,function(k,D){D.eventsDirty=true})}function ua(k,D,Z){n.select(k,D,Z===ma?true:Z)}function pa(){n&&n.unselect()}function U(){S(-1)}function ca(){S(1)}function ka(){gb(r,-1);S()}function qa(){gb(r,1);S()}function G(){r=new Date;S()}function p(k,D,Z){if(k instanceof Date)r=
-N(k);else yb(r,k,D,Z);S()}function L(k,D,Z){k!==ma&&gb(r,k);D!==ma&&hb(r,D);Z!==ma&&ba(r,Z);S()}function c(){return N(r)}function z(){return n}function H(k,D){if(D===ma)return b[k];if(k=="height"||k=="contentHeight"||k=="aspectRatio"){b[k]=D;Q()}}function T(k,D){if(b[k])return b[k].apply(D||i,Array.prototype.slice.call(arguments,2))}var X=this;X.options=b;X.render=d;X.destroy=l;X.refetchEvents=ra;X.reportEvents=sa;X.reportEventChange=ha;X.rerenderEvents=da;X.changeView=y;X.select=ua;X.unselect=pa;
-X.prev=U;X.next=ca;X.prevYear=ka;X.nextYear=qa;X.today=G;X.gotoDate=p;X.incrementDate=L;X.formatDate=function(k,D){return Oa(k,D,b)};X.formatDates=function(k,D,Z){return ib(k,D,Z,b)};X.getDate=c;X.getView=z;X.option=H;X.trigger=T;$b.call(X,b,e);var ya=X.isFetchNeeded,K=X.fetchEvents,i=a[0],C,P,E,B,n,Y={},W,o,s,v=0,F=0,r=new Date,J=[],M;yb(r,b.year,b.month,b.date);b.droppable&&m(document).bind("dragstart",function(k,D){var Z=k.target,ja=m(Z);if(!ja.parents(".fc").length){var ia=b.dropAccept;if(m.isFunction(ia)?
-ia.call(Z,ja):ja.is(ia)){M=Z;n.dragStart(M,k,D)}}}).bind("dragstop",function(k,D){if(M){n.dragStop(M,k,D);M=null}})}function Zb(a,b){function e(){q=b.theme?"ui":"fc";if(b.header)return Q=m("<table class='fc-header' style='width:100%'/>").append(m("<tr/>").append(f("left")).append(f("center")).append(f("right")))}function d(){Q.remove()}function f(u){var fa=m("<td class='fc-header-"+u+"'/>");(u=b.header[u])&&m.each(u.split(" "),function(oa){oa>0&&fa.append("<span class='fc-header-space'/>");var ga;
-m.each(this.split(","),function(ra,sa){if(sa=="title"){fa.append("<span class='fc-header-title'><h2>&nbsp;</h2></span>");ga&&ga.addClass(q+"-corner-right");ga=null}else{var ha;if(a[sa])ha=a[sa];else if(Ja[sa])ha=function(){na.removeClass(q+"-state-hover");a.changeView(sa)};if(ha){ra=b.theme?jb(b.buttonIcons,sa):null;var da=jb(b.buttonText,sa),na=m("<span class='fc-button fc-button-"+sa+" "+q+"-state-default'><span class='fc-button-inner'><span class='fc-button-content'>"+(ra?"<span class='fc-icon-wrap'><span class='ui-icon ui-icon-"+
-ra+"'/></span>":da)+"</span><span class='fc-button-effect'><span></span></span></span></span>");if(na){na.click(function(){na.hasClass(q+"-state-disabled")||ha()}).mousedown(function(){na.not("."+q+"-state-active").not("."+q+"-state-disabled").addClass(q+"-state-down")}).mouseup(function(){na.removeClass(q+"-state-down")}).hover(function(){na.not("."+q+"-state-active").not("."+q+"-state-disabled").addClass(q+"-state-hover")},function(){na.removeClass(q+"-state-hover").removeClass(q+"-state-down")}).appendTo(fa);
-ga||na.addClass(q+"-corner-left");ga=na}}}});ga&&ga.addClass(q+"-corner-right")});return fa}function g(u){Q.find("h2").html(u)}function l(u){Q.find("span.fc-button-"+u).addClass(q+"-state-active")}function j(u){Q.find("span.fc-button-"+u).removeClass(q+"-state-active")}function t(u){Q.find("span.fc-button-"+u).addClass(q+"-state-disabled")}function y(u){Q.find("span.fc-button-"+u).removeClass(q+"-state-disabled")}var S=this;S.render=e;S.destroy=d;S.updateTitle=g;S.activateButton=l;S.deactivateButton=
-j;S.disableButton=t;S.enableButton=y;var Q=m([]),q}function $b(a,b){function e(c,z){return!ca||c<ca||z>ka}function d(c,z){ca=c;ka=z;L=[];c=++qa;G=z=U.length;for(var H=0;H<z;H++)f(U[H],c)}function f(c,z){g(c,function(H){if(z==qa){if(H){for(var T=0;T<H.length;T++){H[T].source=c;oa(H[T])}L=L.concat(H)}G--;G||ua(L)}})}function g(c,z){var H,T=Aa.sourceFetchers,X;for(H=0;H<T.length;H++){X=T[H](c,ca,ka,z);if(X===true)return;else if(typeof X=="object"){g(X,z);return}}if(H=c.events)if(m.isFunction(H)){u();
-H(N(ca),N(ka),function(C){z(C);fa()})}else m.isArray(H)?z(H):z();else if(c.url){var ya=c.success,K=c.error,i=c.complete;H=m.extend({},c.data||{});T=Ta(c.startParam,a.startParam);X=Ta(c.endParam,a.endParam);if(T)H[T]=Math.round(+ca/1E3);if(X)H[X]=Math.round(+ka/1E3);u();m.ajax(m.extend({},ac,c,{data:H,success:function(C){C=C||[];var P=$a(ya,this,arguments);if(m.isArray(P))C=P;z(C)},error:function(){$a(K,this,arguments);z()},complete:function(){$a(i,this,arguments);fa()}}))}else z()}function l(c){if(c=
-j(c)){G++;f(c,qa)}}function j(c){if(m.isFunction(c)||m.isArray(c))c={events:c};else if(typeof c=="string")c={url:c};if(typeof c=="object"){ga(c);U.push(c);return c}}function t(c){U=m.grep(U,function(z){return!ra(z,c)});L=m.grep(L,function(z){return!ra(z.source,c)});ua(L)}function y(c){var z,H=L.length,T,X=na().defaultEventEnd,ya=c.start-c._start,K=c.end?c.end-(c._end||X(c)):0;for(z=0;z<H;z++){T=L[z];if(T._id==c._id&&T!=c){T.start=new Date(+T.start+ya);T.end=c.end?T.end?new Date(+T.end+K):new Date(+X(T)+
-K):null;T.title=c.title;T.url=c.url;T.allDay=c.allDay;T.className=c.className;T.editable=c.editable;T.color=c.color;T.backgroudColor=c.backgroudColor;T.borderColor=c.borderColor;T.textColor=c.textColor;oa(T)}}oa(c);ua(L)}function S(c,z){oa(c);if(!c.source){if(z){pa.events.push(c);c.source=pa}L.push(c)}ua(L)}function Q(c){if(c){if(!m.isFunction(c)){var z=c+"";c=function(T){return T._id==z}}L=m.grep(L,c,true);for(H=0;H<U.length;H++)if(m.isArray(U[H].events))U[H].events=m.grep(U[H].events,c,true)}else{L=
-[];for(var H=0;H<U.length;H++)if(m.isArray(U[H].events))U[H].events=[]}ua(L)}function q(c){if(m.isFunction(c))return m.grep(L,c);else if(c){c+="";return m.grep(L,function(z){return z._id==c})}return L}function u(){p++||da("loading",null,true)}function fa(){--p||da("loading",null,false)}function oa(c){var z=c.source||{},H=Ta(z.ignoreTimezone,a.ignoreTimezone);c._id=c._id||(c.id===ma?"_fc"+bc++:c.id+"");if(c.date){if(!c.start)c.start=c.date;delete c.date}c._start=N(c.start=kb(c.start,H));c.end=kb(c.end,
-H);if(c.end&&c.end<=c.start)c.end=null;c._end=c.end?N(c.end):null;if(c.allDay===ma)c.allDay=Ta(z.allDayDefault,a.allDayDefault);if(c.className){if(typeof c.className=="string")c.className=c.className.split(/\s+/)}else c.className=[]}function ga(c){if(c.className){if(typeof c.className=="string")c.className=c.className.split(/\s+/)}else c.className=[];for(var z=Aa.sourceNormalizers,H=0;H<z.length;H++)z[H](c)}function ra(c,z){return c&&z&&sa(c)==sa(z)}function sa(c){return(typeof c=="object"?c.events||
-c.url:"")||c}var ha=this;ha.isFetchNeeded=e;ha.fetchEvents=d;ha.addEventSource=l;ha.removeEventSource=t;ha.updateEvent=y;ha.renderEvent=S;ha.removeEvents=Q;ha.clientEvents=q;ha.normalizeEvent=oa;var da=ha.trigger,na=ha.getView,ua=ha.reportEvents,pa={events:[]},U=[pa],ca,ka,qa=0,G=0,p=0,L=[];for(ha=0;ha<b.length;ha++)j(b[ha])}function gb(a,b,e){a.setFullYear(a.getFullYear()+b);e||Ka(a);return a}function hb(a,b,e){if(+a){b=a.getMonth()+b;var d=N(a);d.setDate(1);d.setMonth(b);a.setMonth(b);for(e||Ka(a);a.getMonth()!=
-d.getMonth();)a.setDate(a.getDate()+(a<d?1:-1))}return a}function ba(a,b,e){if(+a){b=a.getDate()+b;var d=N(a);d.setHours(9);d.setDate(b);a.setDate(b);e||Ka(a);lb(a,d)}return a}function lb(a,b){if(+a)for(;a.getDate()!=b.getDate();)a.setTime(+a+(a<b?1:-1)*cc)}function xa(a,b){a.setMinutes(a.getMinutes()+b);return a}function Ka(a){a.setHours(0);a.setMinutes(0);a.setSeconds(0);a.setMilliseconds(0);return a}function N(a,b){if(b)return Ka(new Date(+a));return new Date(+a)}function zb(){var a=0,b;do b=new Date(1970,
-a++,1);while(b.getHours());return b}function Fa(a,b,e){for(b=b||1;!a.getDay()||e&&a.getDay()==1||!e&&a.getDay()==6;)ba(a,b);return a}function Ca(a,b){return Math.round((N(a,true)-N(b,true))/Ab)}function yb(a,b,e,d){if(b!==ma&&b!=a.getFullYear()){a.setDate(1);a.setMonth(0);a.setFullYear(b)}if(e!==ma&&e!=a.getMonth()){a.setDate(1);a.setMonth(e)}d!==ma&&a.setDate(d)}function kb(a,b){if(typeof a=="object")return a;if(typeof a=="number")return new Date(a*1E3);if(typeof a=="string"){if(a.match(/^\d+(\.\d+)?$/))return new Date(parseFloat(a)*
-1E3);if(b===ma)b=true;return Bb(a,b)||(a?new Date(a):null)}return null}function Bb(a,b){a=a.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/);if(!a)return null;var e=new Date(a[1],0,1);if(b||!a[13]){b=new Date(a[1],0,1,9,0);if(a[3]){e.setMonth(a[3]-1);b.setMonth(a[3]-1)}if(a[5]){e.setDate(a[5]);b.setDate(a[5])}lb(e,b);a[7]&&e.setHours(a[7]);a[8]&&e.setMinutes(a[8]);a[10]&&e.setSeconds(a[10]);a[12]&&e.setMilliseconds(Number("0."+
-a[12])*1E3);lb(e,b)}else{e.setUTCFullYear(a[1],a[3]?a[3]-1:0,a[5]||1);e.setUTCHours(a[7]||0,a[8]||0,a[10]||0,a[12]?Number("0."+a[12])*1E3:0);if(a[14]){b=Number(a[16])*60+(a[18]?Number(a[18]):0);b*=a[15]=="-"?1:-1;e=new Date(+e+b*60*1E3)}}return e}function mb(a){if(typeof a=="number")return a*60;if(typeof a=="object")return a.getHours()*60+a.getMinutes();if(a=a.match(/(\d+)(?::(\d+))?\s*(\w+)?/)){var b=parseInt(a[1],10);if(a[3]){b%=12;if(a[3].toLowerCase().charAt(0)=="p")b+=12}return b*60+(a[2]?parseInt(a[2],
-10):0)}}function Oa(a,b,e){return ib(a,null,b,e)}function ib(a,b,e,d){d=d||Ya;var f=a,g=b,l,j=e.length,t,y,S,Q="";for(l=0;l<j;l++){t=e.charAt(l);if(t=="'")for(y=l+1;y<j;y++){if(e.charAt(y)=="'"){if(f){Q+=y==l+1?"'":e.substring(l+1,y);l=y}break}}else if(t=="(")for(y=l+1;y<j;y++){if(e.charAt(y)==")"){l=Oa(f,e.substring(l+1,y),d);if(parseInt(l.replace(/\D/,""),10))Q+=l;l=y;break}}else if(t=="[")for(y=l+1;y<j;y++){if(e.charAt(y)=="]"){t=e.substring(l+1,y);l=Oa(f,t,d);if(l!=Oa(g,t,d))Q+=l;l=y;break}}else if(t==
-"{"){f=b;g=a}else if(t=="}"){f=a;g=b}else{for(y=j;y>l;y--)if(S=dc[e.substring(l,y)]){if(f)Q+=S(f,d);l=y-1;break}if(y==l)if(f)Q+=t}}return Q}function Ua(a){return a.end?ec(a.end,a.allDay):ba(N(a.start),1)}function ec(a,b){a=N(a);return b||a.getHours()||a.getMinutes()?ba(a,1):Ka(a)}function fc(a,b){return(b.msLength-a.msLength)*100+(a.event.start-b.event.start)}function Cb(a,b){return a.end>b.start&&a.start<b.end}function nb(a,b,e,d){var f=[],g,l=a.length,j,t,y,S,Q;for(g=0;g<l;g++){j=a[g];t=j.start;
-y=b[g];if(y>e&&t<d){if(t<e){t=N(e);S=false}else{t=t;S=true}if(y>d){y=N(d);Q=false}else{y=y;Q=true}f.push({event:j,start:t,end:y,isStart:S,isEnd:Q,msLength:y-t})}}return f.sort(fc)}function ob(a){var b=[],e,d=a.length,f,g,l,j;for(e=0;e<d;e++){f=a[e];for(g=0;;){l=false;if(b[g])for(j=0;j<b[g].length;j++)if(Cb(b[g][j],f)){l=true;break}if(l)g++;else break}if(b[g])b[g].push(f);else b[g]=[f]}return b}function Db(a,b,e){a.unbind("mouseover").mouseover(function(d){for(var f=d.target,g;f!=this;){g=f;f=f.parentNode}if((f=
-g._fci)!==ma){g._fci=ma;g=b[f];e(g.event,g.element,g);m(d.target).trigger(d)}d.stopPropagation()})}function Va(a,b,e){for(var d=0,f;d<a.length;d++){f=m(a[d]);f.width(Math.max(0,b-pb(f,e)))}}function Eb(a,b,e){for(var d=0,f;d<a.length;d++){f=m(a[d]);f.height(Math.max(0,b-Sa(f,e)))}}function pb(a,b){return gc(a)+hc(a)+(b?ic(a):0)}function gc(a){return(parseFloat(m.curCSS(a[0],"paddingLeft",true))||0)+(parseFloat(m.curCSS(a[0],"paddingRight",true))||0)}function ic(a){return(parseFloat(m.curCSS(a[0],
-"marginLeft",true))||0)+(parseFloat(m.curCSS(a[0],"marginRight",true))||0)}function hc(a){return(parseFloat(m.curCSS(a[0],"borderLeftWidth",true))||0)+(parseFloat(m.curCSS(a[0],"borderRightWidth",true))||0)}function Sa(a,b){return jc(a)+kc(a)+(b?Fb(a):0)}function jc(a){return(parseFloat(m.curCSS(a[0],"paddingTop",true))||0)+(parseFloat(m.curCSS(a[0],"paddingBottom",true))||0)}function Fb(a){return(parseFloat(m.curCSS(a[0],"marginTop",true))||0)+(parseFloat(m.curCSS(a[0],"marginBottom",true))||0)}
-function kc(a){return(parseFloat(m.curCSS(a[0],"borderTopWidth",true))||0)+(parseFloat(m.curCSS(a[0],"borderBottomWidth",true))||0)}function Za(a,b){b=typeof b=="number"?b+"px":b;a.each(function(e,d){d.style.cssText+=";min-height:"+b+";_height:"+b})}function xb(){}function Gb(a,b){return a-b}function Hb(a){return Math.max.apply(Math,a)}function Pa(a){return(a<10?"0":"")+a}function jb(a,b){if(a[b]!==ma)return a[b];b=b.split(/(?=[A-Z])/);for(var e=b.length-1,d;e>=0;e--){d=a[b[e].toLowerCase()];if(d!==
-ma)return d}return a[""]}function Qa(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function Ib(a){return a.id+"/"+a.className+"/"+a.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig,"")}function qb(a){a.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})}function ab(a){a.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")}
-function rb(a,b){a.each(function(e,d){d.className=d.className.replace(/^fc-\w*/,"fc-"+lc[b.getDay()])})}function Jb(a,b){var e=a.source||{},d=a.color,f=e.color,g=b("eventColor"),l=a.backgroundColor||d||e.backgroundColor||f||b("eventBackgroundColor")||g;d=a.borderColor||d||e.borderColor||f||b("eventBorderColor")||g;a=a.textColor||e.textColor||b("eventTextColor");b=[];l&&b.push("background-color:"+l);d&&b.push("border-color:"+d);a&&b.push("color:"+a);return b.join(";")}function $a(a,b,e){if(m.isFunction(a))a=
-[a];if(a){var d,f;for(d=0;d<a.length;d++)f=a[d].apply(b,e)||f;return f}}function Ta(){for(var a=0;a<arguments.length;a++)if(arguments[a]!==ma)return arguments[a]}function mc(a,b){function e(j,t){if(t){hb(j,t);j.setDate(1)}j=N(j,true);j.setDate(1);t=hb(N(j),1);var y=N(j),S=N(t),Q=f("firstDay"),q=f("weekends")?0:1;if(q){Fa(y);Fa(S,-1,true)}ba(y,-((y.getDay()-Math.max(Q,q)+7)%7));ba(S,(7-S.getDay()+Math.max(Q,q))%7);Q=Math.round((S-y)/(Ab*7));if(f("weekMode")=="fixed"){ba(S,(6-Q)*7);Q=6}d.title=l(j,
-f("titleFormat"));d.start=j;d.end=t;d.visStart=y;d.visEnd=S;g(6,Q,q?5:7,true)}var d=this;d.render=e;sb.call(d,a,b,"month");var f=d.opt,g=d.renderBasic,l=b.formatDate}function nc(a,b){function e(j,t){t&&ba(j,t*7);j=ba(N(j),-((j.getDay()-f("firstDay")+7)%7));t=ba(N(j),7);var y=N(j),S=N(t),Q=f("weekends");if(!Q){Fa(y);Fa(S,-1,true)}d.title=l(y,ba(N(S),-1),f("titleFormat"));d.start=j;d.end=t;d.visStart=y;d.visEnd=S;g(1,1,Q?7:5,false)}var d=this;d.render=e;sb.call(d,a,b,"basicWeek");var f=d.opt,g=d.renderBasic,
-l=b.formatDates}function oc(a,b){function e(j,t){if(t){ba(j,t);f("weekends")||Fa(j,t<0?-1:1)}d.title=l(j,f("titleFormat"));d.start=d.visStart=N(j,true);d.end=d.visEnd=ba(N(d.start),1);g(1,1,1,false)}var d=this;d.render=e;sb.call(d,a,b,"basicDay");var f=d.opt,g=d.renderBasic,l=b.formatDate}function sb(a,b,e){function d(w,I,R,V){v=I;F=R;f();(I=!C)?g(w,V):z();l(I)}function f(){if(k=L("isRTL")){D=-1;Z=F-1}else{D=1;Z=0}ja=L("firstDay");ia=L("weekends")?0:1;la=L("theme")?"ui":"fc";$=L("columnFormat")}function g(w,
-I){var R,V=la+"-widget-header",ea=la+"-widget-content",aa;R="<table class='fc-border-separate' style='width:100%' cellspacing='0'><thead><tr>";for(aa=0;aa<F;aa++)R+="<th class='fc- "+V+"'/>";R+="</tr></thead><tbody>";for(aa=0;aa<w;aa++){R+="<tr class='fc-week"+aa+"'>";for(V=0;V<F;V++)R+="<td class='fc- "+ea+" fc-day"+(aa*F+V)+"'><div>"+(I?"<div class='fc-day-number'/>":"")+"<div class='fc-day-content'><div style='position:relative'>&nbsp;</div></div></div></td>";R+="</tr>"}R+="</tbody></table>";w=
-m(R).appendTo(a);K=w.find("thead");i=K.find("th");C=w.find("tbody");P=C.find("tr");E=C.find("td");B=E.filter(":first-child");n=P.eq(0).find("div.fc-day-content div");ab(K.add(K.find("tr")));ab(P);P.eq(0).addClass("fc-first");y(E);Y=m("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(a)}function l(w){var I=w||v==1,R=p.start.getMonth(),V=Ka(new Date),ea,aa,va;I&&i.each(function(wa,Ga){ea=m(Ga);aa=ca(wa);ea.html(ya(aa,$));rb(ea,aa)});E.each(function(wa,Ga){ea=m(Ga);aa=ca(wa);aa.getMonth()==
-R?ea.removeClass("fc-other-month"):ea.addClass("fc-other-month");+aa==+V?ea.addClass(la+"-state-highlight fc-today"):ea.removeClass(la+"-state-highlight fc-today");ea.find("div.fc-day-number").text(aa.getDate());I&&rb(ea,aa)});P.each(function(wa,Ga){va=m(Ga);if(wa<v){va.show();wa==v-1?va.addClass("fc-last"):va.removeClass("fc-last")}else va.hide()})}function j(w){o=w;w=o-K.height();var I,R,V;if(L("weekMode")=="variable")I=R=Math.floor(w/(v==1?2:6));else{I=Math.floor(w/v);R=w-I*(v-1)}B.each(function(ea,
-aa){if(ea<v){V=m(aa);Za(V.find("> div"),(ea==v-1?R:I)-Sa(V))}})}function t(w){W=w;M.clear();s=Math.floor(W/F);Va(i.slice(0,-1),s)}function y(w){w.click(S).mousedown(X)}function S(w){if(!L("selectable")){var I=parseInt(this.className.match(/fc\-day(\d+)/)[1]);I=ca(I);c("dayClick",this,I,true,w)}}function Q(w,I,R){R&&r.build();R=N(p.visStart);for(var V=ba(N(R),F),ea=0;ea<v;ea++){var aa=new Date(Math.max(R,w)),va=new Date(Math.min(V,I));if(aa<va){var wa;if(k){wa=Ca(va,R)*D+Z+1;aa=Ca(aa,R)*D+Z+1}else{wa=
-Ca(aa,R);aa=Ca(va,R)}y(q(ea,wa,ea,aa-1))}ba(R,7);ba(V,7)}}function q(w,I,R,V){w=r.rect(w,I,R,V,a);return H(w,a)}function u(w){return N(w)}function fa(w,I){Q(w,ba(N(I),1),true)}function oa(){T()}function ga(w,I,R){var V=ua(w);c("dayClick",E[V.row*F+V.col],w,I,R)}function ra(w,I){J.start(function(R){T();R&&q(R.row,R.col,R.row,R.col)},I)}function sa(w,I,R){var V=J.stop();T();if(V){V=pa(V);c("drop",w,V,true,I,R)}}function ha(w){return N(w.start)}function da(w){return M.left(w)}function na(w){return M.right(w)}
-function ua(w){return{row:Math.floor(Ca(w,p.visStart)/7),col:ka(w.getDay())}}function pa(w){return U(w.row,w.col)}function U(w,I){return ba(N(p.visStart),w*7+I*D+Z)}function ca(w){return U(Math.floor(w/F),w%F)}function ka(w){return(w-Math.max(ja,ia)+F)%F*D+Z}function qa(w){return P.eq(w)}function G(){return{left:0,right:W}}var p=this;p.renderBasic=d;p.setHeight=j;p.setWidth=t;p.renderDayOverlay=Q;p.defaultSelectionEnd=u;p.renderSelection=fa;p.clearSelection=oa;p.reportDayClick=ga;p.dragStart=ra;p.dragStop=
-sa;p.defaultEventEnd=ha;p.getHoverListener=function(){return J};p.colContentLeft=da;p.colContentRight=na;p.dayOfWeekCol=ka;p.dateCell=ua;p.cellDate=pa;p.cellIsAllDay=function(){return true};p.allDayRow=qa;p.allDayBounds=G;p.getRowCnt=function(){return v};p.getColCnt=function(){return F};p.getColWidth=function(){return s};p.getDaySegmentContainer=function(){return Y};Kb.call(p,a,b,e);Lb.call(p);Mb.call(p);pc.call(p);var L=p.opt,c=p.trigger,z=p.clearEvents,H=p.renderOverlay,T=p.clearOverlays,X=p.daySelectionMousedown,
-ya=b.formatDate,K,i,C,P,E,B,n,Y,W,o,s,v,F,r,J,M,k,D,Z,ja,ia,la,$;qb(a.addClass("fc-grid"));r=new Nb(function(w,I){var R,V,ea;i.each(function(aa,va){R=m(va);V=R.offset().left;if(aa)ea[1]=V;ea=[V];I[aa]=ea});ea[1]=V+R.outerWidth();P.each(function(aa,va){if(aa<v){R=m(va);V=R.offset().top;if(aa)ea[1]=V;ea=[V];w[aa]=ea}});ea[1]=V+R.outerHeight()});J=new Ob(r);M=new Pb(function(w){return n.eq(w)})}function pc(){function a(U,ca){S(U);ua(e(U),ca)}function b(){Q();ga().empty()}function e(U){var ca=da(),ka=
-na(),qa=N(g.visStart);ka=ba(N(qa),ka);var G=m.map(U,Ua),p,L,c,z,H,T,X=[];for(p=0;p<ca;p++){L=ob(nb(U,G,qa,ka));for(c=0;c<L.length;c++){z=L[c];for(H=0;H<z.length;H++){T=z[H];T.row=p;T.level=c;X.push(T)}}ba(qa,7);ba(ka,7)}return X}function d(U,ca,ka){t(U)&&f(U,ca);ka.isEnd&&y(U)&&pa(U,ca,ka);q(U,ca)}function f(U,ca){var ka=ra(),qa;ca.draggable({zIndex:9,delay:50,opacity:l("dragOpacity"),revertDuration:l("dragRevertDuration"),start:function(G,p){j("eventDragStart",ca,U,G,p);fa(U,ca);ka.start(function(L,
-c,z,H){ca.draggable("option","revert",!L||!z&&!H);ha();if(L){qa=z*7+H*(l("isRTL")?-1:1);sa(ba(N(U.start),qa),ba(Ua(U),qa))}else qa=0},G,"drag")},stop:function(G,p){ka.stop();ha();j("eventDragStop",ca,U,G,p);if(qa)oa(this,U,qa,0,U.allDay,G,p);else{ca.css("filter","");u(U,ca)}}})}var g=this;g.renderEvents=a;g.compileDaySegs=e;g.clearEvents=b;g.bindDaySeg=d;Qb.call(g);var l=g.opt,j=g.trigger,t=g.isEventDraggable,y=g.isEventResizable,S=g.reportEvents,Q=g.reportEventClear,q=g.eventElementHandlers,u=g.showEvents,
-fa=g.hideEvents,oa=g.eventDrop,ga=g.getDaySegmentContainer,ra=g.getHoverListener,sa=g.renderDayOverlay,ha=g.clearOverlays,da=g.getRowCnt,na=g.getColCnt,ua=g.renderDaySegs,pa=g.resizableDayEvent}function qc(a,b){function e(j,t){t&&ba(j,t*7);j=ba(N(j),-((j.getDay()-f("firstDay")+7)%7));t=ba(N(j),7);var y=N(j),S=N(t),Q=f("weekends");if(!Q){Fa(y);Fa(S,-1,true)}d.title=l(y,ba(N(S),-1),f("titleFormat"));d.start=j;d.end=t;d.visStart=y;d.visEnd=S;g(Q?7:5)}var d=this;d.render=e;Rb.call(d,a,b,"agendaWeek");
-var f=d.opt,g=d.renderAgenda,l=b.formatDates}function rc(a,b){function e(j,t){if(t){ba(j,t);f("weekends")||Fa(j,t<0?-1:1)}t=N(j,true);var y=ba(N(t),1);d.title=l(j,f("titleFormat"));d.start=d.visStart=t;d.end=d.visEnd=y;g(1)}var d=this;d.render=e;Rb.call(d,a,b,"agendaDay");var f=d.opt,g=d.renderAgenda,l=b.formatDate}function Rb(a,b,e){function d(h){Ba=h;f();v?P():g();l()}function f(){Wa=i("theme")?"ui":"fc";Sb=i("weekends")?0:1;Tb=i("firstDay");if(Ub=i("isRTL")){Ha=-1;Ia=Ba-1}else{Ha=1;Ia=0}La=mb(i("minTime"));
-bb=mb(i("maxTime"));Vb=i("columnFormat")}function g(){var h=Wa+"-widget-header",O=Wa+"-widget-content",x,A,ta,za,Da,Ea=i("slotMinutes")%15==0;x="<table style='width:100%' class='fc-agenda-days fc-border-separate' cellspacing='0'><thead><tr><th class='fc-agenda-axis "+h+"'>&nbsp;</th>";for(A=0;A<Ba;A++)x+="<th class='fc- fc-col"+A+" "+h+"'/>";x+="<th class='fc-agenda-gutter "+h+"'>&nbsp;</th></tr></thead><tbody><tr><th class='fc-agenda-axis "+h+"'>&nbsp;</th>";for(A=0;A<Ba;A++)x+="<td class='fc- fc-col"+
-A+" "+O+"'><div><div class='fc-day-content'><div style='position:relative'>&nbsp;</div></div></div></td>";x+="<td class='fc-agenda-gutter "+O+"'>&nbsp;</td></tr></tbody></table>";v=m(x).appendTo(a);F=v.find("thead");r=F.find("th").slice(1,-1);J=v.find("tbody");M=J.find("td").slice(0,-1);k=M.find("div.fc-day-content div");D=M.eq(0);Z=D.find("> div");ab(F.add(F.find("tr")));ab(J.add(J.find("tr")));aa=F.find("th:first");va=v.find(".fc-agenda-gutter");ja=m("<div style='position:absolute;z-index:2;left:0;width:100%'/>").appendTo(a);
-if(i("allDaySlot")){ia=m("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(ja);x="<table style='width:100%' class='fc-agenda-allday' cellspacing='0'><tr><th class='"+h+" fc-agenda-axis'>"+i("allDayText")+"</th><td><div class='fc-day-content'><div style='position:relative'/></div></td><th class='"+h+" fc-agenda-gutter'>&nbsp;</th></tr></table>";la=m(x).appendTo(ja);$=la.find("tr");q($.find("td"));aa=aa.add(la.find("th:first"));va=va.add(la.find("th.fc-agenda-gutter"));ja.append("<div class='fc-agenda-divider "+
-h+"'><div class='fc-agenda-divider-inner'/></div>")}else ia=m([]);w=m("<div style='position:absolute;width:100%;overflow-x:hidden;overflow-y:auto'/>").appendTo(ja);I=m("<div style='position:relative;width:100%;overflow:hidden'/>").appendTo(w);R=m("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(I);x="<table class='fc-agenda-slots' style='width:100%' cellspacing='0'><tbody>";ta=zb();za=xa(N(ta),bb);xa(ta,La);for(A=tb=0;ta<za;A++){Da=ta.getMinutes();x+="<tr class='fc-slot"+A+" "+
-(!Da?"":"fc-minor")+"'><th class='fc-agenda-axis "+h+"'>"+(!Ea||!Da?s(ta,i("axisFormat")):"&nbsp;")+"</th><td class='"+O+"'><div style='position:relative'>&nbsp;</div></td></tr>";xa(ta,i("slotMinutes"));tb++}x+="</tbody></table>";V=m(x).appendTo(I);ea=V.find("div:first");u(V.find("td"));aa=aa.add(V.find("th:first"))}function l(){var h,O,x,A,ta=Ka(new Date);for(h=0;h<Ba;h++){A=ua(h);O=r.eq(h);O.html(s(A,Vb));x=M.eq(h);+A==+ta?x.addClass(Wa+"-state-highlight fc-today"):x.removeClass(Wa+"-state-highlight fc-today");
-rb(O.add(x),A)}}function j(h,O){if(h===ma)h=Wb;Wb=h;ub={};var x=J.position().top,A=w.position().top;h=Math.min(h-x,V.height()+A+1);Z.height(h-Sa(D));ja.css("top",x);w.height(h-A-1);Xa=ea.height()+1;O&&y()}function t(h){Ga=h;cb.clear();Ma=0;Va(aa.width("").each(function(O,x){Ma=Math.max(Ma,m(x).outerWidth())}),Ma);h=w[0].clientWidth;if(vb=w.width()-h){Va(va,vb);va.show().prev().removeClass("fc-last")}else va.hide().prev().addClass("fc-last");db=Math.floor((h-Ma)/Ba);Va(r.slice(0,-1),db)}function y(){function h(){w.scrollTop(A)}
-var O=zb(),x=N(O);x.setHours(i("firstHour"));var A=ca(O,x)+1;h();setTimeout(h,0)}function S(){Xb=w.scrollTop()}function Q(){w.scrollTop(Xb)}function q(h){h.click(fa).mousedown(W)}function u(h){h.click(fa).mousedown(H)}function fa(h){if(!i("selectable")){var O=Math.min(Ba-1,Math.floor((h.pageX-v.offset().left-Ma)/db)),x=ua(O),A=this.parentNode.className.match(/fc-slot(\d+)/);if(A){A=parseInt(A[1])*i("slotMinutes");var ta=Math.floor(A/60);x.setHours(ta);x.setMinutes(A%60+La);C("dayClick",M[O],x,false,
-h)}else C("dayClick",M[O],x,true,h)}}function oa(h,O,x){x&&Na.build();var A=N(K.visStart);if(Ub){x=Ca(O,A)*Ha+Ia+1;h=Ca(h,A)*Ha+Ia+1}else{x=Ca(h,A);h=Ca(O,A)}x=Math.max(0,x);h=Math.min(Ba,h);x<h&&q(ga(0,x,0,h-1))}function ga(h,O,x,A){h=Na.rect(h,O,x,A,ja);return E(h,ja)}function ra(h,O){for(var x=N(K.visStart),A=ba(N(x),1),ta=0;ta<Ba;ta++){var za=new Date(Math.max(x,h)),Da=new Date(Math.min(A,O));if(za<Da){var Ea=ta*Ha+Ia;Ea=Na.rect(0,Ea,0,Ea,I);za=ca(x,za);Da=ca(x,Da);Ea.top=za;Ea.height=Da-za;u(E(Ea,
-I))}ba(x,1);ba(A,1)}}function sa(h){return cb.left(h)}function ha(h){return cb.right(h)}function da(h){return{row:Math.floor(Ca(h,K.visStart)/7),col:U(h.getDay())}}function na(h){var O=ua(h.col);h=h.row;i("allDaySlot")&&h--;h>=0&&xa(O,La+h*i("slotMinutes"));return O}function ua(h){return ba(N(K.visStart),h*Ha+Ia)}function pa(h){return i("allDaySlot")&&!h.row}function U(h){return(h-Math.max(Tb,Sb)+Ba)%Ba*Ha+Ia}function ca(h,O){h=N(h,true);if(O<xa(N(h),La))return 0;if(O>=xa(N(h),bb))return V.height();
-h=i("slotMinutes");O=O.getHours()*60+O.getMinutes()-La;var x=Math.floor(O/h),A=ub[x];if(A===ma)A=ub[x]=V.find("tr:eq("+x+") td div")[0].offsetTop;return Math.max(0,Math.round(A-1+Xa*(O%h/h)))}function ka(){return{left:Ma,right:Ga-vb}}function qa(){return $}function G(h){var O=N(h.start);if(h.allDay)return O;return xa(O,i("defaultEventMinutes"))}function p(h,O){if(O)return N(h);return xa(N(h),i("slotMinutes"))}function L(h,O,x){if(x)i("allDaySlot")&&oa(h,ba(N(O),1),true);else c(h,O)}function c(h,O){var x=
-i("selectHelper");Na.build();if(x){var A=Ca(h,K.visStart)*Ha+Ia;if(A>=0&&A<Ba){A=Na.rect(0,A,0,A,I);var ta=ca(h,h),za=ca(h,O);if(za>ta){A.top=ta;A.height=za-ta;A.left+=2;A.width-=5;if(m.isFunction(x)){if(h=x(h,O)){A.position="absolute";A.zIndex=8;wa=m(h).css(A).appendTo(I)}}else{A.isStart=true;A.isEnd=true;wa=m(o({title:"",start:h,end:O,className:["fc-select-helper"],editable:false},A));wa.css("opacity",i("dragOpacity"))}if(wa){u(wa);I.append(wa);Va(wa,A.width,true);Eb(wa,A.height,true)}}}}else ra(h,
-O)}function z(){B();if(wa){wa.remove();wa=null}}function H(h){if(h.which==1&&i("selectable")){Y(h);var O;Ra.start(function(x,A){z();if(x&&x.col==A.col&&!pa(x)){A=na(A);x=na(x);O=[A,xa(N(A),i("slotMinutes")),x,xa(N(x),i("slotMinutes"))].sort(Gb);c(O[0],O[3])}else O=null},h);m(document).one("mouseup",function(x){Ra.stop();if(O){+O[0]==+O[1]&&T(O[0],false,x);n(O[0],O[3],false,x)}})}}function T(h,O,x){C("dayClick",M[U(h.getDay())],h,O,x)}function X(h,O){Ra.start(function(x){B();if(x)if(pa(x))ga(x.row,
-x.col,x.row,x.col);else{x=na(x);var A=xa(N(x),i("defaultEventMinutes"));ra(x,A)}},O)}function ya(h,O,x){var A=Ra.stop();B();A&&C("drop",h,na(A),pa(A),O,x)}var K=this;K.renderAgenda=d;K.setWidth=t;K.setHeight=j;K.beforeHide=S;K.afterShow=Q;K.defaultEventEnd=G;K.timePosition=ca;K.dayOfWeekCol=U;K.dateCell=da;K.cellDate=na;K.cellIsAllDay=pa;K.allDayRow=qa;K.allDayBounds=ka;K.getHoverListener=function(){return Ra};K.colContentLeft=sa;K.colContentRight=ha;K.getDaySegmentContainer=function(){return ia};
-K.getSlotSegmentContainer=function(){return R};K.getMinMinute=function(){return La};K.getMaxMinute=function(){return bb};K.getBodyContent=function(){return I};K.getRowCnt=function(){return 1};K.getColCnt=function(){return Ba};K.getColWidth=function(){return db};K.getSlotHeight=function(){return Xa};K.defaultSelectionEnd=p;K.renderDayOverlay=oa;K.renderSelection=L;K.clearSelection=z;K.reportDayClick=T;K.dragStart=X;K.dragStop=ya;Kb.call(K,a,b,e);Lb.call(K);Mb.call(K);sc.call(K);var i=K.opt,C=K.trigger,
-P=K.clearEvents,E=K.renderOverlay,B=K.clearOverlays,n=K.reportSelection,Y=K.unselect,W=K.daySelectionMousedown,o=K.slotSegHtml,s=b.formatDate,v,F,r,J,M,k,D,Z,ja,ia,la,$,w,I,R,V,ea,aa,va,wa,Ga,Wb,Ma,db,vb,Xa,Xb,Ba,tb,Na,Ra,cb,ub={},Wa,Tb,Sb,Ub,Ha,Ia,La,bb,Vb;qb(a.addClass("fc-agenda"));Na=new Nb(function(h,O){function x(eb){return Math.max(Ea,Math.min(tc,eb))}var A,ta,za;r.each(function(eb,uc){A=m(uc);ta=A.offset().left;if(eb)za[1]=ta;za=[ta];O[eb]=za});za[1]=ta+A.outerWidth();if(i("allDaySlot")){A=
-$;ta=A.offset().top;h[0]=[ta,ta+A.outerHeight()]}for(var Da=I.offset().top,Ea=w.offset().top,tc=Ea+w.outerHeight(),fb=0;fb<tb;fb++)h.push([x(Da+Xa*fb),x(Da+Xa*(fb+1))])});Ra=new Ob(Na);cb=new Pb(function(h){return k.eq(h)})}function sc(){function a(o,s){sa(o);var v,F=o.length,r=[],J=[];for(v=0;v<F;v++)o[v].allDay?r.push(o[v]):J.push(o[v]);if(u("allDaySlot")){L(e(r),s);na()}g(d(J),s)}function b(){ha();ua().empty();pa().empty()}function e(o){o=ob(nb(o,m.map(o,Ua),q.visStart,q.visEnd));var s,v=o.length,
-F,r,J,M=[];for(s=0;s<v;s++){F=o[s];for(r=0;r<F.length;r++){J=F[r];J.row=0;J.level=s;M.push(J)}}return M}function d(o){var s=z(),v=ka(),F=ca(),r=xa(N(q.visStart),v),J=m.map(o,f),M,k,D,Z,ja,ia,la=[];for(M=0;M<s;M++){k=ob(nb(o,J,r,xa(N(r),F-v)));vc(k);for(D=0;D<k.length;D++){Z=k[D];for(ja=0;ja<Z.length;ja++){ia=Z[ja];ia.col=M;ia.level=D;la.push(ia)}}ba(r,1,true)}return la}function f(o){return o.end?N(o.end):xa(N(o.start),u("defaultEventMinutes"))}function g(o,s){var v,F=o.length,r,J,M,k,D,Z,ja,ia,la,
-$="",w,I,R={},V={},ea=pa(),aa;v=z();if(w=u("isRTL")){I=-1;aa=v-1}else{I=1;aa=0}for(v=0;v<F;v++){r=o[v];J=r.event;M=qa(r.start,r.start);k=qa(r.start,r.end);D=r.col;Z=r.level;ja=r.forward||0;ia=G(D*I+aa);la=p(D*I+aa)-ia;la=Math.min(la-6,la*0.95);D=Z?la/(Z+ja+1):ja?(la/(ja+1)-6)*2:la;Z=ia+la/(Z+ja+1)*Z*I+(w?la-D:0);r.top=M;r.left=Z;r.outerWidth=D;r.outerHeight=k-M;$+=l(J,r)}ea[0].innerHTML=$;w=ea.children();for(v=0;v<F;v++){r=o[v];J=r.event;$=m(w[v]);I=fa("eventRender",J,J,$);if(I===false)$.remove();
-else{if(I&&I!==true){$.remove();$=m(I).css({position:"absolute",top:r.top,left:r.left}).appendTo(ea)}r.element=$;if(J._id===s)t(J,$,r);else $[0]._fci=v;ya(J,$)}}Db(ea,o,t);for(v=0;v<F;v++){r=o[v];if($=r.element){J=R[s=r.key=Ib($[0])];r.vsides=J===ma?(R[s]=Sa($,true)):J;J=V[s];r.hsides=J===ma?(V[s]=pb($,true)):J;s=$.find("div.fc-event-content");if(s.length)r.contentTop=s[0].offsetTop}}for(v=0;v<F;v++){r=o[v];if($=r.element){$[0].style.width=Math.max(0,r.outerWidth-r.hsides)+"px";R=Math.max(0,r.outerHeight-
-r.vsides);$[0].style.height=R+"px";J=r.event;if(r.contentTop!==ma&&R-r.contentTop<10){$.find("div.fc-event-time").text(Y(J.start,u("timeFormat"))+" - "+J.title);$.find("div.fc-event-title").remove()}fa("eventAfterRender",J,J,$)}}}function l(o,s){var v="<",F=o.url,r=Jb(o,u),J=r?" style='"+r+"'":"",M=["fc-event","fc-event-skin","fc-event-vert"];oa(o)&&M.push("fc-event-draggable");s.isStart&&M.push("fc-corner-top");s.isEnd&&M.push("fc-corner-bottom");M=M.concat(o.className);if(o.source)M=M.concat(o.source.className||
-[]);v+=F?"a href='"+Qa(o.url)+"'":"div";v+=" class='"+M.join(" ")+"' style='position:absolute;z-index:8;top:"+s.top+"px;left:"+s.left+"px;"+r+"'><div class='fc-event-inner fc-event-skin'"+J+"><div class='fc-event-head fc-event-skin'"+J+"><div class='fc-event-time'>"+Qa(W(o.start,o.end,u("timeFormat")))+"</div></div><div class='fc-event-content'><div class='fc-event-title'>"+Qa(o.title)+"</div></div><div class='fc-event-bg'></div></div>";if(s.isEnd&&ga(o))v+="<div class='ui-resizable-handle ui-resizable-s'>=</div>";
-v+="</"+(F?"a":"div")+">";return v}function j(o,s,v){oa(o)&&y(o,s,v.isStart);v.isEnd&&ga(o)&&c(o,s,v);da(o,s)}function t(o,s,v){var F=s.find("div.fc-event-time");oa(o)&&S(o,s,F);v.isEnd&&ga(o)&&Q(o,s,F);da(o,s)}function y(o,s,v){function F(){if(!M){s.width(r).height("").draggable("option","grid",null);M=true}}var r,J,M=true,k,D=u("isRTL")?-1:1,Z=U(),ja=H(),ia=T(),la=ka();s.draggable({zIndex:9,opacity:u("dragOpacity","month"),revertDuration:u("dragRevertDuration"),start:function($,w){fa("eventDragStart",
-s,o,$,w);i(o,s);r=s.width();Z.start(function(I,R,V,ea){B();if(I){J=false;k=ea*D;if(I.row)if(v){if(M){s.width(ja-10);Eb(s,ia*Math.round((o.end?(o.end-o.start)/wc:u("defaultEventMinutes"))/u("slotMinutes")));s.draggable("option","grid",[ja,1]);M=false}}else J=true;else{E(ba(N(o.start),k),ba(Ua(o),k));F()}J=J||M&&!k}else{F();J=true}s.draggable("option","revert",J)},$,"drag")},stop:function($,w){Z.stop();B();fa("eventDragStop",s,o,$,w);if(J){F();s.css("filter","");K(o,s)}else{var I=0;M||(I=Math.round((s.offset().top-
-X().offset().top)/ia)*u("slotMinutes")+la-(o.start.getHours()*60+o.start.getMinutes()));C(this,o,k,I,M,$,w)}}})}function S(o,s,v){function F(I){var R=xa(N(o.start),I),V;if(o.end)V=xa(N(o.end),I);v.text(W(R,V,u("timeFormat")))}function r(){if(M){v.css("display","");s.draggable("option","grid",[$,w]);M=false}}var J,M=false,k,D,Z,ja=u("isRTL")?-1:1,ia=U(),la=z(),$=H(),w=T();s.draggable({zIndex:9,scroll:false,grid:[$,w],axis:la==1?"y":false,opacity:u("dragOpacity"),revertDuration:u("dragRevertDuration"),
-start:function(I,R){fa("eventDragStart",s,o,I,R);i(o,s);J=s.position();D=Z=0;ia.start(function(V,ea,aa,va){s.draggable("option","revert",!V);B();if(V){k=va*ja;if(u("allDaySlot")&&!V.row){if(!M){M=true;v.hide();s.draggable("option","grid",null)}E(ba(N(o.start),k),ba(Ua(o),k))}else r()}},I,"drag")},drag:function(I,R){D=Math.round((R.position.top-J.top)/w)*u("slotMinutes");if(D!=Z){M||F(D);Z=D}},stop:function(I,R){var V=ia.stop();B();fa("eventDragStop",s,o,I,R);if(V&&(k||D||M))C(this,o,k,M?0:D,M,I,R);
-else{r();s.css("filter","");s.css(J);F(0);K(o,s)}}})}function Q(o,s,v){var F,r,J=T();s.resizable({handles:{s:"div.ui-resizable-s"},grid:J,start:function(M,k){F=r=0;i(o,s);s.css("z-index",9);fa("eventResizeStart",this,o,M,k)},resize:function(M,k){F=Math.round((Math.max(J,s.height())-k.originalSize.height)/J);if(F!=r){v.text(W(o.start,!F&&!o.end?null:xa(ra(o),u("slotMinutes")*F),u("timeFormat")));r=F}},stop:function(M,k){fa("eventResizeStop",this,o,M,k);if(F)P(this,o,0,u("slotMinutes")*F,M,k);else{s.css("z-index",
-8);K(o,s)}}})}var q=this;q.renderEvents=a;q.compileDaySegs=e;q.clearEvents=b;q.slotSegHtml=l;q.bindDaySeg=j;Qb.call(q);var u=q.opt,fa=q.trigger,oa=q.isEventDraggable,ga=q.isEventResizable,ra=q.eventEnd,sa=q.reportEvents,ha=q.reportEventClear,da=q.eventElementHandlers,na=q.setHeight,ua=q.getDaySegmentContainer,pa=q.getSlotSegmentContainer,U=q.getHoverListener,ca=q.getMaxMinute,ka=q.getMinMinute,qa=q.timePosition,G=q.colContentLeft,p=q.colContentRight,L=q.renderDaySegs,c=q.resizableDayEvent,z=q.getColCnt,
-H=q.getColWidth,T=q.getSlotHeight,X=q.getBodyContent,ya=q.reportEventElement,K=q.showEvents,i=q.hideEvents,C=q.eventDrop,P=q.eventResize,E=q.renderDayOverlay,B=q.clearOverlays,n=q.calendar,Y=n.formatDate,W=n.formatDates}function vc(a){var b,e,d,f,g,l;for(b=a.length-1;b>0;b--){f=a[b];for(e=0;e<f.length;e++){g=f[e];for(d=0;d<a[b-1].length;d++){l=a[b-1][d];if(Cb(g,l))l.forward=Math.max(l.forward||0,(g.forward||0)+1)}}}}function Kb(a,b,e){function d(G,p){G=qa[G];if(typeof G=="object")return jb(G,p||e);
-return G}function f(G,p){return b.trigger.apply(b,[G,p||da].concat(Array.prototype.slice.call(arguments,2),[da]))}function g(G){return j(G)&&!d("disableDragging")}function l(G){return j(G)&&!d("disableResizing")}function j(G){return Ta(G.editable,(G.source||{}).editable,d("editable"))}function t(G){U={};var p,L=G.length,c;for(p=0;p<L;p++){c=G[p];if(U[c._id])U[c._id].push(c);else U[c._id]=[c]}}function y(G){return G.end?N(G.end):na(G)}function S(G,p){ca.push(p);if(ka[G._id])ka[G._id].push(p);else ka[G._id]=
-[p]}function Q(){ca=[];ka={}}function q(G,p){p.click(function(L){if(!p.hasClass("ui-draggable-dragging")&&!p.hasClass("ui-resizable-resizing"))return f("eventClick",this,G,L)}).hover(function(L){f("eventMouseover",this,G,L)},function(L){f("eventMouseout",this,G,L)})}function u(G,p){oa(G,p,"show")}function fa(G,p){oa(G,p,"hide")}function oa(G,p,L){G=ka[G._id];var c,z=G.length;for(c=0;c<z;c++)if(!p||G[c][0]!=p[0])G[c][L]()}function ga(G,p,L,c,z,H,T){var X=p.allDay,ya=p._id;sa(U[ya],L,c,z);f("eventDrop",
-G,p,L,c,z,function(){sa(U[ya],-L,-c,X);pa(ya)},H,T);pa(ya)}function ra(G,p,L,c,z,H){var T=p._id;ha(U[T],L,c);f("eventResize",G,p,L,c,function(){ha(U[T],-L,-c);pa(T)},z,H);pa(T)}function sa(G,p,L,c){L=L||0;for(var z,H=G.length,T=0;T<H;T++){z=G[T];if(c!==ma)z.allDay=c;xa(ba(z.start,p,true),L);if(z.end)z.end=xa(ba(z.end,p,true),L);ua(z,qa)}}function ha(G,p,L){L=L||0;for(var c,z=G.length,H=0;H<z;H++){c=G[H];c.end=xa(ba(y(c),p,true),L);ua(c,qa)}}var da=this;da.element=a;da.calendar=b;da.name=e;da.opt=
-d;da.trigger=f;da.isEventDraggable=g;da.isEventResizable=l;da.reportEvents=t;da.eventEnd=y;da.reportEventElement=S;da.reportEventClear=Q;da.eventElementHandlers=q;da.showEvents=u;da.hideEvents=fa;da.eventDrop=ga;da.eventResize=ra;var na=da.defaultEventEnd,ua=b.normalizeEvent,pa=b.reportEventChange,U={},ca=[],ka={},qa=b.options}function Qb(){function a(i,C){var P=z(),E=pa(),B=U(),n=0,Y,W,o=i.length,s,v;P[0].innerHTML=e(i);d(i,P.children());f(i);g(i,P,C);l(i);j(i);t(i);C=y();for(P=0;P<E;P++){Y=[];for(W=
-0;W<B;W++)Y[W]=0;for(;n<o&&(s=i[n]).row==P;){W=Hb(Y.slice(s.startCol,s.endCol));s.top=W;W+=s.outerHeight;for(v=s.startCol;v<s.endCol;v++)Y[v]=W;n++}C[P].height(Hb(Y))}Q(i,S(C))}function b(i,C,P){var E=m("<div/>"),B=z(),n=i.length,Y;E[0].innerHTML=e(i);E=E.children();B.append(E);d(i,E);l(i);j(i);t(i);Q(i,S(y()));E=[];for(B=0;B<n;B++)if(Y=i[B].element){i[B].row===C&&Y.css("top",P);E.push(Y[0])}return m(E)}function e(i){var C=fa("isRTL"),P,E=i.length,B,n,Y,W;P=ka();var o=P.left,s=P.right,v,F,r,J,M,k=
-"";for(P=0;P<E;P++){B=i[P];n=B.event;W=["fc-event","fc-event-skin","fc-event-hori"];ga(n)&&W.push("fc-event-draggable");if(C){B.isStart&&W.push("fc-corner-right");B.isEnd&&W.push("fc-corner-left");v=p(B.end.getDay()-1);F=p(B.start.getDay());r=B.isEnd?qa(v):o;J=B.isStart?G(F):s}else{B.isStart&&W.push("fc-corner-left");B.isEnd&&W.push("fc-corner-right");v=p(B.start.getDay());F=p(B.end.getDay()-1);r=B.isStart?qa(v):o;J=B.isEnd?G(F):s}W=W.concat(n.className);if(n.source)W=W.concat(n.source.className||
-[]);Y=n.url;M=Jb(n,fa);k+=Y?"<a href='"+Qa(Y)+"'":"<div";k+=" class='"+W.join(" ")+"' style='position:absolute;z-index:8;left:"+r+"px;"+M+"'><div class='fc-event-inner fc-event-skin'"+(M?" style='"+M+"'":"")+">";if(!n.allDay&&B.isStart)k+="<span class='fc-event-time'>"+Qa(T(n.start,n.end,fa("timeFormat")))+"</span>";k+="<span class='fc-event-title'>"+Qa(n.title)+"</span></div>";if(B.isEnd&&ra(n))k+="<div class='ui-resizable-handle ui-resizable-"+(C?"w":"e")+"'>&nbsp;&nbsp;&nbsp;</div>";k+="</"+(Y?
-"a":"div")+">";B.left=r;B.outerWidth=J-r;B.startCol=v;B.endCol=F+1}return k}function d(i,C){var P,E=i.length,B,n,Y;for(P=0;P<E;P++){B=i[P];n=B.event;Y=m(C[P]);n=oa("eventRender",n,n,Y);if(n===false)Y.remove();else{if(n&&n!==true){n=m(n).css({position:"absolute",left:B.left});Y.replaceWith(n);Y=n}B.element=Y}}}function f(i){var C,P=i.length,E,B;for(C=0;C<P;C++){E=i[C];(B=E.element)&&ha(E.event,B)}}function g(i,C,P){var E,B=i.length,n,Y,W;for(E=0;E<B;E++){n=i[E];if(Y=n.element){W=n.event;if(W._id===
-P)H(W,Y,n);else Y[0]._fci=E}}Db(C,i,H)}function l(i){var C,P=i.length,E,B,n,Y,W={};for(C=0;C<P;C++){E=i[C];if(B=E.element){n=E.key=Ib(B[0]);Y=W[n];if(Y===ma)Y=W[n]=pb(B,true);E.hsides=Y}}}function j(i){var C,P=i.length,E,B;for(C=0;C<P;C++){E=i[C];if(B=E.element)B[0].style.width=Math.max(0,E.outerWidth-E.hsides)+"px"}}function t(i){var C,P=i.length,E,B,n,Y,W={};for(C=0;C<P;C++){E=i[C];if(B=E.element){n=E.key;Y=W[n];if(Y===ma)Y=W[n]=Fb(B);E.outerHeight=B[0].offsetHeight+Y}}}function y(){var i,C=pa(),
-P=[];for(i=0;i<C;i++)P[i]=ca(i).find("td:first div.fc-day-content > div");return P}function S(i){var C,P=i.length,E=[];for(C=0;C<P;C++)E[C]=i[C][0].offsetTop;return E}function Q(i,C){var P,E=i.length,B,n;for(P=0;P<E;P++){B=i[P];if(n=B.element){n[0].style.top=C[B.row]+(B.top||0)+"px";B=B.event;oa("eventAfterRender",B,B,n)}}}function q(i,C,P){var E=fa("isRTL"),B=E?"w":"e",n=C.find("div.ui-resizable-"+B),Y=false;qb(C);C.mousedown(function(W){W.preventDefault()}).click(function(W){if(Y){W.preventDefault();
-W.stopImmediatePropagation()}});n.mousedown(function(W){function o(ia){oa("eventResizeStop",this,i,ia);m("body").css("cursor","");s.stop();ya();k&&ua(this,i,k,0,ia);setTimeout(function(){Y=false},0)}if(W.which==1){Y=true;var s=u.getHoverListener(),v=pa(),F=U(),r=E?-1:1,J=E?F-1:0,M=C.css("top"),k,D,Z=m.extend({},i),ja=L(i.start);K();m("body").css("cursor",B+"-resize").one("mouseup",o);oa("eventResizeStart",this,i,W);s.start(function(ia,la){if(ia){var $=Math.max(ja.row,ia.row);ia=ia.col;if(v==1)$=0;
-if($==ja.row)ia=E?Math.min(ja.col,ia):Math.max(ja.col,ia);k=$*7+ia*r+J-(la.row*7+la.col*r+J);la=ba(sa(i),k,true);if(k){Z.end=la;$=D;D=b(c([Z]),P.row,M);D.find("*").css("cursor",B+"-resize");$&&$.remove();na(i)}else if(D){da(i);D.remove();D=null}ya();X(i.start,ba(N(la),1))}},W)}})}var u=this;u.renderDaySegs=a;u.resizableDayEvent=q;var fa=u.opt,oa=u.trigger,ga=u.isEventDraggable,ra=u.isEventResizable,sa=u.eventEnd,ha=u.reportEventElement,da=u.showEvents,na=u.hideEvents,ua=u.eventResize,pa=u.getRowCnt,
-U=u.getColCnt,ca=u.allDayRow,ka=u.allDayBounds,qa=u.colContentLeft,G=u.colContentRight,p=u.dayOfWeekCol,L=u.dateCell,c=u.compileDaySegs,z=u.getDaySegmentContainer,H=u.bindDaySeg,T=u.calendar.formatDates,X=u.renderDayOverlay,ya=u.clearOverlays,K=u.clearSelection}function Mb(){function a(Q,q,u){b();q||(q=j(Q,u));t(Q,q,u);e(Q,q,u)}function b(Q){if(S){S=false;y();l("unselect",null,Q)}}function e(Q,q,u,fa){S=true;l("select",null,Q,q,u,fa)}function d(Q){var q=f.cellDate,u=f.cellIsAllDay,fa=f.getHoverListener(),
-oa=f.reportDayClick;if(Q.which==1&&g("selectable")){b(Q);var ga;fa.start(function(ra,sa){y();if(ra&&u(ra)){ga=[q(sa),q(ra)].sort(Gb);t(ga[0],ga[1],true)}else ga=null},Q);m(document).one("mouseup",function(ra){fa.stop();if(ga){+ga[0]==+ga[1]&&oa(ga[0],true,ra);e(ga[0],ga[1],true,ra)}})}}var f=this;f.select=a;f.unselect=b;f.reportSelection=e;f.daySelectionMousedown=d;var g=f.opt,l=f.trigger,j=f.defaultSelectionEnd,t=f.renderSelection,y=f.clearSelection,S=false;g("selectable")&&g("unselectAuto")&&m(document).mousedown(function(Q){var q=
-g("unselectCancel");if(q)if(m(Q.target).parents(q).length)return;b(Q)})}function Lb(){function a(g,l){var j=f.shift();j||(j=m("<div class='fc-cell-overlay' style='position:absolute;z-index:3'/>"));j[0].parentNode!=l[0]&&j.appendTo(l);d.push(j.css(g).show());return j}function b(){for(var g;g=d.shift();)f.push(g.hide().unbind())}var e=this;e.renderOverlay=a;e.clearOverlays=b;var d=[],f=[]}function Nb(a){var b=this,e,d;b.build=function(){e=[];d=[];a(e,d)};b.cell=function(f,g){var l=e.length,j=d.length,
-t,y=-1,S=-1;for(t=0;t<l;t++)if(g>=e[t][0]&&g<e[t][1]){y=t;break}for(t=0;t<j;t++)if(f>=d[t][0]&&f<d[t][1]){S=t;break}return y>=0&&S>=0?{row:y,col:S}:null};b.rect=function(f,g,l,j,t){t=t.offset();return{top:e[f][0]-t.top,left:d[g][0]-t.left,width:d[j][1]-d[g][0],height:e[l][1]-e[f][0]}}}function Ob(a){function b(j){xc(j);j=a.cell(j.pageX,j.pageY);if(!j!=!l||j&&(j.row!=l.row||j.col!=l.col)){if(j){g||(g=j);f(j,g,j.row-g.row,j.col-g.col)}else f(j,g);l=j}}var e=this,d,f,g,l;e.start=function(j,t,y){f=j;
-g=l=null;a.build();b(t);d=y||"mousemove";m(document).bind(d,b)};e.stop=function(){m(document).unbind(d,b);return l}}function xc(a){if(a.pageX===ma){a.pageX=a.originalEvent.pageX;a.pageY=a.originalEvent.pageY}}function Pb(a){function b(l){return d[l]=d[l]||a(l)}var e=this,d={},f={},g={};e.left=function(l){return f[l]=f[l]===ma?b(l).position().left:f[l]};e.right=function(l){return g[l]=g[l]===ma?e.left(l)+b(l).width():g[l]};e.clear=function(){d={};f={};g={}}}var Ya={defaultView:"month",aspectRatio:1.35,
-header:{left:"title",center:"",right:"today prev,next"},weekends:true,allDayDefault:true,ignoreTimezone:true,lazyFetching:true,startParam:"start",endParam:"end",titleFormat:{month:"MMMM yyyy",week:"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",day:"dddd, MMM d, yyyy"},columnFormat:{month:"ddd",week:"ddd M/d",day:"dddd M/d"},timeFormat:{"":"h(:mm)t"},isRTL:false,firstDay:0,monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan",
-"Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],buttonText:{prev:"&nbsp;&#9668;&nbsp;",next:"&nbsp;&#9658;&nbsp;",prevYear:"&nbsp;&lt;&lt;&nbsp;",nextYear:"&nbsp;&gt;&gt;&nbsp;",today:"today",month:"month",week:"week",day:"day"},theme:false,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"},unselectAuto:true,dropAccept:"*"},yc=
-{header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:"&nbsp;&#9658;&nbsp;",next:"&nbsp;&#9668;&nbsp;",prevYear:"&nbsp;&gt;&gt;&nbsp;",nextYear:"&nbsp;&lt;&lt;&nbsp;"},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}},Aa=m.fullCalendar={version:"1.5.3"},Ja=Aa.views={};m.fn.fullCalendar=function(a){if(typeof a=="string"){var b=Array.prototype.slice.call(arguments,1),e;this.each(function(){var f=m.data(this,"fullCalendar");if(f&&m.isFunction(f[a])){f=f[a].apply(f,
-b);if(e===ma)e=f;a=="destroy"&&m.removeData(this,"fullCalendar")}});if(e!==ma)return e;return this}var d=a.eventSources||[];delete a.eventSources;if(a.events){d.push(a.events);delete a.events}a=m.extend(true,{},Ya,a.isRTL||a.isRTL===ma&&Ya.isRTL?yc:{},a);this.each(function(f,g){f=m(g);g=new Yb(f,a,d);f.data("fullCalendar",g);g.render()});return this};Aa.sourceNormalizers=[];Aa.sourceFetchers=[];var ac={dataType:"json",cache:false},bc=1;Aa.addDays=ba;Aa.cloneDate=N;Aa.parseDate=kb;Aa.parseISO8601=
-Bb;Aa.parseTime=mb;Aa.formatDate=Oa;Aa.formatDates=ib;var lc=["sun","mon","tue","wed","thu","fri","sat"],Ab=864E5,cc=36E5,wc=6E4,dc={s:function(a){return a.getSeconds()},ss:function(a){return Pa(a.getSeconds())},m:function(a){return a.getMinutes()},mm:function(a){return Pa(a.getMinutes())},h:function(a){return a.getHours()%12||12},hh:function(a){return Pa(a.getHours()%12||12)},H:function(a){return a.getHours()},HH:function(a){return Pa(a.getHours())},d:function(a){return a.getDate()},dd:function(a){return Pa(a.getDate())},
-ddd:function(a,b){return b.dayNamesShort[a.getDay()]},dddd:function(a,b){return b.dayNames[a.getDay()]},M:function(a){return a.getMonth()+1},MM:function(a){return Pa(a.getMonth()+1)},MMM:function(a,b){return b.monthNamesShort[a.getMonth()]},MMMM:function(a,b){return b.monthNames[a.getMonth()]},yy:function(a){return(a.getFullYear()+"").substring(2)},yyyy:function(a){return a.getFullYear()},t:function(a){return a.getHours()<12?"a":"p"},tt:function(a){return a.getHours()<12?"am":"pm"},T:function(a){return a.getHours()<
-12?"A":"P"},TT:function(a){return a.getHours()<12?"AM":"PM"},u:function(a){return Oa(a,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(a){a=a.getDate();if(a>10&&a<20)return"th";return["st","nd","rd"][a%10-1]||"th"}};Aa.applyAll=$a;Ja.month=mc;Ja.basicWeek=nc;Ja.basicDay=oc;wb({weekMode:"fixed"});Ja.agendaWeek=qc;Ja.agendaDay=rc;wb({allDaySlot:true,allDayText:"all-day",firstHour:6,slotMinutes:30,defaultEventMinutes:120,axisFormat:"h(:mm)tt",timeFormat:{agenda:"h:mm{ - h:mm}"},dragOpacity:{agenda:0.5},minTime:0,
-maxTime:24})})(jQuery);
+/*!
+ * FullCalendar v1.6.0
+ * Docs & License: http://arshaw.com/fullcalendar/
+ * (c) 2013 Adam Shaw
+ */
+(function(t,e){function n(e){t.extend(!0,ye,e)}function r(n,r,l){function u(t){G?(S(),C(),R(),b(t)):f()}function f(){K=r.theme?"ui":"fc",n.addClass("fc"),r.isRTL?n.addClass("fc-rtl"):n.addClass("fc-ltr"),r.theme&&n.addClass("ui-widget"),G=t("<div class='fc-content' style='position:relative'/>").prependTo(n),$=new a(Z,r),Q=$.render(),Q&&n.prepend(Q),y(r.defaultView),t(window).resize(x),m()||v()}function v(){setTimeout(function(){!te.start&&m()&&b()},0)}function h(){t(window).unbind("resize",x),$.destroy(),G.remove(),n.removeClass("fc fc-rtl ui-widget")}function g(){return 0!==se.offsetWidth}function m(){return 0!==t("body")[0].offsetWidth}function y(e){if(!te||e!=te.name){ue++,W();var n,r=te;r?((r.beforeHide||I)(),q(G,G.height()),r.element.hide()):q(G,1),G.css("overflow","hidden"),te=ce[e],te?te.element.show():te=ce[e]=new De[e](n=re=t("<div class='fc-view fc-view-"+e+"' style='position:absolute'/>").appendTo(G),Z),r&&$.deactivateButton(r.name),$.activateButton(e),b(),G.css("overflow",""),r&&q(G,1),n||(te.afterShow||I)(),ue--}}function b(t){if(g()){ue++,W(),ne===e&&S();var r=!1;!te.start||t||te.start>fe||fe>=te.end?(te.render(fe,t||0),E(!0),r=!0):te.sizeDirty?(te.clearEvents(),E(),r=!0):te.eventsDirty&&(te.clearEvents(),r=!0),te.sizeDirty=!1,te.eventsDirty=!1,T(r),ee=n.outerWidth(),$.updateTitle(te.title);var a=new Date;a>=te.start&&te.end>a?$.disableButton("today"):$.enableButton("today"),ue--,te.trigger("viewDisplay",se)}}function M(){C(),g()&&(S(),E(),W(),te.clearEvents(),te.renderEvents(de),te.sizeDirty=!1)}function C(){t.each(ce,function(t,e){e.sizeDirty=!0})}function S(){ne=r.contentHeight?r.contentHeight:r.height?r.height-(Q?Q.height():0)-L(G):Math.round(G.width()/Math.max(r.aspectRatio,.5))}function E(t){ue++,te.setHeight(ne,t),re&&(re.css("position","relative"),re=null),te.setWidth(G.width(),t),ue--}function x(){if(!ue)if(te.start){var t=++le;setTimeout(function(){t==le&&!ue&&g()&&ee!=(ee=n.outerWidth())&&(ue++,M(),te.trigger("windowResize",se),ue--)},200)}else v()}function T(t){!r.lazyFetching||oe(te.visStart,te.visEnd)?k():t&&F()}function k(){ie(te.visStart,te.visEnd)}function H(t){de=t,F()}function z(t){F(t)}function F(t){R(),g()&&(te.clearEvents(),te.renderEvents(de,t),te.eventsDirty=!1)}function R(){t.each(ce,function(t,e){e.eventsDirty=!0})}function N(t,n,r){te.select(t,n,r===e?!0:r)}function W(){te&&te.unselect()}function A(){b(-1)}function _(){b(1)}function O(){i(fe,-1),b()}function B(){i(fe,1),b()}function Y(){fe=new Date,b()}function j(t,e,n){t instanceof Date?fe=d(t):p(fe,t,e,n),b()}function P(t,n,r){t!==e&&i(fe,t),n!==e&&s(fe,n),r!==e&&c(fe,r),b()}function J(){return d(fe)}function V(){return te}function X(t,n){return n===e?r[t]:(("height"==t||"contentHeight"==t||"aspectRatio"==t)&&(r[t]=n,M()),e)}function U(t,n){return r[t]?r[t].apply(n||se,Array.prototype.slice.call(arguments,2)):e}var Z=this;Z.options=r,Z.render=u,Z.destroy=h,Z.refetchEvents=k,Z.reportEvents=H,Z.reportEventChange=z,Z.rerenderEvents=F,Z.changeView=y,Z.select=N,Z.unselect=W,Z.prev=A,Z.next=_,Z.prevYear=O,Z.nextYear=B,Z.today=Y,Z.gotoDate=j,Z.incrementDate=P,Z.formatDate=function(t,e){return w(t,e,r)},Z.formatDates=function(t,e,n){return D(t,e,n,r)},Z.getDate=J,Z.getView=V,Z.option=X,Z.trigger=U,o.call(Z,r,l);var $,Q,G,K,te,ee,ne,re,ae,oe=Z.isFetchNeeded,ie=Z.fetchEvents,se=n[0],ce={},le=0,ue=0,fe=new Date,de=[];p(fe,r.year,r.month,r.date),r.droppable&&t(document).bind("dragstart",function(e,n){var a=e.target,o=t(a);if(!o.parents(".fc").length){var i=r.dropAccept;(t.isFunction(i)?i.call(a,o):o.is(i))&&(ae=a,te.dragStart(ae,e,n))}}).bind("dragstop",function(t,e){ae&&(te.dragStop(ae,t,e),ae=null)})}function a(n,r){function a(){v=r.theme?"ui":"fc";var n=r.header;return n?h=t("<table class='fc-header' style='width:100%'/>").append(t("<tr/>").append(i("left")).append(i("center")).append(i("right"))):e}function o(){h.remove()}function i(e){var a=t("<td class='fc-header-"+e+"'/>"),o=r.header[e];return o&&t.each(o.split(" "),function(e){e>0&&a.append("<span class='fc-header-space'/>");var o;t.each(this.split(","),function(e,i){if("title"==i)a.append("<span class='fc-header-title'><h2>&nbsp;</h2></span>"),o&&o.addClass(v+"-corner-right"),o=null;else{var s;if(n[i]?s=n[i]:De[i]&&(s=function(){u.removeClass(v+"-state-hover"),n.changeView(i)}),s){var c=r.theme?J(r.buttonIcons,i):null,l=J(r.buttonText,i),u=t("<span class='fc-button fc-button-"+i+" "+v+"-state-default'>"+(c?"<span class='fc-icon-wrap'><span class='ui-icon ui-icon-"+c+"'/>"+"</span>":l)+"</span>").click(function(){u.hasClass(v+"-state-disabled")||s()}).mousedown(function(){u.not("."+v+"-state-active").not("."+v+"-state-disabled").addClass(v+"-state-down")}).mouseup(function(){u.removeClass(v+"-state-down")}).hover(function(){u.not("."+v+"-state-active").not("."+v+"-state-disabled").addClass(v+"-state-hover")},function(){u.removeClass(v+"-state-hover").removeClass(v+"-state-down")}).appendTo(a);U(u),o||u.addClass(v+"-corner-left"),o=u}}}),o&&o.addClass(v+"-corner-right")}),a}function s(t){h.find("h2").html(t)}function c(t){h.find("span.fc-button-"+t).addClass(v+"-state-active")}function l(t){h.find("span.fc-button-"+t).removeClass(v+"-state-active")}function u(t){h.find("span.fc-button-"+t).addClass(v+"-state-disabled")}function f(t){h.find("span.fc-button-"+t).removeClass(v+"-state-disabled")}var d=this;d.render=a,d.destroy=o,d.updateTitle=s,d.activateButton=c,d.deactivateButton=l,d.disableButton=u,d.enableButton=f;var v,h=t([])}function o(n,r){function a(t,e){return!S||S>t||e>E}function o(t,e){S=t,E=e,W=[];var n=++F,r=z.length;R=r;for(var a=0;r>a;a++)i(z[a],n)}function i(e,r){s(e,function(a){if(r==F){if(a){n.eventDataTransform&&(a=t.map(a,n.eventDataTransform)),e.eventDataTransform&&(a=t.map(a,e.eventDataTransform));for(var o=0;a.length>o;o++)a[o].source=e,b(a[o]);W=W.concat(a)}R--,R||k(W)}})}function s(r,a){var o,i,c=we.sourceFetchers;for(o=0;c.length>o;o++){if(i=c[o](r,S,E,a),i===!0)return;if("object"==typeof i)return s(i,a),e}var l=r.events;if(l)t.isFunction(l)?(p(),l(d(S),d(E),function(t){a(t),y()})):t.isArray(l)?a(l):a();else{var u=r.url;if(u){var f=r.success,v=r.error,h=r.complete,g=t.extend({},r.data||{}),m=K(r.startParam,n.startParam),b=K(r.endParam,n.endParam);m&&(g[m]=Math.round(+S/1e3)),b&&(g[b]=Math.round(+E/1e3)),p(),t.ajax(t.extend({},Me,r,{data:g,success:function(e){e=e||[];var n=G(f,this,arguments);t.isArray(n)&&(e=n),a(e)},error:function(){G(v,this,arguments),a()},complete:function(){G(h,this,arguments),y()}}))}else a()}}function c(t){t=l(t),t&&(R++,i(t,F))}function l(n){return t.isFunction(n)||t.isArray(n)?n={events:n}:"string"==typeof n&&(n={url:n}),"object"==typeof n?(w(n),z.push(n),n):e}function u(e){z=t.grep(z,function(t){return!D(t,e)}),W=t.grep(W,function(t){return!D(t.source,e)}),k(W)}function f(t){var e,n,r=W.length,a=T().defaultEventEnd,o=t.start-t._start,i=t.end?t.end-(t._end||a(t)):0;for(e=0;r>e;e++)n=W[e],n._id==t._id&&n!=t&&(n.start=new Date(+n.start+o),n.end=t.end?n.end?new Date(+n.end+i):new Date(+a(n)+i):null,n.title=t.title,n.url=t.url,n.allDay=t.allDay,n.className=t.className,n.editable=t.editable,n.color=t.color,n.backgroudColor=t.backgroudColor,n.borderColor=t.borderColor,n.textColor=t.textColor,b(n));b(t),k(W)}function v(t,e){b(t),t.source||(e&&(H.events.push(t),t.source=H),W.push(t)),k(W)}function h(e){if(e){if(!t.isFunction(e)){var n=e+"";e=function(t){return t._id==n}}W=t.grep(W,e,!0);for(var r=0;z.length>r;r++)t.isArray(z[r].events)&&(z[r].events=t.grep(z[r].events,e,!0))}else{W=[];for(var r=0;z.length>r;r++)t.isArray(z[r].events)&&(z[r].events=[])}k(W)}function g(e){return t.isFunction(e)?t.grep(W,e):e?(e+="",t.grep(W,function(t){return t._id==e})):W}function p(){N++||x("loading",null,!0)}function y(){--N||x("loading",null,!1)}function b(t){var r=t.source||{},a=K(r.ignoreTimezone,n.ignoreTimezone);t._id=t._id||(t.id===e?"_fc"+Ce++:t.id+""),t.date&&(t.start||(t.start=t.date),delete t.date),t._start=d(t.start=m(t.start,a)),t.end=m(t.end,a),t.end&&t.end<=t.start&&(t.end=null),t._end=t.end?d(t.end):null,t.allDay===e&&(t.allDay=K(r.allDayDefault,n.allDayDefault)),t.className?"string"==typeof t.className&&(t.className=t.className.split(/\s+/)):t.className=[]}function w(t){t.className?"string"==typeof t.className&&(t.className=t.className.split(/\s+/)):t.className=[];for(var e=we.sourceNormalizers,n=0;e.length>n;n++)e[n](t)}function D(t,e){return t&&e&&M(t)==M(e)}function M(t){return("object"==typeof t?t.events||t.url:"")||t}var C=this;C.isFetchNeeded=a,C.fetchEvents=o,C.addEventSource=c,C.removeEventSource=u,C.updateEvent=f,C.renderEvent=v,C.removeEvents=h,C.clientEvents=g,C.normalizeEvent=b;for(var S,E,x=C.trigger,T=C.getView,k=C.reportEvents,H={events:[]},z=[H],F=0,R=0,N=0,W=[],A=0;r.length>A;A++)l(r[A])}function i(t,e,n){return t.setFullYear(t.getFullYear()+e),n||f(t),t}function s(t,e,n){if(+t){var r=t.getMonth()+e,a=d(t);for(a.setDate(1),a.setMonth(r),t.setMonth(r),n||f(t);t.getMonth()!=a.getMonth();)t.setDate(t.getDate()+(a>t?1:-1))}return t}function c(t,e,n){if(+t){var r=t.getDate()+e,a=d(t);a.setHours(9),a.setDate(r),t.setDate(r),n||f(t),l(t,a)}return t}function l(t,e){if(+t)for(;t.getDate()!=e.getDate();)t.setTime(+t+(e>t?1:-1)*xe)}function u(t,e){return t.setMinutes(t.getMinutes()+e),t}function f(t){return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),t}function d(t,e){return e?f(new Date(+t)):new Date(+t)}function v(){var t,e=0;do t=new Date(1970,e++,1);while(t.getHours());return t}function h(t,e,n){for(e=e||1;!t.getDay()||n&&1==t.getDay()||!n&&6==t.getDay();)c(t,e);return t}function g(t,e){return Math.round((d(t,!0)-d(e,!0))/Ee)}function p(t,n,r,a){n!==e&&n!=t.getFullYear()&&(t.setDate(1),t.setMonth(0),t.setFullYear(n)),r!==e&&r!=t.getMonth()&&(t.setDate(1),t.setMonth(r)),a!==e&&t.setDate(a)}function m(t,n){return"object"==typeof t?t:"number"==typeof t?new Date(1e3*t):"string"==typeof t?t.match(/^\d+(\.\d+)?$/)?new Date(1e3*parseFloat(t)):(n===e&&(n=!0),y(t,n)||(t?new Date(t):null)):null}function y(t,e){var n=t.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/);if(!n)return null;var r=new Date(n[1],0,1);if(e||!n[13]){var a=new Date(n[1],0,1,9,0);n[3]&&(r.setMonth(n[3]-1),a.setMonth(n[3]-1)),n[5]&&(r.setDate(n[5]),a.setDate(n[5])),l(r,a),n[7]&&r.setHours(n[7]),n[8]&&r.setMinutes(n[8]),n[10]&&r.setSeconds(n[10]),n[12]&&r.setMilliseconds(1e3*Number("0."+n[12])),l(r,a)}else if(r.setUTCFullYear(n[1],n[3]?n[3]-1:0,n[5]||1),r.setUTCHours(n[7]||0,n[8]||0,n[10]||0,n[12]?1e3*Number("0."+n[12]):0),n[14]){var o=60*Number(n[16])+(n[18]?Number(n[18]):0);o*="-"==n[15]?1:-1,r=new Date(+r+1e3*60*o)}return r}function b(t){if("number"==typeof t)return 60*t;if("object"==typeof t)return 60*t.getHours()+t.getMinutes();var e=t.match(/(\d+)(?::(\d+))?\s*(\w+)?/);if(e){var n=parseInt(e[1],10);return e[3]&&(n%=12,"p"==e[3].toLowerCase().charAt(0)&&(n+=12)),60*n+(e[2]?parseInt(e[2],10):0)}}function w(t,e,n){return D(t,null,e,n)}function D(t,e,n,r){r=r||ye;var a,o,i,s,c=t,l=e,u=n.length,f="";for(a=0;u>a;a++)if(o=n.charAt(a),"'"==o){for(i=a+1;u>i;i++)if("'"==n.charAt(i)){c&&(f+=i==a+1?"'":n.substring(a+1,i),a=i);break}}else if("("==o){for(i=a+1;u>i;i++)if(")"==n.charAt(i)){var d=w(c,n.substring(a+1,i),r);parseInt(d.replace(/\D/,""),10)&&(f+=d),a=i;break}}else if("["==o){for(i=a+1;u>i;i++)if("]"==n.charAt(i)){var v=n.substring(a+1,i),d=w(c,v,r);d!=w(l,v,r)&&(f+=d),a=i;break}}else if("{"==o)c=e,l=t;else if("}"==o)c=t,l=e;else{for(i=u;i>a;i--)if(s=ke[n.substring(a,i)]){c&&(f+=s(c,r)),a=i-1;break}i==a&&c&&(f+=o)}return f}function M(t){var e,n=new Date(t.getTime());return n.setDate(n.getDate()+4-(n.getDay()||7)),e=n.getTime(),n.setMonth(0),n.setDate(1),Math.floor(Math.round((e-n)/864e5)/7)+1}function C(t){return t.end?S(t.end,t.allDay):c(d(t.start),1)}function S(t,e){return t=d(t),e||t.getHours()||t.getMinutes()?c(t,1):f(t)}function E(t,e){return 100*(e.msLength-t.msLength)+(t.event.start-e.event.start)}function x(t,e){return t.end>e.start&&t.start<e.end}function T(t,e,n,r){var a,o,i,s,c,l,u,f,v=[],h=t.length;for(a=0;h>a;a++)o=t[a],i=o.start,s=e[a],s>n&&r>i&&(n>i?(c=d(n),u=!1):(c=i,u=!0),s>r?(l=d(r),f=!1):(l=s,f=!0),v.push({event:o,start:c,end:l,isStart:u,isEnd:f,msLength:l-c}));return v.sort(E)}function k(t){var e,n,r,a,o,i=[],s=t.length;for(e=0;s>e;e++){for(n=t[e],r=0;;){if(a=!1,i[r])for(o=0;i[r].length>o;o++)if(x(i[r][o],n)){a=!0;break}if(!a)break;r++}i[r]?i[r].push(n):i[r]=[n]}return i}function H(n,r,a){n.unbind("mouseover").mouseover(function(n){for(var o,i,s,c=n.target;c!=this;)o=c,c=c.parentNode;(i=o._fci)!==e&&(o._fci=e,s=r[i],a(s.event,s.element,s),t(n.target).trigger(n)),n.stopPropagation()})}function z(e,n,r){for(var a,o=0;e.length>o;o++)a=t(e[o]),a.width(Math.max(0,n-R(a,r)))}function F(e,n,r){for(var a,o=0;e.length>o;o++)a=t(e[o]),a.height(Math.max(0,n-L(a,r)))}function R(t,e){return N(t)+A(t)+(e?W(t):0)}function N(e){return(parseFloat(t.css(e[0],"paddingLeft",!0))||0)+(parseFloat(t.css(e[0],"paddingRight",!0))||0)}function W(e){return(parseFloat(t.css(e[0],"marginLeft",!0))||0)+(parseFloat(t.css(e[0],"marginRight",!0))||0)}function A(e){return(parseFloat(t.css(e[0],"borderLeftWidth",!0))||0)+(parseFloat(t.css(e[0],"borderRightWidth",!0))||0)}function L(t,e){return _(t)+B(t)+(e?O(t):0)}function _(e){return(parseFloat(t.css(e[0],"paddingTop",!0))||0)+(parseFloat(t.css(e[0],"paddingBottom",!0))||0)}function O(e){return(parseFloat(t.css(e[0],"marginTop",!0))||0)+(parseFloat(t.css(e[0],"marginBottom",!0))||0)}function B(e){return(parseFloat(t.css(e[0],"borderTopWidth",!0))||0)+(parseFloat(t.css(e[0],"borderBottomWidth",!0))||0)}function q(t,e){e="number"==typeof e?e+"px":e,t.each(function(t,n){n.style.cssText+=";min-height:"+e+";_height:"+e})}function I(){}function Y(t,e){return t-e}function j(t){return Math.max.apply(Math,t)}function P(t){return(10>t?"0":"")+t}function J(t,n){if(t[n]!==e)return t[n];for(var r,a=n.split(/(?=[A-Z])/),o=a.length-1;o>=0;o--)if(r=t[a[o].toLowerCase()],r!==e)return r;return t[""]}function V(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function X(t){return t.id+"/"+t.className+"/"+t.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/gi,"")}function U(t){t.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return!1})}function Z(t){t.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")}function $(t,e){t.each(function(t,n){n.className=n.className.replace(/^fc-\w*/,"fc-"+Se[e.getDay()])})}function Q(t,e){var n=t.source||{},r=t.color,a=n.color,o=e("eventColor"),i=t.backgroundColor||r||n.backgroundColor||a||e("eventBackgroundColor")||o,s=t.borderColor||r||n.borderColor||a||e("eventBorderColor")||o,c=t.textColor||n.textColor||e("eventTextColor"),l=[];return i&&l.push("background-color:"+i),s&&l.push("border-color:"+s),c&&l.push("color:"+c),l.join(";")}function G(e,n,r){if(t.isFunction(e)&&(e=[e]),e){var a,o;for(a=0;e.length>a;a++)o=e[a].apply(n,r)||o;return o}}function K(){for(var t=0;arguments.length>t;t++)if(arguments[t]!==e)return arguments[t]}function te(t,e){function n(t,e){e&&(s(t,e),t.setDate(1));var n=d(t,!0);n.setDate(1);var l=s(d(n),1),u=d(n),f=d(l),v=a("firstDay"),g=a("weekends")?0:1;g&&(h(u),h(f,-1,!0)),c(u,-((u.getDay()-Math.max(v,g)+7)%7)),c(f,(7-f.getDay()+Math.max(v,g))%7);var p=Math.round((f-u)/(7*Ee));"fixed"==a("weekMode")&&(c(f,7*(6-p)),p=6),r.title=i(n,a("titleFormat")),r.start=n,r.end=l,r.visStart=u,r.visEnd=f,o(p,g?5:7,!0)}var r=this;r.render=n,re.call(r,t,e,"month");var a=r.opt,o=r.renderBasic,i=e.formatDate}function ee(t,e){function n(t,e){e&&c(t,7*e);var n=c(d(t),-((t.getDay()-a("firstDay")+7)%7)),s=c(d(n),7),l=d(n),u=d(s),f=a("weekends");f||(h(l),h(u,-1,!0)),r.title=i(l,c(d(u),-1),a("titleFormat")),r.start=n,r.end=s,r.visStart=l,r.visEnd=u,o(1,f?7:5,!1)}var r=this;r.render=n,re.call(r,t,e,"basicWeek");var a=r.opt,o=r.renderBasic,i=e.formatDates}function ne(t,e){function n(t,e){e&&(c(t,e),a("weekends")||h(t,0>e?-1:1)),r.title=i(t,a("titleFormat")),r.start=r.visStart=d(t,!0),r.end=r.visEnd=c(d(r.start),1),o(1,1,!1)}var r=this;r.render=n,re.call(r,t,e,"basicDay");var a=r.opt,o=r.renderBasic,i=e.formatDate}function re(e,n,r){function a(t,e,n){ne=t,re=e,o();var r=!P;r?i():Te(),s(n)}function o(){ce=Ee("isRTL"),ce?(le=-1,fe=re-1):(le=1,fe=0),pe=Ee("firstDay"),ye=Ee("weekends")?0:1,be=Ee("theme")?"ui":"fc",we=Ee("columnFormat"),De=Ee("weekNumbers"),Me=Ee("weekNumberTitle"),Ce="iso"!=Ee("weekNumberCalculation")?"w":"W"}function i(){Q=t("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(e)}function s(n){var r,a,o,i,s="",c=be+"-widget-header",l=be+"-widget-content",u=B.start.getMonth(),d=f(new Date);for(s+="<table class='fc-border-separate' style='width:100%' cellspacing='0'><thead><tr>",De&&(s+="<th class='fc-week-number "+c+"'/>"),r=0;re>r;r++)s+="<th class='fc-day-header fc-"+Se[r]+" "+c+"'/>";for(s+="</tr></thead><tbody>",r=0;ne>r;r++){for(s+="<tr class='fc-week'>",De&&(s+="<td class='fc-week-number "+l+"'>"+"<div/>"+"</td>"),a=0;re>a;a++)o=F(r,a),i=["fc-day","fc-"+Se[o.getDay()],l],o.getMonth()!=u&&i.push("fc-other-month"),+o==+d&&(i.push("fc-today"),i.push(be+"-state-highlight")),s+="<td class='"+i.join(" ")+"'"+" data-date='"+Fe(o,"yyyy-MM-dd")+"'"+">"+"<div>",n&&(s+="<div class='fc-day-number'>"+o.getDate()+"</div>"),s+="<div class='fc-day-content'><div style='position:relative'>&nbsp;</div></div></div></td>";s+="</tr>"}s+="</tbody></table>",_(),I&&I.remove(),I=t(s).appendTo(e),Y=I.find("thead"),j=Y.find(".fc-day-header"),P=I.find("tbody"),J=P.find("tr"),V=P.find(".fc-day"),X=J.find("td:first-child"),$=J.eq(0).find(".fc-day-content > div"),Z(Y.add(Y.find("tr"))),Z(J),J.eq(0).addClass("fc-first"),J.filter(":last").addClass("fc-last"),De&&Y.find(".fc-week-number").text(Me),j.each(function(e,n){var r=R(e);t(n).text(Fe(r,we))}),De&&P.find(".fc-week-number > div").each(function(e,n){var r=F(e,0);t(n).text(Fe(r,Ce))}),V.each(function(e,n){var r=R(e);xe("dayRender",B,r,t(n))}),v(V)}function l(e){K=e;var n,r,a,o=K-Y.height();"variable"==Ee("weekMode")?n=r=Math.floor(o/(1==ne?2:6)):(n=Math.floor(o/ne),r=o-n*(ne-1)),X.each(function(e,o){ne>e&&(a=t(o),q(a.find("> div"),(e==ne-1?r:n)-L(a)))}),O()}function u(t){G=t,se.clear(),ee=0,De&&(ee=Y.find("th.fc-week-number").outerWidth()),te=Math.floor((G-ee)/re),z(j.slice(0,-1),te)}function v(t){t.click(h).mousedown(ze)}function h(e){if(!Ee("selectable")){var n=y(t(this).data("date"));xe("dayClick",this,n,!0,e)}}function p(t,e,n){n&&oe.build();for(var r=d(B.visStart),a=c(d(r),re),o=0;ne>o;o++){var i=new Date(Math.max(r,t)),s=new Date(Math.min(a,e));if(s>i){var l,u;ce?(l=g(s,r)*le+fe+1,u=g(i,r)*le+fe+1):(l=g(i,r),u=g(s,r)),v(m(o,l,o,u-1))}c(r,7),c(a,7)}}function m(t,n,r,a){var o=oe.rect(t,n,r,a,e);return ke(o,e)}function b(t){return d(t)}function w(t,e){p(t,c(d(e),1),!0)}function D(){He()}function M(t,e,n){var r=k(t),a=V[r.row*re+r.col];xe("dayClick",a,t,e,n)}function C(t,e){ie.start(function(t){He(),t&&m(t.row,t.col,t.row,t.col)},e)}function S(t,e,n){var r=ie.stop();if(He(),r){var a=H(r);xe("drop",t,a,!0,e,n)}}function E(t){return d(t.start)}function x(t){return se.left(t)}function T(t){return se.right(t)}function k(t){return{row:Math.floor(g(t,B.visStart)/7),col:N(t.getDay())}}function H(t){return F(t.row,t.col)}function F(t,e){return c(d(B.visStart),7*t+e*le+fe)}function R(t){return F(Math.floor(t/re),t%re)}function N(t){return(t-Math.max(pe,ye)+re)%re*le+fe}function W(t){return J.eq(t)}function A(){var t=0;return De&&(t+=ee),{left:t,right:G}}function _(){q(e,e.height())}function O(){q(e,1)}var B=this;B.renderBasic=a,B.setHeight=l,B.setWidth=u,B.renderDayOverlay=p,B.defaultSelectionEnd=b,B.renderSelection=w,B.clearSelection=D,B.reportDayClick=M,B.dragStart=C,B.dragStop=S,B.defaultEventEnd=E,B.getHoverListener=function(){return ie},B.colContentLeft=x,B.colContentRight=T,B.dayOfWeekCol=N,B.dateCell=k,B.cellDate=H,B.cellIsAllDay=function(){return!0},B.allDayRow=W,B.allDayBounds=A,B.getRowCnt=function(){return ne},B.getColCnt=function(){return re},B.getColWidth=function(){return te},B.getDaySegmentContainer=function(){return Q},ue.call(B,e,n,r),ve.call(B),de.call(B),ae.call(B);var I,Y,j,P,J,V,X,$,Q,G,K,te,ee,ne,re,oe,ie,se,ce,le,fe,pe,ye,be,we,De,Me,Ce,Ee=B.opt,xe=B.trigger,Te=B.clearEvents,ke=B.renderOverlay,He=B.clearOverlays,ze=B.daySelectionMousedown,Fe=n.formatDate;U(e.addClass("fc-grid")),oe=new he(function(e,n){var r,a,o;j.each(function(e,i){r=t(i),a=r.offset().left,e&&(o[1]=a),o=[a],n[e]=o}),o[1]=a+r.outerWidth(),J.each(function(n,i){ne>n&&(r=t(i),a=r.offset().top,n&&(o[1]=a),o=[a],e[n]=o)}),o[1]=a+r.outerHeight()}),ie=new ge(oe),se=new me(function(t){return $.eq(t)})}function ae(){function e(t,e){v(t),x(r(t),e),l("eventAfterAllRender")}function n(){h(),b().empty()}function r(e){var n,r,a,o,s,l,u=S(),f=E(),v=d(i.visStart),h=c(d(v),f),g=t.map(e,C),p=[];for(n=0;u>n;n++){for(r=k(T(e,g,v,h)),a=0;r.length>a;a++)for(o=r[a],s=0;o.length>s;s++)l=o[s],l.row=n,l.level=a,p.push(l);c(v,7),c(h,7)}return p}function a(t,e,n){u(t)&&o(t,e),n.isEnd&&f(t)&&H(t,e,n),g(t,e)}function o(t,e){var n,r=w();e.draggable({zIndex:9,delay:50,opacity:s("dragOpacity"),revertDuration:s("dragRevertDuration"),start:function(a,o){l("eventDragStart",e,t,a,o),m(t,e),r.start(function(r,a,o,i){e.draggable("option","revert",!r||!o&&!i),M(),r?(n=7*o+i*(s("isRTL")?-1:1),D(c(d(t.start),n),c(C(t),n))):n=0},a,"drag")},stop:function(a,o){r.stop(),M(),l("eventDragStop",e,t,a,o),n?y(this,t,n,0,t.allDay,a,o):(e.css("filter",""),p(t,e))}})}var i=this;i.renderEvents=e,i.compileDaySegs=r,i.clearEvents=n,i.bindDaySeg=a,fe.call(i);var s=i.opt,l=i.trigger,u=i.isEventDraggable,f=i.isEventResizable,v=i.reportEvents,h=i.reportEventClear,g=i.eventElementHandlers,p=i.showEvents,m=i.hideEvents,y=i.eventDrop,b=i.getDaySegmentContainer,w=i.getHoverListener,D=i.renderDayOverlay,M=i.clearOverlays,S=i.getRowCnt,E=i.getColCnt,x=i.renderDaySegs,H=i.resizableDayEvent}function oe(t,e){function n(t,e){e&&c(t,7*e);var n=c(d(t),-((t.getDay()-a("firstDay")+7)%7)),s=c(d(n),7),l=d(n),u=d(s),f=a("weekends");f||(h(l),h(u,-1,!0)),r.title=i(l,c(d(u),-1),a("titleFormat")),r.start=n,r.end=s,r.visStart=l,r.visEnd=u,o(f?7:5)}var r=this;r.render=n,se.call(r,t,e,"agendaWeek");var a=r.opt,o=r.renderAgenda,i=e.formatDates}function ie(t,e){function n(t,e){e&&(c(t,e),a("weekends")||h(t,0>e?-1:1));var n=d(t,!0),s=c(d(n),1);r.title=i(t,a("titleFormat")),r.start=r.visStart=n,r.end=r.visEnd=s,o(1)}var r=this;r.render=n,se.call(r,t,e,"agendaDay");var a=r.opt,o=r.renderAgenda,i=e.formatDate}function se(n,r,a){function o(t){Le=t,i(),te?nn():s(),l()}function i(){Ye=tn("theme")?"ui":"fc",Pe=tn("weekends")?0:1,je=tn("firstDay"),(Je=tn("isRTL"))?(Ve=-1,Xe=Le-1):(Ve=1,Xe=0),Ue=b(tn("minTime")),Ze=b(tn("maxTime")),$e=tn("columnFormat"),Qe=tn("weekNumbers"),Ge=tn("weekNumberTitle"),Ke="iso"!=tn("weekNumberCalculation")?"w":"W",Ne=tn("snapMinutes")||tn("slotMinutes")}function s(){var e,r,a,o,i,s=Ye+"-widget-header",c=Ye+"-widget-content",l=0==tn("slotMinutes")%15;for(e="<table style='width:100%' class='fc-agenda-days fc-border-separate' cellspacing='0'><thead><tr>",e+=Qe?"<th class='fc-agenda-axis fc-week-number "+s+"'/>":"<th class='fc-agenda-axis "+s+"'>&nbsp;</th>",r=0;Le>r;r++)e+="<th class='fc- fc-col"+r+" "+s+"'/>";for(e+="<th class='fc-agenda-gutter "+s+"'>&nbsp;</th>"+"</tr>"+"</thead>"+"<tbody>"+"<tr>"+"<th class='fc-agenda-axis "+s+"'>&nbsp;</th>",r=0;Le>r;r++)e+="<td class='fc- fc-col"+r+" "+c+"'>"+"<div>"+"<div class='fc-day-content'>"+"<div style='position:relative'>&nbsp;</div>"+"</div>"+"</div>"+"</td>";for(e+="<td class='fc-agenda-gutter "+c+"'>&nbsp;</td>"+"</tr>"+"</tbody>"+"</table>",te=t(e).appendTo(n),ee=te.find("thead"),ne=ee.find("th").slice(1,-1),re=te.find("tbody"),ae=re.find("td").slice(0,-1),oe=ae.find("div.fc-day-content div"),ie=ae.eq(0),se=ie.find("> div"),Z(ee.add(ee.find("tr"))),Z(re.add(re.find("tr"))),Se=ee.find("th:first"),Ee=te.find(".fc-agenda-gutter"),le=t("<div style='position:absolute;z-index:2;left:0;width:100%'/>").appendTo(n),tn("allDaySlot")?(fe=t("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(le),e="<table style='width:100%' class='fc-agenda-allday' cellspacing='0'><tr><th class='"+s+" fc-agenda-axis'>"+tn("allDayText")+"</th>"+"<td>"+"<div class='fc-day-content'><div style='position:relative'/></div>"+"</td>"+"<th class='"+s+" fc-agenda-gutter'>&nbsp;</th>"+"</tr>"+"</table>",pe=t(e).appendTo(le),ye=pe.find("tr"),D(ye.find("td")),Se=Se.add(pe.find("th:first")),Ee=Ee.add(pe.find("th.fc-agenda-gutter")),le.append("<div class='fc-agenda-divider "+s+"'>"+"<div class='fc-agenda-divider-inner'/>"+"</div>")):fe=t([]),be=t("<div style='position:absolute;width:100%;overflow-x:hidden;overflow-y:auto'/>").appendTo(le),we=t("<div style='position:relative;width:100%;overflow:hidden'/>").appendTo(be),De=t("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(we),e="<table class='fc-agenda-slots' style='width:100%' cellspacing='0'><tbody>",a=v(),o=u(d(a),Ze),u(a,Ue),_e=0,r=0;o>a;r++)i=a.getMinutes(),e+="<tr class='fc-slot"+r+" "+(i?"fc-minor":"")+"'>"+"<th class='fc-agenda-axis "+s+"'>"+(l&&i?"&nbsp;":un(a,tn("axisFormat")))+"</th>"+"<td class='"+c+"'>"+"<div style='position:relative'>&nbsp;</div>"+"</td>"+"</tr>",u(a,tn("slotMinutes")),_e++;e+="</tbody></table>",Me=t(e).appendTo(we),Ce=Me.find("div:first"),M(Me.find("td")),Se=Se.add(Me.find("th:first"))}function l(){var t,e,n,r,a=f(new Date);if(Qe){var o=un(N(0),Ke);Je?o+=Ge:o=Ge+o,ee.find(".fc-week-number").text(o)}for(t=0;Le>t;t++)r=N(t),e=ne.eq(t),e.html(un(r,$e)),n=ae.eq(t),+r==+a?n.addClass(Ye+"-state-highlight fc-today"):n.removeClass(Ye+"-state-highlight fc-today"),$(e.add(n),r)}function h(t,n){t===e&&(t=ke),ke=t,fn={};var r=re.position().top,a=be.position().top,o=Math.min(t-r,Me.height()+a+1);se.height(o-L(ie)),le.css("top",r),be.height(o-a-1),Re=Ce.height()+1,We=tn("slotMinutes")/Ne,Ae=Re/We,n&&m()}function p(e){Te=e,qe.clear(),He=0,z(Se.width("").each(function(e,n){He=Math.max(He,t(n).outerWidth())}),He);var n=be[0].clientWidth;Fe=be.width()-n,Fe?(z(Ee,Fe),Ee.show().prev().removeClass("fc-last")):Ee.hide().prev().addClass("fc-last"),ze=Math.floor((n-He)/Le),z(ne.slice(0,-1),ze)}function m(){function t(){be.scrollTop(r)}var e=v(),n=d(e);n.setHours(tn("firstHour"));var r=_(e,n)+1;t(),setTimeout(t,0)}function y(){Ie=be.scrollTop()}function w(){be.scrollTop(Ie)}function D(t){t.click(C).mousedown(cn)}function M(t){t.click(C).mousedown(V)}function C(t){if(!tn("selectable")){var e=Math.min(Le-1,Math.floor((t.pageX-te.offset().left-He)/ze)),n=N(e),r=this.parentNode.className.match(/fc-slot(\d+)/);if(r){var a=parseInt(r[1])*tn("slotMinutes"),o=Math.floor(a/60);n.setHours(o),n.setMinutes(a%60+Ue),en("dayClick",ae[e],n,!1,t)}else en("dayClick",ae[e],n,!0,t)}}function S(t,e,n){n&&Oe.build();var r,a,o=d(K.visStart);Je?(r=g(e,o)*Ve+Xe+1,a=g(t,o)*Ve+Xe+1):(r=g(t,o),a=g(e,o)),r=Math.max(0,r),a=Math.min(Le,a),a>r&&D(E(0,r,0,a-1))}function E(t,e,n,r){var a=Oe.rect(t,e,n,r,le);return rn(a,le)}function x(t,e){for(var n=d(K.visStart),r=c(d(n),1),a=0;Le>a;a++){var o=new Date(Math.max(n,t)),i=new Date(Math.min(r,e));if(i>o){var s=a*Ve+Xe,l=Oe.rect(0,s,0,s,we),u=_(n,o),f=_(n,i);l.top=u,l.height=f-u,M(rn(l,we))}c(n,1),c(r,1)}}function T(t){return qe.left(t)}function k(t){return qe.right(t)}function H(t){return{row:Math.floor(g(t,K.visStart)/7),col:A(t.getDay())}}function R(t){var e=N(t.col),n=t.row;return tn("allDaySlot")&&n--,n>=0&&u(e,Ue+n*Ne),e}function N(t){return c(d(K.visStart),t*Ve+Xe)}function W(t){return tn("allDaySlot")&&!t.row}function A(t){return(t-Math.max(je,Pe)+Le)%Le*Ve+Xe}function _(t,n){if(t=d(t,!0),u(d(t),Ue)>n)return 0;if(n>=u(d(t),Ze))return Me.height();var r=tn("slotMinutes"),a=60*n.getHours()+n.getMinutes()-Ue,o=Math.floor(a/r),i=fn[o];return i===e&&(i=fn[o]=Me.find("tr:eq("+o+") td div")[0].offsetTop),Math.max(0,Math.round(i-1+Re*(a%r/r)))}function O(){return{left:He,right:Te-Fe}}function B(){return ye}function q(t){var e=d(t.start);return t.allDay?e:u(e,tn("defaultEventMinutes"))}function I(t,e){return e?d(t):u(d(t),tn("slotMinutes"))}function j(t,e,n){n?tn("allDaySlot")&&S(t,c(d(e),1),!0):P(t,e)}function P(e,n){var r=tn("selectHelper");if(Oe.build(),r){var a=g(e,K.visStart)*Ve+Xe;if(a>=0&&Le>a){var o=Oe.rect(0,a,0,a,we),i=_(e,e),s=_(e,n);if(s>i){if(o.top=i,o.height=s-i,o.left+=2,o.width-=5,t.isFunction(r)){var c=r(e,n);c&&(o.position="absolute",o.zIndex=8,xe=t(c).css(o).appendTo(we))}else o.isStart=!0,o.isEnd=!0,xe=t(ln({title:"",start:e,end:n,className:["fc-select-helper"],editable:!1},o)),xe.css("opacity",tn("dragOpacity"));xe&&(M(xe),we.append(xe),z(xe,o.width,!0),F(xe,o.height,!0))}}}else x(e,n)}function J(){an(),xe&&(xe.remove(),xe=null)}function V(e){if(1==e.which&&tn("selectable")){sn(e);var n;Be.start(function(t,e){if(J(),t&&t.col==e.col&&!W(t)){var r=R(e),a=R(t);n=[r,u(d(r),Ne),a,u(d(a),Ne)].sort(Y),P(n[0],n[3])}else n=null},e),t(document).one("mouseup",function(t){Be.stop(),n&&(+n[0]==+n[1]&&X(n[0],!1,t),on(n[0],n[3],!1,t))})}}function X(t,e,n){en("dayClick",ae[A(t.getDay())],t,e,n)}function Q(t,e){Be.start(function(t){if(an(),t)if(W(t))E(t.row,t.col,t.row,t.col);else{var e=R(t),n=u(d(e),tn("defaultEventMinutes"));x(e,n)}},e)}function G(t,e,n){var r=Be.stop();an(),r&&en("drop",t,R(r),W(r),e,n)}var K=this;K.renderAgenda=o,K.setWidth=p,K.setHeight=h,K.beforeHide=y,K.afterShow=w,K.defaultEventEnd=q,K.timePosition=_,K.dayOfWeekCol=A,K.dateCell=H,K.cellDate=R,K.cellIsAllDay=W,K.allDayRow=B,K.allDayBounds=O,K.getHoverListener=function(){return Be},K.colContentLeft=T,K.colContentRight=k,K.getDaySegmentContainer=function(){return fe},K.getSlotSegmentContainer=function(){return De},K.getMinMinute=function(){return Ue},K.getMaxMinute=function(){return Ze},K.getBodyContent=function(){return we},K.getRowCnt=function(){return 1},K.getColCnt=function(){return Le},K.getColWidth=function(){return ze},K.getSnapHeight=function(){return Ae},K.getSnapMinutes=function(){return Ne},K.defaultSelectionEnd=I,K.renderDayOverlay=S,K.renderSelection=j,K.clearSelection=J,K.reportDayClick=X,K.dragStart=Q,K.dragStop=G,ue.call(K,n,r,a),ve.call(K),de.call(K),ce.call(K);var te,ee,ne,re,ae,oe,ie,se,le,fe,pe,ye,be,we,De,Me,Ce,Se,Ee,xe,Te,ke,He,ze,Fe,Re,Ne,We,Ae,Le,_e,Oe,Be,qe,Ie,Ye,je,Pe,Je,Ve,Xe,Ue,Ze,$e,Qe,Ge,Ke,tn=K.opt,en=K.trigger,nn=K.clearEvents,rn=K.renderOverlay,an=K.clearOverlays,on=K.reportSelection,sn=K.unselect,cn=K.daySelectionMousedown,ln=K.slotSegHtml,un=r.formatDate,fn={};U(n.addClass("fc-agenda")),Oe=new he(function(e,n){function r(t){return Math.max(c,Math.min(l,t))}var a,o,i;ne.each(function(e,r){a=t(r),o=a.offset().left,e&&(i[1]=o),i=[o],n[e]=i}),i[1]=o+a.outerWidth(),tn("allDaySlot")&&(a=ye,o=a.offset().top,e[0]=[o,o+a.outerHeight()]);for(var s=we.offset().top,c=be.offset().top,l=c+be.outerHeight(),u=0;_e*We>u;u++)e.push([r(s+Ae*u),r(s+Ae*(u+1))])}),Be=new ge(Oe),qe=new me(function(t){return oe.eq(t)})}function ce(){function n(t,e){S(t);var n,r=t.length,i=[],c=[];for(n=0;r>n;n++)t[n].allDay?i.push(t[n]):c.push(t[n]);y("allDaySlot")&&(Y(a(i),e),z()),s(o(c),e),b("eventAfterAllRender")}function r(){E(),N().empty(),W().empty()}function a(e){var n,r,a,o,i=k(T(e,t.map(e,C),m.visStart,m.visEnd)),s=i.length,c=[];for(n=0;s>n;n++)for(r=i[n],a=0;r.length>a;a++)o=r[a],o.row=0,o.level=n,c.push(o);return c}function o(e){var n,r,a,o,s,l,f=P(),v=O(),h=_(),g=u(d(m.visStart),v),p=t.map(e,i),y=[];for(n=0;f>n;n++){for(r=k(T(e,p,g,u(d(g),h-v))),le(r),a=0;r.length>a;a++)for(o=r[a],s=0;o.length>s;s++)l=o[s],l.col=n,l.level=a,y.push(l);c(g,1,!0)}return y}function i(t){return t.end?d(t.end):u(d(t.start),y("defaultEventMinutes"))}function s(n,r){var a,o,i,s,c,u,f,d,h,g,p,m,w,D,M,C,S,E,x,T,k,z,F=n.length,N="",A={},_={},O=W(),Y=P();for((T=y("isRTL"))?(k=-1,z=Y-1):(k=1,z=0),a=0;F>a;a++)o=n[a],i=o.event,s=B(o.start,o.start),c=B(o.start,o.end),u=o.col,f=o.level,d=o.forward||0,h=q(u*k+z),g=I(u*k+z)-h,g=Math.min(g-6,.95*g),p=f?g/(f+d+1):d?2*(g/(d+1)-6):g,m=h+g/(f+d+1)*f*k+(T?g-p:0),o.top=s,o.left=m,o.outerWidth=p,o.outerHeight=c-s,N+=l(i,o);
+for(O[0].innerHTML=N,w=O.children(),a=0;F>a;a++)o=n[a],i=o.event,D=t(w[a]),M=b("eventRender",i,i,D),M===!1?D.remove():(M&&M!==!0&&(D.remove(),D=t(M).css({position:"absolute",top:o.top,left:o.left}).appendTo(O)),o.element=D,i._id===r?v(i,D,o):D[0]._fci=a,G(i,D));for(H(O,n,v),a=0;F>a;a++)o=n[a],(D=o.element)&&(S=A[C=o.key=X(D[0])],o.vsides=S===e?A[C]=L(D,!0):S,S=_[C],o.hsides=S===e?_[C]=R(D,!0):S,E=D.find(".fc-event-title"),E.length&&(o.contentTop=E[0].offsetTop));for(a=0;F>a;a++)o=n[a],(D=o.element)&&(D[0].style.width=Math.max(0,o.outerWidth-o.hsides)+"px",x=Math.max(0,o.outerHeight-o.vsides),D[0].style.height=x+"px",i=o.event,o.contentTop!==e&&10>x-o.contentTop&&(D.find("div.fc-event-time").text(ie(i.start,y("timeFormat"))+" - "+i.title),D.find("div.fc-event-title").remove()),b("eventAfterRender",i,i,D))}function l(t,e){var n="<",r=t.url,a=Q(t,y),o=["fc-event","fc-event-vert"];return w(t)&&o.push("fc-event-draggable"),e.isStart&&o.push("fc-event-start"),e.isEnd&&o.push("fc-event-end"),o=o.concat(t.className),t.source&&(o=o.concat(t.source.className||[])),n+=r?"a href='"+V(t.url)+"'":"div",n+=" class='"+o.join(" ")+"'"+" style='position:absolute;z-index:8;top:"+e.top+"px;left:"+e.left+"px;"+a+"'"+">"+"<div class='fc-event-inner'>"+"<div class='fc-event-time'>"+V(se(t.start,t.end,y("timeFormat")))+"</div>"+"<div class='fc-event-title'>"+V(t.title)+"</div>"+"</div>"+"<div class='fc-event-bg'></div>",e.isEnd&&D(t)&&(n+="<div class='ui-resizable-handle ui-resizable-s'>=</div>"),n+="</"+(r?"a":"div")+">"}function f(t,e,n){w(t)&&h(t,e,n.isStart),n.isEnd&&D(t)&&j(t,e,n),x(t,e)}function v(t,e,n){var r=e.find("div.fc-event-time");w(t)&&g(t,e,r),n.isEnd&&D(t)&&p(t,e,r),x(t,e)}function h(t,e,n){function r(){s||(e.width(a).height("").draggable("option","grid",null),s=!0)}var a,o,i,s=!0,l=y("isRTL")?-1:1,u=A(),f=J(),v=U(),h=Z(),g=O();e.draggable({zIndex:9,opacity:y("dragOpacity","month"),revertDuration:y("dragRevertDuration"),start:function(g,p){b("eventDragStart",e,t,g,p),te(t,e),a=e.width(),u.start(function(a,u,g,p){ae(),a?(o=!1,i=p*l,a.row?n?s&&(e.width(f-10),F(e,v*Math.round((t.end?(t.end-t.start)/Te:y("defaultEventMinutes"))/h)),e.draggable("option","grid",[f,1]),s=!1):o=!0:(re(c(d(t.start),i),c(C(t),i)),r()),o=o||s&&!i):(r(),o=!0),e.draggable("option","revert",o)},g,"drag")},stop:function(n,a){if(u.stop(),ae(),b("eventDragStop",e,t,n,a),o)r(),e.css("filter",""),K(t,e);else{var c=0;s||(c=Math.round((e.offset().top-$().offset().top)/v)*h+g-(60*t.start.getHours()+t.start.getMinutes())),ee(this,t,i,c,s,n,a)}}})}function g(t,e,n){function r(e){var r,a=u(d(t.start),e);t.end&&(r=u(d(t.end),e)),n.text(se(a,r,y("timeFormat")))}function a(){f&&(n.css("display",""),e.draggable("option","grid",[p,m]),f=!1)}var o,i,s,l,f=!1,v=y("isRTL")?-1:1,h=A(),g=P(),p=J(),m=U(),w=Z();e.draggable({zIndex:9,scroll:!1,grid:[p,m],axis:1==g?"y":!1,opacity:y("dragOpacity"),revertDuration:y("dragRevertDuration"),start:function(r,u){b("eventDragStart",e,t,r,u),te(t,e),o=e.position(),s=l=0,h.start(function(r,o,s,l){e.draggable("option","revert",!r),ae(),r&&(i=l*v,y("allDaySlot")&&!r.row?(f||(f=!0,n.hide(),e.draggable("option","grid",null)),re(c(d(t.start),i),c(C(t),i))):a())},r,"drag")},drag:function(t,e){s=Math.round((e.position.top-o.top)/m)*w,s!=l&&(f||r(s),l=s)},stop:function(n,c){var l=h.stop();ae(),b("eventDragStop",e,t,n,c),l&&(i||s||f)?ee(this,t,i,f?0:s,f,n,c):(a(),e.css("filter",""),e.css(o),r(0),K(t,e))}})}function p(t,e,n){var r,a,o=U(),i=Z();e.resizable({handles:{s:".ui-resizable-handle"},grid:o,start:function(n,o){r=a=0,te(t,e),e.css("z-index",9),b("eventResizeStart",this,t,n,o)},resize:function(s,c){r=Math.round((Math.max(o,e.height())-c.originalSize.height)/o),r!=a&&(n.text(se(t.start,r||t.end?u(M(t),i*r):null,y("timeFormat"))),a=r)},stop:function(n,a){b("eventResizeStop",this,t,n,a),r?ne(this,t,0,i*r,n,a):(e.css("z-index",8),K(t,e))}})}var m=this;m.renderEvents=n,m.compileDaySegs=a,m.clearEvents=r,m.slotSegHtml=l,m.bindDaySeg=f,fe.call(m);var y=m.opt,b=m.trigger,w=m.isEventDraggable,D=m.isEventResizable,M=m.eventEnd,S=m.reportEvents,E=m.reportEventClear,x=m.eventElementHandlers,z=m.setHeight,N=m.getDaySegmentContainer,W=m.getSlotSegmentContainer,A=m.getHoverListener,_=m.getMaxMinute,O=m.getMinMinute,B=m.timePosition,q=m.colContentLeft,I=m.colContentRight,Y=m.renderDaySegs,j=m.resizableDayEvent,P=m.getColCnt,J=m.getColWidth,U=m.getSnapHeight,Z=m.getSnapMinutes,$=m.getBodyContent,G=m.reportEventElement,K=m.showEvents,te=m.hideEvents,ee=m.eventDrop,ne=m.eventResize,re=m.renderDayOverlay,ae=m.clearOverlays,oe=m.calendar,ie=oe.formatDate,se=oe.formatDates}function le(t){var e,n,r,a,o,i;for(e=t.length-1;e>0;e--)for(a=t[e],n=0;a.length>n;n++)for(o=a[n],r=0;t[e-1].length>r;r++)i=t[e-1][r],x(o,i)&&(i.forward=Math.max(i.forward||0,(o.forward||0)+1))}function ue(t,n,r){function a(t,e){var n=F[t];return"object"==typeof n?J(n,e||r):n}function o(t,e){return n.trigger.apply(n,[t,e||S].concat(Array.prototype.slice.call(arguments,2),[S]))}function i(t){return l(t)&&!a("disableDragging")}function s(t){return l(t)&&!a("disableResizing")}function l(t){return K(t.editable,(t.source||{}).editable,a("editable"))}function f(t){k={};var e,n,r=t.length;for(e=0;r>e;e++)n=t[e],k[n._id]?k[n._id].push(n):k[n._id]=[n]}function v(t){return t.end?d(t.end):E(t)}function h(t,e){H.push(e),z[t._id]?z[t._id].push(e):z[t._id]=[e]}function g(){H=[],z={}}function p(t,n){n.click(function(r){return n.hasClass("ui-draggable-dragging")||n.hasClass("ui-resizable-resizing")?e:o("eventClick",this,t,r)}).hover(function(e){o("eventMouseover",this,t,e)},function(e){o("eventMouseout",this,t,e)})}function m(t,e){b(t,e,"show")}function y(t,e){b(t,e,"hide")}function b(t,e,n){var r,a=z[t._id],o=a.length;for(r=0;o>r;r++)e&&a[r][0]==e[0]||a[r][n]()}function w(t,e,n,r,a,i,s){var c=e.allDay,l=e._id;M(k[l],n,r,a),o("eventDrop",t,e,n,r,a,function(){M(k[l],-n,-r,c),T(l)},i,s),T(l)}function D(t,e,n,r,a,i){var s=e._id;C(k[s],n,r),o("eventResize",t,e,n,r,function(){C(k[s],-n,-r),T(s)},a,i),T(s)}function M(t,n,r,a){r=r||0;for(var o,i=t.length,s=0;i>s;s++)o=t[s],a!==e&&(o.allDay=a),u(c(o.start,n,!0),r),o.end&&(o.end=u(c(o.end,n,!0),r)),x(o,F)}function C(t,e,n){n=n||0;for(var r,a=t.length,o=0;a>o;o++)r=t[o],r.end=u(c(v(r),e,!0),n),x(r,F)}var S=this;S.element=t,S.calendar=n,S.name=r,S.opt=a,S.trigger=o,S.isEventDraggable=i,S.isEventResizable=s,S.reportEvents=f,S.eventEnd=v,S.reportEventElement=h,S.reportEventClear=g,S.eventElementHandlers=p,S.showEvents=m,S.hideEvents=y,S.eventDrop=w,S.eventResize=D;var E=S.defaultEventEnd,x=n.normalizeEvent,T=n.reportEventChange,k={},H=[],z={},F=n.options}function fe(){function n(t,e){var n,r,c,d,p,m,y,b,w=B(),D=T(),M=k(),C=0,S=t.length;for(w[0].innerHTML=a(t),o(t,w.children()),i(t),s(t,w,e),l(t),u(t),f(t),n=v(),r=0;D>r;r++){for(c=0,d=[],p=0;M>p;p++)d[p]=0;for(;S>C&&(m=t[C]).row==r;){for(y=j(d.slice(m.startCol,m.endCol)),m.top=y,y+=m.outerHeight,b=m.startCol;m.endCol>b;b++)d[b]=y;C++}n[r].height(j(d))}g(t,h(n))}function r(e,n,r){var i,s,c,d=t("<div/>"),p=B(),m=e.length;for(d[0].innerHTML=a(e),i=d.children(),p.append(i),o(e,i),l(e),u(e),f(e),g(e,h(v())),i=[],s=0;m>s;s++)c=e[s].element,c&&(e[s].row===n&&c.css("top",r),i.push(c[0]));return t(i)}function a(t){var e,n,r,a,o,i,s,c,l,u,f=y("isRTL"),d=t.length,v=F(),h=v.left,g=v.right,p="";for(e=0;d>e;e++)n=t[e],r=n.event,o=["fc-event","fc-event-hori"],w(r)&&o.push("fc-event-draggable"),n.isStart&&o.push("fc-event-start"),n.isEnd&&o.push("fc-event-end"),f?(i=A(n.end.getDay()-1),s=A(n.start.getDay()),c=n.isEnd?N(i):h,l=n.isStart?W(s):g):(i=A(n.start.getDay()),s=A(n.end.getDay()-1),c=n.isStart?N(i):h,l=n.isEnd?W(s):g),o=o.concat(r.className),r.source&&(o=o.concat(r.source.className||[])),a=r.url,u=Q(r,y),p+=a?"<a href='"+V(a)+"'":"<div",p+=" class='"+o.join(" ")+"'"+" style='position:absolute;z-index:8;left:"+c+"px;"+u+"'"+">"+"<div class='fc-event-inner'>",!r.allDay&&n.isStart&&(p+="<span class='fc-event-time'>"+V(I(r.start,r.end,y("timeFormat")))+"</span>"),p+="<span class='fc-event-title'>"+V(r.title)+"</span>"+"</div>",n.isEnd&&D(r)&&(p+="<div class='ui-resizable-handle ui-resizable-"+(f?"w":"e")+"'>"+"&nbsp;&nbsp;&nbsp;"+"</div>"),p+="</"+(a?"a":"div")+">",n.left=c,n.outerWidth=l-c,n.startCol=i,n.endCol=s+1;return p}function o(e,n){var r,a,o,i,s,c=e.length;for(r=0;c>r;r++)a=e[r],o=a.event,i=t(n[r]),s=b("eventRender",o,o,i),s===!1?i.remove():(s&&s!==!0&&(s=t(s).css({position:"absolute",left:a.left}),i.replaceWith(s),i=s),a.element=i)}function i(t){var e,n,r,a=t.length;for(e=0;a>e;e++)n=t[e],r=n.element,r&&C(n.event,r)}function s(t,e,n){var r,a,o,i,s=t.length;for(r=0;s>r;r++)a=t[r],o=a.element,o&&(i=a.event,i._id===n?q(i,o,a):o[0]._fci=r);H(e,t,q)}function l(t){var n,r,a,o,i,s=t.length,c={};for(n=0;s>n;n++)r=t[n],a=r.element,a&&(o=r.key=X(a[0]),i=c[o],i===e&&(i=c[o]=R(a,!0)),r.hsides=i)}function u(t){var e,n,r,a=t.length;for(e=0;a>e;e++)n=t[e],r=n.element,r&&(r[0].style.width=Math.max(0,n.outerWidth-n.hsides)+"px")}function f(t){var n,r,a,o,i,s=t.length,c={};for(n=0;s>n;n++)r=t[n],a=r.element,a&&(o=r.key,i=c[o],i===e&&(i=c[o]=O(a)),r.outerHeight=a[0].offsetHeight+i)}function v(){var t,e=T(),n=[];for(t=0;e>t;t++)n[t]=z(t).find("div.fc-day-content > div");return n}function h(t){var e,n=t.length,r=[];for(e=0;n>e;e++)r[e]=t[e][0].offsetTop;return r}function g(t,e){var n,r,a,o,i=t.length;for(n=0;i>n;n++)r=t[n],a=r.element,a&&(a[0].style.top=e[r.row]+(r.top||0)+"px",o=r.event,b("eventAfterRender",o,o,a))}function p(e,n,a){var o=y("isRTL"),i=o?"w":"e",s=n.find(".ui-resizable-"+i),l=!1;U(n),n.mousedown(function(t){t.preventDefault()}).click(function(t){l&&(t.preventDefault(),t.stopImmediatePropagation())}),s.mousedown(function(s){function u(n){b("eventResizeStop",this,e,n),t("body").css("cursor",""),h.stop(),P(),f&&x(this,e,f,0,n),setTimeout(function(){l=!1},0)}if(1==s.which){l=!0;var f,v,h=m.getHoverListener(),g=T(),p=k(),y=o?-1:1,w=o?p-1:0,D=n.css("top"),C=t.extend({},e),H=L(e.start);J(),t("body").css("cursor",i+"-resize").one("mouseup",u),b("eventResizeStart",this,e,s),h.start(function(t,n){if(t){var s=Math.max(H.row,t.row),l=t.col;1==g&&(s=0),s==H.row&&(l=o?Math.min(H.col,l):Math.max(H.col,l)),f=7*s+l*y+w-(7*n.row+n.col*y+w);var u=c(M(e),f,!0);if(f){C.end=u;var h=v;v=r(_([C]),a.row,D),v.find("*").css("cursor",i+"-resize"),h&&h.remove(),E(e)}else v&&(S(e),v.remove(),v=null);P(),Y(e.start,c(d(u),1))}},s)}})}var m=this;m.renderDaySegs=n,m.resizableDayEvent=p;var y=m.opt,b=m.trigger,w=m.isEventDraggable,D=m.isEventResizable,M=m.eventEnd,C=m.reportEventElement,S=m.showEvents,E=m.hideEvents,x=m.eventResize,T=m.getRowCnt,k=m.getColCnt;m.getColWidth;var z=m.allDayRow,F=m.allDayBounds,N=m.colContentLeft,W=m.colContentRight,A=m.dayOfWeekCol,L=m.dateCell,_=m.compileDaySegs,B=m.getDaySegmentContainer,q=m.bindDaySeg,I=m.calendar.formatDates,Y=m.renderDayOverlay,P=m.clearOverlays,J=m.clearSelection}function de(){function e(t,e,a){n(),e||(e=c(t,a)),l(t,e,a),r(t,e,a)}function n(t){f&&(f=!1,u(),s("unselect",null,t))}function r(t,e,n,r){f=!0,s("select",null,t,e,n,r)}function a(e){var a=o.cellDate,s=o.cellIsAllDay,c=o.getHoverListener(),f=o.reportDayClick;if(1==e.which&&i("selectable")){n(e);var d;c.start(function(t,e){u(),t&&s(t)?(d=[a(e),a(t)].sort(Y),l(d[0],d[1],!0)):d=null},e),t(document).one("mouseup",function(t){c.stop(),d&&(+d[0]==+d[1]&&f(d[0],!0,t),r(d[0],d[1],!0,t))})}}var o=this;o.select=e,o.unselect=n,o.reportSelection=r,o.daySelectionMousedown=a;var i=o.opt,s=o.trigger,c=o.defaultSelectionEnd,l=o.renderSelection,u=o.clearSelection,f=!1;i("selectable")&&i("unselectAuto")&&t(document).mousedown(function(e){var r=i("unselectCancel");r&&t(e.target).parents(r).length||n(e)})}function ve(){function e(e,n){var r=o.shift();return r||(r=t("<div class='fc-cell-overlay' style='position:absolute;z-index:3'/>")),r[0].parentNode!=n[0]&&r.appendTo(n),a.push(r.css(e).show()),r}function n(){for(var t;t=a.shift();)o.push(t.hide().unbind())}var r=this;r.renderOverlay=e,r.clearOverlays=n;var a=[],o=[]}function he(t){var e,n,r=this;r.build=function(){e=[],n=[],t(e,n)},r.cell=function(t,r){var a,o=e.length,i=n.length,s=-1,c=-1;for(a=0;o>a;a++)if(r>=e[a][0]&&e[a][1]>r){s=a;break}for(a=0;i>a;a++)if(t>=n[a][0]&&n[a][1]>t){c=a;break}return s>=0&&c>=0?{row:s,col:c}:null},r.rect=function(t,r,a,o,i){var s=i.offset();return{top:e[t][0]-s.top,left:n[r][0]-s.left,width:n[o][1]-n[r][0],height:e[a][1]-e[t][0]}}}function ge(e){function n(t){pe(t);var n=e.cell(t.pageX,t.pageY);(!n!=!i||n&&(n.row!=i.row||n.col!=i.col))&&(n?(o||(o=n),a(n,o,n.row-o.row,n.col-o.col)):a(n,o),i=n)}var r,a,o,i,s=this;s.start=function(s,c,l){a=s,o=i=null,e.build(),n(c),r=l||"mousemove",t(document).bind(r,n)},s.stop=function(){return t(document).unbind(r,n),i}}function pe(t){t.pageX===e&&(t.pageX=t.originalEvent.pageX,t.pageY=t.originalEvent.pageY)}function me(t){function n(e){return a[e]=a[e]||t(e)}var r=this,a={},o={},i={};r.left=function(t){return o[t]=o[t]===e?n(t).position().left:o[t]},r.right=function(t){return i[t]=i[t]===e?r.left(t)+n(t).width():i[t]},r.clear=function(){a={},o={},i={}}}var ye={defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberCalculation:"iso",weekNumberTitle:"W",allDayDefault:!0,ignoreTimezone:!0,lazyFetching:!0,startParam:"start",endParam:"end",titleFormat:{month:"MMMM yyyy",week:"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",day:"dddd, MMM d, yyyy"},columnFormat:{month:"ddd",week:"ddd M/d",day:"dddd M/d"},timeFormat:{"":"h(:mm)t"},isRTL:!1,firstDay:0,monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],buttonText:{prev:"<span class='fc-text-arrow'>&lsaquo;</span>",next:"<span class='fc-text-arrow'>&rsaquo;</span>",prevYear:"<span class='fc-text-arrow'>&laquo;</span>",nextYear:"<span class='fc-text-arrow'>&raquo;</span>",today:"today",month:"month",week:"week",day:"day"},theme:!1,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"},unselectAuto:!0,dropAccept:"*"},be={header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:"<span class='fc-text-arrow'>&rsaquo;</span>",next:"<span class='fc-text-arrow'>&lsaquo;</span>",prevYear:"<span class='fc-text-arrow'>&raquo;</span>",nextYear:"<span class='fc-text-arrow'>&laquo;</span>"},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}},we=t.fullCalendar={version:"1.6.0"},De=we.views={};t.fn.fullCalendar=function(n){if("string"==typeof n){var a,o=Array.prototype.slice.call(arguments,1);return this.each(function(){var r=t.data(this,"fullCalendar");if(r&&t.isFunction(r[n])){var i=r[n].apply(r,o);a===e&&(a=i),"destroy"==n&&t.removeData(this,"fullCalendar")}}),a!==e?a:this}var i=n.eventSources||[];return delete n.eventSources,n.events&&(i.push(n.events),delete n.events),n=t.extend(!0,{},ye,n.isRTL||n.isRTL===e&&ye.isRTL?be:{},n),this.each(function(e,a){var o=t(a),s=new r(o,n,i);o.data("fullCalendar",s),s.render()}),this},we.sourceNormalizers=[],we.sourceFetchers=[];var Me={dataType:"json",cache:!1},Ce=1;we.addDays=c,we.cloneDate=d,we.parseDate=m,we.parseISO8601=y,we.parseTime=b,we.formatDate=w,we.formatDates=D;var Se=["sun","mon","tue","wed","thu","fri","sat"],Ee=864e5,xe=36e5,Te=6e4,ke={s:function(t){return t.getSeconds()},ss:function(t){return P(t.getSeconds())},m:function(t){return t.getMinutes()},mm:function(t){return P(t.getMinutes())},h:function(t){return t.getHours()%12||12},hh:function(t){return P(t.getHours()%12||12)},H:function(t){return t.getHours()},HH:function(t){return P(t.getHours())},d:function(t){return t.getDate()},dd:function(t){return P(t.getDate())},ddd:function(t,e){return e.dayNamesShort[t.getDay()]},dddd:function(t,e){return e.dayNames[t.getDay()]},M:function(t){return t.getMonth()+1},MM:function(t){return P(t.getMonth()+1)},MMM:function(t,e){return e.monthNamesShort[t.getMonth()]},MMMM:function(t,e){return e.monthNames[t.getMonth()]},yy:function(t){return(t.getFullYear()+"").substring(2)},yyyy:function(t){return t.getFullYear()},t:function(t){return 12>t.getHours()?"a":"p"},tt:function(t){return 12>t.getHours()?"am":"pm"},T:function(t){return 12>t.getHours()?"A":"P"},TT:function(t){return 12>t.getHours()?"AM":"PM"},u:function(t){return w(t,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(t){var e=t.getDate();return e>10&&20>e?"th":["st","nd","rd"][e%10-1]||"th"},w:function(t,e){return e.weekNumberCalculation(t)},W:function(t){return M(t)}};we.dateFormatters=ke,we.applyAll=G,De.month=te,De.basicWeek=ee,De.basicDay=ne,n({weekMode:"fixed"}),De.agendaWeek=oe,De.agendaDay=ie,n({allDaySlot:!0,allDayText:"all-day",firstHour:6,slotMinutes:30,defaultEventMinutes:120,axisFormat:"h(:mm)tt",timeFormat:{agenda:"h:mm{ - h:mm}"},dragOpacity:{agenda:.5},minTime:0,maxTime:24})})(jQuery); \ No newline at end of file
diff --git a/library/fullcalendar/fullcalendar.print.css b/library/fullcalendar/fullcalendar.print.css
index e11c18163..e92f900cd 100644
--- a/library/fullcalendar/fullcalendar.print.css
+++ b/library/fullcalendar/fullcalendar.print.css
@@ -1,54 +1,25 @@
+/*!
+ * FullCalendar v1.6.0 Print Stylesheet
+ * Docs & License: http://arshaw.com/fullcalendar/
+ * (c) 2013 Adam Shaw
+ */
+
/*
- * FullCalendar v1.5.3 Print Stylesheet
- *
* Include this stylesheet on your page to get a more printer-friendly calendar.
* When including this stylesheet, use the media='print' attribute of the <link> tag.
* Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css.
- *
- * Copyright (c) 2011 Adam Shaw
- * Dual licensed under the MIT and GPL licenses, located in
- * MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
- *
- * Date: Mon Feb 6 22:40:40 2012 -0800
- *
*/
/* Events
-----------------------------------------------------*/
-.fc-event-skin {
- background: none !important;
+.fc-event {
+ background: #fff !important;
color: #000 !important;
}
-/* horizontal events */
-
-.fc-event-hori {
- border-width: 0 0 1px 0 !important;
- border-bottom-style: dotted !important;
- border-bottom-color: #000 !important;
- padding: 1px 0 0 0 !important;
- }
-
-.fc-event-hori .fc-event-inner {
- border-width: 0 !important;
- padding: 0 1px !important;
- }
-
-/* vertical events */
-
-.fc-event-vert {
- border-width: 0 0 0 1px !important;
- border-left-style: dotted !important;
- border-left-color: #000 !important;
- padding: 0 1px 0 0 !important;
- }
-
-.fc-event-vert .fc-event-inner {
- border-width: 0 !important;
- padding: 1px 0 !important;
- }
+/* for vertical events */
.fc-event-bg {
display: none !important;
diff --git a/library/fullcalendar/gcal.js b/library/fullcalendar/gcal.js
index e9bbe26d8..64263fcf3 100644
--- a/library/fullcalendar/gcal.js
+++ b/library/fullcalendar/gcal.js
@@ -1,12 +1,7 @@
-/*
- * FullCalendar v1.5.3 Google Calendar Plugin
- *
- * Copyright (c) 2011 Adam Shaw
- * Dual licensed under the MIT and GPL licenses, located in
- * MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
- *
- * Date: Mon Feb 6 22:40:40 2012 -0800
- *
+/*!
+ * FullCalendar v1.6.0 Google Calendar Plugin
+ * Docs & License: http://arshaw.com/fullcalendar/
+ * (c) 2013 Adam Shaw
*/
(function($) {
diff --git a/library/fullcalendar/license.txt b/library/fullcalendar/license.txt
new file mode 100644
index 000000000..dd7b48e8b
--- /dev/null
+++ b/library/fullcalendar/license.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2013 Adam Shaw
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/library/jquery_ac/friendica.complete.js b/library/jquery_ac/friendica.complete.js
index c8a28c0a7..b73598575 100644
--- a/library/jquery_ac/friendica.complete.js
+++ b/library/jquery_ac/friendica.complete.js
@@ -242,7 +242,7 @@
} else if (!this.isBadQuery(q)) {
me = this;
me.options.params.query = q;
- $('#nav-search-spinner').show();
+ $('#nav-search-spinner').spin('tiny');
$.get(this.serviceUrl, me.options.params, function(txt) { me.processResponse(txt); }, 'text');
}
},
@@ -305,7 +305,7 @@
this.data = response.data;
this.suggest();
}
- $('#nav-search-spinner').hide();
+ $('#nav-search-spinner').spin(false);
},
activate: function(index) {
diff --git a/library/jslider/css/jslider.css b/library/jslider/css/jslider.css
index c982e1306..fe943dc0a 100644
--- a/library/jslider/css/jslider.css
+++ b/library/jslider/css/jslider.css
@@ -12,9 +12,9 @@
.jslider .jslider-bg { position: relative; }
.jslider .jslider-bg i { height: 5px; position: absolute; font-size: 0; top: 0; }
- .jslider .jslider-bg .l { width: 50%; background-position: 0 0; left: 0; }
- .jslider .jslider-bg .r { width: 50%; left: 50%; background-position: right 0; }
- .jslider .jslider-bg .v { position: absolute; width: 60%; left: 20%; top: 0; height: 5px; background-position: 0 -20px; }
+ .jslider .jslider-bg .l { width: 50%; background-position: 0 0; left: 0; background: #888; }
+ .jslider .jslider-bg .r { width: 50%; left: 50%; background-position: right 0; background: #888;}
+ .jslider .jslider-bg .v { position: absolute; background: url(../img/jslider.png) repeat-x 0 0; width: 60%; left: 20%; top: 0; height: 5px; background-position: 0 -20px; }
.jslider .jslider-pointer { width: 13px; height: 15px; background-position: 0 -40px; position: absolute; left: 20%; top: -4px; margin-left: -6px; cursor: pointer; cursor: hand; }
.jslider .jslider-pointer-hover { background-position: -20px -40px; }
@@ -23,7 +23,7 @@
.jslider .jslider-label { font-size: 9px; line-height: 12px; color: black; opacity: 0.4; white-space: nowrap; padding: 0px 2px; position: absolute; top: -18px; left: 0px; }
.jslider .jslider-label-to { left: auto; right: 0; }
- .jslider .jslider-value { font-size: 9px; white-space: nowrap; padding: 1px 2px 0; position: absolute; top: -19px; left: 20%; background: white; line-height: 12px; -moz-border-radius: 2px; -webkit-border-radius: 2px; -o-border-radius: 2px; border-radius: 2px; }
+ .jslider .jslider-value { font-size: 9px; white-space: nowrap; padding: 1px 2px 0; position: absolute; top: -19px; left: 20%; line-height: 12px; }
.jslider .jslider-value-to { left: 80%; }
.jslider .jslider-label small,
diff --git a/library/jslider/img/jslider.png b/library/jslider/img/jslider.png
index 12d26ccad..215e11a23 100644
--- a/library/jslider/img/jslider.png
+++ b/library/jslider/img/jslider.png
Binary files differ
diff --git a/library/prettyphoto/README b/library/prettyphoto/README
new file mode 100755
index 000000000..1e5684253
--- /dev/null
+++ b/library/prettyphoto/README
@@ -0,0 +1,30 @@
+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
new file mode 100644
index 000000000..8a2a2fd14
--- /dev/null
+++ b/library/prettyphoto/css/prettyPhoto.css
@@ -0,0 +1,170 @@
+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
new file mode 100755
index 000000000..b28c1ef3d
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_rounded/btnNext.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_rounded/btnPrevious.png b/library/prettyphoto/images/prettyPhoto/dark_rounded/btnPrevious.png
new file mode 100755
index 000000000..e0cd9c49a
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_rounded/btnPrevious.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_rounded/contentPattern.png b/library/prettyphoto/images/prettyPhoto/dark_rounded/contentPattern.png
new file mode 100755
index 000000000..e5a047c3a
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_rounded/contentPattern.png
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
new file mode 100755
index 000000000..2b1280f32
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_rounded/default_thumbnail.gif
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_rounded/loader.gif b/library/prettyphoto/images/prettyPhoto/dark_rounded/loader.gif
new file mode 100755
index 000000000..50820eedd
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_rounded/loader.gif
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_rounded/sprite.png b/library/prettyphoto/images/prettyPhoto/dark_rounded/sprite.png
new file mode 100755
index 000000000..fb8c0f83d
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_rounded/sprite.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_square/btnNext.png b/library/prettyphoto/images/prettyPhoto/dark_square/btnNext.png
new file mode 100755
index 000000000..b28c1ef3d
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_square/btnNext.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_square/btnPrevious.png b/library/prettyphoto/images/prettyPhoto/dark_square/btnPrevious.png
new file mode 100755
index 000000000..e0cd9c49a
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_square/btnPrevious.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_square/contentPattern.png b/library/prettyphoto/images/prettyPhoto/dark_square/contentPattern.png
new file mode 100755
index 000000000..7b50aff88
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_square/contentPattern.png
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
new file mode 100755
index 000000000..2b1280f32
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_square/default_thumbnail.gif
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_square/loader.gif b/library/prettyphoto/images/prettyPhoto/dark_square/loader.gif
new file mode 100755
index 000000000..50820eedd
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_square/loader.gif
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/dark_square/sprite.png b/library/prettyphoto/images/prettyPhoto/dark_square/sprite.png
new file mode 100755
index 000000000..4fe354752
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/dark_square/sprite.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/default_thumb.png b/library/prettyphoto/images/prettyPhoto/default/default_thumb.png
new file mode 100644
index 000000000..1a26e4b16
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/default/default_thumb.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/loader.gif b/library/prettyphoto/images/prettyPhoto/default/loader.gif
new file mode 100644
index 000000000..35d397c9e
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/default/loader.gif
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/sprite.png b/library/prettyphoto/images/prettyPhoto/default/sprite.png
new file mode 100644
index 000000000..5f07ddc56
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/default/sprite.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/sprite_next.png b/library/prettyphoto/images/prettyPhoto/default/sprite_next.png
new file mode 100644
index 000000000..379dc0d0d
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/default/sprite_next.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/sprite_prev.png b/library/prettyphoto/images/prettyPhoto/default/sprite_prev.png
new file mode 100644
index 000000000..1ee486514
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/default/sprite_prev.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/sprite_x.png b/library/prettyphoto/images/prettyPhoto/default/sprite_x.png
new file mode 100644
index 000000000..d4433ab0d
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/default/sprite_x.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/default/sprite_y.png b/library/prettyphoto/images/prettyPhoto/default/sprite_y.png
new file mode 100644
index 000000000..7786ab512
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/default/sprite_y.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/btnNext.png b/library/prettyphoto/images/prettyPhoto/facebook/btnNext.png
new file mode 100755
index 000000000..e809c3b64
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/facebook/btnNext.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/btnPrevious.png b/library/prettyphoto/images/prettyPhoto/facebook/btnPrevious.png
new file mode 100755
index 000000000..0812542cc
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/facebook/btnPrevious.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternBottom.png b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternBottom.png
new file mode 100755
index 000000000..a9be3b2ca
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternBottom.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternLeft.png b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternLeft.png
new file mode 100755
index 000000000..277c87a5b
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternLeft.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternRight.png b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternRight.png
new file mode 100755
index 000000000..76e50d0f5
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternRight.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/contentPatternTop.png b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternTop.png
new file mode 100755
index 000000000..8b110bac6
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/facebook/contentPatternTop.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/default_thumbnail.gif b/library/prettyphoto/images/prettyPhoto/facebook/default_thumbnail.gif
new file mode 100755
index 000000000..2b1280f32
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/facebook/default_thumbnail.gif
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/loader.gif b/library/prettyphoto/images/prettyPhoto/facebook/loader.gif
new file mode 100755
index 000000000..7ac990cf0
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/facebook/loader.gif
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/facebook/sprite.png b/library/prettyphoto/images/prettyPhoto/facebook/sprite.png
new file mode 100755
index 000000000..660a254f1
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/facebook/sprite.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_rounded/btnNext.png b/library/prettyphoto/images/prettyPhoto/light_rounded/btnNext.png
new file mode 100755
index 000000000..b28c1ef3d
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/light_rounded/btnNext.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_rounded/btnPrevious.png b/library/prettyphoto/images/prettyPhoto/light_rounded/btnPrevious.png
new file mode 100755
index 000000000..e0cd9c49a
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/light_rounded/btnPrevious.png
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
new file mode 100755
index 000000000..2b1280f32
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/light_rounded/default_thumbnail.gif
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_rounded/loader.gif b/library/prettyphoto/images/prettyPhoto/light_rounded/loader.gif
new file mode 100755
index 000000000..7ac990cf0
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/light_rounded/loader.gif
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_rounded/sprite.png b/library/prettyphoto/images/prettyPhoto/light_rounded/sprite.png
new file mode 100755
index 000000000..7f2837981
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/light_rounded/sprite.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_square/btnNext.png b/library/prettyphoto/images/prettyPhoto/light_square/btnNext.png
new file mode 100755
index 000000000..b28c1ef3d
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/light_square/btnNext.png
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_square/btnPrevious.png b/library/prettyphoto/images/prettyPhoto/light_square/btnPrevious.png
new file mode 100755
index 000000000..e0cd9c49a
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/light_square/btnPrevious.png
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
new file mode 100755
index 000000000..2b1280f32
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/light_square/default_thumbnail.gif
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_square/loader.gif b/library/prettyphoto/images/prettyPhoto/light_square/loader.gif
new file mode 100755
index 000000000..7ac990cf0
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/light_square/loader.gif
Binary files differ
diff --git a/library/prettyphoto/images/prettyPhoto/light_square/sprite.png b/library/prettyphoto/images/prettyPhoto/light_square/sprite.png
new file mode 100755
index 000000000..4fe354752
--- /dev/null
+++ b/library/prettyphoto/images/prettyPhoto/light_square/sprite.png
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
new file mode 100755
index 000000000..b1ae21d8b
--- /dev/null
+++ b/library/prettyphoto/js/jquery-1.3.2.min.js
@@ -0,0 +1,19 @@
+/*
+ * 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
new file mode 100644
index 000000000..2bd4cbb8a
--- /dev/null
+++ b/library/prettyphoto/js/jquery-1.4.4.min.js
@@ -0,0 +1,167 @@
+/*!
+ * 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
new file mode 100644
index 000000000..eb6a59693
--- /dev/null
+++ b/library/prettyphoto/js/jquery-1.6.1.min.js
@@ -0,0 +1,18 @@
+/*!
+ * 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
new file mode 100644
index 000000000..a67afddca
--- /dev/null
+++ b/library/prettyphoto/js/jquery.prettyPhoto.js
@@ -0,0 +1,7 @@
+/* ------------------------------------------------------------------------
+ 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/_well_known.php b/mod/_well_known.php
index 5c5f6585f..6e77336c3 100644
--- a/mod/_well_known.php
+++ b/mod/_well_known.php
@@ -4,11 +4,6 @@ function _well_known_init(&$a){
if(argc() > 1) {
switch(argv(1)) {
- case "host-meta":
- require_once('mod/hostxrd.php');
- hostxrd_init($a);
- break;
-
case 'zot-info':
$a->argc -= 1;
array_shift($a->argv);
@@ -17,6 +12,14 @@ function _well_known_init(&$a){
zfinger_init($a);
break;
+ case 'webfinger':
+ $a->argc -= 1;
+ array_shift($a->argv);
+ $a->argv[0] = 'wfinger';
+ require_once('mod/wfinger.php');
+ wfinger_init($a);
+ break;
+
}
}
diff --git a/mod/acl.php b/mod/acl.php
index 2f1866f85..b886b7e58 100644
--- a/mod/acl.php
+++ b/mod/acl.php
@@ -51,7 +51,7 @@ function acl_init(&$a){
$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" ,
intval(local_user()),
- intval(ABOOK_FLAG_SELF|ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVE)
+ intval(ABOOK_FLAG_SELF|ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED)
);
$contact_count = (int)$r[0]['c'];
}
@@ -60,25 +60,25 @@ function acl_init(&$a){
// autocomplete for Private Messages
- $r = q("SELECT COUNT(`id`) AS c FROM `contact`
- WHERE `uid` = %d AND `self` = 0
- AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
- AND `network` IN ('%s','%s','%s') $sql_extra2" ,
+
+ $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 ))
+ $sql_extra2 ",
intval(local_user()),
- dbesc(NETWORK_DFRN),
- dbesc(NETWORK_ZOT),
- dbesc(NETWORK_DIASPORA)
+ intval(PERMS_W_MAIL)
);
- $contact_count = (int)$r[0]['c'];
+
+ if($r)
+ $contact_count = (int)$r[0]['c'];
}
elseif ($type == 'a') {
// autocomplete for Contacts
- $r = q("SELECT COUNT(`id`) AS c FROM `contact`
- WHERE `uid` = %d AND `self` = 0
- AND `pending` = 0 $sql_extra2" ,
+ $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())
);
$contact_count = (int)$r[0]['c'];
@@ -123,11 +123,11 @@ 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
+ $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
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" ,
intval(local_user()),
- intval(ABOOK_FLAG_SELF|ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVE)
+ intval(ABOOK_FLAG_SELF|ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED)
);
}
elseif($type == 'm') {
@@ -142,7 +142,7 @@ function acl_init(&$a){
);
}
elseif($type == 'a') {
- $r = q("SELECT abook_id as id, xchan_name as name, xchan_addr as nick, xchan_photo_s as micro, xchan_network as network, xchan_url as url, xchan_addr as attag FROM abook left join xchan on abook_xchan = xchan_hash
+ $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
$sql_extra3
ORDER BY xchan_name ASC ",
@@ -196,13 +196,15 @@ function acl_init(&$a){
if(count($r)) {
foreach($r as $g){
$contacts[] = array(
- "type" => "c",
- "photo" => $g['micro'],
- "name" => $g['name'],
- "id" => $g['id'],
- "xid" => $g['hash'],
- "link" => $g['nick'],
- "nick" => substr($g['nick'],0,strpos($g['nick'],'@'))
+ "type" => "c",
+ "photo" => $g['micro'],
+ "name" => $g['name'],
+ "id" => $g['id'],
+ "xid" => $g['hash'],
+ "link" => $g['nick'],
+ "nick" => substr($g['nick'],0,strpos($g['nick'],'@')),
+ "network" => '',
+ "taggable" => (($g['abook_their_perms'] & PERMS_W_TAGWALL) ? 'taggable' : '')
);
}
}
@@ -251,10 +253,11 @@ function navbar_complete(&$a) {
}
if(! $url) {
+ require_once("include/dir_fns.php");
$directory = find_upstream_directory($dirmode);
if($directory) {
- $url = $directory['url'];
+ $url = $directory['url'] . '/dirsearch';
}
else {
$url = DIRECTORY_FALLBACK_MASTER . '/dirsearch';
diff --git a/mod/admin.php b/mod/admin.php
index aa3d7b294..455897f6f 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -1,7 +1,7 @@
<?php
/**
- * Friendica admin
+ * Red admin
*/
@@ -54,6 +54,9 @@ function admin_post(&$a){
case 'logs':
admin_page_logs_post($a);
break;
+ case 'hubloc':
+ admin_page_hubloc_post($a);
+ break;
case 'dbsync':
admin_page_dbsync_post($a);
break;
@@ -84,6 +87,7 @@ function admin_content(&$a) {
'users' => Array($a->get_baseurl(true)."/admin/users/", t("Users") , "users"),
'plugins'=> Array($a->get_baseurl(true)."/admin/plugins/", t("Plugins") , "plugins"),
'themes' => Array($a->get_baseurl(true)."/admin/themes/", t("Themes") , "themes"),
+ 'hubloc' => Array($a->get_baseurl(true)."/admin/hubloc/", t("Server") , "server"),
'dbsync' => Array($a->get_baseurl(true)."/admin/dbsync/", t('DB updates'), "dbsync")
);
@@ -132,6 +136,9 @@ function admin_content(&$a) {
case 'themes':
$o = admin_page_themes($a);
break;
+ case 'hubloc':
+ $o = admin_page_hubloc($a);
+ break;
case 'logs':
$o = admin_page_logs($a);
break;
@@ -188,7 +195,7 @@ function admin_page_summary(&$a) {
'$users' => Array( t('Registered users'), $users),
'$accounts' => $accounts,
'$pending' => Array( t('Pending registrations'), $pending),
- '$version' => Array( t('Version'), FRIENDICA_VERSION),
+ '$version' => Array( t('Version'), RED_VERSION),
'$build' => get_config('system','db_version'),
'$plugins' => Array( t('Active plugins'), $a->plugins )
));
@@ -210,10 +217,14 @@ function admin_page_site_post(&$a){
$banner = ((x($_POST,'banner')) ? trim($_POST['banner']) : 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);
$register_policy = ((x($_POST,'register_policy')) ? intval(trim($_POST['register_policy'])) : 0);
+ $access_policy = ((x($_POST,'access_policy')) ? intval(trim($_POST['access_policy'])) : 0);
$abandon_days = ((x($_POST,'abandon_days')) ? intval(trim($_POST['abandon_days'])) : 0);
$register_text = ((x($_POST,'register_text')) ? notags(trim($_POST['register_text'])) : '');
@@ -231,7 +242,7 @@ function admin_page_site_post(&$a){
$timeout = ((x($_POST,'timeout')) ? intval(trim($_POST['timeout'])) : 60);
$delivery_interval = ((x($_POST,'delivery_interval'))? intval(trim($_POST['delivery_interval'])) : 0);
$poll_interval = ((x($_POST,'poll_interval'))? intval(trim($_POST['poll_interval'])) : 0);
- $ssl_policy = ((x($_POST,'ssl_policy')) ? intval($_POST['ssl_policy']) : 0);
+// $ssl_policy = ((x($_POST,'ssl_policy')) ? intval($_POST['ssl_policy']) : 0);
/*
if($ssl_policy != intval(get_config('system','ssl_policy'))) {
if($ssl_policy == SSL_POLICY_FULL) {
@@ -274,11 +285,11 @@ function admin_page_site_post(&$a){
}
}
*/
- set_config('system','ssl_policy',$ssl_policy);
+// set_config('system','ssl_policy',$ssl_policy);
set_config('system','delivery_interval',$delivery_interval);
set_config('system','poll_interval',$poll_interval);
set_config('system','maxloadavg',$maxloadavg);
- set_config('config','sitename',$sitename);
+ set_config('system','sitename',$sitename);
if ($banner=="") {
del_config('system','banner');
@@ -289,9 +300,22 @@ function admin_page_site_post(&$a){
set_config('system','language', $language);
set_config('system','theme', $theme);
+ if ( $theme_mobile === '---' ) {
+ del_config('system','mobile_theme');
+ } else {
+ set_config('system','mobile_theme', $theme_mobile);
+ }
+ if ( $theme_accessibility === '---' ) {
+ del_config('system','accessibility_theme');
+ } else {
+ set_config('system','accessibility_theme', $theme_accessibility);
+ }
+
+ set_config('system','site_channel', $site_channel);
set_config('system','maximagesize', $maximagesize);
set_config('system','register_policy', $register_policy);
+ set_config('system','access_policy', $access_policy);
set_config('system','account_abandon_days', $abandon_days);
set_config('system','register_text', $register_text);
set_config('system','allowed_sites', $allowed_sites);
@@ -337,14 +361,24 @@ function admin_page_site(&$a) {
$lang_choices[$t[1]] = $t[1];
}
}
-
+
/* Installed themes */
$theme_choices = array();
+ $theme_choices_mobile = array();
+ $theme_choices_mobile["---"] = t("No special theme for mobile devices");
+ $theme_choices_accessibility = array();
+ $theme_choices_accessibility["---"] =t("No special theme for accessibility");
$files = glob('view/theme/*');
if($files) {
foreach($files as $file) {
$f = basename($file);
- $theme_name = ((file_exists($file . '/.experimental')) ? sprintf("%s - Experimental", $f) : $f);
+ $theme_name = ((file_exists($file . '/experimental')) ? sprintf("%s - Experimental", $f) : $f);
+ if (file_exists($file . '/mobile')) {
+ $theme_choices_mobile[$f] = $theme_name;
+ }
+ if (file_exists($file . '/accessibility')) {
+ $theme_choices_accessibility[$f] = $theme_name;
+ }
$theme_choices[$f] = $theme_name;
}
}
@@ -363,10 +397,17 @@ function admin_page_site(&$a) {
REGISTER_OPEN => t("Open")
);
- $ssl_choices = array(
- SSL_POLICY_NONE => t("No SSL policy, links will track page SSL state"),
- SSL_POLICY_FULL => t("Force all links to use SSL")
+ /* Acess policy */
+ $access_choices = Array(
+ ACCESS_PRIVATE => t("Private"),
+ ACCESS_PAID => t("Paid Access"),
+ ACCESS_FREE => t("Free Access")
);
+
+// $ssl_choices = array(
+// SSL_POLICY_NONE => t("No SSL policy, links will track page SSL state"),
+// SSL_POLICY_FULL => t("Force all links to use SSL")
+// );
$t = get_markup_template("admin_site.tpl");
return replace_macros($t, array(
@@ -380,22 +421,24 @@ function admin_page_site(&$a) {
'$baseurl' => $a->get_baseurl(true),
// name, label, value, help string, extra data...
- '$sitename' => array('sitename', t("Site name"), htmlentities($a->config['sitename'], ENT_QUOTES), ""),
+ '$sitename' => array('sitename', t("Site name"), htmlentities(get_config('system','sitename'), ENT_QUOTES), ""),
'$banner' => array('banner', t("Banner/Logo"), $banner, ""),
'$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),
- '$ssl_policy' => array('ssl_policy', t("SSL link policy"), (string) intval(get_config('system','ssl_policy')), t("Determines whether generated links should be forced to use SSL"), $ssl_choices),
+ '$theme_mobile' => array('theme_mobile', t("Mobile system theme"), get_config('system','mobile_theme'), t("Theme for mobile devices"), $theme_choices_mobile),
+ '$theme_accessibility' => array('theme_accessibility', t("Accessibility system theme"), get_config('system','accessibility_theme'), t("Accessibility theme"), $theme_choices_accessibility),
+ '$site_channel' => array('site_channel', t("Channel to use for this website's static pages"), get_config('system','site_channel'), t("Site Channel")),
+// '$ssl_policy' => array('ssl_policy', t("SSL link policy"), (string) intval(get_config('system','ssl_policy')), t("Determines whether generated links should be forced to use SSL"), $ssl_choices),
'$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"), $a->config['system']['register_policy'], "", $register_choices),
- '$register_text' => array('register_text', t("Register text"), htmlentities($a->config['register_text'], ENT_QUOTES, 'UTF-8'), t("Will be displayed prominently on the registration page.")),
+ '$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.")),
'$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")),
'$block_public' => array('block_public', t("Block public"), get_config('system','block_public'), t("Check to block public access to all otherwise public personal pages on this site unless you are currently logged in.")),
'$force_publish' => array('publish_all', t("Force publish"), get_config('system','publish_all'), t("Check to force all profiles on this site to be listed in the site directory.")),
- '$global_directory' => array('directory_submit_url', t("Global directory update URL"), get_config('system','directory_submit_url'), t("URL to update the global directory. If this is not set, the global directory is completely unavailable to the application.")),
- '$no_community_page' => array('no_community_page', t("Show Community Page"), !get_config('system','no_community_page'), t("Display a Community page showing all recent public postings on this site.")),
'$proxyuser' => array('proxyuser', t("Proxy user"), get_config('system','proxyuser'), ""),
'$proxy' => array('proxy', t("Proxy URL"), get_config('system','proxy'), ""),
'$timeout' => array('timeout', t("Network timeout"), (x(get_config('system','curl_timeout'))?get_config('system','curl_timeout'):60), t("Value is in seconds. Set to 0 for unlimited (not recommended).")),
@@ -407,6 +450,15 @@ function admin_page_site(&$a) {
));
}
+function admin_page_hubloc_post(&$a){
+ check_form_security_token_redirectOnErr('/admin/hubloc', 'hubloc');
+ return;
+}
+
+function admin_page_hubloc(&$a) {
+ $o = '';
+ return $o;
+}
function admin_page_dbsync(&$a) {
@@ -564,22 +616,10 @@ function admin_page_users(&$a){
$a->set_pager_itemspage(100);
}
-// FIXME this is borked since there is no more user table
-
- $users = q("SELECT `user` . * , `contact`.`name` , `contact`.`url` , `contact`.`micro`, `lastitem`.`lastitem_date`
- FROM
- (SELECT MAX(`item`.`changed`) as `lastitem_date`, `item`.`uid`
- FROM `item`
- WHERE `item`.`type` = 'wall'
- GROUP BY `item`.`uid`) AS `lastitem`
- RIGHT OUTER JOIN `user` ON `user`.`uid` = `lastitem`.`uid`,
- `contact`
- WHERE
- `user`.`uid` = `contact`.`uid`
- AND `user`.`verified` =1
- AND `contact`.`self` =1
- ORDER BY `contact`.`name` LIMIT %d, %d
- ",
+
+// WEe'll still need to link email addresses to admin/users/channels or some such, but this bit doesn't exist yet.
+// That's where we need to be doing last post/channel flags/etc, not here.
+ $users =q("SELECT `account_id` , `account_email`, `account_lastlog`, `account_created`, `account_service_class` FROM `account`",
intval($a->pager['start']),
intval($a->pager['itemspage'])
);
@@ -591,6 +631,7 @@ function admin_page_users(&$a){
t('Community/Celebrity Account'),
t('Automatic Friend Account')
);
+
$e['page_flags'] = $accounts[$e['page-flags']];
$e['register_date'] = relative_date($e['register_date']);
$e['login_date'] = relative_date($e['login_date']);
@@ -617,7 +658,7 @@ function admin_page_users(&$a){
'$unblock' => t('Unblock'),
'$h_users' => t('Users'),
- '$th_users' => array( t('Name'), t('Email'), t('Register date'), t('Last login'), t('Last item'), t('Account') ),
+ '$th_users' => array( t('Email'), t('Register date'), t('Last login'), t('Service Class')),
'$confirm_delete_multi' => t('Selected users will be deleted!\n\nEverything these users had posted on this site will be permanently deleted!\n\nAre you sure?'),
'$confirm_delete' => t('The user {0} will be deleted!\n\nEverything this user has posted on this site will be permanently deleted!\n\nAre you sure?'),
@@ -1035,7 +1076,7 @@ readable.");
// name, label, value, help string, extra data...
'$debugging' => array('debugging', t("Debugging"),get_config('system','debugging'), ""),
- '$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your Friendica top-level directory.")),
+ '$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your Red top-level directory.")),
'$loglevel' => array('loglevel', t("Log level"), get_config('system','loglevel'), "", $log_choices),
'$form_security_token' => get_form_security_token("admin_logs"),
diff --git a/mod/blocks.php b/mod/blocks.php
new file mode 100644
index 000000000..170d37256
--- /dev/null
+++ b/mod/blocks.php
@@ -0,0 +1,101 @@
+<?php
+
+function blocks_content(&$a) {
+
+
+
+ if(argc() > 1)
+ $which = argv(1);
+ else {
+ notice( t('Requested profile is not available.') . EOL );
+ $a->error = 404;
+ return;
+ }
+
+ profile_load($a,$which,0);
+
+
+ // Figure out who the page owner is.
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ }
+
+ // Block design features from visitors
+
+ if((! local_user()) || (local_user() != $owner)) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+
+
+
+// Get the observer, check their permissions
+
+ $observer = $a->get_observer();
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+
+ $perms = get_all_perms($owner,$ob_hash);
+
+ if(! $perms['write_pages']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+ if(local_user() && local_user() == $owner) {
+ $a->set_widget('design',design_tools());
+ }
+
+
+
+// Create a status editor (for now - we'll need a WYSIWYG eventually) to create pages
+// Nickname is set to the observers xchan, and profile_uid to the owners. This lets you post pages at other people's channels.
+require_once ('include/conversation.php');
+ $x = array(
+ 'webpage' => ITEM_BUILDBLOCK,
+ 'is_owner' => true,
+ 'nickname' => $a->profile['channel_address'],
+ 'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
+ 'bang' => (($group || $cid) ? '!' : ''),
+ 'visitor' => 'block',
+ 'mimetype' => 'choose',
+ 'profile_uid' => intval($owner),
+ );
+
+ $o .= status_editor($a,$x);
+
+ //Get a list of blocks. We can't display all them because endless scroll makes that unusable, so just list titles and an edit link.
+//TODO - this should be replaced with pagelist_widget
+
+$r = q("select * from item_id where uid = %d and service = 'BUILDBLOCK' order by sid asc",
+ intval($owner)
+);
+
+ $pages = null;
+
+ if($r) {
+ $pages = array();
+ foreach($r as $rr) {
+ $pages[$rr['iid']][] = array('url' => $rr['iid'],'title' => $rr['sid']);
+ }
+ }
+
+
+//Build the base URL for edit links
+ $url = z_root() . "/editblock/" . $which;
+// This isn't pretty, but it works. Until I figure out what to do with the UI, it's Good Enough(TM).
+ return $o . replace_macros(get_markup_template("webpagelist.tpl"), array(
+ '$baseurl' => $url,
+ '$edit' => t('Edit'),
+ '$pages' => $pages,
+ '$channel' => $which,
+ '$view' => t('View'),
+ '$preview' => '1',
+
+ ));
+
+
+}
diff --git a/mod/chanman.php b/mod/chanman.php
new file mode 100644
index 000000000..7a89708d7
--- /dev/null
+++ b/mod/chanman.php
@@ -0,0 +1,31 @@
+<?php /** @file */
+
+
+/**
+ Placeholder file at present. This is going to involve a bit of work.
+
+ This file will deal with the deletion of channels and management of hublocs.
+
+ We need to provide the following functionality:
+
+ - Delete my account and all channels from the entire network
+
+ - Delete my account and all channels from this server
+
+ - Delete a channel from the entire network
+
+ - Delete a channel from this server
+
+ - List all hub locations for this channel
+
+ - Remove this/some hub location from this channel
+
+ - promote this/some hub location to primary
+
+ - Remove hub location 'xyz' from this channel, (this should possibly only be allowed if that hub has been down for a period of time)
+
+ - Some of these actions should probably require email verification
+
+*/
+
+
diff --git a/mod/channel.php b/mod/channel.php
index 0a49b41eb..5a66f5e07 100644
--- a/mod/channel.php
+++ b/mod/channel.php
@@ -2,11 +2,18 @@
function channel_init(&$a) {
+ $which = null;
if(argc() > 1)
$which = argv(1);
- else {
- notice( t('Requested profile is not available.') . EOL );
- $a->error = 404;
+ if(! $which) {
+ if(local_user()) {
+ $channel = $a->get_channel();
+ if($channel && $channel['channel_address'])
+ $which = $channel['channel_address'];
+ }
+ }
+ if(! $which) {
+ notice( t('You must be logged in to see this page.') . EOL );
return;
}
@@ -47,6 +54,9 @@ function channel_aside(&$a) {
$a->set_widget('archive',posted_date_widget($a->get_baseurl(true) . '/channel/' . $a->profile['channel_address'],$a->profile['profile_uid'],true));
$a->set_widget('categories',categories_widget($a->get_baseurl(true) . '/channel/' . $a->profile['channel_address'],$cat));
}
+ if(feature_enabled($a->profile['profile_uid'],'tagadelic'))
+ $a->set_widget('tagcloud',tagblock('search',$a->profile['profile_uid'],50,$a->profile['channel_hash'],ITEM_WALL));
+
}
@@ -54,17 +64,18 @@ function channel_content(&$a, $update = 0, $load = false) {
$category = $datequery = $datequery2 = '';
- if(argc() > 2) {
- for($x = 2; $x < argc(); $x ++) {
- if(is_a_date_arg(argv($x))) {
- if($datequery)
- $datequery2 = escape_tags(argv($x));
- else
- $datequery = escape_tags(argv($x));
- }
- }
- }
-
+ // if(argc() > 2) {
+ // for($x = 2; $x < argc(); $x ++) {
+ // if(is_a_date_arg(argv($x))) {
+ // if($datequery)
+ // $datequery2 = escape_tags(argv($x));
+ // else
+ // $datequery = escape_tags(argv($x));
+ // }
+ // }
+ // }
+ $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']) : '');
if(get_config('system','block_public') && (! get_account_id()) && (! remote_user())) {
return login();
@@ -80,6 +91,8 @@ function channel_content(&$a, $update = 0, $load = false) {
require_once('include/permissions.php');
+ $category = ((x($_REQUEST,'cat')) ? $_REQUEST['cat'] : '');
+
$groups = array();
$o = '';
@@ -118,12 +131,12 @@ function channel_content(&$a, $update = 0, $load = false) {
$x = array(
'is_owner' => $is_owner,
-// FIXME
- 'allow_location' => ((($is_owner || $observer) && $a->profile['allow_location']) ? true : false),
- 'default_location' => (($is_owner) ? $a->profile['default_location'] : ''),
+ 'allow_location' => ((($is_owner || $observer) && (intval(get_pconfig($a->profile['profile_uid'],'system','use_browser_location')))) ? true : false),
+ 'default_location' => (($is_owner) ? $a->profile['channel_location'] : ''),
'nickname' => $a->profile['channel_address'],
'lockstate' => (((strlen($a->profile['channel_allow_cid'])) || (strlen($a->profile['channel_allow_gid'])) || (strlen($a->profile['channel_deny_cid'])) || (strlen($a->profile['channel_deny_gid']))) ? 'lock' : 'unlock'),
'acl' => (($is_owner) ? populate_acl($channel, false) : ''),
+ 'showacl' => (($is_owner) ? 'yes' : ''),
'bang' => '',
'visitor' => (($is_owner || $observer) ? 'block' : 'none'),
'profile_uid' => $a->profile['profile_uid']
@@ -161,8 +174,9 @@ function channel_content(&$a, $update = 0, $load = false) {
}
else {
+
if(x($category)) {
- $sql_extra .= protect_sprintf(file_tag_file_query('item',$category,'category'));
+ $sql_extra .= protect_sprintf(term_query('item', $category, TERM_CATEGORY));
}
if($datequery) {
@@ -172,9 +186,8 @@ function channel_content(&$a, $update = 0, $load = false) {
$sql_extra2 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2))));
}
-
- $a->set_pager_itemspage(40);
-
+ $itemspage = get_pconfig(local_user(),'system','itemspage');
+ $a->set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
$pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
if($load) {
@@ -247,7 +260,7 @@ function channel_content(&$a, $update = 0, $load = false) {
'$order' => '',
'$file' => '',
'$cats' => (($category) ? $category : ''),
- '$uri' => '',
+ '$mid' => '',
'$dend' => $datequery,
'$dbegin' => $datequery2
));
diff --git a/mod/chanview.php b/mod/chanview.php
index 8de59b92e..4f7638846 100644
--- a/mod/chanview.php
+++ b/mod/chanview.php
@@ -29,7 +29,11 @@ function chanview_content(&$a) {
);
}
elseif($_REQUEST['url']) {
- $r = q("select * from xchan where xchan_url = '%s' limit 1",
+
+ // if somebody re-installed they will have more than one xchan, use the most recent name date as this is
+ // the most useful consistently ascending table item we have.
+
+ $r = q("select * from xchan where xchan_url = '%s' order by xchan_name_date desc limit 1",
dbesc($_REQUEST['url'])
);
}
diff --git a/mod/community.php b/mod/community.php
index 4f6c3d3c9..e4c6e6b04 100644
--- a/mod/community.php
+++ b/mod/community.php
@@ -3,7 +3,7 @@
function community_init(&$a) {
if(! local_user()) {
unset($_SESSION['theme']);
- unset($_SESSION['mobile-theme']);
+ unset($_SESSION['mobile_theme']);
}
@@ -47,7 +47,7 @@ function community_content(&$a, $update = 0) {
// OR your own posts if you are a logged in member
if(! get_pconfig(local_user(),'system','alt_pager')) {
- $r = q("SELECT COUNT(distinct(`item`.`uri`)) AS `total`
+ $r = q("SELECT COUNT(distinct(`item`.`mid`)) AS `total`
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` = ''
@@ -66,7 +66,7 @@ function community_content(&$a, $update = 0) {
}
- $r = q("SELECT distinct(`item`.`uri`), `item`.*, `item`.`id` AS `item_id`,
+ $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`,
@@ -77,7 +77,7 @@ function community_content(&$a, $update = 0) {
AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = ''
AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = ''
AND `item`.`private` = 0 AND `item`.`wall` = 1 AND `user`.`hidewall` = 0
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 group by `item`.`uri`
+ AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 group by `item`.`mid`
ORDER BY `received` DESC LIMIT %d, %d ",
intval($a->pager['start']),
intval($a->pager['itemspage'])
diff --git a/mod/connect.php b/mod/connect.php
new file mode 100644
index 000000000..93f994af5
--- /dev/null
+++ b/mod/connect.php
@@ -0,0 +1,128 @@
+<?php /** @file */
+
+
+require_once('include/Contact.php');
+require_once('include/contact_widgets.php');
+require_once('include/items.php');
+
+
+function connect_init(&$a) {
+ if(argc() > 1)
+ $which = argv(1);
+ else {
+ notice( t('Requested profile is not available.') . EOL );
+ $a->error = 404;
+ return;
+ }
+
+ $r = q("select * from channel where channel_address = '%s' limit 1",
+ dbesc($which)
+ );
+
+ if($r)
+ $a->data['channel'] = $r[0];
+
+ profile_load($a,$which,'');
+
+ profile_create_sidebar($a,false);
+
+
+}
+
+function connect_post(&$a) {
+
+ if(! array_key_exists('channel', $a->data))
+ return;
+
+ $edit = ((local_user() && (local_user() == $a->data['channel']['channel_id'])) ? true : false);
+
+ if($edit) {
+ $has_premium = (($a->data['channel']['channel_pageflags'] & PAGE_PREMIUM) ? 1 : 0);
+ $premium = (($_POST['premium']) ? intval($_POST['premium']) : 0);
+ $text = escape_tags($_POST['text']);
+
+ if($has_premium != $premium) {
+ $r = q("update channel set channel_pageflags = ( channel_pageflags ^ %d ) where channel_id = %d limit 1",
+ intval(PAGE_PREMIUM),
+ intval(local_user())
+ );
+ proc_run('php','include/notifier.php','refresh_all',$a->data['channel']['channel_id']);
+ }
+ set_pconfig($a->data['channel']['channel_id'],'system','selltext',$text);
+ // reload the page completely to get fresh data
+ goaway(z_root() . '/' . $a->query_string);
+
+ }
+
+ $url = '';
+ $observer = $a->get_observer();
+ if(($observer) && ($_POST['submit'] === t('Continue'))) {
+ if($observer['xchan_follow'])
+ $url = sprintf($observer['xchan_follow'],urlencode($a->data['channel']['channel_address'] . '@' . $a->get_hostname()));
+ if(! $url) {
+ $r = q("select * from hubloc where hubloc_hash = '%s' order by hubloc_id desc limit 1",
+ dbesc($observer['xchan_hash'])
+ );
+ if($r)
+ $url = $r[0]['hubloc_url'] . '/follow?f=&url=' . urlencode($a->data['channel']['channel_address'] . '@' . $a->get_hostname());
+ }
+ }
+ if($url)
+ goaway($url . '&confirm=1');
+ else
+ notice('Unable to connect to your home hub location.');
+
+}
+
+
+
+function connect_content(&$a) {
+
+ $edit = ((local_user() && (local_user() == $a->data['channel']['channel_id'])) ? true : false);
+
+ $text = get_pconfig($a->data['channel']['channel_id'],'system','selltext');
+
+ if($edit) {
+
+ $o = replace_macros(get_markup_template('sellpage_edit.tpl'),array(
+ '$header' => t('Premium Channel Setup'),
+ '$address' => $a->data['channel']['channel_address'],
+ '$premium' => array('premium', t('Enable premium channel connection restrictions'),(($a->data['channel']['channel_pageflags'] & PAGE_PREMIUM) ? '1' : ''),''),
+ '$lbl_about' => t('Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc.'),
+ '$text' => $text,
+ '$desc' => t('This channel may require additional steps or acknowledgement of the following conditions prior to connecting:'),
+ '$lbl2' => t('Potential connections will then see the following text before proceeding:'),
+ '$desc2' => t('By continuing, I certify that I have complied with any instructions provided on this page.'),
+ '$submit' => t('Submit'),
+
+
+ ));
+ return $o;
+ }
+ else {
+ if(! $text)
+ $text = t('(No specific instructions have been provided by the channel owner.)');
+
+ $submit = replace_macros(get_markup_template('sellpage_submit.tpl'), array(
+ '$continue' => t('Continue'),
+ '$address' => $a->data['channel']['channel_address']
+ ));
+
+ $o = replace_macros(get_markup_template('sellpage_view.tpl'),array(
+ '$header' => t('Restricted or Premium Channel'),
+ '$desc' => t('This channel may require additional steps or acknowledgement of the following conditions prior to connecting:'),
+ '$text' => prepare_text($text),
+
+ '$desc2' => t('By continuing, I certify that I have complied with any instructions provided on this page.'),
+ '$submit' => $submit,
+
+ ));
+
+ $arr = array('channel' => $a->data['channel'],'observer' => $a->get_observer(), 'sellpage' => $o, 'submit' => $submit);
+ call_hooks('connect_premium', $arr);
+ $o = $arr['sellpage'];
+
+ }
+
+ return $o;
+} \ No newline at end of file
diff --git a/mod/connections.php b/mod/connections.php
index 8e002d870..47c8d9c44 100644
--- a/mod/connections.php
+++ b/mod/connections.php
@@ -23,6 +23,11 @@ function connections_init(&$a) {
$a->data['abook'] = $r[0];
}
}
+
+ $channel = $a->get_channel();
+ if($channel)
+ head_set_icon($channel['xchan_photo_s']);
+
}
function connections_aside(&$a) {
@@ -63,10 +68,10 @@ function connections_post(&$a) {
call_hooks('contact_edit_post', $_POST);
- $profile_id = intval($_POST['profile-assign']);
+ $profile_id = $_POST['profile-assign'];
if($profile_id) {
- $r = q("SELECT `id` FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($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)) {
@@ -94,14 +99,16 @@ function connections_post(&$a) {
}
$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 = %d, abook_my_perms = %d , abook_closeness = %d, abook_flags = %d
+ $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",
- intval($profile_id),
+ dbesc($profile_id),
intval($abook_my_perms),
intval($closeness),
intval($abook_flags),
@@ -118,6 +125,13 @@ function connections_post(&$a) {
proc_run('php', 'include/notifier.php', 'permission_update', $contact_id);
}
+ if($new_friend) {
+ // 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
+ }
+
// Refresh the structure in memory with the new data
$r = q("SELECT abook.*, xchan.*
@@ -126,20 +140,34 @@ function connections_post(&$a) {
intval(local_user()),
intval($contact_id)
);
- if($r)
+ if($r) {
$a->data['abook'] = $r[0];
+ }
+
+ connections_clone($a);
return;
}
+function connections_clone(&$a) {
+
+ if(! array_key_exists('abook',$a->data))
+ return;
+ $clone = $a->data['abook'];
+
+ 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 connections_content(&$a) {
$sort_type = 0;
$o = '';
- nav_set_selected('connections');
if(! local_user()) {
@@ -160,7 +188,8 @@ function connections_content(&$a) {
intval($contact_id),
intval(local_user()),
intval(ABOOK_FLAG_SELF),
- intval(ABOOK_FLAG_PENDING)
+ // allow drop even if pending, just duplicate the self query
+ intval(($cmd === 'drop') ? ABOOK_FLAG_SELF : ABOOK_FLAG_PENDING)
);
if(! count($orig_record)) {
@@ -183,40 +212,48 @@ function connections_content(&$a) {
}
if($cmd === 'block') {
- if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_BLOCKED))
+ 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))
+ 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))
+ 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))
+ 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);
@@ -226,10 +263,12 @@ function connections_content(&$a) {
if($cmd === 'approve') {
if($orig_record[0]['abook_flags'] & ABOOK_FLAG_PENDING) {
- if(abook_toggle_flag($orig_record[0],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);
}
@@ -244,6 +283,7 @@ function connections_content(&$a) {
// 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']);
@@ -332,7 +372,7 @@ function connections_content(&$a) {
$slider_tpl = get_markup_template('contact_slider.tpl');
$slide = replace_macros($slider_tpl,array(
'$me' => t('Me'),
- '$val' => $contact['abook_closeness'],
+ '$val' => (($contact['abook_closeness']) ? $contact['abook_closeness'] : 99),
'$intimate' => t('Best Friends'),
'$friends' => t('Friends'),
'$oldfriends' => t('Former Friends'),
@@ -345,12 +385,20 @@ function connections_content(&$a) {
$channel = $a->get_channel();
$global_perms = get_perms();
- $existing = get_all_perms(local_user(),$contact);
+ $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) {
- $perms[] = array('perms_' . $k, $v[3], (($contact['abook_their_perms'] & $v[1]) ? "1" : ""),((($contact['abook_my_perms'] & $v[1]) || $existing[$k]) ? "1" : ""), $v[1], (($channel[$v[0]] == PERMS_SPECIFIC) ? '' : '1'), $v[4]);
+ $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(
@@ -368,10 +416,11 @@ function connections_content(&$a) {
'$is_pending' => (($contact['abook_flags'] & ABOOK_FLAG_PENDING) ? 1 : ''),
'$unapproved' => $unapproved,
'$approve' => t('Approve this connection'),
- '$noperms' => (((! $self) && (! $contact['abook_my_perms'])) ? t('Connection has no permissions!') : ''),
+ '$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['name']),
+ '$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'],
@@ -383,7 +432,8 @@ function connections_content(&$a) {
'$full' => t('Full Sharing'),
'$cautious' => t('Cautious Sharing'),
'$follow' => t('Follow Only'),
- '$permlbl' => t('Permissions'),
+ '$permlbl' => t('Individual Permissions'),
+ '$permnote' => t('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.'),
'$advanced' => t('Advanced Permissions'),
'$quick' => t('Quick Links'),
'$common_link' => $a->get_baseurl(true) . '/common/loc/' . local_user() . '/' . $contact['id'],
@@ -403,7 +453,8 @@ function connections_content(&$a) {
'$updpub' => t('Update public posts'),
'$last_update' => $last_update,
'$udnow' => t('Update now'),
-// '$profile_select' => contact_profile_assign($contact['profile_id'],(($contact['network'] !== NETWORK_DFRN) ? true : false)),
+ '$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') ),
@@ -469,6 +520,7 @@ function connections_content(&$a) {
$search_flags = ABOOK_FLAG_PENDING;
$head = t('New');
$pending = true;
+ nav_set_selected('intros');
break;
case 'all':
@@ -582,26 +634,24 @@ function connections_content(&$a) {
if(count($r)) {
foreach($r as $rr) {
-
- $contacts[] = array(
- 'img_hover' => sprintf( t('%1$s [%2$s]'),$rr['xchan_name'],$rr['xchan_url']),
- 'edit_hover' => t('Edit contact'),
- 'photo_menu' => contact_photo_menu($rr),
- 'id' => $rr['abook_id'],
- 'alt_text' => $alt_text,
- 'dir_icon' => $dir_icon,
- 'thumb' => $rr['xchan_photo_m'],
- 'name' => $rr['xchan_name'],
- 'username' => $rr['xchan_name'],
- 'sparkle' => $sparkle,
- 'edit' => z_root() . '/connections/' . $rr['abook_id'],
- 'url' => $rr['xchan_url'],
- 'network' => network_to_name($rr['network']),
- );
+ if($rr['xchan_url']) {
+ $contacts[] = array(
+ 'img_hover' => sprintf( t('%1$s [%2$s]'),$rr['xchan_name'],$rr['xchan_url']),
+ 'edit_hover' => t('Edit contact'),
+ 'photo_menu' => contact_photo_menu($rr),
+ 'id' => $rr['abook_id'],
+ 'alt_text' => $alt_text,
+ 'dir_icon' => $dir_icon,
+ 'thumb' => $rr['xchan_photo_m'],
+ 'name' => $rr['xchan_name'],
+ 'username' => $rr['xchan_name'],
+ 'sparkle' => $sparkle,
+ 'link' => z_root() . '/connections/' . $rr['abook_id'],
+ 'url' => $rr['xchan_url'],
+ 'network' => network_to_name($rr['network']),
+ );
+ }
}
-
-
-
}
diff --git a/mod/crepair.php b/mod/crepair.php
index e5ece0f98..f749fac0e 100644
--- a/mod/crepair.php
+++ b/mod/crepair.php
@@ -76,7 +76,7 @@ function crepair_post(&$a) {
if($photo) {
logger('mod-crepair: updating photo from ' . $photo);
- require_once("Photo.php");
+ require_once('include/photo/photo_driver.php');
$photos = import_profile_photo($photo,local_user(),$contact['id']);
diff --git a/mod/directory.php b/mod/directory.php
index 21fb14bfc..823c33cf7 100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -4,7 +4,7 @@ require_once('include/dir_fns.php');
function directory_init(&$a) {
- $a->set_pager_itemspage(60);
+ $a->set_pager_itemspage(80);
}
@@ -45,7 +45,7 @@ function directory_content(&$a) {
$directory = find_upstream_directory($dirmode);
if($directory) {
- $url = $directory['url'];
+ $url = $directory['url'] . '/dirsearch';
}
else {
$url = DIRECTORY_FALLBACK_MASTER . '/dirsearch';
@@ -53,12 +53,30 @@ function directory_content(&$a) {
}
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=' ;
if($search)
- $query .= '&name=' . urlencode($search);
+ $query .= '&name=' . urlencode($search) . '&keywords=' . urlencode($search);
if(strpos($search,'@'))
$query .= '&address=' . urlencode($search);
+
+ $sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : '');
+ if($sort_order)
+ $query .= '&order=' . urlencode($sort_order);
if($a->pager['page'] != 1)
$query .= '&p=' . $a->pager['page'];
@@ -66,7 +84,7 @@ function directory_content(&$a) {
logger('mod_directory: query: ' . $query);
$x = z_fetch_url($query);
- logger('directory: return from upstream: ' . print_r($x,true));
+ logger('directory: return from upstream: ' . print_r($x,true), LOGGER_DATA);
if($x['success']) {
$t = 0;
@@ -84,7 +102,11 @@ function directory_content(&$a) {
$profile_link = chanlink_url($rr['url']);
$pdesc = (($rr['description']) ? $rr['description'] . '<br />' : '');
-
+ $connect_link = ((local_user()) ? z_root() . '/follow?f=&url=' . urlencode($rr['address']) : '');
+
+ if(in_array($rr['hash'],$contacts))
+ $connect_link = '';
+
$details = '';
if(strlen($rr['locale']))
$details .= $rr['locale'];
@@ -138,7 +160,8 @@ function directory_content(&$a) {
'marital' => $marital,
'homepage' => $homepage,
'about' => $about,
-
+ 'conn_label' => t('Connect'),
+ 'connect' => $connect_link,
);
$arr = array('contact' => $rr, 'entry' => $entry);
@@ -146,14 +169,13 @@ function directory_content(&$a) {
call_hooks('directory_item', $arr);
$entries[] = $entry;
-
unset($profile);
unset($location);
}
- logger('mod_directory: entries: ' . print_r($entries,true), LOGGER_DATA);
+// logger('mod_directory: entries: ' . print_r($entries,true), LOGGER_DATA);
$o .= replace_macros($tpl, array(
'$search' => $search,
@@ -166,7 +188,7 @@ function directory_content(&$a) {
));
- $o .= alt_pager($a,$j['records'], t('more'), t('back'));
+ $o .= alt_pager($a,$j['records'], t('next page'), t('previous page'));
}
else {
diff --git a/mod/dirfind.php b/mod/dirfind.php
deleted file mode 100644
index 54bbf31af..000000000
--- a/mod/dirfind.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-function dirfind_init(&$a) {
-
- require_once('include/contact_widgets.php');
-
- if(! x($a->page,'aside'))
- $a->page['aside'] = '';
-
- $a->page['aside'] .= follow_widget();
-
- $a->page['aside'] .= findpeople_widget();
-}
-
-
-
-function dirfind_content(&$a) {
-
- $search = notags(trim($_REQUEST['search']));
-
- if(strpos($search,'@') === 0)
- $search = substr($search,1);
-
- $o = '';
-
- $o .= '<h2>' . t('People Search') . ' - ' . $search . '</h2>';
-
- if($search) {
-
- $p = (($a->pager['page'] != 1) ? '&p=' . $a->pager['page'] : '');
-
- if(strlen(get_config('system','directory_submit_url')))
- $x = fetch_url('http://dir.friendica.com/lsearch?f=' . $p . '&search=' . urlencode($search));
-
-//TODO fallback local search if global dir not available.
-// else
-// $x = post_url($a->get_baseurl() . '/lsearch', $params);
-
- $j = json_decode($x);
-
- if($j->total) {
- $a->set_pager_total($j->total);
- $a->set_pager_itemspage($j->items_page);
- }
-
- if(count($j->results)) {
-
- $tpl = get_markup_template('match.tpl');
- foreach($j->results as $jj) {
-
- $o .= replace_macros($tpl,array(
- '$url' => zid($jj->url),
- '$name' => $jj->name,
- '$photo' => $jj->photo,
- '$tags' => $jj->tags
- ));
- }
- }
- else {
- info( t('No matches') . EOL);
- }
-
- }
-
- $o .= '<div class="clear"></div>';
- $o .= paginate($a);
- return $o;
-}
diff --git a/mod/dirsearch.php b/mod/dirsearch.php
index 7e4323da9..0a4d0ed2b 100644
--- a/mod/dirsearch.php
+++ b/mod/dirsearch.php
@@ -22,15 +22,27 @@ function dirsearch_content(&$a) {
json_return_and_die($ret);
}
- $name = ((x($_REQUEST,'name')) ? $_REQUEST['name'] : '');
- $address = ((x($_REQUEST,'address')) ? $_REQUEST['address'] : '');
- $locale = ((x($_REQUEST,'locale')) ? $_REQUEST['locale'] : '');
- $region = ((x($_REQUEST,'region')) ? $_REQUEST['region'] : '');
+ if(argc() > 1 && argv(1) === 'sites') {
+ $ret = list_public_sites();
+ json_return_and_die($ret);
+ }
+
+
+ $name = ((x($_REQUEST,'name')) ? $_REQUEST['name'] : '');
+ $hub = ((x($_REQUEST,'hub')) ? $_REQUEST['hub'] : '');
+ $address = ((x($_REQUEST,'address')) ? $_REQUEST['address'] : '');
+ $locale = ((x($_REQUEST,'locale')) ? $_REQUEST['locale'] : '');
+ $region = ((x($_REQUEST,'region')) ? $_REQUEST['region'] : '');
$postcode = ((x($_REQUEST,'postcode')) ? $_REQUEST['postcode'] : '');
- $country = ((x($_REQUEST,'country')) ? $_REQUEST['country'] : '');
- $gender = ((x($_REQUEST,'gender')) ? $_REQUEST['gender'] : '');
- $marital = ((x($_REQUEST,'marital')) ? $_REQUEST['marital'] : '');
+ $country = ((x($_REQUEST,'country')) ? $_REQUEST['country'] : '');
+ $gender = ((x($_REQUEST,'gender')) ? $_REQUEST['gender'] : '');
+ $marital = ((x($_REQUEST,'marital')) ? $_REQUEST['marital'] : '');
$keywords = ((x($_REQUEST,'keywords')) ? $_REQUEST['keywords'] : '');
+ $agege = ((x($_REQUEST,'agege')) ? intval($_REQUEST['agege']) : 0 );
+ $agele = ((x($_REQUEST,'agele')) ? intval($_REQUEST['agele']) : 0 );
+
+ $sync = ((x($_REQUEST,'sync')) ? datetime_convert('UTC','UTC',$_REQUEST['sync']) : '');
+ $sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : '');
// TODO - a meta search which joins all of these things to one search string
@@ -38,6 +50,8 @@ function dirsearch_content(&$a) {
if($name)
$sql_extra .= " OR xchan_name like '" . protect_sprintf( '%' . dbesc($name) . '%' ) . "' ";
+ if($hub)
+ $sql_extra .= " OR xchan_hash in (select hubloc_hash from hubloc where hubloc_host = '" . protect_sprintf(dbesc($hub)) . "') ";
if($address)
$sql_extra .= " OR xchan_addr like '" . protect_sprintf( '%' . dbesc($address) . '%' ) . "' ";
if($city)
@@ -55,12 +69,24 @@ function dirsearch_content(&$a) {
if($keywords)
$sql_extra .= " OR xprof_keywords like '" . protect_sprintf( '%' . dbesc($keywords) . '%' ) . "' ";
- $perpage = (($_REQUEST['n']) ? $_REQUEST['n'] : 80);
- $page = (($_REQUEST['p']) ? intval($_REQUEST['p'] - 1) : 0);
- $startrec = (($page+1) * $perpage) - $perpage;
- $limit = (($_REQUEST['limit']) ? intval($_REQUEST['limit']) : 0);
+ // we only support an age range currently. You must set both agege
+ // (greater than or equal) and agele (less than or equal)
+
+ if($agele && $agege) {
+ $sql_extra .= " OR ( xprof_age <= " . intval($agele) . " ";
+ $sql_extra .= " AND xprof_age >= " . intval($agege) . ") ";
+ }
+
+ $perpage = (($_REQUEST['n']) ? $_REQUEST['n'] : 80);
+ $page = (($_REQUEST['p']) ? intval($_REQUEST['p'] - 1) : 0);
+ $startrec = (($page+1) * $perpage) - $perpage;
+ $limit = (($_REQUEST['limit']) ? intval($_REQUEST['limit']) : 0);
$return_total = ((x($_REQUEST,'return_total')) ? intval($_REQUEST['return_total']) : 0);
+ // mtime is not currently working
+
+ $mtime = ((x($_REQUEST,'mtime')) ? datetime_convert('UTC','UTC',$_REQUEST['mtime']) : '');
+
// ok a separate tag table won't work.
// merge them into xprof
@@ -77,8 +103,9 @@ function dirsearch_content(&$a) {
else {
$qlimit = " LIMIT " . intval($startrec) . " , " . intval($perpage);
if($return_total) {
- $r = q("SELECT COUNT(xchan_hash) AS `total` FROM xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and not ( xchan_flags & %d) ",
- intval(XCHAN_FLAGS_HIDDEN)
+ $r = q("SELECT COUNT(xchan_hash) AS `total` FROM xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and not ( xchan_flags & %d) and not ( xchan_flags & %d ) ",
+ intval(XCHAN_FLAGS_HIDDEN),
+ intval(XCHAN_FLAGS_ORPHAN)
);
if($r) {
$ret['total_items'] = $r[0]['total'];
@@ -86,11 +113,32 @@ function dirsearch_content(&$a) {
}
}
- $order = " ORDER BY `xchan_name` ASC ";
+ if($mtime) {
+ $qlimit = '';
+// $sql_extra .= " and xchan_hash in ( select ud_hash from updates where ud_date > '" . dbesc($mtime) . "' ) ";
+ }
+
+ if($sort_order == 'date')
+ $order = ""; // " order by ud_date desc ";
+ elseif($sort_order == 'reverse')
+ $order = " order by xchan_name desc ";
+ else
+ $order = " order by xchan_name asc ";
+
+
+ if($sync) {
+
+ $r = q("select xchan.*, updates.* from xchan left join updates on ud_hash = xchan_hash where ud_date >= '%s' and ud_guid != '' order by ud_date desc",
+ dbesc($sync)
+ );
- $r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and not ( xchan_flags & %d ) $order $qlimit ",
- intval(XCHAN_FLAGS_HIDDEN)
- );
+ }
+ 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 ) $order $qlimit ",
+ intval(XCHAN_FLAGS_HIDDEN),
+ intval(XCHAN_FLAGS_ORPHAN)
+ );
+ }
$ret['page'] = $page + 1;
$ret['records'] = count($r);
@@ -104,6 +152,10 @@ function dirsearch_content(&$a) {
$entry = array();
$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'] = $rr['xchan_photo_m'];
$entry['address'] = $rr['xchan_addr'];
@@ -113,6 +165,7 @@ function dirsearch_content(&$a) {
$entry['postcode'] = $rr['xprof_postcode'];
$entry['country'] = $rr['xprof_country'];
$entry['birthday'] = $rr['xprof_dob'];
+ $entry['age'] = $rr['xprof_age'];
$entry['gender'] = $rr['xprof_gender'];
$entry['marital'] = $rr['xprof_marital'];
$entry['keywords'] = $rr['xprof_keywords'];
@@ -122,8 +175,46 @@ function dirsearch_content(&$a) {
}
$ret['results'] = $entries;
-
+ if(! $sync) {
+ $k = dir_tagadelic(24);
+ if($k) {
+ $ret['keywords'] = array();
+ foreach($k as $kv) {
+ $ret['keywords'][] = array('term' => $kv[0],'weight' => $kv[1]);
+ }
+ }
+ }
}
json_return_and_die($ret);
}
+
+
+function list_public_sites() {
+ $r = q("select * from site where site_access != 0 order by rand()");
+ $ret = array('success' => false);
+
+ if($r) {
+ $ret['success'] = true;
+ $ret['sites'] = array();
+ foreach($r as $rr) {
+
+ if($rr['site_access'] == ACCESS_FREE)
+ $access = 'free';
+ elseif($rr['site_access'] == ACCESS_PAID)
+ $access = 'paid';
+ else
+ $access = 'private';
+
+ if($rr['site_register'] == REGISTER_OPEN)
+ $register = 'open';
+ elseif($rr['site_register'] == REGISTER_APPROVE)
+ $register = 'approve';
+ else
+ $register = 'closed';
+
+ $ret['sites'][] = array('url' => $rr['site_url'], 'access' => $access, 'register' => $register, 'sellpage' => $rr['site_sellpage']);
+ }
+ }
+ return $ret;
+} \ No newline at end of file
diff --git a/mod/display.php b/mod/display.php
index 3c2172c7d..d19502eb1 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -3,6 +3,8 @@
function display_content(&$a, $update = 0, $load = false) {
+// logger("mod-display: update = $update load = $load");
+
if(intval(get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
notice( t('Public access denied.') . EOL);
return;
@@ -17,11 +19,12 @@ function display_content(&$a, $update = 0, $load = false) {
$a->page['htmlhead'] .= replace_macros(get_markup_template('display-head.tpl'), array());
-
if(argc() > 1 && argv(1) !== 'load')
$item_hash = argv(1);
- if($_REQUEST['uri'])
- $item_hash = $_REQUEST['uri'];
+
+
+ if($_REQUEST['mid'])
+ $item_hash = $_REQUEST['mid'];
if(! $item_hash) {
@@ -43,7 +46,7 @@ function display_content(&$a, $update = 0, $load = false) {
$target_item = null;
- $r = q("select uri, parent_uri from item where uri = '%s' limit 1",
+ $r = q("select mid, parent_mid from item where mid = '%s' limit 1",
dbesc($item_hash)
);
@@ -55,7 +58,7 @@ function display_content(&$a, $update = 0, $load = false) {
$o .= '<div id="live-display"></div>' . "\r\n";
- $o .= "<script> var profile_uid = " . intval(local_user())
+ $o .= "<script> var profile_uid = " . ((intval(local_user())) ? local_user() : (-1))
. "; var netargs = '?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
$a->page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
@@ -79,7 +82,7 @@ function display_content(&$a, $update = 0, $load = false) {
'$cats' => '',
'$dend' => '',
'$dbegin' => '',
- '$uri' => $item_hash
+ '$mid' => $item_hash
));
@@ -87,23 +90,40 @@ function display_content(&$a, $update = 0, $load = false) {
$sql_extra = public_permissions_sql(get_observer_hash());
-
if($update && $load) {
+ $updateable = false;
+
$pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
if($load) {
-
- $r = q("SELECT * from item
- WHERE item_restrict = 0
- and uri = '%s'
- AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
- AND `item`.`deny_gid` = '' AND item_private = 0 )
- and uid in ( " . stream_perms_api_uids() . " ))
- $sql_extra )
- group by uri limit 1",
- dbesc($target_item['parent_uri'])
- );
+ $r = null;
+ if(local_user()) {
+ $r = q("SELECT * from item
+ WHERE item_restrict = 0
+ and uid = %d
+ and mid = '%s'
+ limit 1",
+ intval(local_user()),
+ dbesc($target_item['parent_mid'])
+ );
+ if($r) {
+ $updateable = true;
+
+ }
+ }
+ if($r === null) {
+ $r = q("SELECT * from item
+ WHERE item_restrict = 0
+ and mid = '%s'
+ AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
+ AND `item`.`deny_gid` = '' AND item_private = 0 )
+ and uid in ( " . stream_perms_api_uids() . " ))
+ $sql_extra )
+ group by mid limit 1",
+ dbesc($target_item['parent_mid'])
+ );
+ }
}
else {
@@ -131,14 +151,26 @@ function display_content(&$a, $update = 0, $load = false) {
}
- $o .= conversation($a,$items,'display', $update, 'client');
+
+ $o .= conversation($a, $items, 'display', $update, 'client');
+
+ if($updateable) {
+ $x = q("UPDATE item SET item_flags = ( item_flags ^ %d )
+ WHERE (item_flags & %d) AND uid = %d and parent = %d ",
+ intval(ITEM_UNSEEN),
+ intval(ITEM_UNSEEN),
+ intval(local_user()),
+ intval($r[0]['parent'])
+ );
+ }
+
return $o;
/*
elseif((! $update) && (! {
- $r = q("SELECT `id`, item_flags FROM `item` WHERE `id` = '%s' OR `uri` = '%s' LIMIT 1",
+ $r = q("SELECT `id`, item_flags FROM `item` WHERE `id` = '%s' OR `mid` = '%s' LIMIT 1",
dbesc($item_hash),
dbesc($item_hash)
);
diff --git a/mod/editblock.php b/mod/editblock.php
new file mode 100644
index 000000000..a111f6666
--- /dev/null
+++ b/mod/editblock.php
@@ -0,0 +1,159 @@
+<?php
+
+// What is this here for? I think it's cruft, but comment out for now in case it's here for a reason
+// require_once('acl_selectors.php');
+
+function editblock_content(&$a) {
+
+// We first need to figure out who owns the webpage, grab it from an argument
+ $which = argv(1);
+
+// $a->get_channel() and stuff don't work here, so we've got to find the owner for ourselves.
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ //logger('owner: ' . print_r($owner,true));
+ }
+
+
+
+
+ if((local_user()) && (argc() > 2) && (argv(2) === 'view')) {
+ $which = $channel['channel_address'];
+ }
+
+
+ $o = '';
+
+
+// Figure out which post we're editing
+ $post_id = ((argc() > 2) ? intval(argv(2)) : 0);
+
+
+ if(! $post_id) {
+ notice( t('Item not found') . EOL);
+ return;
+ }
+
+// Now we've got a post and an owner, let's find out if we're allowed to edit it
+
+ $observer = $a->get_observer();
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+
+ $perms = get_all_perms($owner,$ob_hash);
+
+ if(! $perms['write_pages']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+
+
+// We've already figured out which item we want and whose copy we need, so we don't need anything fancy here
+ $itm = q("SELECT * FROM `item` WHERE `id` = %d and uid = %s LIMIT 1",
+ intval($post_id),
+ intval($owner)
+ );
+
+
+
+ $plaintext = true;
+// You may or may not be a local user. This won't work,
+ if(feature_enabled(local_user(),'richtext'))
+ $plaintext = false;
+
+ $mimeselect = '';
+
+ if($mimetype != 'text/bbcode')
+ $plaintext = true;
+
+ if(get_config('system','page_mimetype'))
+ $mimeselect = '<input type="hidden" name="mimetype" value="' . $mimetype . '" />';
+ else
+ $mimeselect = mimetype_select($itm[0]['uid'],$mimetype);
+
+
+
+
+
+ $o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
+ '$title' => t('Edit Block')
+ ));
+
+
+ $a->page['htmlhead'] .= replace_macros(get_markup_template('jot-header.tpl'), array(
+ '$baseurl' => $a->get_baseurl(),
+ '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
+ '$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
+ '$geotag' => $geotag,
+ '$nickname' => $a->user['nickname']
+ ));
+
+
+ $tpl = get_markup_template("jot.tpl");
+
+ $jotplugins = '';
+ $jotnets = '';
+
+ call_hooks('jot_tool', $jotplugins);
+ call_hooks('jot_networks', $jotnets);
+
+ $channel = $a->get_channel();
+
+ //$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
+
+//FIXME A return path with $_SESSION doesn't always work for observer - it may WSoD instead of loading a sensible page. So, send folk to the webpage list.
+
+ $rp = '/blocks/' . $which;
+
+ $o .= replace_macros($tpl,array(
+ '$return_path' => $rp,
+ '$action' => 'item',
+ '$share' => t('Edit'),
+ '$upload' => t('Upload photo'),
+ '$attach' => t('Attach file'),
+ '$weblink' => t('Insert web link'),
+ '$youtube' => t('Insert YouTube video'),
+ '$video' => t('Insert Vorbis [.ogg] video'),
+ '$audio' => t('Insert Vorbis [.ogg] audio'),
+ '$setloc' => t('Set your location'),
+ '$noloc' => t('Clear browser location'),
+ '$wait' => t('Please wait'),
+ '$permset' => t('Permission settings'),
+ '$ptyp' => $itm[0]['type'],
+ '$mimeselect' => $mimeselect,
+ '$content' => undo_post_tagging($itm[0]['body']),
+ '$post_id' => $post_id,
+ '$baseurl' => $a->get_baseurl(),
+ '$defloc' => $channel['channel_location'],
+ '$visitor' => 'none',
+ '$pvisit' => 'none',
+ '$public' => t('Public post'),
+ '$jotnets' => $jotnets,
+ '$title' => htmlspecialchars($itm[0]['title']),
+ '$placeholdertitle' => t('Set title'),
+ '$category' => '',
+ '$placeholdercategory' => t('Categories (comma-separated list)'),
+ '$emtitle' => t('Example: bob@example.com, mary@example.com'),
+ '$lockstate' => $lockstate,
+ '$acl' => '',
+ '$bang' => '',
+ '$profile_uid' => (intval($owner)),
+ '$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
+ '$jotplugins' => $jotplugins,
+ '$sourceapp' => t($a->sourcename),
+ ));
+
+
+ $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 />';
+
+ return $o;
+
+}
+
+
diff --git a/mod/editlayout.php b/mod/editlayout.php
new file mode 100644
index 000000000..7bcd02512
--- /dev/null
+++ b/mod/editlayout.php
@@ -0,0 +1,143 @@
+<?php
+
+// What is this here for? I think it's cruft, but comment out for now in case it's here for a reason
+// require_once('acl_selectors.php');
+
+function editlayout_content(&$a) {
+
+// We first need to figure out who owns the webpage, grab it from an argument
+ $which = argv(1);
+
+// $a->get_channel() and stuff don't work here, so we've got to find the owner for ourselves.
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ //logger('owner: ' . print_r($owner,true));
+ }
+
+
+
+
+ if((local_user()) && (argc() > 2) && (argv(2) === 'view')) {
+ $which = $channel['channel_address'];
+ }
+
+
+ $o = '';
+
+
+// Figure out which post we're editing
+ $post_id = ((argc() > 2) ? intval(argv(2)) : 0);
+
+
+ if(! $post_id) {
+ notice( t('Item not found') . EOL);
+ return;
+ }
+
+// Now we've got a post and an owner, let's find out if we're allowed to edit it
+
+ $observer = $a->get_observer();
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+
+ $perms = get_all_perms($owner,$ob_hash);
+
+ if(! $perms['write_pages']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+
+
+// We've already figured out which item we want and whose copy we need, so we don't need anything fancy here
+ $itm = q("SELECT * FROM `item` WHERE `id` = %d and uid = %s LIMIT 1",
+ intval($post_id),
+ intval($owner)
+ );
+
+
+
+ $plaintext = true;
+// You may or may not be a local user. This won't work,
+ if(feature_enabled(local_user(),'richtext'))
+ $plaintext = false;
+
+ $o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
+ '$title' => t('Edit Layout')
+ ));
+
+
+ $a->page['htmlhead'] .= replace_macros(get_markup_template('jot-header.tpl'), array(
+ '$baseurl' => $a->get_baseurl(),
+ '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
+ '$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
+ '$geotag' => $geotag,
+ '$nickname' => $a->user['nickname']
+ ));
+
+
+ $tpl = get_markup_template("jot.tpl");
+
+ $jotplugins = '';
+ $jotnets = '';
+
+ call_hooks('jot_tool', $jotplugins);
+ call_hooks('jot_networks', $jotnets);
+
+ $channel = $a->get_channel();
+
+ //$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
+
+//FIXME A return path with $_SESSION doesn't always work for observer - it may WSoD instead of loading a sensible page. So, send folk to the webpage list.
+
+ $rp = '/layouts/' . $which;
+
+ $o .= replace_macros($tpl,array(
+ '$return_path' => $rp,
+ '$action' => 'item',
+ '$share' => t('Edit'),
+ '$upload' => t('Upload photo'),
+ '$attach' => t('Attach file'),
+ '$weblink' => t('Insert web link'),
+ '$youtube' => t('Insert YouTube video'),
+ '$video' => t('Insert Vorbis [.ogg] video'),
+ '$audio' => t('Insert Vorbis [.ogg] audio'),
+ '$setloc' => t('Set your location'),
+ '$noloc' => t('Clear browser location'),
+ '$wait' => t('Please wait'),
+ '$permset' => t('Permission settings'),
+ '$ptyp' => $itm[0]['type'],
+ '$content' => undo_post_tagging($itm[0]['body']),
+ '$post_id' => $post_id,
+ '$baseurl' => $a->get_baseurl(),
+ '$defloc' => $channel['channel_location'],
+ '$visitor' => 'none',
+ '$pvisit' => 'none',
+ '$public' => t('Public post'),
+ '$jotnets' => $jotnets,
+ '$title' => htmlspecialchars($itm[0]['title']),
+ '$placeholdertitle' => t('Set title'),
+ '$category' => '',
+ '$placeholdercategory' => t('Categories (comma-separated list)'),
+ '$emtitle' => t('Example: bob@example.com, mary@example.com'),
+ '$lockstate' => $lockstate,
+ '$acl' => '',
+ '$bang' => '',
+ '$profile_uid' => (intval($owner)),
+ '$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
+ '$jotplugins' => $jotplugins,
+ '$sourceapp' => t($a->sourcename),
+ ));
+
+ $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 />';
+
+ return $o;
+
+}
+
+
diff --git a/mod/editpost.php b/mod/editpost.php
index 43c71ca8a..8d510ce05 100644
--- a/mod/editpost.php
+++ b/mod/editpost.php
@@ -1,6 +1,9 @@
<?php
require_once('acl_selectors.php');
+require_once('include/crypto.php');
+require_once('include/items.php');
+require_once('include/taxonomy.php');
function editpost_content(&$a) {
@@ -18,13 +21,14 @@ function editpost_content(&$a) {
return;
}
- $itm = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ $itm = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d and author_xchan = '%s' LIMIT 1",
intval($post_id),
- intval(local_user())
+ intval(local_user()),
+ dbesc(get_observer_hash())
);
if(! count($itm)) {
- notice( t('Item not found') . EOL);
+ notice( t('Item is not editable') . EOL);
return;
}
@@ -46,6 +50,15 @@ function editpost_content(&$a) {
));
+
+ if($itm[0]['item_flags'] & ITEM_OBSCURED) {
+ $key = get_config('system','prvkey');
+ if($itm[0]['title'])
+ $itm[0]['title'] = aes_unencapsulate(json_decode_plus($itm[0]['title']),$key);
+ if($itm[0]['body'])
+ $itm[0]['body'] = aes_unencapsulate(json_decode_plus($itm[0]['body']),$key);
+ }
+
$tpl = get_markup_template("jot.tpl");
$jotplugins = '';
@@ -59,6 +72,22 @@ function editpost_content(&$a) {
//$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
+ $category = '';
+ $catsenabled = ((feature_enabled(local_user(),'categories')) ? 'categories' : '');
+
+ if ($catsenabled){
+ $itm = fetch_post_tags($itm);
+
+ $cats = get_terms_oftype($itm[0]['term'], TERM_CATEGORY);
+
+ foreach ($cats as $cat) {
+ if (strlen($category))
+ $category .= ', ';
+ $category .= $cat['term'];
+ }
+
+ }
+
$o .= replace_macros($tpl,array(
'$return_path' => $_SESSION['return_url'],
'$action' => 'item',
@@ -82,9 +111,9 @@ function editpost_content(&$a) {
'$pvisit' => 'none',
'$public' => t('Public post'),
'$jotnets' => $jotnets,
- '$title' => $itm[0]['title'],
+ '$title' => htmlspecialchars($itm[0]['title']),
'$placeholdertitle' => t('Set title'),
- '$category' => file_tag_file_to_list($itm[0]['file'], 'category'),
+ '$category' => $category,
'$placeholdercategory' => t('Categories (comma-separated list)'),
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $lockstate,
@@ -94,6 +123,7 @@ function editpost_content(&$a) {
'$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
'$jotplugins' => $jotplugins,
'$sourceapp' => t($a->sourcename),
+ '$catsenabled' => $catsenabled,
));
return $o;
diff --git a/mod/editwebpage.php b/mod/editwebpage.php
new file mode 100644
index 000000000..44ac0bc85
--- /dev/null
+++ b/mod/editwebpage.php
@@ -0,0 +1,164 @@
+<?php
+
+// Required for setting permissions. (FIXME)
+
+require_once('acl_selectors.php');
+
+function editwebpage_content(&$a) {
+
+ // We first need to figure out who owns the webpage, grab it from an argument
+
+ $which = argv(1);
+
+ // $a->get_channel() and stuff don't work here, so we've got to find the owner for ourselves.
+
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ //logger('owner: ' . print_r($owner,true));
+ }
+
+ $o = '';
+
+ // Figure out which post we're editing
+ $post_id = ((argc() > 2) ? intval(argv(2)) : 0);
+
+
+ if(! $post_id) {
+ notice( t('Item not found') . EOL);
+ return;
+ }
+
+ // Now we've got a post and an owner, let's find out if we're allowed to edit it
+
+ $observer = $a->get_observer();
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+
+ $perms = get_all_perms($owner,$ob_hash);
+
+ if(! $perms['write_pages']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+
+
+ // We've already figured out which item we want and whose copy we need, so we don't need anything fancy here
+ $itm = q("SELECT * FROM `item` WHERE `id` = %d and uid = %s LIMIT 1",
+ intval($post_id),
+ intval($owner)
+ );
+
+
+ $plaintext = true;
+
+ if(feature_enabled($itm[0]['uid'],'richtext'))
+ $plaintext = false;
+
+ $mimetype = $itm[0]['mimetype'];
+
+ if($mimetype === 'application/x-php') {
+ if((! local_user()) || (local_user() != $itm[0]['uid'])) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+ }
+
+ $mimeselect = '';
+
+ if($mimetype != 'text/bbcode')
+ $plaintext = true;
+
+ if(get_config('system','page_mimetype'))
+ $mimeselect = '<input type="hidden" name="mimetype" value="' . $mimetype . '" />';
+ else
+ $mimeselect = mimetype_select($itm[0]['uid'],$mimetype);
+
+ $layout = get_config('system','page_layout');
+ if($layout)
+ $layoutselect = '<input type="hidden" name="layout_mid" value="' . $layout . '" />';
+ else
+ $layoutselect = layout_select($itm[0]['uid']);
+
+
+ $o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
+ '$title' => t('Edit Webpage')
+ ));
+
+
+ $a->page['htmlhead'] .= replace_macros(get_markup_template('jot-header.tpl'), array(
+ '$baseurl' => $a->get_baseurl(),
+ '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
+ '$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
+ '$geotag' => $geotag,
+ '$nickname' => $a->user['nickname']
+ ));
+
+
+ $tpl = get_markup_template("jot.tpl");
+
+ $jotplugins = '';
+ $jotnets = '';
+
+ call_hooks('jot_tool', $jotplugins);
+ call_hooks('jot_networks', $jotnets);
+
+ $channel = $a->get_channel();
+
+ //$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
+
+//FIXME A return path with $_SESSION doesn't always work for observer - it may WSoD instead of loading a sensible page. So, send folk to the webpage list.
+
+ $rp = '/webpages/' . $which;
+
+ $o .= replace_macros($tpl,array(
+ '$return_path' => $rp,
+ '$action' => 'item',
+ '$share' => t('Edit'),
+ '$upload' => t('Upload photo'),
+ '$attach' => t('Attach file'),
+ '$weblink' => t('Insert web link'),
+ '$youtube' => t('Insert YouTube video'),
+ '$video' => t('Insert Vorbis [.ogg] video'),
+ '$audio' => t('Insert Vorbis [.ogg] audio'),
+ '$setloc' => t('Set your location'),
+ '$noloc' => t('Clear browser location'),
+ '$wait' => t('Please wait'),
+ '$permset' => t('Permission settings'),
+ '$ptyp' => $itm[0]['type'],
+ '$content' => undo_post_tagging($itm[0]['body']),
+ '$post_id' => $post_id,
+ '$baseurl' => $a->get_baseurl(),
+ '$defloc' => $channel['channel_location'],
+ '$visitor' => 'none',
+ '$pvisit' => 'none',
+ '$public' => t('Public post'),
+ '$jotnets' => $jotnets,
+ '$mimeselect' => $mimeselect,
+ '$layoutselect' => $layoutselect,
+ '$title' => htmlspecialchars($itm[0]['title']),
+ '$placeholdertitle' => t('Set title'),
+ '$category' => '',
+ '$placeholdercategory' => t('Categories (comma-separated list)'),
+ '$emtitle' => t('Example: bob@example.com, mary@example.com'),
+ '$lockstate' => $lockstate,
+ '$acl' => '',
+ '$bang' => '',
+ '$profile_uid' => (intval($owner)),
+ '$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
+ '$jotplugins' => $jotplugins,
+ '$sourceapp' => t($a->sourcename),
+ ));
+
+ $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 />';
+
+ return $o;
+
+}
+
+
diff --git a/mod/events.php b/mod/events.php
index 8c509cfea..f43a99cba 100755
--- a/mod/events.php
+++ b/mod/events.php
@@ -135,6 +135,8 @@ function events_content(&$a) {
return;
}
+ nav_set_selected('all_events');
+
if((argc() > 2) && (argv(1) === 'ignore') && intval(argv(2))) {
$r = q("update event set ignore = 1 where id = %d and uid = %d limit 1",
intval(argv(2)),
@@ -229,9 +231,9 @@ function events_content(&$a) {
$adjust_start = datetime_convert('UTC', date_default_timezone_get(), $start);
$adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $finish);
-
if (x($_GET,'id')){
- $r = q("SELECT * from event left join item on resource_id = event_hash where resource_type = 'event' and event.uid = %d and event.id = %d limit 1",
+ $r = q("SELECT event.*, item.plink, item.item_flags, item.author_xchan, item.owner_xchan
+ from event left join item on resource_id = event_hash where resource_type = 'event' and event.uid = %d and event.id = %d limit 1",
intval(local_user()),
intval($_GET['id'])
);
@@ -242,8 +244,8 @@ function events_content(&$a) {
// Noting this for now - it will need to be fixed here and in Friendica.
// Ultimately the finish date shouldn't be involved in the query.
-
- $r = q("SELECT * from event left join item on event_hash = resource_id
+ $r = q("SELECT event.*, item.plink, item.item_flags, item.author_xchan, item.owner_xchan
+ from event left join item on event_hash = resource_id
where resource_type = 'event' and event.uid = %d and event.ignore = %d
AND (( `adjust` = 0 AND ( `finish` >= '%s' or nofinish ) AND `start` <= '%s' )
OR ( `adjust` = 1 AND ( `finish` >= '%s' or nofinish ) AND `start` <= '%s' )) ",
@@ -339,6 +341,7 @@ function events_content(&$a) {
else {
$tpl = get_markup_template("events-js.tpl");
}
+
$o = replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(),
'$tabs' => $tabs,
@@ -379,7 +382,7 @@ function events_content(&$a) {
$l_orig = ((x($orig_event)) ? $orig_event['location'] : '');
$eid = ((x($orig_event)) ? $orig_event['id'] : 0);
$event_xchan = ((x($orig_event)) ? $orig_event['event_xchan'] : $channel['channel_hash']);
- $uri = ((x($orig_event)) ? $orig_event['uri'] : '');
+ $mid = ((x($orig_event)) ? $orig_event['mid'] : '');
if(! x($orig_event))
$sh_checked = '';
@@ -427,7 +430,7 @@ function events_content(&$a) {
'$post' => $a->get_baseurl() . '/events',
'$eid' => $eid,
'$xchan' => $event_xchan,
- '$uri' => $uri,
+ '$mid' => $mid,
'$title' => t('Event details'),
'$desc' => sprintf( t('Format is %s %s. Starting date and Title are required.'),$dateformat,$timeformat),
diff --git a/mod/fbrowser.php b/mod/fbrowser.php
index d10d8021b..baacfe56b 100644
--- a/mod/fbrowser.php
+++ b/mod/fbrowser.php
@@ -5,7 +5,7 @@
* @author Fabio Comuni <fabrixxm@kirgroup.com>
*/
-require_once('include/Photo.php');
+require_once('include/photo/photo_driver.php');
/**
* @param App $a
@@ -53,7 +53,8 @@ function fbrowser_content($a){
function files1($rr){
global $a;
- $types = Photo::supportedTypes();
+ $ph = photo_factory('');
+ $types = $ph->supportedTypes();
$ext = $types[$rr['type']];
if($a->get_template_engine() === 'internal') {
diff --git a/mod/feed.php b/mod/feed.php
index a6adc620e..0f8296ed1 100644
--- a/mod/feed.php
+++ b/mod/feed.php
@@ -7,13 +7,14 @@ function feed_init(&$a) {
$params = array();
- $params['begin'] = ((x($_REQUEST,'date_begin')) ? $_REQUEST['date_begin'] : '0000-00-00 00:00:00');
- $params['end'] = ((x($_REQUEST,'date_end')) ? $_REQUEST['date_end'] : '');
- $params['type'] = ((stristr(argv(0),'json')) ? 'json' : 'xml');
+ $params['begin'] = ((x($_REQUEST,'date_begin')) ? $_REQUEST['date_begin'] : '0000-00-00 00:00:00');
+ $params['end'] = ((x($_REQUEST,'date_end')) ? $_REQUEST['date_end'] : '');
+ $params['type'] = ((stristr(argv(0),'json')) ? 'json' : 'xml');
+ $params['pages'] = ((x($_REQUEST,'pages')) ? intval($_REQUEST['pages']) : 0);
$channel = '';
if(argc() > 1) {
- $r = q("select * from channel where channel_address = '%s' limit 1",
+ $r = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_address = '%s' limit 1",
dbesc(argv(1))
);
if(!($r && count($r)))
@@ -21,11 +22,6 @@ function feed_init(&$a) {
$channel = $r[0];
- // check site and channel permissions
-
- if(!($channel['channel_r_stream'] & PERMS_PUBLIC))
- killme();
-
if((intval(get_config('system','block_public'))) && (! get_account_id()))
killme();
diff --git a/mod/filestorage.php b/mod/filestorage.php
new file mode 100644
index 000000000..5e1e61f42
--- /dev/null
+++ b/mod/filestorage.php
@@ -0,0 +1,90 @@
+<?php
+
+function filestorage_content(&$a) {
+
+ if(argc() > 1)
+ $which = argv(1);
+ else {
+ notice( t('Requested profile is not available.') . EOL );
+ $a->error = 404;
+ return;
+ }
+
+ $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_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.
+
+ $is_owner = (((local_user()) && ($owner == local_user())) ? true : false);
+ 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;
+ }
+
+ $file = argv(2);
+ $r = q("delete from attach where id = '%s' and uid = '%s' limit 1",
+ dbesc($file),
+ intval($owner)
+ );
+
+
+ }
+
+
+$r = q("select * from attach where uid = %d order by filename asc",
+ 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']);
+ }
+ }
+
+
+ $limit = service_class_fetch ($owner,'attach_upload_limit');
+ $r = q("select sum(filesize) as total from attach where uid = %d ",
+ intval($owner)
+ );
+ $used = $r[0]['total'];
+
+ $url = z_root() . "/filestorage/" . $which;
+ return $o . replace_macros(get_markup_template("filestorage.tpl"), array(
+ '$baseurl' => $url,
+ '$download' => t('Download'),
+ '$files' => $files,
+ '$channel' => $which,
+ '$delete' => t('Delete'),
+ '$used' => $used,
+ '$usedlabel' => t('Used: '),
+ '$limit' => $limit,
+ '$limitlabel' => t('Limit: '),
+ ));
+
+
+}
diff --git a/mod/follow.php b/mod/follow.php
index c07c210f6..9f5a8183b 100644
--- a/mod/follow.php
+++ b/mod/follow.php
@@ -6,15 +6,15 @@ require_once('include/follow.php');
function follow_init(&$a) {
if(! local_user()) {
- notice( t('Permission denied.') . EOL);
return;
}
$uid = local_user();
$url = notags(trim($_REQUEST['url']));
$return_url = $_SESSION['return_url'];
+ $confirm = intval($_REQUEST['confirm']);
- $result = new_contact($uid,$url,$a->get_channel(),true);
+ $result = new_contact($uid,$url,$a->get_channel(),true,$confirm);
if($result['success'] == false) {
if($result['message'])
@@ -22,8 +22,15 @@ function follow_init(&$a) {
goaway($return_url);
}
- info( t('Channel added') . EOL);
+ info( t('Channel added.') . EOL);
goaway(z_root() . '/connections/' . $result['abook']['abook_id']);
}
+
+function follow_content(&$a) {
+
+ if(! local_user()) {
+ return login();
+ }
+} \ No newline at end of file
diff --git a/mod/fsuggest.php b/mod/fsuggest.php
index 9ef8f4c55..8b6f077d3 100644
--- a/mod/fsuggest.php
+++ b/mod/fsuggest.php
@@ -100,8 +100,9 @@ function fsuggest_content(&$a) {
$o .= '<form id="fsuggest-form" action="fsuggest/' . $contact_id . '" method="post" >';
- $o .= contact_selector('suggest','suggest-select', false,
- array('size' => 4, 'exclude' => $contact_id, 'networks' => 'DFRN_ONLY', 'single' => true));
+// FIXME contact_selector deprecated, removed
+// $o .= contact_selector('suggest','suggest-select', false,
+// array('size' => 4, 'exclude' => $contact_id, 'networks' => 'DFRN_ONLY', 'single' => true));
$o .= '<div id="fsuggest-submit-wrapper"><input id="fsuggest-submit" type="submit" name="submit" value="' . t('Submit') . '" /></div>';
diff --git a/mod/group.php b/mod/group.php
index 778ecbded..46386be0d 100644
--- a/mod/group.php
+++ b/mod/group.php
@@ -20,7 +20,8 @@ function group_post(&$a) {
check_form_security_token_redirectOnErr('/group/new', 'group_edit');
$name = notags(trim($_POST['groupname']));
- $r = group_add(local_user(),$name);
+ $public = intval($_POST['public']);
+ $r = group_add(local_user(),$name,$public);
if($r) {
info( t('Collection created.') . EOL );
$r = group_byname(local_user(),$name);
@@ -46,9 +47,12 @@ function group_post(&$a) {
}
$group = $r[0];
$groupname = notags(trim($_POST['groupname']));
+ $public = intval($_POST['public']);
+
if((strlen($groupname)) && ($groupname != $group['name'])) {
- $r = q("UPDATE `group` SET `name` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
+ $r = q("UPDATE `group` SET `name` = '%s', visible = %d WHERE `uid` = %d AND `id` = %d LIMIT 1",
dbesc($groupname),
+ intval($public),
intval(local_user()),
intval($group['id'])
);
@@ -85,9 +89,10 @@ function group_content(&$a) {
if((argc() == 2) && (argv(1) === 'new')) {
return replace_macros($tpl, $context + array(
- '$title' => t('Create a collection of connections.'),
+ '$title' => t('Create a collection of channels.'),
'$gname' => array('groupname',t('Collection Name: '), '', ''),
'$gid' => 'new',
+ '$public' => array('public',t('Members are visible to other channels'), false, ''),
'$form_security_token' => get_form_security_token("group_edit"),
));
@@ -143,12 +148,14 @@ function group_content(&$a) {
}
$group = $r[0];
+
$members = group_get_members($group['id']);
$preselected = array();
if(count($members)) {
foreach($members as $member)
- $preselected[] = $member['xchan_hash'];
+ if(! in_array($member['xchan_hash'],$preselected))
+ $preselected[] = $member['xchan_hash'];
}
if($change) {
@@ -182,6 +189,7 @@ function group_content(&$a) {
'$gname' => array('groupname',t('Collection Name: '),$group['name'], ''),
'$gid' => $group['id'],
'$drop' => $drop_txt,
+ '$public' => array('public',t('Members are visible to other channels'), $group['visible'], ''),
'$form_security_token' => get_form_security_token('group_edit'),
);
diff --git a/mod/help.php b/mod/help.php
index af05bd47c..770a0a8af 100644
--- a/mod/help.php
+++ b/mod/help.php
@@ -2,7 +2,7 @@
if(! function_exists('load_doc_file')) {
function load_doc_file($s) {
- global $lang;
+ $lang = get_app()->language;
if(! isset($lang))
$lang = 'en';
$b = basename($s);
diff --git a/mod/home.php b/mod/home.php
index 1bb0148d2..d17d477c8 100644
--- a/mod/home.php
+++ b/mod/home.php
@@ -8,11 +8,16 @@ function home_init(&$a) {
$channel = $a->get_channel();
- if(local_user() && $channel && $channel['xchan_url'])
- goaway( $channel['xchan_url']);
+ if(local_user() && $channel && $channel['xchan_url']) {
+ $dest = get_pconfig(local_user(),'system','startpage');
+ if(! $dest)
+ $dest = z_root() . '/network';
+
+ goaway($dest);
+ }
if(get_account_id()) {
- goaway('new_channel');
+ goaway(z_root() . '/new_channel');
}
}}
@@ -25,18 +30,58 @@ function home_content(&$a) {
if(x($_SESSION,'theme'))
unset($_SESSION['theme']);
- if(x($_SESSION,'mobile-theme'))
- unset($_SESSION['mobile-theme']);
+ if(x($_SESSION,'mobile_theme'))
+ unset($_SESSION['mobile_theme']);
+
+$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)
+ );
+
+ 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;
+ }
- $o .= '<h1>' . ((x($a->config,'sitename')) ? sprintf( t("Welcome to %s") ,$a->config['sitename']) : "" ) . '</h1>';
+ 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 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');
+}
- $o .= login(($a->config['system']['register_policy'] == REGISTER_CLOSED) ? 0 : 1);
+ $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 f35ca149b..e2e54c0cd 100644
--- a/mod/import.php
+++ b/mod/import.php
@@ -4,24 +4,29 @@
// connection to original server.
require_once('include/Contact.php');
-
+require_once('include/zot.php');
+require_once('include/identity.php');
function import_post(&$a) {
+ if(! get_account_id()) {
+ return;
+ }
$data = null;
$seize = ((x($_REQUEST,'make_primary')) ? intval($_REQUEST['make_primary']) : 0);
- $src = $_FILES['userfile']['tmp_name'];
- $filename = basename($_FILES['userfile']['name']);
- $filesize = intval($_FILES['userfile']['size']);
- $filetype = $_FILES['userfile']['type'];
+ $src = $_FILES['filename']['tmp_name'];
+ $filename = basename($_FILES['filename']['name']);
+ $filesize = intval($_FILES['filename']['size']);
+ $filetype = $_FILES['filename']['type'];
if($src) {
if($filesize) {
$data = @file_get_contents($src);
}
+ unlink($src);
}
if(! $src) {
@@ -39,7 +44,7 @@ function import_post(&$a) {
$servername = substr($old_address,strpos($old_address,'@')+1);
$scheme = 'https://';
- $api_path = '/api/export/basic?f=&channel=' . $channelname;
+ $api_path = '/api/red/channel/export/basic?f=&channel=' . $channelname;
$binary = false;
$redirects = 0;
$opts = array('http_auth' => $email . ':' . $password);
@@ -60,6 +65,7 @@ function import_post(&$a) {
return;
}
+ $data = json_decode($data,true);
// logger('import: data: ' . print_r($data,true));
@@ -113,9 +119,11 @@ function import_post(&$a) {
// reset
$channel = $r[0];
+ set_default_login_identity(get_account_id(),$channel['channel_id'],false);
+
if($data['photo']) {
- require_once('include/Photo.php');
- import_channel_photo(base64url_decode($data['photo']['data']),$data['photo']['type'],get_account_id,$channel['channel_id']);
+ require_once('include/photo/photo_driver.php');
+ import_channel_photo(base64url_decode($data['photo']['data']),$data['photo']['type'],get_account_id(),$channel['channel_id']);
}
$profiles = $data['profile'];
@@ -198,10 +206,35 @@ function import_post(&$a) {
// import xchans and contact photos
+ if($seize) {
+
+ // replace our existing xchan if we're seizing control
+
+ $r = q("delete from xchan where xchan_hash = '%s' limit 1",
+ dbesc($channel['channel_hash'])
+ );
+
+ $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_l, xchan_photo_m, xchan_photo_s, xchan_addr, xchan_url, xchan_name, xchan_network, xchan_photo_date, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
+ dbesc($channel['channel_hash']),
+ dbesc($channel['channel_guid']),
+ dbesc($channel['channel_guid_sig']),
+ dbesc($channel['channel_pubkey']),
+ dbesc($a->get_baseurl() . "/photo/profile/l/" . $channel['channel_id']),
+ dbesc($a->get_baseurl() . "/photo/profile/m/" . $channel['channel_id']),
+ dbesc($a->get_baseurl() . "/photo/profile/s/" . $channel['channel_id']),
+ dbesc($channel['channel_address'] . '@' . get_app()->get_hostname()),
+ dbesc(z_root() . '/channel/' . $channel['channel_address']),
+ dbesc($channel['channel_name']),
+ dbesc('zot'),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert())
+ );
+ }
$xchans = $data['xchan'];
if($xchans) {
foreach($xchans as $xchan) {
+
$r = q("select xchan_hash from xchan where xchan_hash = '%s' limit 1",
dbesc($xchan['xchan_hash'])
);
@@ -217,7 +250,7 @@ function import_post(&$a) {
. "')" );
- require_once("Photo.php");
+ require_once('include/photo/photo_driver.php');
$photos = import_profile_photo($xchan['xchan_photo_l'],$xchan['xchan_hash']);
$r = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
where xchan_hash = '%s' limit 1",
@@ -250,6 +283,63 @@ function import_post(&$a) {
}
}
+
+ $configs = $data['config'];
+ if($configs) {
+ foreach($configs as $config) {
+ unset($config['id']);
+ $config['uid'] = $channel['channel_id'];
+ dbesc_array($config);
+ $r = dbq("INSERT INTO pconfig (`"
+ . implode("`, `", array_keys($config))
+ . "`) VALUES ('"
+ . implode("', '", array_values($config))
+ . "')" );
+ }
+ }
+
+ $groups = $data['group'];
+ if($groups) {
+ $saved = array();
+ foreach($groups as $group) {
+ $saved[$group['hash']] = array('old' => $group['id']);
+ unset($group['id']);
+ $group['uid'] = $channel['channel_id'];
+ dbesc_array($group);
+ $r = dbq("INSERT INTO group (`"
+ . implode("`, `", array_keys($group))
+ . "`) VALUES ('"
+ . implode("', '", array_values($group))
+ . "')" );
+ }
+ $r = q("select * from `group` where uid = %d",
+ intval($channel['channel_id'])
+ );
+ if($r) {
+ foreach($r as $rr) {
+ $saved[$rr['hash']]['new'] = $rr['id'];
+ }
+ }
+ }
+
+ $group_members = $data['group_member'];
+ if($groups_members) {
+ foreach($group_members as $group_member) {
+ unset($group_member['id']);
+ $group_member['uid'] = $channel['channel_id'];
+ foreach($saved as $x) {
+ if($x['old'] == $group_member['gid'])
+ $group_member['gid'] = $x['new'];
+ }
+ dbesc_array($group_member);
+ $r = dbq("INSERT INTO group_member (`"
+ . implode("`, `", array_keys($group_member))
+ . "`) VALUES ('"
+ . implode("', '", array_values($group_member))
+ . "')" );
+ }
+ }
+
// FIXME - ensure we have a self entry if somebody is trying to pull a fast one
if($seize) {
@@ -257,15 +347,28 @@ function import_post(&$a) {
}
+ // This will indirectly perform a refresh_all *and* update the directory
+
+ proc_run('php', 'include/directory.php', $channel['channel_id']);
+
// send out refresh requests
notice( t('Import completed.') . EOL);
+ change_channel($channel['channel_id']);
+
+ goaway(z_root() . '/network' );
+
+
}
function import_content(&$a) {
+ if(! get_account_id()) {
+ notice( t('You must be logged in to use this feature.'));
+ return '';
+ }
$o = replace_macros(get_markup_template('channel_import.tpl'),array(
'$title' => t('Import Channel'),
@@ -284,4 +387,4 @@ function import_content(&$a) {
return $o;
-} \ No newline at end of file
+}
diff --git a/mod/invite.php b/mod/invite.php
index 336e20164..cb8cd1f63 100644
--- a/mod/invite.php
+++ b/mod/invite.php
@@ -68,9 +68,12 @@ function invite_post(&$a) {
else
$nmessage = $message;
- $res = mail($recip, sprintf( t('Please join us on Friendica'), $a->config['sitename']),
+ $account = $a->get_account();
+
+
+ $res = mail($recip, sprintf( t('Please join us on Red'), $a->config['sitename']),
$nmessage,
- "From: " . $a->user['email'] . "\n"
+ "From: " . $account['account_email'] . "\n"
. 'Content-type: text/plain; charset=UTF-8' . "\n"
. 'Content-transfer-encoding: 8bit' );
@@ -112,29 +115,41 @@ function invite_content(&$a) {
}
}
- $dirloc = get_config('system','directory_submit_url');
- if(strlen($dirloc)) {
- if($a->config['system']['register_policy'] == REGISTER_CLOSED)
- $linktxt = sprintf( t('Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks.'), dirname($dirloc) . '/siteinfo');
- elseif($a->config['system']['register_policy'] != REGISTER_CLOSED)
- $linktxt = sprintf( t('To accept this invitation, please visit and register at %s or any other public Friendica website.'), $a->get_baseurl())
- . "\r\n" . "\r\n" . sprintf( t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join.'),dirname($dirloc) . '/siteinfo');
- }
- else {
- $o = t('Our apologies. This system is not currently configured to connect with other public sites or invite members.');
+// $dirloc = get_config('system','directory_submit_url');
+// if(strlen($dirloc)) {
+// if($a->config['system']['register_policy'] == REGISTER_CLOSED)
+// $linktxt = sprintf( t('Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks.'), dirname($dirloc) . '/siteinfo');
+// elseif($a->config['system']['register_policy'] != REGISTER_CLOSED)
+// $linktxt = sprintf( t('To accept this invitation, please visit and register at %s or any other public Friendica website.'), $a->get_baseurl())
+// . "\r\n" . "\r\n" . sprintf( t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join.'),dirname($dirloc) . '/siteinfo');
+// }
+// else {
+// $o = t('Our apologies. This system is not currently configured to connect with other public sites or invite members.');
+// return $o;
+// }
+
+ $ob = $a->get_observer();
+ if(! $ob)
return $o;
- }
+
+ $channel = $a->get_channel();
$o = replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("send_invite"),
'$invite' => t('Send invitations'),
'$addr_text' => t('Enter email addresses, one per line:'),
'$msg_text' => t('Your message:'),
- '$default_message' => t('You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web.') . "\r\n" . "\r\n"
+ '$default_message' => t('You are cordially invited to join me and some other close friends on the Red Matrix - a revolutionary new decentralised social and information tool.') . "\r\n" . "\r\n"
. $linktxt
- . "\r\n" . "\r\n" . (($invonly) ? t('You will need to supply this invitation code: $invite_code') . "\r\n" . "\r\n" : '') .t('Once you have registered, please connect with me via my profile page at:')
- . "\r\n" . "\r\n" . $a->get_baseurl() . '/channel/' . $a->user['nickname']
- . "\r\n" . "\r\n" . t('For more information about the Friendica project and why we feel it is important, please visit http://friendica.com') . "\r\n" . "\r\n" ,
+ . (($invonly) ? "\r\n" . "\r\n" . t('You will need to supply this invitation code: $invite_code') . "\r\n" . "\r\n" : '')
+
+ . t('Please visit my channel at')
+ . "\r\n" . "\r\n"
+ . z_root() . "/channel/" . $channel['channel_address']
+ . "\r\n" . "\r\n"
+ . t('Once you have registered, please connect with my Red Matrix channel address:')
+ . "\r\n" . "\r\n" . $ob['xchan_addr']
+ . "\r\n" . "\r\n" . t('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') . "\r\n" . "\r\n" ,
'$submit' => t('Submit')
));
diff --git a/mod/item.php b/mod/item.php
index 8298d3dc0..895784ff9 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);
@@ -60,16 +60,29 @@ function item_post(&$a) {
$origin = (($api_source && array_key_exists('origin',$_REQUEST)) ? intval($_REQUEST['origin']) : 1);
$owner_hash = null;
-
- $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']) : '');
- $return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
- $preview = ((x($_REQUEST,'preview')) ? intval($_REQUEST['preview']) : 0);
- $categories = ((x($_REQUEST,'category')) ? escape_tags($_REQUEST['category']) : '');
- $webpage = ((x($_REQUEST,'webpage')) ? intval($_REQUEST['webpage']) : 0);
- $pagetitle = ((x($_REQUEST,'pagetitle')) ? escape_tags($_REQUEST['pagetitle']): '');
-
+ $message_id = ((x($_REQUEST,'message_id') && $api_source) ? strip_tags($_REQUEST['message_id']) : '');
+
+ $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']) : '');
+ $return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
+ $preview = ((x($_REQUEST,'preview')) ? intval($_REQUEST['preview']) : 0);
+ $categories = ((x($_REQUEST,'category')) ? escape_tags($_REQUEST['category']) : '');
+ $webpage = ((x($_REQUEST,'webpage')) ? intval($_REQUEST['webpage']) : 0);
+ $pagetitle = ((x($_REQUEST,'pagetitle')) ? escape_tags($_REQUEST['pagetitle']) : '');
+ $layout_mid = ((x($_REQUEST,'layout_mid')) ? escape_tags($_REQUEST['layout_mid']): '');
+ /*
+ Check service class limits
+ */
+ if (local_user() && !(x($_REQUEST,'parent')) && !(x($_REQUEST,'post_id'))) {
+ $ret=item_check_service_class(local_user(),x($_REQUEST,'webpage'));
+ if (!$ret['success']) {
+ notice( t($ret['message']) . EOL) ;
+ if(x($_REQUEST,'return'))
+ goaway($a->get_baseurl() . "/" . $return_path );
+ killme();
+ }
+ }
if($pagetitle) {
require_once('library/urlify/URLify.php');
$pagetitle = strtolower(URLify::transliterate($pagetitle));
@@ -80,7 +93,7 @@ function item_post(&$a) {
*/
$parent = ((x($_REQUEST,'parent')) ? intval($_REQUEST['parent']) : 0);
- $parent_uri = ((x($_REQUEST,'parent_uri')) ? trim($_REQUEST['parent_uri']) : '');
+ $parent_mid = ((x($_REQUEST,'parent_mid')) ? trim($_REQUEST['parent_mid']) : '');
$parent_item = null;
$parent_contact = null;
@@ -88,7 +101,7 @@ function item_post(&$a) {
$parid = 0;
$r = false;
- if($parent || $parent_uri) {
+ if($parent || $parent_mid) {
if(! x($_REQUEST,'type'))
$_REQUEST['type'] = 'net-comment';
@@ -98,17 +111,17 @@ function item_post(&$a) {
intval($parent)
);
}
- elseif($parent_uri && local_user()) {
+ elseif($parent_mid && local_user()) {
// This is coming from an API source, and we are logged in
- $r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($parent_uri),
+ $r = q("SELECT * FROM `item` WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
+ dbesc($parent_mid),
intval(local_user())
);
}
// if this isn't the real parent of the conversation, find it
if($r !== false && count($r)) {
$parid = $r[0]['parent'];
- $parent_uri = $r[0]['uri'];
+ $parent_mid = $r[0]['mid'];
if($r[0]['id'] != $r[0]['parent']) {
$r = q("SELECT * FROM `item` WHERE `id` = `parent` AND `parent` = %d LIMIT 1",
intval($parid)
@@ -127,19 +140,22 @@ function item_post(&$a) {
// multi-level threading - preserve the info but re-parent to our single level threading
//if(($parid) && ($parid != $parent))
- $thr_parent = $parent_uri;
+ $thr_parent = $parent_mid;
+
+// if($parent_item['contact-id'] && $uid) {
+// $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+// intval($parent_item['contact-id']),
+// intval($uid)
+// );
+// if(count($r))
+// $parent_contact = $r[0];
+// }
- if($parent_item['contact-id'] && $uid) {
- $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($parent_item['contact-id']),
- intval($uid)
- );
- if(count($r))
- $parent_contact = $r[0];
- }
}
- if($parent) logger('mod_item: item_post parent=' . $parent);
+ if($parent) {
+ logger('mod_item: item_post parent=' . $parent);
+ }
$observer = $a->get_observer();
@@ -200,6 +216,10 @@ function item_post(&$a) {
goaway($a->get_baseurl() . "/" . $return_path );
killme();
}
+
+ if($observer) {
+ logger('mod_item: post accepted from ' . $observer['xchan_name'] . ' for ' . $owner_xchan['xchan_name'], LOGGER_DEBUG);
+ }
if($orig_post) {
@@ -212,7 +232,7 @@ function item_post(&$a) {
$verb = $orig_post['verb'];
$app = $orig_post['app'];
$title = escape_tags(trim($_REQUEST['title']));
- $body = escape_tags(trim($_REQUEST['body']));
+ $body = $_REQUEST['body'];
$private = $orig_post['item_private'];
}
@@ -242,11 +262,11 @@ function item_post(&$a) {
$str_contact_deny = perms2str($_REQUEST['contact_deny']);
}
- $title = escape_tags(trim($_REQUEST['title']));
$location = notags(trim($_REQUEST['location']));
$coord = notags(trim($_REQUEST['coord']));
$verb = notags(trim($_REQUEST['verb']));
- $body = escape_tags(trim($_REQUEST['body']));
+ $title = escape_tags(trim($_REQUEST['title']));
+ $body = $_REQUEST['body'];
$private = (
( strlen($str_group_allow)
@@ -291,160 +311,195 @@ function item_post(&$a) {
// expire_quantity, e.g. '3'
// expire_units, e.g. days, weeks, months
if(x($_REQUEST,'expire_quantity') && (x($_REQUEST,'expire_units'))) {
- $expire = datetime_convert(date_default_timezone_get(),'UTC', 'now + ' . $_REQUEST['expire_quantity'] . ' ' . $_REQUEST['expire_units']);
+ $expire = datetime_convert('UTC','UTC', 'now + ' . $_REQUEST['expire_quantity'] . ' ' . $_REQUEST['expire_units']);
if($expires <= datetime_convert())
$expires = '0000-00-00 00:00:00';
}
}
- // Work around doubled linefeeds in Tinymce 3.5b2
- // First figure out if it's a status post that would've been
- // created using tinymce. Otherwise leave it alone.
- $plaintext = ((feature_enabled($profile_uid,'richtext')) ? false : true);
- if((! $parent) && (! $api_source) && (! $plaintext)) {
- $body = fix_mce_lf($body);
- }
+ $post_type = notags(trim($_REQUEST['type']));
+ $mimetype = notags(trim($_REQUEST['mimetype']));
+ if(! $mimetype)
+ $mimetype = 'text/bbcode';
- // get contact info for poster
+ // Verify ability to use html or php!!!
+ if($preview) {
+ $body = z_input_filter($profile_uid,$body,$mimetype);
+ }
-/*
- $author = null;
- $self = false;
- $contact_id = 0;
+ $execflag = false;
- if((local_user()) && (local_user() == $profile_uid)) {
- $self = true;
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
- intval($_SESSION['uid'])
+ if($mimetype === 'application/x-php') {
+ $z = q("select account_id, account_roles from account left join channel on channel_account_id = account_id where channel_id = %d limit 1",
+ intval($profile_uid)
);
- }
- elseif(remote_user()) {
- if(is_array($_SESSION['remote'])) {
- foreach($_SESSION['remote'] as $v) {
- if($v['uid'] == $profile_uid) {
- $contact_id = $v['cid'];
- break;
- }
+ if($z && ($z[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE)) {
+ if(local_user() && (get_account_id() == $z[0]['account_id'])) {
+ $execflag = true;
+ }
+ else {
+ notice( t('Executable content type not permitted to this channel.') . EOL);
+ if(x($_REQUEST,'return'))
+ goaway($a->get_baseurl() . "/" . $return_path );
+ killme();
}
- }
- if($contact_id) {
- $r = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1",
- intval($contact_id)
- );
}
}
- if(count($r)) {
- // FIXME
- $author = $r[0];
- $contact_id = $author['id'];
- }
+ if($mimetype === 'text/bbcode') {
- // get contact info for owner
-
- if($profile_uid == local_user()) {
- $contact_record = $author;
- }
- else {
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
- intval($profile_uid)
- );
- if(count($r))
- $contact_record = $r[0];
- }
+ // BBCODE alert: the following functions assume bbcode input
+ // and will require alternatives for alternative content-types (text/html, text/markdown, text/plain, etc.)
+ // we may need virtual or template classes to implement the possible alternatives
-*/
+ // Work around doubled linefeeds in Tinymce 3.5b2
+ // First figure out if it's a status post that would've been
+ // created using tinymce. Otherwise leave it alone.
- $post_type = notags(trim($_REQUEST['type']));
+ $plaintext = ((feature_enabled($profile_uid,'richtext')) ? false : true);
+ if((! $parent) && (! $api_source) && (! $plaintext)) {
+ $body = fix_mce_lf($body);
+ }
+ // If we're sending a private top-level message with a single @-taggable channel as a recipient, @-tag it.
- /**
- *
- * 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.
- *
- */
+ if((! $parent) && (substr_count($str_contact_allow,'<') == 1) && ($str_group_allow == '') && ($str_contact_deny == '') && ($str_group_deny == '')) {
+ $x = q("select abook_id, abook_their_perms from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
+ dbesc(str_replace(array('<','>'),array('',''),$str_contact_allow)),
+ intval($profile_uid)
+ );
+ if($x && ($x[0]['abook_their_perms'] & PERMS_W_TAGWALL))
+ $body .= "\n\n@group+" . $x[0]['abook_id'] . "\n";
+ }
- if(! $preview) {
- fix_attached_photo_permissions($profile_uid,$owner_xchan['xchan_hash'],$body,
- $str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny);
+ /**
+ * fix naked links by passing through a callback to see if this is a red site
+ * (already known to us) which will get a zrl, otherwise link with url
+ */
- fix_attached_file_permissions($channel,$observer['xchan_hash'],$body,
- $str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny);
+ $body = preg_replace_callback("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]+)/ism", 'red_zrl_callback', $body);
- }
+ /**
+ *
+ * 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.
+ *
+ */
+ if(! $preview) {
+ fix_attached_photo_permissions($profile_uid,$owner_xchan['xchan_hash'],$body,$str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny);
+ fix_attached_file_permissions($channel,$observer['xchan_hash'],$body,$str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny);
- $body = bb_translate_video($body);
+ }
- /**
- * Fold multi-line [code] sequences
- */
- $body = preg_replace('/\[\/code\]\s*\[code\]/ism',"\n",$body);
- $body = scale_external_images($body,false);
+ $body = bb_translate_video($body);
- /**
- * Look for any tags and linkify them
- */
+ /**
+ * Fold multi-line [code] sequences
+ */
+
+ $body = preg_replace('/\[\/code\]\s*\[code\]/ism',"\n",$body);
+
+ $body = scale_external_images($body,false);
+
+ /**
+ * Look for any tags and linkify them
+ */
- $str_tags = '';
- $inform = '';
- $post_tags = array();
+ $str_tags = '';
+ $inform = '';
+ $post_tags = array();
- $tags = get_tags($body);
+ $tags = get_tags($body);
- $tagged = array();
+ $tagged = array();
- $private_forum = false;
+ $private_forum = false;
- if(count($tags)) {
- foreach($tags as $tag) {
+ if(count($tags)) {
+ foreach($tags as $tag) {
- // If we already tagged 'Robert Johnson', don't try and tag 'Robert'.
- // Robert Johnson should be first in the $tags array
+ // 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;
+ $fullnametagged = false;
+ for($x = 0; $x < count($tagged); $x ++) {
+ if(stristr($tagged[$x],$tag . ' ')) {
+ $fullnametagged = true;
+ break;
+ }
+ }
+ 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));
+
+ if($success['replaced']) {
+ $tagged[] = $tag;
+ $post_tags[] = array(
+ 'uid' => $profile_uid,
+ 'type' => $success['termtype'],
+ 'otype' => TERM_OBJ_POST,
+ 'term' => $success['term'],
+ 'url' => $success['url']
+ );
+ }
+ if(is_array($success['contact']) && intval($success['contact']['prv'])) {
+ $private_forum = true;
+ $private_id = $success['contact']['id'];
}
}
- 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));
-
- if($success['replaced']) {
- $tagged[] = $tag;
- $post_tags[] = array(
- 'uid' => $profile_uid,
- 'type' => $success['termtype'],
- 'otype' => TERM_OBJ_POST,
- 'term' => $success['term'],
- 'url' => $success['url']
- );
- }
- if(is_array($success['contact']) && intval($success['contact']['prv'])) {
- $private_forum = true;
- $private_id = $success['contact']['id'];
+ }
+
+
+// logger('post_tags: ' . print_r($post_tags,true));
+
+ if(($private_forum) && (! $parent) && (! $private)) {
+ // we tagged a private forum in a top level post and the message was public.
+ // Restrict it.
+ $private = 1;
+ $str_contact_allow = '<' . $private_id . '>';
+ }
+
+ $attachments = '';
+ $match = false;
+
+ if(preg_match_all('/(\[attachment\](.*?)\[\/attachment\])/',$body,$match)) {
+ $attachments = array();
+ foreach($match[2] as $mtch) {
+ $hash = substr($mtch,0,strpos($mtch,','));
+ $rev = intval(substr($mtch,strpos($mtch,',')));
+ $r = attach_by_hash_nodata($hash,$rev);
+ if($r['success']) {
+ $attachments[] = array(
+ 'href' => $a->get_baseurl() . '/attach/' . $r['data']['hash'],
+ 'length' => $r['data']['filesize'],
+ 'type' => $r['data']['filetype'],
+ 'title' => urlencode($r['data']['filename']),
+ 'revision' => $r['data']['revision']
+ );
+ }
+ $body = str_replace($match[1],'',$body);
}
}
}
+// BBCODE end alert
+
+
if(strlen($categories)) {
$cats = explode(',',$categories);
foreach($cats as $cat) {
@@ -458,37 +513,6 @@ function item_post(&$a) {
}
}
-// logger('post_tags: ' . print_r($post_tags,true));
-
- if(($private_forum) && (! $parent) && (! $private)) {
- // we tagged a private forum in a top level post and the message was public.
- // Restrict it.
- $private = 1;
- $str_contact_allow = '<' . $private_id . '>';
- }
-
- $attachments = '';
- $match = false;
-
- if(preg_match_all('/(\[attachment\](.*?)\[\/attachment\])/',$body,$match)) {
- $attachments = array();
- foreach($match[2] as $mtch) {
- $hash = substr($mtch,0,strpos($mtch,','));
- $rev = intval(substr($mtch,strpos($mtch,',')));
- $r = attach_by_hash_nodata($hash,$rev);
- if($r['success']) {
- $attachments[] = array(
- 'href' => $a->get_baseurl() . '/attach/' . $r['data']['hash'],
- 'length' => $r['data']['filesize'],
- 'type' => $r['data']['filetype'],
- 'title' => urlencode($r['data']['filename']),
- 'revision' => $r['data']['revision']
- );
- }
- $body = str_replace($match[1],'',$body);
- }
- }
-
$item_flags = ITEM_UNSEEN;
$item_restrict = ITEM_VISIBLE;
@@ -502,9 +526,7 @@ function item_post(&$a) {
$item_restrict = $item_restrict | ITEM_MODERATED;
if($webpage)
- $item_restrict = $item_restrict | ITEM_WEBPAGE;
-
-
+ $item_restrict = $item_restrict | $webpage;
if(! strlen($verb))
@@ -512,54 +534,57 @@ function item_post(&$a) {
$notify_type = (($parent) ? 'comment-new' : 'wall-new' );
- $uri = item_message_id();
- $parent_uri = $uri;
+ $mid = (($message_id) ? $message_id : item_message_id());
+
+ $parent_mid = $mid;
if($parent_item)
- $parent_uri = $parent_item['uri'];
+ $parent_mid = $parent_item['mid'];
// Fallback so that we alway have a thr_parent
if(!$thr_parent)
- $thr_parent = $uri;
+ $thr_parent = $mid;
$datarray = array();
if(! $parent) {
- $datarray['parent_uri'] = $uri;
+ $datarray['parent_mid'] = $mid;
$item_flags = $item_flags | ITEM_THREAD_TOP;
}
- $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['edited'] = datetime_convert();
- $datarray['expires'] = $expires;
- $datarray['commented'] = datetime_convert();
- $datarray['received'] = datetime_convert();
- $datarray['changed'] = datetime_convert();
- $datarray['uri'] = $uri;
- $datarray['parent_uri'] = $parent_uri;
- $datarray['title'] = $title;
- $datarray['body'] = $body;
- $datarray['app'] = $app;
- $datarray['location'] = $location;
- $datarray['coord'] = $coord;
- $datarray['inform'] = $inform;
- $datarray['verb'] = $verb;
- $datarray['allow_cid'] = $str_contact_allow;
- $datarray['allow_gid'] = $str_group_allow;
- $datarray['deny_cid'] = $str_contact_deny;
- $datarray['deny_gid'] = $str_group_deny;
- $datarray['item_private'] = $private;
- $datarray['attach'] = $attachments;
- $datarray['thr_parent'] = $thr_parent;
- $datarray['postopts'] = '';
- $datarray['item_restrict'] = $item_restrict;
- $datarray['item_flags'] = $item_flags;
-
+ $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['edited'] = datetime_convert();
+ $datarray['expires'] = $expires;
+ $datarray['commented'] = datetime_convert();
+ $datarray['received'] = datetime_convert();
+ $datarray['changed'] = datetime_convert();
+ $datarray['mid'] = $mid;
+ $datarray['parent_mid'] = $parent_mid;
+ $datarray['mimetype'] = $mimetype;
+ $datarray['title'] = $title;
+ $datarray['body'] = $body;
+ $datarray['app'] = $app;
+ $datarray['location'] = $location;
+ $datarray['coord'] = $coord;
+ $datarray['inform'] = $inform;
+ $datarray['verb'] = $verb;
+ $datarray['allow_cid'] = $str_contact_allow;
+ $datarray['allow_gid'] = $str_group_allow;
+ $datarray['deny_cid'] = $str_contact_deny;
+ $datarray['deny_gid'] = $str_group_deny;
+ $datarray['item_private'] = $private;
+ $datarray['attach'] = $attachments;
+ $datarray['thr_parent'] = $thr_parent;
+ $datarray['postopts'] = '';
+ $datarray['item_restrict'] = $item_restrict;
+ $datarray['item_flags'] = $item_flags;
+ $datarray['layout_mid'] = $layout_mid;
+ $datarray['comment_policy'] = map_scope($channel['channel_w_comment']);
// preview mode - prepare the body for display and send it via json
@@ -573,6 +598,8 @@ function item_post(&$a) {
echo json_encode(array('preview' => $o));
killme();
}
+ if($orig_post)
+ $datarray['edit'] = true;
call_hooks('post_local',$datarray);
@@ -591,12 +618,33 @@ function item_post(&$a) {
}
+ if(mb_strlen($datarray['title']) > 255)
+ $datarray['title'] = mb_substr($datarray['title'],0,255);
+
+ if(array_key_exists('item_private',$datarray) && $datarray['item_private']) {
+
+ $datarray['body'] = z_input_filter($datarray['uid'],$datarray['body'],$datarray['mimetype']);
+
+ logger('Encrypting local storage');
+ $key = get_config('system','pubkey');
+ $datarray['item_flags'] = $datarray['item_flags'] | ITEM_OBSCURED;
+ if($datarray['title'])
+ $datarray['title'] = json_encode(aes_encapsulate($datarray['title'],$key));
+ if($datarray['body'])
+ $datarray['body'] = json_encode(aes_encapsulate($datarray['body'],$key));
+ }
+
+
+
+
if($orig_post) {
- $r = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `attach` = '%s', `edited` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ $r = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `mimetype` = '%s', `attach` = '%s', `edited` = '%s', layout_mid = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
dbesc($datarray['title']),
dbesc($datarray['body']),
+ dbesc($datarray['mimetype']),
dbesc($datarray['attach']),
dbesc(datetime_convert()),
+ dbesc($layout_mid),
intval($post_id),
intval($profile_uid)
);
@@ -613,6 +661,23 @@ function item_post(&$a) {
);
+ if(count($post_tags)) {
+ foreach($post_tags as $tag) {
+ if(strlen(trim($tag['term']))) {
+ q("insert into term (uid,oid,otype,type,term,url) values (%d,%d,%d,%d,'%s','%s')",
+ intval($tag['uid']),
+ intval($post_id),
+ intval($tag['otype']),
+ intval($tag['type']),
+ dbesc(trim($tag['term'])),
+ dbesc(trim($tag['url']))
+ );
+ }
+ }
+ }
+
+
+
proc_run('php', "include/notifier.php", 'edit_post', $post_id);
if((x($_REQUEST,'return')) && strlen($return_path)) {
logger('return: ' . $return_path);
@@ -624,7 +689,8 @@ function item_post(&$a) {
$post_id = 0;
- $post_id = item_store($datarray);
+ $post = item_store($datarray,$execflag);
+ $post_id = $post['item_id'];
if($post_id) {
logger('mod_item: saved item ' . $post_id);
@@ -659,7 +725,7 @@ function item_post(&$a) {
dbesc($parent_item['allow_gid']),
dbesc($parent_item['deny_cid']),
dbesc($parent_item['deny_gid']),
- intval($parent_item['private']),
+ intval($parent_item['item_private']),
intval($post_id)
);
@@ -669,11 +735,11 @@ function item_post(&$a) {
'from_xchan' => $datarray['author_xchan'],
'to_xchan' => $datarray['owner_xchan'],
'item' => $datarray,
- 'link' => $a->get_baseurl() . '/display/' . $datarray['uri'],
+ 'link' => $a->get_baseurl() . '/display/' . $datarray['mid'],
'verb' => ACTIVITY_POST,
'otype' => 'item',
'parent' => $parent,
- 'parent_uri' => $parent_item['uri']
+ 'parent_mid' => $parent_item['mid']
));
}
@@ -688,7 +754,7 @@ function item_post(&$a) {
'from_xchan' => $datarray['author_xchan'],
'to_xchan' => $datarray['owner_xchan'],
'item' => $datarray,
- 'link' => $a->get_baseurl() . '/display/' . $datarray['uri'],
+ 'link' => $a->get_baseurl() . '/display/' . $datarray['mid'],
'verb' => ACTIVITY_POST,
'otype' => 'item'
));
@@ -700,10 +766,10 @@ function item_post(&$a) {
if(! $parent)
$parent = $post_id;
- $r = q("UPDATE `item` SET `parent` = %d, `parent_uri` = '%s', `changed` = '%s'
+ $r = q("UPDATE `item` SET `parent` = %d, `parent_mid` = '%s', `changed` = '%s'
WHERE `id` = %d LIMIT 1",
intval($parent),
- dbesc(($parent == $post_id) ? $uri : $parent_item['uri']),
+ dbesc(($parent == $post_id) ? $mid : $parent_item['mid']),
dbesc(datetime_convert()),
intval($post_id)
);
@@ -736,20 +802,28 @@ function item_post(&$a) {
intval($parent)
);
- if($webpage) {
+ $page_type = '';
+
+ if($webpage & ITEM_WEBPAGE)
+ $page_type = 'WEBPAGE';
+ elseif($webpage & ITEM_BUILDBLOCK)
+ $page_type = 'BUILDBLOCK';
+ elseif($webpage & ITEM_PDL)
+ $page_type = 'PDL';
+
+ 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 uri - which makes the link portable and not quite as daunting
- // as the entire uri. If it were the post_id the link would be less portable.
- // We should have the ability to edit this and arrange pages into menus via the pages module
+ // 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($uri,0,16)),
- dbesc('WEBPAGE')
+ dbesc(($pagetitle) ? $pagetitle : substr($mid,0,16)),
+ dbesc($page_type)
);
}
@@ -822,18 +896,26 @@ 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,'[url='))
+ if(strpos($tag,'[zrl='))
//...do nothing
return $replaced;
- //base tag has the tags name only
- $basetag = str_replace('_',' ',substr($tag,1));
- //create text for link
- $url = $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag);
- $newtag = '#[url=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/url]';
- //replace tag by the link
- $body = str_replace($tag, $newtag, $body);
- $replaced = true;
-
+ if($tag == '#getzot') {
+ $basetag = 'getzot';
+ $url = 'http://getzot.com';
+ $newtag = '#[zrl=' . $url . ']' . $basetag . '[/zrl]';
+ $body = str_replace($tag,$newtag,$body);
+ $replace = true;
+ }
+ else {
+ //base tag has the tags name only
+ $basetag = str_replace('_',' ',substr($tag,1));
+ //create text for link
+ $url = $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag);
+ $newtag = '#[zrl=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/zrl]';
+ //replace tag by the link
+ $body = str_replace($tag, $newtag, $body);
+ $replaced = true;
+ }
//is the link already in str_tags?
if(! stristr($str_tags,$newtag)) {
//append or set str_tags
@@ -846,7 +928,7 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
//is it a person tag?
if(strpos($tag,'@') === 0) {
//is it already replaced?
- if(strpos($tag,'[url='))
+ if(strpos($tag,'[zrl='))
return $replaced;
$stat = false;
//get the person's name
@@ -942,7 +1024,7 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
//create profile link
$profile = str_replace(',','%2c',$profile);
$url = $profile;
- $newtag = '@[url=' . $profile . ']' . $newname . '[/url]';
+ $newtag = '@[zrl=' . $profile . ']' . $newname . '[/zrl]';
$body = str_replace('@' . $name, $newtag, $body);
//append tag to str_tags
if(! stristr($str_tags,$newtag)) {
@@ -962,8 +1044,8 @@ function fix_attached_photo_permissions($uid,$xchan_hash,$body,
$str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny) {
$match = null;
-
- if(preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match)) {
+ // match img and zmg image links
+ if(preg_match_all("/\[[zi]mg\](.*?)\[\/[zi]mg\]/",$body,$match)) {
$images = $match[1];
if($images) {
foreach($images as $image) {
@@ -1005,12 +1087,15 @@ function fix_attached_photo_permissions($uid,$xchan_hash,$body,
intval($uid)
);
if($r) {
- $r = q("UPDATE item SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s'
+ $private = (($str_contact_allow || $str_group_allow || $str_contact_deny || $str_group_deny) ? true : false);
+
+ $r = q("UPDATE item SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d
WHERE id = %d AND uid = %d limit 1",
dbesc($str_contact_allow),
dbesc($str_group_allow),
dbesc($str_contact_deny),
dbesc($str_group_deny),
+ intval($private),
intval($r[0]['id']),
intval($uid)
);
@@ -1045,3 +1130,40 @@ function fix_attached_file_permissions($channel,$observer_hash,$body,
}
}
}
+function item_check_service_class($channel_id,$iswebpage) {
+ $ret = array('success' => false, $message => '');
+ 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 ",
+ intval(ITEM_WEBPAGE),
+ intval($channel_id)
+ );
+ }
+ else {
+ $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=0) and i.uid= %d ",
+ intval($channel_id)
+ );
+ }
+ if(! ($r && count($r))) {
+ $ret['message'] = t('Unable to obtain identity information from database');
+ return $ret;
+ }
+ if (!$iswebpage) {
+ if(! service_class_allows($channel_id,'total_items',$r[0]['total'])) {
+ $result['message'] .= upgrade_message().sprintf(t("You have reached your limit of %1$.0f top level posts."),$r[0]['total']);
+ return $result;
+ }
+ }
+ else {
+ if(! service_class_allows($channel_id,'total_pages',$r[0]['total'])) {
+ $result['message'] .= upgrade_message().sprintf(t("You have reached your limit of %1$.0f webpages."),$r[0]['total']);
+ return $result;
+ }
+ }
+
+ $ret['success'] = true;
+ return $ret;
+}
diff --git a/mod/layouts.php b/mod/layouts.php
new file mode 100644
index 000000000..cd6e61f88
--- /dev/null
+++ b/mod/layouts.php
@@ -0,0 +1,98 @@
+<?php
+
+function layouts_content(&$a) {
+
+ if(argc() > 1)
+ $which = argv(1);
+ else {
+ notice( t('Requested profile is not available.') . EOL );
+ $a->error = 404;
+ return;
+ }
+
+ profile_load($a,$which,0);
+
+
+ // Figure out who the page owner is.
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ }
+
+ // Block design features from visitors
+
+ if((! local_user()) || (local_user() != $owner)) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+
+
+
+// Get the observer, check their permissions
+
+ $observer = $a->get_observer();
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+
+ $perms = get_all_perms($owner,$ob_hash);
+
+ if(! $perms['write_pages']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+ if(local_user() && local_user() == $owner) {
+ $a->set_widget('design',design_tools());
+ }
+
+
+
+// Create a status editor (for now - we'll need a WYSIWYG eventually) to create pages
+// Nickname is set to the observers xchan, and profile_uid to the owners. This lets you post pages at other people's channels.
+require_once ('include/conversation.php');
+ $x = array(
+ 'webpage' => ITEM_PDL,
+ 'is_owner' => true,
+ 'nickname' => $a->profile['channel_address'],
+ 'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
+ 'bang' => (($group || $cid) ? '!' : ''),
+ 'visitor' => 'block',
+ 'profile_uid' => intval($owner),
+ );
+
+ $o .= status_editor($a,$x);
+
+ //Get a list of blocks. We can't display all them because endless scroll makes that unusable, so just list titles and an edit link.
+//TODO - this should be replaced with pagelist_widget
+
+$r = q("select * from item_id where uid = %d and service = 'PDL' order by sid asc",
+ intval($owner)
+);
+
+ $pages = null;
+
+ if($r) {
+ $pages = array();
+ foreach($r as $rr) {
+ $pages[$rr['iid']][] = array('url' => $rr['iid'],'title' => $rr['sid']);
+ }
+ }
+
+
+//Build the base URL for edit links
+ $url = z_root() . "/editlayout/" . $which;
+// This isn't pretty, but it works. Until I figure out what to do with the UI, it's Good Enough(TM).
+ return $o . replace_macros(get_markup_template("webpagelist.tpl"), array(
+ '$baseurl' => $url,
+ '$edit' => t('Edit'),
+ '$pages' => $pages,
+ '$channel' => $which,
+ '$view' => t('View'),
+ '$preview' => '1',
+
+ ));
+
+
+}
diff --git a/mod/like.php b/mod/like.php
index 7c3df98ba..84b0a6592 100755
--- a/mod/like.php
+++ b/mod/like.php
@@ -49,6 +49,7 @@ function like_content(&$a) {
$item = $r[0];
$owner_uid = $item['uid'];
+ $owner_aid = $item['aid'];
if(! perm_is_allowed($owner_uid,$observer['xchan_hash'],'post_comments')) {
notice( t('Permission denied') . EOL);
@@ -78,7 +79,7 @@ function like_content(&$a) {
dbesc($activity),
dbesc($observer['xchan_hash']),
intval($item_id),
- dbesc($item['uri'])
+ dbesc($item['mid'])
);
if($r) {
$like_item = $r[0];
@@ -97,22 +98,24 @@ function like_content(&$a) {
- $uri = item_message_id();
+ $mid = item_message_id();
- $post_type = (($item['resource_type'] === 'photo') ? $t('photo') : t('status'));
+ $post_type = (($item['resource_type'] === 'photo') ? t('photo') : t('status'));
- $links = array(array('rel' => 'alternate','type' => 'text/html',
- 'href' => z_root() . '/display/' . $item['uri']));
+ $links = array(array('rel' => 'alternate','type' => 'text/html', 'href' => $item['plink']));
$objtype = (($item['resource_type'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE );
$body = $item['body'];
$obj = json_encode(array(
'type' => $objtype,
- 'id' => $item['uri'],
+ 'id' => $item['mid'],
+ 'parent' => (($item['thr_parent']) ? $item['thr_parent'] : $item['parent_mid']),
'link' => $links,
'title' => $item['title'],
'content' => $item['body'],
+ 'created' => $item['created'],
+ 'edited' => $item['edited'],
'author' => array(
'name' => $item_author['xchan_name'],
'address' => $item_author['xchan_addr'],
@@ -124,6 +127,9 @@ function like_content(&$a) {
),
));
+ if(! ($item['item_flags'] & ITEM_THREAD_TOP))
+ $post_type = 'comment';
+
if($verb === 'like')
$bodyverb = t('%1$s likes %2$s\'s %3$s');
if($verb === 'dislike')
@@ -132,28 +138,29 @@ function like_content(&$a) {
if(! isset($bodyverb))
return;
- $item_flags = ITEM_ORIGIN;
+ $item_flags = ITEM_ORIGIN | ITEM_NOTSHOWN;
if($item['item_flags'] & ITEM_WALL)
$item_flags |= ITEM_WALL;
$arr = array();
- $arr['uri'] = $uri;
+ $arr['mid'] = $mid;
+ $arr['aid'] = $owner_aid;
$arr['uid'] = $owner_uid;
$arr['item_flags'] = $item_flags;
$arr['parent'] = $item['id'];
- $arr['parent_uri'] = $item['uri'];
- $arr['thr_parent'] = $item['uri'];
+ $arr['parent_mid'] = $item['mid'];
+ $arr['thr_parent'] = $item['mid'];
$arr['owner_xchan'] = $thread_owner['xchan_hash'];
$arr['author_xchan'] = $observer['xchan_hash'];
- $ulink = '[url=' . $item_owner['xchan_url'] . ']' . $item_owner['xchan_name'] . '[/url]';
- $alink = '[url=' . $observer['xchan_url'] . ']' . $observer['xchan_name'] . '[/url]';
- $plink = '[url=' . $a->get_baseurl() . '/display/' . $item['uri'] . ']' . $post_type . '[/url]';
+ $ulink = '[zrl=' . $item_author['xchan_url'] . ']' . $item_author['xchan_name'] . '[/zrl]';
+ $alink = '[zrl=' . $observer['xchan_url'] . ']' . $observer['xchan_name'] . '[/zrl]';
+ $plink = '[zrl=' . $a->get_baseurl() . '/display/' . $item['mid'] . ']' . $post_type . '[/zrl]';
- $arr['body'] = sprintf( $bodyverb, $ulink, $alink, $plink );
+ $arr['body'] = sprintf( $bodyverb, $alink, $ulink, $plink );
$arr['verb'] = $activity;
$arr['obj_type'] = $objtype;
@@ -164,7 +171,8 @@ function like_content(&$a) {
$arr['deny_cid'] = $item['deny_cid'];
$arr['deny_gid'] = $item['deny_gid'];
- $post_id = item_store($arr);
+ $post = item_store($arr);
+ $post_id = $post['item_id'];
$arr['id'] = $post_id;
diff --git a/mod/lockview.php b/mod/lockview.php
index 01a6997ee..7dda85623 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 `group` 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 `group` 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 ba9e69a49..09a2e8a51 100644
--- a/mod/magic.php
+++ b/mod/magic.php
@@ -7,17 +7,18 @@ function magic_init(&$a) {
$addr = ((x($_REQUEST,'addr')) ? $_REQUEST['addr'] : '');
$hash = ((x($_REQUEST,'hash')) ? $_REQUEST['hash'] : '');
$dest = ((x($_REQUEST,'dest')) ? $_REQUEST['dest'] : '');
+ $rev = ((x($_REQUEST,'rev')) ? intval($_REQUEST['rev']) : 0);
if($hash) {
$x = q("select xchan.xchan_url, hubloc.* from xchan left join hubloc on xchan_hash = hubloc_hash
- where hubloc_hash = '%s' and (hubloc_flags & %d) limit 1",
+ where hubloc_hash = '%s' and (hubloc_flags & %d) order by hubloc_id desc limit 1",
dbesc($hash),
intval(HUBLOC_FLAGS_PRIMARY)
);
}
elseif($addr) {
$x = q("select hubloc.* from xchan left join hubloc on xchan_hash = hubloc_hash
- where xchan_addr = '%s' and (hubloc_flags & %d) limit 1",
+ where xchan_addr = '%s' and (hubloc_flags & %d) order by hubloc_id desc limit 1",
dbesc($addr),
intval(HUBLOC_FLAGS_PRIMARY)
);
@@ -25,17 +26,16 @@ function magic_init(&$a) {
else {
// See if we know anybody at the dest site that will unlock the door for us
$b = explode('/',$dest);
- if(count($b) >= 2)
- $u = $b[0] . '//' . $b[2];
-
- $x = q("select xchan.xchan_url, hubloc.* from xchan left join hubloc on xchan_hash = hubloc_hash
- where hubloc_url = '%s' limit 1",
- dbesc($u)
- );
+ if(count($b) >= 2) {
+ $u = $b[0] . '//' . $b[2];
+ $x = q("select xchan.xchan_url, hubloc.* from xchan left join hubloc on xchan_hash = hubloc_hash
+ where hubloc_url = '%s' order by hubloc_id desc limit 1",
+ dbesc($u)
+ );
+ }
}
-
if(! $x) {
// Finger them if they've never been seen here before
@@ -47,7 +47,7 @@ function magic_init(&$a) {
if($j)
import_xchan($j);
$x = q("select hubloc.* from xchan left join hubloc on xchan_hash = hubloc_hash
- where xchan_addr = '%s' and (hubloc_flags & %d) limit 1",
+ where xchan_addr = '%s' and (hubloc_flags & %d) order by hubloc_id desc limit 1",
dbesc($addr),
intval(HUBLOC_FLAGS_PRIMARY)
);
@@ -56,10 +56,30 @@ function magic_init(&$a) {
}
if(! $x) {
- notice( t('Channel not found.') . EOL);
- return;
+ if($rev)
+ goaway($dest);
+ else {
+ logger('mod_magic: channel not found.' . print_r($_REQUEST,true));
+ notice( t('Channel not found.') . EOL);
+ return;
+ }
}
+ // This is ready-made for a plugin that provides a blacklist or "ask me" before blindly authenticating.
+ // By default, we'll proceed without asking.
+
+ $arr = array(
+ 'channel_id' => local_user(),
+ 'xchan' => $x[0],
+ 'destination' => $dest,
+ 'proceed' => true
+ );
+
+ call_hooks('magic_auth',$arr);
+ $dest = $arr['destination'];
+ if(! $arr['proceed'])
+ goaway($dest);
+
if($x[0]['hubloc_url'] === z_root()) {
$webbie = substr($x[0]['hubloc_addr'],0,strpos('@',$x[0]['hubloc_addr']));
switch($dest) {
@@ -105,7 +125,7 @@ function magic_init(&$a) {
goaway($x[0]['hubloc_callback'] . '/' . substr($x[0]['hubloc_addr'],0,strpos($x[0]['hubloc_addr'],'@'))
. '/?f=&auth=' . $channel['channel_address'] . '@' . $a->get_hostname()
- . '&sec=' . $token . '&dest=' . $dest . '&version=' . ZOT_REVISION);
+ . '&sec=' . $token . '&dest=' . urlencode($dest) . '&version=' . ZOT_REVISION);
}
if(strpos($dest,'/'))
diff --git a/mod/manage.php b/mod/manage.php
index 2cdfce115..27e45aa47 100644
--- a/mod/manage.php
+++ b/mod/manage.php
@@ -53,6 +53,17 @@ function manage_content(&$a) {
$channels[$x]['default_links'] = '1';
}
}
+
+ $r = q("select count(channel_id) as total from channel where channel_account_id = %d ",
+ intval(get_account_id())
+ );
+ $limit = service_class_fetch(local_user(),'total_identities');
+ if($limit !== false) {
+ $channel_usage_message = sprintf( t("You have created %1$.0f of %2$.0f allowed channels."), $r[0]['total'], $limit);
+ }
+ else {
+ $channel_usage_message = '';
+ }
}
$links = array(
@@ -69,6 +80,7 @@ function manage_content(&$a) {
'$msg_make_default' => t('Make Default'),
'$links' => $links,
'$all_channels' => $channels,
+ '$channel_usage_message' => $channel_usage_message,
));
diff --git a/mod/menu.php b/mod/menu.php
new file mode 100644
index 000000000..1ec3c7996
--- /dev/null
+++ b/mod/menu.php
@@ -0,0 +1,118 @@
+<?php
+
+require_once('include/menu.php');
+
+function menu_post(&$a) {
+
+ if(! local_user())
+ return;
+
+ $_REQUEST['menu_channel_id'] = local_user();
+
+ $menu_id = ((argc() > 1) ? intval(argv(1)) : 0);
+ if($menu_id) {
+ $_REQUEST['menu_id'] = intval(argv(1));
+ $r = menu_edit($_REQUEST);
+ if($r) {
+ info( t('Menu updated.') . EOL);
+ goaway(z_root() . '/mitem/' . $menu_id);
+ }
+ else
+ notice( t('Unable to update menu.'). EOL);
+ }
+ else {
+ $r = menu_create($_REQUEST);
+ if($r) {
+ info( t('Menu created.') . EOL);
+ goaway(z_root() . '/mitem/' . $r);
+ }
+ else
+ notice( t('Unable to create menu.'). EOL);
+
+ }
+
+}
+
+
+function menu_content(&$a) {
+
+ if(! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return '';
+ }
+
+
+ $a->set_widget('design',design_tools());
+
+
+ if(argc() == 1) {
+ // list menus
+ $x = menu_list(local_user());
+
+ $o = replace_macros(get_markup_template('menulist.tpl'),array(
+ '$title' => t('Manage Menus'),
+ '$menus' => $x,
+ '$edit' => t('Edit'),
+ '$drop' => t('Drop'),
+ '$new' => t('New'),
+ '$hintnew' => t('Create a new menu'),
+ '$hintdrop' => t('Delete this menu'),
+ '$hintcontent' => t('Edit menu contents'),
+ '$hintedit' => t('Edit this menu')
+ ));
+
+ return $o;
+
+
+
+
+
+ }
+
+
+ if(argc() > 1) {
+ if(argv(1) === 'new') {
+ $o = replace_macros(get_markup_template('menuedit.tpl'), array(
+ '$header' => t('New Menu'),
+ '$menu_name' => array('menu_name', t('Menu name'), '', t('Must be unique, only seen by you'), '*'),
+ '$menu_desc' => array('menu_desc', t('Menu title'), '', t('Menu title as seen by others'), ''),
+ '$submit' => t('Create')
+ ));
+ return $o;
+ }
+
+ elseif(intval(argv(1))) {
+ $m = menu_fetch_id(intval(argv(1)),local_user());
+ if(! $m) {
+ notice( t('Menu not found.') . EOL);
+ return '';
+ }
+ if(argc() == 3 && argv(2) == 'drop') {
+ $r = menu_delete_id(intval(argv(1)),local_user());
+ if($r)
+ info( t('Menu deleted.') . EOL);
+ else
+ notice( t('Menu could not be deleted.'). EOL);
+
+ goaway(z_root() . '/menu');
+ }
+ else {
+ $o = replace_macros(get_markup_template('menuedit.tpl'), array(
+ '$header' => t('Edit Menu'),
+ '$menu_id' => intval(argv(1)),
+ '$hintedit' => t('Add or remove entries to this menu'),
+ '$editcontents' => t('Edit menu contents'),
+ '$menu_name' => array('menu_name', t('Menu name'), $m['menu_name'], t('Must be unique, only seen by you'), '*'),
+ '$menu_desc' => array('menu_desc', t('Menu title'), $m['menu_desc'], t('Menu title as seen by others'), ''),
+ '$submit' => t('Modify')
+ ));
+ return $o;
+ }
+ }
+ else {
+ notice( t('Not found.') . EOL);
+ return;
+ }
+ }
+
+}
diff --git a/mod/message.php b/mod/message.php
index 98a1067ed..f5a60b73b 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -9,13 +9,20 @@ require_once('include/Contact.php');
function message_aside(&$a) {
- $a->set_widget('newmessage',replace_macros(get_markup_template('message_side.tpl'), array(
+ $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'),
)
+
)));
}
@@ -41,7 +48,7 @@ function message_post(&$a) {
$ret = zot_finger($rstr,$channel);
- if(! $ret) {
+ if(! $ret['success']) {
notice( t('Unable to lookup recipient.') . EOL);
return;
}
@@ -160,9 +167,10 @@ function item_redir_and_replace_images($body, $images, $cid) {
$newbody = '';
for($i = 0; $i < count($images); $i++) {
- $search = '/\[url\=(.*?)\]\[!#saved_image' . $i . '#!\]\[\/url\]' . '/is';
- $replace = '[url=' . z_path() . '/redir/' . $cid
- . '?f=1&url=' . '$1' . '][!#saved_image' . $i . '#!][/url]' ;
+ $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);
@@ -198,6 +206,7 @@ function message_content(&$a) {
}
$channel = $a->get_channel();
+ head_set_icon($channel['xchan_photo_s']);
$tpl = get_markup_template('mail_head.tpl');
$header = replace_macros($tpl, array(
@@ -240,7 +249,7 @@ function message_content(&$a) {
$a->page['htmlhead'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(true),
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
- '$nickname' => $channel['channel_addr'],
+ '$nickname' => $channel['channel_address'],
'$linkurl' => t('Please enter a link URL:')
));
@@ -284,6 +293,7 @@ function message_content(&$a) {
'$select' => $select,
'$parent' => '',
'$upload' => t('Upload photo'),
+ '$attach' => t('Attach file'),
'$insert' => t('Insert web link'),
'$wait' => t('Please wait'),
'$submit' => t('Submit')
@@ -362,10 +372,39 @@ function message_content(&$a) {
foreach($messages as $message) {
-// FIXME
-// $extracted = item_extract_images($message['body']);
-// if($extracted['images'])
-// $message['body'] = item_redir_and_replace_images($extracted['body'], $extracted['images'], $message['contact-id']);
+ $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'],
@@ -376,7 +415,7 @@ function message_content(&$a) {
'to_url' => chanlink_hash($message['to_xchan']),
'to_photo' => $message['to']['xchan_photo_m'],
'subject' => $message['title'],
- 'body' => smilies(bbcode($message['body'])),
+ 'body' => smilies(bbcode($message['body']) . $s),
'delete' => t('Delete message'),
'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'],'D, d M Y - g:i A'),
);
@@ -392,7 +431,7 @@ function message_content(&$a) {
// 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_uri'] . '" />';
+ $parent = '<input type="hidden" name="replyto" value="' . $message['parent_mid'] . '" />';
$tpl = get_markup_template('mail_display.tpl');
$o = replace_macros($tpl, array(
@@ -416,6 +455,7 @@ function message_content(&$a) {
'$select' => $select,
'$parent' => $parent,
'$upload' => t('Upload photo'),
+ '$attach' => t('Attach file'),
'$insert' => t('Insert web link'),
'$submit' => t('Submit'),
'$wait' => t('Please wait')
diff --git a/mod/mitem.php b/mod/mitem.php
new file mode 100644
index 000000000..6a5785114
--- /dev/null
+++ b/mod/mitem.php
@@ -0,0 +1,201 @@
+<?php
+
+require_once('include/menu.php');
+
+function mitem_init(&$a) {
+ if(! local_user())
+ return;
+ if(argc() < 2)
+ return;
+
+ $m = menu_fetch_id(intval(argv(1)),local_user());
+ if(! $m) {
+ notice( t('Menu not found.') . EOL);
+ return '';
+ }
+ $a->data['menu'] = $m;
+
+}
+
+function mitem_post(&$a) {
+
+ if(! local_user())
+ return;
+
+ if(! $a->data['menu'])
+ return;
+
+ $_REQUEST['mitem_channel_id'] = local_user();
+ $_REQUEST['menu_id'] = $a->data['menu']['menu_id'];
+
+ $_REQUEST['mitem_flags'] = 0;
+ if($_REQUEST['usezid'])
+ $_REQUEST['mitem_flags'] |= MENU_ITEM_ZID;
+ if($_REQUEST['newwin'])
+ $_REQUEST['mitem_flags'] |= MENU_ITEM_NEWWIN;
+
+// FIXME!!!!
+
+ if ((! $_REQUEST['contact_allow'])
+ && (! $_REQUEST['group_allow'])
+ && (! $_REQUEST['contact_deny'])
+ && (! $_REQUEST['group_deny'])) {
+ $str_group_allow = $channel['channel_allow_gid'];
+ $str_contact_allow = $channel['channel_allow_cid'];
+ $str_group_deny = $channel['channel_deny_gid'];
+ $str_contact_deny = $channel['channel_deny_cid'];
+ }
+ else {
+
+ // use the posted permissions
+
+ $str_group_allow = perms2str($_REQUEST['group_allow']);
+ $str_contact_allow = perms2str($_REQUEST['contact_allow']);
+ $str_group_deny = perms2str($_REQUEST['group_deny']);
+ $str_contact_deny = perms2str($_REQUEST['contact_deny']);
+ }
+
+
+
+
+ $mitem_id = ((argc() > 2) ? intval(argv(2)) : 0);
+ if($mitem_id) {
+ $_REQUEST['mitem_id'] = $mitem_id;
+ $r = menu_edit_item($_REQUEST['menu_id'],local_user(),$_REQUEST);
+ if($r) {
+ info( t('Menu element updated.') . EOL);
+ goaway(z_root() . '/mitem/' . $_REQUEST['menu_id']);
+ }
+ else
+ notice( t('Unable to update menu element.') . EOL);
+
+ }
+ else {
+ $r = menu_add_item($_REQUEST['menu_id'],local_user(),$_REQUEST);
+ if($r) {
+ info( t('Menu element added.') . EOL);
+ goaway(z_root() . '/mitem/' . $_REQUEST['menu_id']);
+ }
+ else
+ notice( t('Unable to add menu element.') . EOL);
+
+ }
+
+
+
+}
+
+
+function mitem_content(&$a) {
+
+ if(! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return '';
+ }
+
+ if(argc() < 2 || (! $a->data['menu'])) {
+ notice( t('Not found.') . EOL);
+ return '';
+ }
+
+ $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));
+
+
+ if(argc() == 2) {
+ $r = q("select * from menu_item where mitem_menu_id = %d and mitem_channel_id = %d order by mitem_order asc, mitem_desc asc",
+ intval($a->data['menu']['menu_id']),
+ local_user()
+ );
+
+
+ $o .= replace_macros(get_markup_template('mitemlist.tpl'),array(
+ '$title' => t('Manage Menu Elements'),
+ '$menuname' => $a->data['menu']['menu_name'],
+ '$menudesc' => $a->data['menu']['menu_desc'],
+ '$edmenu' => t('Edit menu'),
+ '$menu_id' => $a->data['menu']['menu_id'],
+ '$mlist' => $r,
+ '$edit' => t('Edit element'),
+ '$drop' => t('Drop element'),
+ '$new' => t('New element'),
+ '$hintmenu' => t('Edit this menu container'),
+ '$hintnew' => t('Add menu element'),
+ '$hintdrop' => t('Delete this menu item'),
+ '$hintedit' => t('Edit this menu item')
+ ));
+
+
+ return $o;
+
+ }
+
+
+ if(argc() > 2) {
+ if(argv(2) === 'new') {
+
+ $o = replace_macros(get_markup_template('mitemedit.tpl'), array(
+ '$header' => t('New Menu Element'),
+ '$menu_id' => $a->data['menu']['menu_id'],
+ '$mitem_desc' => array('mitem_desc', t('Link text'), '', '','*'),
+ '$mitem_link' => array('mitem_link', t('URL of link'), '', '', '*'),
+ '$usezid' => array('usezid', t('Use Red magic-auth if available'), true, ''),
+ '$newwin' => array('newwin', t('Open link in new window'), false,''),
+// permissions go here
+ '$mitem_order' => array('mitem_order', t('Order in list'),'0',t('Higher numbers will sink to bottom of listing')),
+ '$submit' => t('Create')
+ ));
+ return $o;
+ }
+
+
+ elseif(intval(argv(2))) {
+ $m = q("select * from menu_item where mitem_id = %d and mitem_channel_id = %d limit 1",
+ intval(argv(2)),
+ intval(local_user())
+ );
+ if(! $m) {
+ notice( t('Menu item not found.') . EOL);
+ goaway(z_root() . '/menu');
+ }
+
+ $mitem = $m[0];
+
+ if(argc() == 4 && argv(3) == 'drop') {
+ $r = menu_del_item($mitem['mitem_menu_id'], local_user(),intval(argv(2)));
+ if($r)
+ info( t('Menu item deleted.') . EOL);
+ else
+ notice( t('Menu item could not be deleted.'). EOL);
+
+ goaway(z_root() . '/mitem/' . $mitem['mitem_menu_id']);
+ }
+ else {
+
+ // edit menu item
+
+ $o = replace_macros(get_markup_template('mitemedit.tpl'), array(
+ '$header' => t('Edit Menu Element'),
+ '$menu_id' => $a->data['menu']['menu_id'],
+ '$mitem_id' => intval(argv(2)),
+ '$mitem_desc' => array('mitem_desc', t('Link text'), $mitem['mitem_desc'], '','*'),
+ '$mitem_link' => array('mitem_link', t('URL of link'), $mitem['mitem_link'], '', '*'),
+ '$usezid' => array('usezid', t('Use Red magic-auth if available'), (($mitem['mitem_flags'] & MENU_ITEM_ZID) ? 1 : 0), ''),
+ '$newwin' => array('newwin', t('Open link in new window'), (($mitem['mitem_flags'] & MENU_ITEM_NEWWIN) ? 1 : 0),''),
+// permissions go here
+ '$mitem_order' => array('mitem_order', t('Order in list'),$mitem['mitem_order'],t('Higher numbers will sink to bottom of listing')),
+ '$submit' => t('Modify')
+ ));
+ return $o;
+ }
+ }
+
+ }
+
+
+
+
+}
diff --git a/mod/mood.php b/mod/mood.php
index 98064beab..83b8bfb57 100755
--- a/mod/mood.php
+++ b/mod/mood.php
@@ -30,15 +30,15 @@ function mood_init(&$a) {
if($parent) {
- $r = q("select uri, owner_xchan, private, allow_cid, allow_gid, deny_cid, deny_gid
+ $r = q("select mid, owner_xchan, private, allow_cid, allow_gid, deny_cid, deny_gid
from item where id = %d and parent = %d and uid = %d limit 1",
intval($parent),
intval($parent),
intval($uid)
);
if(count($r)) {
- $parent_uri = $r[0]['uri'];
- $private = $r[0]['private'];
+ $parent_mid = $r[0]['mid'];
+ $private = $r[0]['item_private'];
$allow_cid = $r[0]['allow_cid'];
$allow_gid = $r[0]['allow_gid'];
$deny_cid = $r[0]['deny_cid'];
@@ -58,11 +58,11 @@ function mood_init(&$a) {
$poster = $a->get_observer();
- $uri = item_message_id();
+ $mid = item_message_id();
- $action = sprintf( t('%1$s is currently %2$s'), '[url=' . $poster['xchan_url'] . ']' . $poster['xchan_name'] . '[/url]' , $verbs[$verb]);
+ $action = sprintf( t('%1$s is currently %2$s'), '[zrl=' . $poster['xchan_url'] . ']' . $poster['xchan_name'] . '[/zrl]' , $verbs[$verb]);
$item_flags = ITEM_WALL|ITEM_ORIGIN|ITEM_UNSEEN;
- if(! $parent_uri)
+ if(! $parent_mid)
$item_flags |= ITEM_THREAD_TOP;
@@ -70,20 +70,23 @@ function mood_init(&$a) {
$arr['aid'] = get_account_id();
$arr['uid'] = $uid;
- $arr['uri'] = $uri;
- $arr['parent_uri'] = (($parent_uri) ? $parent_uri : $uri);
+ $arr['mid'] = $mid;
+ $arr['parent_mid'] = (($parent_mid) ? $parent_mid : $mid);
$arr['item_flags'] = $item_flags;
$arr['author_xchan'] = $poster['xchan_hash'];
- $arr['owner_xchan'] = (($parent_uri) ? $r[0]['owner_xchan'] : $poster['xchan_hash']);
+ $arr['owner_xchan'] = (($parent_mid) ? $r[0]['owner_xchan'] : $poster['xchan_hash']);
$arr['title'] = '';
$arr['allow_cid'] = $allow_cid;
$arr['allow_gid'] = $allow_gid;
$arr['deny_cid'] = $deny_cid;
$arr['deny_gid'] = $deny_gid;
+ $arr['item_private'] = $private;
$arr['verb'] = $activity;
$arr['body'] = $action;
- $item_id = item_store($arr);
+ $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/' . $poster['nickname'] . '/' . $item_id),
diff --git a/mod/network.php b/mod/network.php
index dae9fa6be..9b108aef8 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -7,6 +7,10 @@ function network_init(&$a) {
notice( t('Permission denied.') . EOL);
return;
}
+
+ $channel = $a->get_channel();
+ $a->profile_uid = local_user();
+ head_set_icon($channel['xchan_photo_s']);
$is_a_date_query = false;
@@ -100,23 +104,6 @@ function network_init(&$a) {
$a->page['aside'] .= saved_searches($search);
$a->page['aside'] .= fileas_widget($a->get_baseurl(true) . '/network',(x($_GET, 'file') ? $_GET['file'] : ''));
- $base = $a->get_baseurl();
-
- $a->page['htmlhead'] .= <<< EOT
-
-<script>$(document).ready(function() {
- var a;
- a = $("#search-text").autocomplete({
- serviceUrl: '$base/search_ac',
- minChars: 2,
- width: 350,
- });
-});
-</script>
-EOT;
-
-
-
}
function saved_searches($search) {
@@ -338,9 +325,9 @@ function network_content(&$a, $update = 0, $load = false) {
// save selected tab, but only if not in search or file mode
- if(!x($_GET,'search') && !x($_GET,'file')) {
- set_pconfig( local_user(), 'network.view','tab.selected',array($all_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active, $spam_active) );
- }
+// if(!x($_GET,'search') && !x($_GET,'file')) {
+// set_pconfig( local_user(), 'network.view','tab.selected',array($all_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active, $spam_active) );
+// }
$contact_id = $a->cid;
@@ -369,7 +356,7 @@ function network_content(&$a, $update = 0, $load = false) {
if(feature_enabled(local_user(),'affinity')) {
$tpl = get_markup_template('main_slider.tpl');
- $o .= replace_macros($tpl,array(
+ $x = replace_macros($tpl,array(
'$val' => intval($cmin) . ';' . intval($cmax),
'$refresh' => t('Refresh'),
'$me' => t('Me'),
@@ -380,6 +367,9 @@ function network_content(&$a, $update = 0, $load = false) {
'$acquaintances' => t('Acquaintances'),
'$world' => t('Everybody')
));
+ $arr = array('html' => $x);
+ call_hooks('main_slider',$arr);
+ $o .= $arr['html'];
}
$arr = array('tabs' => $tabs);
@@ -389,18 +379,18 @@ function network_content(&$a, $update = 0, $load = false) {
// --- end item filter tabs
-
+ $search = (($_GET['search']) ? $_GET['search'] : '');
// search terms header
if($search)
$o .= '<h2>' . t('Search Results For:') . ' ' . htmlspecialchars($search) . '</h2>';
nav_set_selected('network');
- $celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);
+ $celeb = false;
$x = array(
'is_owner' => true,
- 'allow_location' => $a->user['allow_location'], // FIXME
+ 'allow_location' => ((intval(get_pconfig($channel['channel_id'],'system','use_browser_location'))) ? '1' : ''),
'default_location' => $channel['channel_location'],
'nickname' => $channel['channel_address'],
'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
@@ -430,11 +420,11 @@ function network_content(&$a, $update = 0, $load = false) {
$sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE (item_flags & " . intval(ITEM_THREAD_TOP) . ") $sql_options ) ";
if($group) {
- $r = q("SELECT `name`, `id` FROM `group` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($group),
- intval($_SESSION['uid'])
- );
- if(! count($r)) {
+ $r = q("SELECT * FROM `group` WHERE id = %d AND uid = %d LIMIT 1",
+ intval($group),
+ intval(local_user())
+ );
+ if(! $r) {
if($update)
killme();
notice( t('No such group') . EOL );
@@ -442,33 +432,33 @@ function network_content(&$a, $update = 0, $load = false) {
// NOTREACHED
}
- $contacts = expand_groups(array($group));
- if((is_array($contacts)) && count($contacts)) {
- $contact_str = implode(',',$contacts);
- }
- else {
- $contact_str = ' 0 ';
- info( t('Group is empty'));
- }
+ $contacts = expand_groups(array($arr['group']));
+ if((is_array($contacts)) && count($contacts)) {
+ $contact_str = implode(',',$contacts);
+ }
+ else {
+ $contact_str = ' 0 ';
+ info( t('Group is empty'));
+ }
+
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND ( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str) or allow_gid like '" . protect_sprintf('%<' . dbesc($r[0]['hash']) . '>%') . "' ) and item_restrict = 0 ) ";
+
+ }
- $sql_extra = " AND `item`.`parent` IN ( SELECT DISTINCT(`parent`) FROM `item` WHERE 1 $sql_options AND ( `contact-id` IN ( $contact_str ) OR `allow_gid` like '" . protect_sprintf('%<' . intval($group) . '>%') . "' ) and deleted = 0 ) ";
- $o = '<h2>' . t('Group: ') . $r[0]['name'] . '</h2>' . $o;
- }
elseif($cid) {
- $r = q("SELECT `id`,`name`,`network`,`writable`,`nurl` FROM `contact` WHERE `id` = %d
- AND `blocked` = 0 AND `pending` = 0 LIMIT 1",
- intval($cid)
- );
- if(count($r)) {
- $sql_extra = " AND `item`.`parent` IN ( SELECT DISTINCT(`parent`) FROM `item` WHERE 1 $sql_options AND `contact-id` = " . intval($cid) . " and deleted = 0 ) ";
+ $r = q("SELECT * from abook where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ") limit 1",
+ intval($cid),
+ intval(local_user())
+ );
+ if($r) {
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval(local_user()) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) and item_restrict = 0 ) ";
$o = '<h2>' . t('Contact: ') . $r[0]['name'] . '</h2>' . $o;
- }
- else {
+ }
+ else {
notice( t('Invalid contact.') . EOL);
goaway($a->get_baseurl(true) . '/network');
- // NOTREACHED
- }
+ }
}
@@ -494,6 +484,7 @@ function network_content(&$a, $update = 0, $load = false) {
. "'; var profile_page = " . $a->pager['page'] . ";</script>";
+logger('Search: ' . $search);
$a->page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
'$baseurl' => z_root(),
@@ -510,12 +501,12 @@ function network_content(&$a, $update = 0, $load = false) {
'$nouveau' => (($nouveau) ? $nouveau : '0'),
'$wall' => '0',
'$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
- '$search' => $search,
+ '$search' => (($search) ? $search : ''),
'$order' => $order,
'$file' => $file,
'$cats' => '',
'$dend' => $datequery,
- '$uri' => '',
+ '$mid' => '',
'$dbegin' => $datequery2
));
}
@@ -651,6 +642,8 @@ function network_content(&$a, $update = 0, $load = false) {
$first = dba_timer();
// Then fetch all the children of the parents that are on this page
+ $parents_str = '';
+ $update_unseen = '';
if($r) {
@@ -709,10 +702,12 @@ function network_content(&$a, $update = 0, $load = false) {
$sixth = dba_timer();
- if(! $update)
+ if(($items) && (! $update))
$o .= alt_pager($a,count($items));
if($load) {
+ logger('mod_network: load: ' . count($items) . ' items', LOGGER_DATA);
+
profiler($start,$first,'network parents');
profiler($first,$second,'network children');
profiler($second,$third,'network authors');
diff --git a/mod/nogroup.php b/mod/nogroup.php
index bd1ec82ed..31ccaadbf 100644
--- a/mod/nogroup.php
+++ b/mod/nogroup.php
@@ -48,7 +48,7 @@ function nogroup_content(&$a) {
'username' => $rr['name'],
'sparkle' => $sparkle,
'itemurl' => $rr['url'],
- 'url' => $url,
+ 'link' => $url,
'network' => network_to_name($rr['network']),
);
}
diff --git a/mod/notifications.php b/mod/notifications.php
index 7d861037c..397ed272b 100644
--- a/mod/notifications.php
+++ b/mod/notifications.php
@@ -70,30 +70,31 @@ function notifications_content(&$a) {
nav_set_selected('notifications');
$o = '';
+
$tabs = array(
array(
'label' => t('System'),
'url'=>$a->get_baseurl(true) . '/notifications/system',
'sel'=> (($a->argv[1] == 'system') ? 'active' : ''),
),
- array(
- 'label' => t('Network'),
- 'url'=>$a->get_baseurl(true) . '/notifications/network',
- 'sel'=> (($a->argv[1] == 'network') ? 'active' : ''),
- ),
+// array(
+// 'label' => t('Network'),
+// 'url'=>$a->get_baseurl(true) . '/notifications/network',
+// 'sel'=> (($a->argv[1] == 'network') ? 'active' : ''),
+// ),
array(
'label' => t('Personal'),
'url'=>$a->get_baseurl(true) . '/notifications/personal',
'sel'=> (($a->argv[1] == 'personal') ? 'active' : ''),
),
- array(
- 'label' => t('Home'),
- 'url' => $a->get_baseurl(true) . '/notifications/home',
- 'sel'=> (($a->argv[1] == 'home') ? 'active' : ''),
- ),
+// array(
+// 'label' => t('Home'),
+// 'url' => $a->get_baseurl(true) . '/notifications/home',
+// 'sel'=> (($a->argv[1] == 'home') ? 'active' : ''),
+// ),
array(
'label' => t('Introductions'),
- 'url' => $a->get_baseurl(true) . '/notifications/intros',
+ 'url' => $a->get_baseurl(true) . '/connections/pending',
'sel'=> (($a->argv[1] == 'intros') ? 'active' : ''),
),
array(
@@ -105,6 +106,7 @@ function notifications_content(&$a) {
$o = "";
+//Disabled
if( (($a->argc > 1) && ($a->argv[1] == 'intros')) || (($a->argc == 1))) {
nav_set_selected('introductions');
@@ -221,7 +223,9 @@ function notifications_content(&$a) {
$o .= paginate($a);
return $o;
- } else if (($a->argc > 1) && ($a->argv[1] == 'network')) {
+ }
+
+ elseif (($a->argc > 1) && ($a->argv[1] == 'network')) {
$notif_tpl = get_markup_template('notifications.tpl');
@@ -428,11 +432,7 @@ function notifications_content(&$a) {
'$tabs' => $tabs,
'$notif_content' => $notif_content,
));
-
-
-
-
-
+
} else if (($a->argc > 1) && ($a->argv[1] == 'home')) {
diff --git a/mod/oembed.php b/mod/oembed.php
index 720a6d72b..adda63cf2 100644
--- a/mod/oembed.php
+++ b/mod/oembed.php
@@ -19,7 +19,7 @@ function oembed_init(&$a){
else {
echo "<html><body>";
- $url = base64url_decode($argv(1));
+ $url = base64url_decode(argv(1));
$j = oembed_fetch_url($url);
echo $j->html;
// logger('mod-oembed ' . $j->html, LOGGER_ALL);
diff --git a/mod/oexchange.php b/mod/oexchange.php
index 791a493ff..63b48751c 100644
--- a/mod/oexchange.php
+++ b/mod/oexchange.php
@@ -32,18 +32,19 @@ function oexchange_content(&$a) {
$tags = (((x($_REQUEST,'tags')) && strlen($_REQUEST['tags']))
? '&tags=' . urlencode(notags(trim($_REQUEST['tags']))) : '');
- $s = fetch_url($a->get_baseurl() . '/parse_url?f=&url=' . $url . $title . $description . $tags);
+ $ret = z_fetch_url($a->get_baseurl() . '/parse_url?f=&url=' . $url . $title . $description . $tags);
+
+ if($ret['success'])
+ $s = $ret['body'];
if(! strlen($s))
return;
- require_once('include/html2bbcode.php');
-
$post = array();
$post['profile_uid'] = local_user();
$post['return'] = '/oexchange/done' ;
- $post['body'] = html2bbcode($s);
+ $post['body'] = $s;
$post['type'] = 'wall';
$_REQUEST = $post;
diff --git a/mod/page.php b/mod/page.php
index 62f9d9204..452341cb1 100644
--- a/mod/page.php
+++ b/mod/page.php
@@ -2,9 +2,35 @@
require_once('include/items.php');
require_once('include/conversation.php');
+require_once('include/page_widgets.php');
+
+function page_init(&$a) {
+ // We need this to make sure the channel theme is always loaded.
+
+ $which = argv(1);
+ $profile = 0;
+ profile_load($a,$which,$profile);
+
+ if($a->profile['profile_uid'])
+ head_set_icon($a->profile['thumb']);
+
+}
+
+
+
function page_content(&$a) {
+ $observer = $a->get_observer();
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+
+ $perms = get_all_perms($a->profile['profile_uid'],$ob_hash);
+
+ if(! $perms['view_pages']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
if(argc() < 3) {
notice( t('Invalid item.') . EOL);
return;
@@ -22,9 +48,15 @@ function page_content(&$a) {
return;
}
+ if($_REQUEST['rev'])
+ $revision = " and revision = " . intval($_REQUEST['rev']) . " ";
+ else
+ $revision = " order by revision desc ";
+
+
$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",
+ item_restrict = %d $revision limit 1",
intval($u[0]['channel_id']),
dbesc($page_id),
intval(ITEM_WEBPAGE)
@@ -34,11 +66,36 @@ function page_content(&$a) {
notice( t('Item not found.') . EOL);
return;
}
+dbg(1);
+ if($r[0]['layout_mid']) {
+ $l = q("select body from item where mid = '%s' and uid = %d limit 1",
+ dbesc($r[0]['layout_mid']),
+ intval($u[0]['channel_id'])
+ );
+
+ if($l) {
+ require_once('include/comanche.php');
+ comanche_parser(get_app(),$l[0]['body']);
+ }
+ }
+dbg(0);
+
+logger('layout: ' . print_r($a->layout,true));
+
+
+ // Use of widgets should be determined by Comanche, but we don't have it yet, so...
+
+ if ($perms['write_pages']) {
+ $chan = $a->channel['channel_id'];
+ $who = $channel_address;
+ $which = $r[0]['id'];
+ $o .= writepages_widget($who,$which);
+ }
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;
-} \ No newline at end of file
+}
diff --git a/mod/parse_url.php b/mod/parse_url.php
index 600d3dc8b..c206c24ec 100644
--- a/mod/parse_url.php
+++ b/mod/parse_url.php
@@ -55,34 +55,18 @@ function completeurl($url, $scheme) {
function parseurl_getsiteinfo($url) {
$siteinfo = array();
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_HEADER, 1);
- curl_setopt($ch, CURLOPT_NOBODY, 0);
- curl_setopt($ch, CURLOPT_TIMEOUT, 3);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch,CURLOPT_USERAGENT,'Opera/9.64(Windows NT 5.1; U; de) Presto/2.1.1');
-
- $header = curl_exec($ch);
- curl_close($ch);
-
- // Fetch the first mentioned charset. Can be in body or header
- if (preg_match('/charset=(.*?)['."'".'"\s\n]/', $header, $matches))
- $charset = trim(array_pop($matches));
- else
- $charset = "utf-8";
- $pos = strpos($header, "\r\n\r\n");
+ $result = z_fetch_url($url,false,0,array('novalidate' => true));
+ if(! $result['success'])
+ return $siteinfo;
- if ($pos)
- $body = trim(substr($header, $pos));
- else
- $body = $header;
+ $header = $result['header'];
+ $body = $result['body'];
- $body = mb_convert_encoding($body, "UTF-8", $charset);
- $body = mb_convert_encoding($body, 'HTML-ENTITIES', "UTF-8");
+ $body = mb_convert_encoding($body, 'UTF-8', 'UTF-8');
+ $body = mb_convert_encoding($body, 'HTML-ENTITIES', "UTF-8");
- $doc = new DOMDocument();
+ $doc = new DOMDocument();
@$doc->loadHTML($body);
deletenode($doc, 'style');
@@ -115,6 +99,9 @@ function parseurl_getsiteinfo($url) {
$attr["content"] = html_entity_decode($attr["content"], ENT_QUOTES, "UTF-8");
switch (strtolower($attr["name"])) {
+ case 'generator':
+ $siteinfo['generator'] = $attr['content'];
+ break;
case "fulltitle":
$siteinfo["title"] = $attr["content"];
break;
@@ -245,6 +232,10 @@ function parse_url_content(&$a) {
else
$url = trim($_GET['url']);
+ if((substr($url,0,1) != '/') && (substr($url,0,4) != 'http'))
+ $url = 'http://' . $url;
+
+
if($_GET['title'])
$title = strip_tags(trim($_GET['title']));
@@ -290,6 +281,11 @@ function parse_url_content(&$a) {
$siteinfo = parseurl_getsiteinfo($url);
+ // If this is a Red site, use zrl rather than url so they get zids sent to them by default
+
+ if( x($siteinfo,'generator') && (strpos($siteinfo['generator'],RED_PLATFORM . ' ') === 0))
+ $template = str_replace('url','zrl',$template);
+
if($siteinfo["title"] == "") {
echo sprintf($template,$url,$url,'') . $str_tags;
killme();
diff --git a/mod/photo.php b/mod/photo.php
index aff4dc895..fffc15e53 100644
--- a/mod/photo.php
+++ b/mod/photo.php
@@ -1,7 +1,7 @@
<?php
require_once('include/security.php');
-require_once('include/Photo.php');
+require_once('include/photo/photo_driver.php');
function photo_init(&$a) {
@@ -118,7 +118,10 @@ function photo_init(&$a) {
intval($resolution)
);
if($r) {
- $data = file_get_contents('images/nosign.jpg');
+ logger('mod_photo: forbidden. ' . $a->query_string());
+ $observer = $a->get_observer();
+ logger('mod_photo: observer = ' . (($observer) ? $observer['xchan_addr'] : '(not authenticated)'));
+ $data = file_get_contents('images/nosign.png');
$mimetype = 'image/jpeg';
$prvcachecontrol = true;
}
@@ -151,7 +154,7 @@ function photo_init(&$a) {
}
if(isset($res) && intval($res) && $res < 500) {
- $ph = new Photo($data, $mimetype);
+ $ph = photo_factory($data, $mimetype);
if($ph->is_valid()) {
$ph->scaleImageSquare($res);
$data = $ph->imageString();
diff --git a/mod/photos.php b/mod/photos.php
index 90b2990aa..8e63a42ea 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -1,5 +1,5 @@
<?php
-require_once('include/Photo.php');
+require_once('include/photo/photo_driver.php');
require_once('include/photos.php');
require_once('include/items.php');
require_once('include/acl_selectors.php');
@@ -59,7 +59,9 @@ function photos_post(&$a) {
logger('mod_photos: REQUEST ' . print_r($_REQUEST,true), LOGGER_DATA);
logger('mod_photos: FILES ' . print_r($_FILES,true), LOGGER_DATA);
- $phototypes = Photo::supportedTypes();
+ $ph = photo_factory('');
+
+ $phototypes = $ph->supportedTypes();
$can_post = false;
@@ -182,15 +184,16 @@ function photos_post(&$a) {
intval($page_owner_uid),
dbesc($r[0]['resource_id'])
);
- $i = q("SELECT * FROM `item` WHERE `resource_id` = '%s' AND `uid` = %d LIMIT 1",
+ $i = q("SELECT * FROM `item` WHERE `resource_id` = '%s' AND resource_type = 'photo' and `uid` = %d LIMIT 1",
dbesc($r[0]['resource_id']),
intval($page_owner_uid)
);
if(count($i)) {
- q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s' WHERE `parent_uri` = '%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()),
- dbesc($i[0]['uri']),
+ dbesc($i[0]['mid']),
intval($page_owner_uid)
);
@@ -233,7 +236,7 @@ function photos_post(&$a) {
intval($page_owner_uid)
);
if(count($r)) {
- $ph = new Photo($r[0]['data'], $r[0]['type']);
+ $ph = photo_factory($r[0]['data'], $r[0]['type']);
if($ph->is_valid()) {
$rotate_deg = ( (intval($_POST['rotate']) == 1) ? 270 : 90 );
$ph->rotate($rotate_deg);
@@ -280,9 +283,11 @@ function photos_post(&$a) {
}
}
- $p = q("SELECT * FROM `photo` WHERE `resource_id` = '%s' AND `uid` = %d ORDER BY `scale` DESC",
+ $p = q("SELECT * FROM `photo` WHERE `resource_id` = '%s' AND `uid` = %d and ( photo_flags = %d or photo_flags = %d ) ORDER BY `scale` DESC",
dbesc($resource_id),
- intval($page_owner_uid)
+ intval($page_owner_uid),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE)
);
if(count($p)) {
$ext = $phototypes[$p[0]['type']];
@@ -298,6 +303,9 @@ function photos_post(&$a) {
);
}
+ $item_private = (($str_contact_allow || $str_group_allow || $str_contact_deny || $str_group_deny) ? true : false);
+
+
/* Don't make the item visible if the only change was the album name */
$visibility = 0;
@@ -315,11 +323,23 @@ function photos_post(&$a) {
intval($page_owner_uid)
);
}
- if(count($r)) {
+ if($r) {
$old_tag = $r[0]['tag'];
$old_inform = $r[0]['inform'];
}
+ // make sure the linked item has the same permissions as the photo regardless of any other changes
+ $x = q("update item set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d
+ where id = %d limit 1",
+ dbesc($str_contact_allow),
+ dbesc($str_group_allow),
+ dbesc($str_contact_deny),
+ dbesc($str_group_deny),
+ intval($item_private),
+ intval($item_id)
+ );
+
+
if(strlen($rawtags)) {
$str_tags = '';
@@ -413,13 +433,13 @@ function photos_post(&$a) {
}
if($profile) {
if(substr($notify,0,4) === 'cid:')
- $taginfo[] = array($newname,$profile,$notify,$r[0],'@[url=' . str_replace(',','%2c',$profile) . ']' . $newname . '[/url]');
+ $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 .= '@[url=' . $profile . ']' . $newname . '[/url]';
+ $str_tags .= '@[zrl=' . $profile . ']' . $newname . '[/zrl]';
}
}
}
@@ -459,13 +479,13 @@ function photos_post(&$a) {
if(count($taginfo)) {
foreach($taginfo as $tagged) {
- $uri = item_message_id();
+ $mid = item_message_id();
$arr = array();
$arr['uid'] = $page_owner_uid;
- $arr['uri'] = $uri;
- $arr['parent_uri'] = $uri;
+ $arr['mid'] = $mid;
+ $arr['parent_mid'] = $mid;
$arr['type'] = 'activity';
$arr['wall'] = 1;
$arr['contact-id'] = $owner_record['id'];
@@ -487,9 +507,9 @@ function photos_post(&$a) {
$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'), '[url=' . $tagged[1] . ']' . $tagged[0] . '[/url]', '[url=' . $a->get_baseurl() . '/photos/' . $owner_record['nickname'] . '/image/' . $p[0]['resource-id'] . ']' . t('a photo') . '[/url]', '[url=' . $owner_record['url'] . ']' . $owner_record['name'] . '[/url]') ;
+ $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" . '[url=' . $a->get_baseurl() . '/photos/' . $owner_record['nickname'] . '/image/' . $p[0]['resource_id'] . ']' . '[img]' . $a->get_baseurl() . "/photo/" . $p[0]['resource_id'] . '-' . $best . '.' . $ext . '[/img][/url]' . "\n" ;
+ $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");
@@ -501,7 +521,9 @@ function photos_post(&$a) {
. $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>';
- $item_id = item_store($arr);
+ $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),
@@ -565,7 +587,8 @@ function photos_content(&$a) {
return;
}
- $phototypes = Photo::supportedTypes();
+ $ph = photo_factory('');
+ $phototypes = $ph->supportedTypes();
$_SESSION['photo_return'] = $a->cmd;
@@ -604,57 +627,8 @@ function photos_content(&$a) {
if((local_user()) && (local_user() == $owner_uid))
$can_post = true;
- else {
- if($community_page && remote_user()) {
- if(is_array($_SESSION['remote'])) {
- foreach($_SESSION['remote'] as $v) {
- if($v['uid'] == $owner_uid) {
- $contact_id = $v['cid'];
- break;
- }
- }
- }
- if($contact_id) {
-
- $r = q("SELECT `uid` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `id` = %d AND `uid` = %d LIMIT 1",
- intval($contact_id),
- intval($owner_uid)
- );
- if(count($r)) {
- $can_post = true;
- $contact = $r[0];
- $remote_contact = true;
- $visitor = $cid;
- }
- }
- }
- }
-
- // perhaps they're visiting - but not a community page, so they wouldn't have write access
-
- if(remote_user() && (! $visitor)) {
- $contact_id = 0;
- if(is_array($_SESSION['remote'])) {
- foreach($_SESSION['remote'] as $v) {
- if($v['uid'] == $owner_uid) {
- $contact_id = $v['cid'];
- break;
- }
- }
- }
- if($contact_id) {
- $groups = init_groups_visitor($contact_id);
- $r = q("SELECT * FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `id` = %d AND `uid` = %d LIMIT 1",
- intval($contact_id),
- intval($owner_uid)
- );
- if(count($r)) {
- $contact = $r[0];
- $remote_contact = true;
- }
- }
- }
+// FIXME
if(! $remote_contact) {
if(local_user()) {
$contact_id = $_SESSION['cid'];
@@ -679,6 +653,9 @@ function photos_content(&$a) {
// dispatch request
//
+ /**
+ * Display upload form
+ */
if($datatype === 'upload') {
if(! ($can_post)) {
@@ -686,20 +663,16 @@ function photos_content(&$a) {
return;
}
-
$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(($album['album'] === '') || ($album['album'] === 'Contact Photos') || ($album['album'] === t('Contact Photos')))
+ if($album['text'] === '')
continue;
- $selected = (($selname === $album['album']) ? ' selected="selected" ' : '');
- $albumselect .= '<option value="' . $album['album'] . '"' . $selected . '>' . $album['album'] . '</option>';
+ $selected = (($selname === $album['text']) ? ' selected="selected" ' : '');
+ $albumselect .= '<option value="' . $album['text'] . '"' . $selected . '>' . $album['text'] . '</option>';
}
}
@@ -719,6 +692,7 @@ function photos_content(&$a) {
$default_upload = '<input id="photos-upload-choose" type="file" name="userfile" /> <div class="photos-upload-submit-wrapper" >
<input type="submit" name="submit" value="' . t('Submit') . '" id="photos-upload-submit" /> </div>';
+ /* Show space usage */
$r = q("select sum(size) as total from photo where uid = %d and scale = 0 ",
intval($a->data['channel']['channel_id'])
@@ -733,15 +707,8 @@ function photos_content(&$a) {
$usage_message = sprintf( t('You have used %1$.2f Mbytes of photo storage.'), $r[0]['total'] / 1024000 );
}
-
- if($a->get_template_engine() === 'internal') {
- $albumselect_e = template_escape($albumselect);
- $aclselect_e = (($visitor) ? '' : template_escape(populate_acl($a->user, $celeb)));
- }
- else {
- $albumselect_e = $albumselect;
- $aclselect_e = (($visitor) ? '' : populate_acl($a->user, $celeb));
- }
+ $albumselect_e = $albumselect;
+ $aclselect_e = (($visitor) ? '' : populate_acl($a->user, $celeb));
$tpl = get_markup_template('photos_upload.tpl');
$o .= replace_macros($tpl,array(
@@ -764,18 +731,24 @@ function photos_content(&$a) {
return $o;
}
+ /*
+ * Display a single photo album
+ */
+
if($datatype === 'album') {
$album = hex2bin($datum);
$r = q("SELECT `resource_id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` = '%s'
- AND `scale` <= 4 $sql_extra GROUP BY `resource_id`",
+ AND `scale` <= 4 and (photo_flags = %d or photo_flags = %d ) $sql_extra GROUP BY `resource_id`",
intval($owner_uid),
- dbesc($album)
+ dbesc($album),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE)
);
if(count($r)) {
$a->set_pager_total(count($r));
- $a->set_pager_itemspage(20);
+ $a->set_pager_itemspage(40);
}
if($_GET['order'] === 'posted')
@@ -784,9 +757,11 @@ function photos_content(&$a) {
$order = 'DESC';
$r = q("SELECT `resource_id`, `id`, `filename`, type, max(`scale`) AS `scale`, `desc` FROM `photo` WHERE `uid` = %d AND `album` = '%s'
- AND `scale` <= 4 $sql_extra GROUP BY `resource_id` ORDER BY `created` $order LIMIT %d , %d",
+ 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),
+ intvaL(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE),
intval($a->pager['start']),
intval($a->pager['itemspage'])
);
@@ -835,11 +810,11 @@ function photos_content(&$a) {
$o .= '<div class="photos-upload-link" ><a href="' . $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/upload/' . bin2hex($album) . '" >' . t('Upload New Photos') . '</a></div>';
}
-
$tpl = get_markup_template('photo_album.tpl');
if(count($r))
$twist = 'rotright';
foreach($r as $rr) {
+
if($twist == 'rotright')
$twist = 'rotleft';
else
@@ -856,15 +831,26 @@ function photos_content(&$a) {
$desc_e = $rr['desc'];
}
+
+ 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'],
'$twist' => ' ' . $twist . rand(2,4),
- '$photolink' => $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $rr['resource_id']
- . (($_GET['order'] === 'posted') ? '?f=&order=posted' : ''),
+ '$photolink' => $imagelink,
+ '$rel' => $rel,
'$phototitle' => t('View Photo'),
'$imgsrc' => $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['scale'] . '.' .$ext,
'$imgalt' => $imgalt_e,
- '$desc'=> $desc_e
+ '$desc'=> $desc_e,
));
}
@@ -875,28 +861,37 @@ function photos_content(&$a) {
}
+ /**
+ * Display one photo
+ */
if($datatype === 'image') {
-
-
- //$o = '';
// fetch image, item containing image, then comments
- $ph = q("SELECT * FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s'
- $sql_extra ORDER BY `scale` ASC ",
+ $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'
+ and (photo_flags = %d or photo_flags = %d ) $sql_extra ORDER BY `scale` ASC ",
intval($owner_uid),
- dbesc($datum)
+ dbesc($datum),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE)
+
);
- if(! count($ph)) {
+ if(! $ph) {
+
+ /* Check again - this time without specifying permissions */
+
$ph = q("SELECT `id` FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s'
+ and ( photo_flags = %d or photo_flags = %d )
LIMIT 1",
intval($owner_uid),
- dbesc($datum)
+ dbesc($datum),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE)
);
- if(count($ph))
- notice( t('Permission denied. Access to this item may be restricted.'));
+ if($ph)
+ notice( t('Permission denied. Access to this item may be restricted.') . EOL);
else
notice( t('Photo not available') . EOL );
return;
@@ -912,9 +907,11 @@ function photos_content(&$a) {
$prvnxt = q("SELECT `resource_id` FROM `photo` WHERE `album` = '%s' AND `uid` = %d AND `scale` = 0
- $sql_extra ORDER BY `created` $order ",
+ and ( photo_flags = %d or photo_flags = %d ) $sql_extra ORDER BY `created` $order ",
dbesc($ph[0]['album']),
- intval($owner_uid)
+ intval($owner_uid),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE)
);
if(count($prvnxt)) {
@@ -929,9 +926,9 @@ function photos_content(&$a) {
break;
}
}
- $edit_suffix = ((($cmd === 'edit') && ($can_post)) ? '/edit' : '');
- $prevlink = $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $prvnxt[$prv]['resource_id'] . $edit_suffix . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '');
- $nextlink = $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $prvnxt[$nxt]['resource_id'] . $edit_suffix . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '');
+
+ $prevlink = $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $prvnxt[$prv]['resource_id'] . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '');
+ $nextlink = $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $prvnxt[$nxt]['resource_id'] . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '');
}
@@ -954,7 +951,6 @@ function photos_content(&$a) {
if($can_post && ($ph[0]['uid'] == $owner_uid)) {
$tools = array(
- 'edit' => array($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $datum . (($cmd === 'edit') ? '' : '/edit'), (($cmd === 'edit') ? t('View photo') : t('Edit photo'))),
'profile'=>array($a->get_baseurl() . '/profile_photo/use/'.$ph[0]['resource_id'], t('Use as profile photo')),
);
@@ -967,7 +963,7 @@ function photos_content(&$a) {
}
- if(! $cmd !== 'edit') {
+ if(! $can_post) {
$a->page['htmlhead'] .= '<script>
$(document).keydown(function(event) {' . "\n";
@@ -993,105 +989,69 @@ function photos_content(&$a) {
// Do we have an item for this photo?
- $linked_items = q("SELECT * FROM `item` WHERE `resource_id` = '%s' $sql_extra LIMIT 1",
+ $linked_items = q("SELECT * FROM item WHERE resource_id = '%s' and resource_type = 'photo'
+ $sql_extra LIMIT 1",
dbesc($datum)
);
- if(count($linked_items)) {
+
+ if($linked_items) {
+
$link_item = $linked_items[0];
- $r = q("SELECT COUNT(*) AS `total`
- FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
- WHERE `parent_uri` = '%s' AND `uri` != '%s' AND `item`.`deleted` = 0 and `item`.`moderated` = 0
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- AND `item`.`uid` = %d
- $sql_extra ",
- dbesc($link_item['uri']),
- dbesc($link_item['uri']),
+
+ $r = q("select * from item where parent_mid = '%s'
+ and item_restrict = 0 and uid = %d $sql_extra ",
+ dbesc($link_item['mid']),
intval($link_item['uid'])
);
- if(count($r))
- $a->set_pager_total($r[0]['total']);
-
-
- $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`network`,
- `contact`.`rel`, `contact`.`thumb`, `contact`.`self`,
- `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
- FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
- WHERE `parent_uri` = '%s' AND `uri` != '%s' AND `item`.`deleted` = 0 and `item`.`moderated` = 0
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- AND `item`.`uid` = %d
- $sql_extra
- ORDER BY `parent` DESC, `id` ASC LIMIT %d ,%d ",
- dbesc($link_item['uri']),
- dbesc($link_item['uri']),
- intval($link_item['uid']),
- intval($a->pager['start']),
- intval($a->pager['itemspage'])
+ if($r) {
+ xchan_query($r);
+ $r = fetch_post_tags($r,true);
+ $r = conv_sort($r,'commented');
+ }
- );
-
if((local_user()) && (local_user() == $link_item['uid'])) {
- q("UPDATE `item` SET `unseen` = 0 WHERE `parent` = %d and `uid` = %d",
+ q("UPDATE `item` SET item_flags = (item_flags ^ %d) WHERE parent = %d and uid = %d and (item_flags & %d)",
+ intval(ITEM_UNSEEN),
intval($link_item['parent']),
- intval(local_user())
+ intval(local_user()),
+ intval(ITEM_UNSEEN)
);
}
}
- $tags=Null;
-
- if(count($linked_items) && strlen($link_item['tag'])) {
- $arr = explode(',',$link_item['tag']);
- // parse tags and add links
- $tag_str = '';
- foreach($arr as $t) {
- if(strlen($tag_str))
- $tag_str .= ', ';
- $tag_str .= bbcode($t);
- }
- $tags = array(t('Tags: '), $tag_str);
- if($cmd === 'edit') {
- $tags[] = $a->get_baseurl() . '/tagrm/' . $link_item['id'];
- $tags[] = t('[Remove any tag]');
- }
- }
+ // FIXME - remove this when we move to conversation module
+ $r = $r[0]['children'];
- $edit = Null;
- if(($cmd === 'edit') && ($can_post)) {
- if($a->get_template_engine() === 'internal') {
- $album_e = template_escape($ph[0]['album']);
- $caption_e = template_escape($ph[0]['desc']);
- $aclselect_e = template_escape(populate_acl($ph[0]));
- }
- else {
- $album_e = $ph[0]['album'];
- $caption_e = $ph[0]['desc'];
- $aclselect_e = populate_acl($ph[0]);
- }
+ $edit = null;
+ if($can_post) {
- $edit_tpl = get_markup_template('photo_edit.tpl');
- $edit = replace_macros($edit_tpl, array(
- '$id' => $ph[0]['id'],
- '$rotatecw' => t('Rotate CW (right)'),
- '$rotateccw' => t('Rotate CCW (left)'),
- '$album' => $album_e,
- '$newalbum' => t('New album name'),
- '$nickname' => $a->data['channel']['channel_address'],
- '$resource_id' => $ph[0]['resource_id'],
- '$capt_label' => t('Caption'),
- '$caption' => $caption_e,
- '$tag_label' => t('Add a Tag'),
- '$tags' => $link_item['tag'],
- '$permissions' => t('Permissions'),
- '$aclselect' => $aclselect_e,
- '$help_tags' => t('Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'),
- '$item_id' => ((count($linked_items)) ? $link_item['id'] : 0),
- '$submit' => t('Submit'),
- '$delete' => t('Delete Photo')
- ));
+ $album_e = $ph[0]['album'];
+ $caption_e = $ph[0]['desc'];
+ $aclselect_e = populate_acl($ph[0]);
+
+ $edit = array(
+ 'edit' => t('Edit photo'),
+ 'id' => $ph[0]['id'],
+ 'rotatecw' => t('Rotate CW (right)'),
+ 'rotateccw' => t('Rotate CCW (left)'),
+ 'album' => $album_e,
+ 'newalbum' => t('New album name'),
+ 'nickname' => $a->data['channel']['channel_address'],
+ 'resource_id' => $ph[0]['resource_id'],
+ 'capt_label' => t('Caption'),
+ 'caption' => $caption_e,
+ 'tag_label' => t('Add a Tag'),
+ 'tags' => $link_item['tag'],
+ 'permissions' => t('Permissions'),
+ 'aclselect' => $aclselect_e,
+ 'help_tags' => t('Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'),
+ 'item_id' => ((count($linked_items)) ? $link_item['id'] : 0),
+ 'submit' => t('Submit'),
+ 'delete' => t('Delete Photo')
+ );
}
if(count($linked_items)) {
@@ -1119,6 +1079,7 @@ function photos_content(&$a) {
if($can_post || $a->data['perms']['post_comments']) {
$comments .= replace_macros($cmnt_tpl,array(
'$return_path' => '',
+ '$mode' => 'photos',
'$jsreload' => $return_url,
'$type' => 'wall-comment',
'$id' => $link_item['id'],
@@ -1142,7 +1103,7 @@ function photos_content(&$a) {
$dislike = '';
// display comments
- if(count($r)) {
+ if($r) {
foreach($r as $item) {
like_puller($a,$item,$alike,'like');
@@ -1154,23 +1115,6 @@ function photos_content(&$a) {
- if($can_post || $a->data['perms']['post_comments']) {
- $comments .= replace_macros($cmnt_tpl,array(
- '$return_path' => '',
- '$jsreload' => $return_url,
- '$type' => 'wall-comment',
- '$id' => $link_item['id'],
- '$parent' => $link_item['id'],
- '$profile_uid' => $owner_uid,
- '$mylink' => $contact['url'],
- '$mytitle' => t('This is you'),
- '$myphoto' => $contact['thumb'],
- '$comment' => t('Comment'),
- '$submit' => t('Submit'),
- '$ww' => ''
- ));
- }
-
foreach($r as $item) {
$comment = '';
$template = $tpl;
@@ -1181,39 +1125,13 @@ function photos_content(&$a) {
$redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'] ;
- if($can_post || $a->data['perms']['post_comments']) {
- $comments .= replace_macros($cmnt_tpl,array(
- '$return_path' => '',
- '$jsreload' => $return_url,
- '$type' => 'wall-comment',
- '$id' => $item['item_id'],
- '$parent' => $item['parent'],
- '$profile_uid' => $owner_uid,
- '$mylink' => $contact['url'],
- '$mytitle' => t('This is you'),
- '$myphoto' => $contact['thumb'],
- '$comment' => t('Comment'),
- '$submit' => t('Submit'),
- '$sourceapp' => t($a->sourcename),
- '$ww' => ''
- ));
- }
+ $profile_url = zid($item['author']['xchan_url']);
+ $sparkle = '';
- if(local_user() && ($item['contact-uid'] == local_user())
- && ($item['network'] == 'dfrn') && (! $item['self'] )) {
- $profile_url = $redirect_url;
- $sparkle = ' sparkle';
- }
- else {
- $profile_url = $item['url'];
- $sparkle = '';
- }
-
- $diff_author = (($item['url'] !== $item['author-link']) ? true : false);
- $profile_name = (((strlen($item['author-name'])) && $diff_author) ? $item['author-name'] : $item['name']);
- $profile_avatar = (((strlen($item['author-avatar'])) && $diff_author) ? $item['author-avatar'] : $item['thumb']);
+ $profile_name = $item['author']['xchan_name'];
+ $profile_avatar = $item['author']['xchan_photo_m'];
$profile_link = $profile_url;
@@ -1223,19 +1141,14 @@ function photos_content(&$a) {
$drop = replace_macros(get_markup_template('photo_drop.tpl'), array('$id' => $item['id'], '$delete' => t('Delete')));
- if($a->get_template_engine() === 'internal') {
- $name_e = template_escape($profile_name);
- $title_e = template_escape($item['title']);
- $body_e = template_escape(bbcode($item['body']));
- }
- else {
- $name_e = $profile_name;
- $title_e = $item['title'];
- $body_e = bbcode($item['body']);
- }
+ $name_e = $profile_name;
+ $title_e = $item['title'];
+ unobscure($item);
+ $body_e = prepare_text($item['body'],$item['mimetype']);
$comments .= replace_macros($template,array(
'$id' => $item['item_id'],
+ '$mode' => 'photos',
'$profile_url' => $profile_link,
'$name' => $name_e,
'$thumb' => $profile_avatar,
@@ -1247,24 +1160,34 @@ function photos_content(&$a) {
'$drop' => $drop,
'$comment' => $comment
));
+
+ }
+
+ if($can_post || $a->data['perms']['post_comments']) {
+ $comments .= replace_macros($cmnt_tpl,array(
+ '$return_path' => '',
+ '$jsreload' => $return_url,
+ '$type' => 'wall-comment',
+ '$id' => $link_item['id'],
+ '$parent' => $link_item['id'],
+ '$profile_uid' => $owner_uid,
+ '$mylink' => $contact['url'],
+ '$mytitle' => t('This is you'),
+ '$myphoto' => $contact['thumb'],
+ '$comment' => t('Comment'),
+ '$submit' => t('Submit'),
+ '$ww' => ''
+ ));
}
- }
+ }
$paginate = paginate($a);
}
- if($a->get_template_engine() === 'internal') {
- $album_e = array($album_link,template_escape($ph[0]['album']));
- $tags_e = template_escape($tags);
- $like_e = template_escape($like);
- $dislike_e = template_escape($dislike);
- }
- else {
- $album_e = array($album_link,$ph[0]['album']);
- $tags_e = $tags;
- $like_e = $like;
- $dislike_e = $dislike;
- }
+ $album_e = array($album_link,$ph[0]['album']);
+ $tags_e = $tags;
+ $like_e = $like;
+ $dislike_e = $dislike;
$photo_tpl = get_markup_template('photo_view.tpl');
$o .= replace_macros($photo_tpl, array(
@@ -1284,6 +1207,8 @@ function photos_content(&$a) {
'$comments' => $comments,
'$paginate' => $paginate,
));
+
+ $a->data['photo_html'] = $o;
return $o;
}
@@ -1292,10 +1217,12 @@ function photos_content(&$a) {
//$o = '';
$r = q("SELECT `resource_id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
- $sql_extra GROUP BY `resource_id`",
+ and ( photo_flags = %d or photo_flags = %d ) $sql_extra GROUP BY `resource_id`",
intval($a->data['channel']['channel_id']),
dbesc('Contact Photos'),
- dbesc( t('Contact Photos'))
+ dbesc( t('Contact Photos')),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE)
);
if(count($r)) {
$a->set_pager_total(count($r));
@@ -1303,11 +1230,14 @@ function photos_content(&$a) {
}
$r = q("SELECT `resource_id`, `id`, `filename`, type, `album`, max(`scale`) AS `scale` FROM `photo`
- WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
+ WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
+ and ( photo_flags = %d or photo_flags = %d )
$sql_extra GROUP BY `resource_id` ORDER BY `created` DESC LIMIT %d , %d",
intval($a->data['channel']['channel_id']),
dbesc('Contact Photos'),
dbesc( t('Contact Photos')),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE),
intval($a->pager['start']),
intval($a->pager['itemspage'])
);
diff --git a/mod/ping.php b/mod/ping.php
index 827992c65..76d84d0e4 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -75,7 +75,7 @@ function ping_init(&$a) {
);
break;
case 'all_events':
- $r = q("update event set ignore = 1 where ignore = 0 and uid = %d",
+ $r = q("update event set `ignore` = 1 where `ignore` = 0 and uid = %d",
intval(local_user())
);
break;
@@ -209,7 +209,7 @@ function ping_init(&$a) {
if($r) {
foreach($r as $rr) {
$result[] = array(
- 'notify_link' => $a->get_baseurl() . '/intro/' . $rr['abook_id'],
+ 'notify_link' => $a->get_baseurl() . '/connections/' . $rr['abook_id'],
'name' => $rr['xchan_name'],
'url' => $rr['xchan_url'],
'photo' => $rr['xchan_photo_s'],
diff --git a/mod/poke.php b/mod/poke.php
index 163ef0cd8..b22f7d9d5 100755
--- a/mod/poke.php
+++ b/mod/poke.php
@@ -1,17 +1,30 @@
-<?php
+<?php /** @file */
+
+/**
+ *
+ * Poke, prod, finger, or otherwise do unspeakable things to somebody - who must be a connection in your address book
+ * This function can be invoked with the required arguments (verb and cid and private and possibly parent) silently via ajax or
+ * other web request. You must be logged in and connected to a channel.
+ * If the required arguments aren't present, we'll display a simple form to choose a recipient and a verb.
+ * parent is a special argument which let's you attach this activity as a comment to an existing conversation, which
+ * may have started with somebody else poking (etc.) somebody, but this isn't necessary. This can be used in the adult
+ * plugin version to have entire conversations where Alice poked Bob, Bob fingered Alice, Alice hugged Bob, etc.
+ *
+ * private creates a private conversation with the recipient. Otherwise your channel's default post privacy is used.
+ *
+ */
-require_once('include/security.php');
-require_once('include/bbcode.php');
require_once('include/items.php');
-
function poke_init(&$a) {
if(! local_user())
return;
$uid = local_user();
- $verb = notags(trim($_GET['verb']));
+ $channel = $a->get_channel();
+
+ $verb = notags(trim($_REQUEST['verb']));
if(! $verb)
return;
@@ -23,109 +36,86 @@ function poke_init(&$a) {
$activity = ACTIVITY_POKE . '#' . urlencode($verbs[$verb][0]);
- $contact_id = intval($_GET['cid']);
+ $contact_id = intval($_REQUEST['cid']);
if(! $contact_id)
return;
- $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : 0);
-
+ $parent = ((x($_REQUEST,'parent')) ? intval($_REQUEST['parent']) : 0);
logger('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG);
- $r = q("SELECT * FROM `contact` WHERE `id` = %d and `uid` = %d LIMIT 1",
+ $r = q("SELECT * FROM abook left join xchan on xchan_hash = abook_xchan where abook_id = %d and abook_channel = %d LIMIT 1",
intval($contact_id),
intval($uid)
);
- if(! count($r)) {
- logger('poke: no contact ' . $contact_id);
+ if(! $r) {
+ logger('poke: no target ' . $contact_id);
return;
}
$target = $r[0];
+ $parent_item = null;
if($parent) {
- $r = q("select uri, private, allow_cid, allow_gid, deny_cid, deny_gid
+ $r = q("select mid, item_private, owner_xchan, allow_cid, allow_gid, deny_cid, deny_gid
from item where id = %d and parent = %d and uid = %d limit 1",
intval($parent),
intval($parent),
intval($uid)
);
- if(count($r)) {
- $parent_uri = $r[0]['uri'];
- $private = $r[0]['private'];
- $allow_cid = $r[0]['allow_cid'];
- $allow_gid = $r[0]['allow_gid'];
- $deny_cid = $r[0]['deny_cid'];
- $deny_gid = $r[0]['deny_gid'];
+ if($r) {
+ $parent_item = $r[0];
+ $parent_mid = $r[0]['mid'];
+ $item_private = $r[0]['item_private'];
+ $allow_cid = $r[0]['allow_cid'];
+ $allow_gid = $r[0]['allow_gid'];
+ $deny_cid = $r[0]['deny_cid'];
+ $deny_gid = $r[0]['deny_gid'];
}
}
else {
- $private = ((x($_GET,'private')) ? intval($_GET['private']) : 0);
+ $item_private = ((x($_GET,'private')) ? intval($_GET['private']) : 0);
- $allow_cid = (($private) ? '<' . $target['id']. '>' : $a->user['allow_cid']);
- $allow_gid = (($private) ? '' : $a->user['allow_gid']);
- $deny_cid = (($private) ? '' : $a->user['deny_cid']);
- $deny_gid = (($private) ? '' : $a->user['deny_gid']);
+ $allow_cid = (($item_private) ? '<' . $target['abook_xchan']. '>' : $channel['channel_allow_cid']);
+ $allow_gid = (($item_private) ? '' : $channel['channel_allow_gid']);
+ $deny_cid = (($item_private) ? '' : $channel['channel_deny_cid']);
+ $deny_gid = (($item_private) ? '' : $channel['channel_deny_gid']);
}
-
-
- $poster = $a->contact;
-
- $uri = item_message_id();
-
$arr = array();
+ $arr['item_flags'] = ITEM_WALL | ITEM_ORIGIN;
+ if($parent_item)
+ $arr['item_flags'] |= ITEM_THREAD_TOP;
- $arr['uid'] = $uid;
- $arr['uri'] = $uri;
- $arr['parent_uri'] = (($parent_uri) ? $parent_uri : $uri);
- $arr['type'] = 'activity';
- $arr['wall'] = 1;
- $arr['contact-id'] = $poster['id'];
- $arr['owner-name'] = $poster['name'];
- $arr['owner-link'] = $poster['url'];
- $arr['owner-avatar'] = $poster['thumb'];
- $arr['author-name'] = $poster['name'];
- $arr['author-link'] = $poster['url'];
- $arr['author-avatar'] = $poster['thumb'];
+ $arr['owner_xchan'] = (($parent_item) ? $parent_item['owner_xchan'] : $channel['channel_hash']);
+ $arr['parent_mid'] = (($parent_mid) ? $parent_mid : $mid);
$arr['title'] = '';
$arr['allow_cid'] = $allow_cid;
$arr['allow_gid'] = $allow_gid;
$arr['deny_cid'] = $deny_cid;
$arr['deny_gid'] = $deny_gid;
- $arr['last-child'] = 1;
- $arr['visible'] = 1;
$arr['verb'] = $activity;
- $arr['private'] = $private;
- $arr['obj_type'] = ACTIVITY_OBJ_PERSON;
-
- $arr['origin'] = 1;
- $arr['body'] = '[url=' . $poster['url'] . ']' . $poster['name'] . '[/url]' . ' ' . t($verbs[$verb][0]) . ' ' . '[url=' . $target['url'] . ']' . $target['name'] . '[/url]';
-
- $arr['object'] = '<object><type>' . ACTIVITY_OBJ_PERSON . '</type><title>' . $target['name'] . '</title><id>' . $a->get_baseurl() . '/contact/' . $target['id'] . '</id>';
- $arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $target['url'] . '" />' . "\n");
-
- $arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $target['photo'] . '" />' . "\n");
- $arr['object'] .= '</link></object>' . "\n";
-
- $item_id = item_store($arr);
- if($item_id) {
- q("UPDATE `item` SET `plink` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
- dbesc($a->get_baseurl() . '/display/' . $poster['nickname'] . '/' . $item_id),
- intval($uid),
- intval($item_id)
- );
- proc_run('php',"include/notifier.php","tag","$item_id");
- }
-
+ $arr['item_private'] = $item_private;
+ $arr['obj_type'] = ACTIVITY_OBJ_PERSON;
+ $arr['body'] = '[zrl=' . $channel['xchan_url'] . ']' . $channel['xchan_name'] . '[/zrl]' . ' ' . t($verbs[$verb][0]) . ' ' . '[zrl=' . $target['xchan_url'] . ']' . $target['xchan_name'] . '[/zrl]';
+
+ $obj = array(
+ 'type' => ACTIVITY_OBJ_PERSON,
+ 'title' => $target['xchan_name'],
+ 'id' => $target['xchan_hash'],
+ 'link' => array(
+ array('rel' => 'alternate', 'type' => 'text/html', 'href' => $target['xchan_url']),
+ array('rel' => 'photo', 'type' => $target['xchan_photo_mimetype'], 'href' => $target['xchan_photo_l'])
+ ),
+ );
- call_hooks('post_local_end', $arr);
+ $arr['object'] = json_encode($obj);
- proc_run('php',"include/notifier.php","like","$post_id");
+ post_activity_item($arr);
return;
}
@@ -142,43 +132,19 @@ function poke_content(&$a) {
$name = '';
$id = '';
- if(intval($_GET['c'])) {
- $r = q("select id,name from contact where id = %d and uid = %d limit 1",
- intval($_GET['c']),
+ if(intval($_REQUEST['c'])) {
+ $r = q("select abook_id, xchan_name from abook left join xchan on abook_xchan = xchan_hash
+ where abook_id = %d and abook_channel = %d limit 1",
+ intval($_REQUEST['c']),
intval(local_user())
);
- if(count($r)) {
- $name = $r[0]['name'];
- $id = $r[0]['id'];
+ if($r) {
+ $name = $r[0]['xchan_name'];
+ $id = $r[0]['abook_id'];
}
}
-
- $base = $a->get_baseurl();
-
- $a->page['htmlhead'] .= <<< EOT
-
-<script>$(document).ready(function() {
- var a;
- a = $("#poke-recip").autocomplete({
- serviceUrl: '$base/acl',
- minChars: 2,
- width: 350,
- onSelect: function(value,data) {
- $("#poke-recip-complete").val(data);
- }
- });
- a.setOptions({ params: { type: 'a' }});
-
-
-});
-
-</script>
-EOT;
-
- $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : '0');
-
-
+ $parent = ((x($_REQUEST,'parent')) ? intval($_REQUEST['parent']) : '0');
$verbs = get_poke_verbs();
diff --git a/mod/post.php b/mod/post.php
index e5fa1a418..378192cbf 100644
--- a/mod/post.php
+++ b/mod/post.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
/**
* Zot endpoint
@@ -10,16 +10,16 @@ require_once('include/zot.php');
function post_init(&$a) {
- // All other access to this endpoint is via the post method.
+ // Most access to this endpoint is via the post method.
// Here we will pick out the magic auth params which arrive
- // as a get request.
+ // as a get request, and the only communications to arrive this way.
if(argc() > 1) {
$webbie = argv(1);
if(array_key_exists('auth',$_REQUEST)) {
-
+ logger('mod_zot: auth request received.');
$address = $_REQUEST['auth'];
$dest = $_REQUEST['dest'];
$sec = $_REQUEST['sec'];
@@ -49,7 +49,7 @@ function post_init(&$a) {
}
// Try and find a hubloc for the person attempting to auth
- $x = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash where hubloc_addr = '%s' limit 1",
+ $x = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash where hubloc_addr = '%s' order by hubloc_id desc limit 1",
dbesc($address)
);
@@ -60,7 +60,7 @@ function post_init(&$a) {
$j = json_decode($ret['body'],true);
if($j)
import_xchan($j);
- $x = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash where hubloc_addr = '%s' limit 1",
+ $x = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash where hubloc_addr = '%s' order by hubloc_id desc limit 1",
dbesc($address)
);
}
@@ -95,21 +95,44 @@ function post_init(&$a) {
$j = json_decode($result['body'],true);
}
- if($already_authed || $j['result']) {
+ if($already_authed || $j['success']) {
+ if($j['success']) {
+ // legit response, but we do need to check that this wasn't answered by a man-in-middle
+ if(! rsa_verify($sec . $x[0]['xchan_hash'],base64url_decode($j['confirm']),$x[0]['xchan_pubkey'])) {
+ logger('mod_zot: auth: final confirmation failed.');
+ goaway($desturl);
+ }
+ }
// everything is good... maybe
if(local_user()) {
- notice( t('Remote authentication blocked. You are logged into this site locally. Please logout and retry.') . EOL);
+
+ // tell them to logout if they're logged in locally as anything but the target remote account
+ // in which case just shut up because they don't need to be doing this at all.
+
+ if($a->channel['channel_hash'] != $x[0]['xchan_hash']) {
+ logger('mod_zot: auth: already authenticated locally as somebody else.');
+ notice( t('Remote authentication blocked. You are logged into this site locally. Please logout and retry.') . EOL);
+ }
goaway($desturl);
}
// log them in
$_SESSION['authenticated'] = 1;
$_SESSION['visitor_id'] = $x[0]['xchan_hash'];
+ $_SESSION['my_address'] = $address;
+ $arr = array('xchan' => $x[0], 'url' => $desturl, 'channel_address' => $webbie);
+ call_hooks('magic_auth_success',$arr);
$a->set_observer($x[0]);
require_once('include/security.php');
$a->set_groups(init_groups_visitor($_SESSION['visitor_id']));
info(sprintf( t('Welcome %s. Remote authentication successful.'),$x[0]['xchan_name']));
logger('mod_zot: auth success from ' . $x[0]['xchan_addr'] . ' for ' . $webbie);
+ } else {
+ logger('mod_zot: still not authenticated: ' . $x[0]['xchan_addr']);
+ q("update hubloc set hubloc_status = (hubloc_status | %d ) where hubloc_addr = '%s'",
+ intval(HUBLOC_RECEIVE_ERROR),
+ $x[0][xchan_addr]
+ );
}
// FIXME - we really want to save the return_url in the session before we visit rmagic.
@@ -137,31 +160,68 @@ function post_post(&$a) {
logger('mod_zot: ' . print_r($_REQUEST,true), LOGGER_DEBUG);
- $ret = array('result' => false);
+ $ret = array('success' => false);
$data = json_decode($_REQUEST['data'],true);
logger('mod_zot: data: ' . print_r($data,true), LOGGER_DATA);
+ /**
+ * Many message packets will arrive encrypted. The existence of an 'iv' element
+ * tells us we need to unencapsulate the AES-256-CBC content using the site private key
+ */
+
if(array_key_exists('iv',$data)) {
$data = aes_unencapsulate($data,get_config('system','prvkey'));
logger('mod_zot: decrypt1: ' . $data, LOGGER_DATA);
+ if(! $data) {
+ $ret['message'] = 'Decryption failed.';
+ json_return_and_die($ret);
+ }
+
$data = json_decode($data,true);
+
+ }
+
+ if(! $data) {
+ $ret['message'] = 'No data received.';
+ json_return_and_die($ret);
}
logger('mod_zot: decoded data: ' . print_r($data,true), LOGGER_DATA);
$msgtype = ((array_key_exists('type',$data)) ? $data['type'] : '');
+ if($msgtype === 'ping') {
+
+ // Useful to get a health check on a remote site.
+ // This will let us know if any important communication details
+ // that we may have stored are no longer valid, regardless of xchan details.
+
+ $ret['success'] = true;
+ $ret['site'] = array();
+ $ret['site']['url'] = z_root();
+ $ret['site']['url_sig'] = base64url_encode(rsa_sign(z_root(),get_config('system','prvkey')));
+ $ret['site']['sitekey'] = get_config('system','pubkey');
+ json_return_and_die($ret);
+ }
if($msgtype === 'pickup') {
+ /**
+ * The 'pickup' message arrives with a tracking ID which is associated with a particular outq_hash
+ * First verify that that the returned signatures verify, then check that we have an outbound queue item
+ * with the correct hash.
+ * If everything verifies, find any/all outbound messages in the queue for this hubloc and send them back
+ *
+ */
+
if((! $data['secret']) || (! $data['secret_sig'])) {
$ret['message'] = 'no verification signature';
logger('mod_zot: pickup: ' . $ret['message'], LOGGER_DEBUG);
json_return_and_die($ret);
}
- $r = q("select hubloc_sitekey from hubloc where hubloc_url = '%s' and hubloc_callback = '%s' and hubloc_sitekey != '' limit 1",
+ $r = q("select distinct hubloc_sitekey from hubloc where hubloc_url = '%s' and hubloc_callback = '%s' and hubloc_sitekey != '' group by hubloc_sitekey ",
dbesc($data['url']),
dbesc($data['callback'])
);
@@ -170,23 +230,46 @@ function post_post(&$a) {
logger('mod_zot: pickup: ' . $ret['message']);
json_return_and_die($ret);
}
- // verify the url_sig
- $sitekey = $r[0]['hubloc_sitekey'];
- logger('sitekey: ' . $sitekey);
- if(! rsa_verify($data['callback'],base64url_decode($data['callback_sig']),$sitekey)) {
+ foreach ($r as $hubsite) {
+
+ // verify the url_sig
+ // If the server was re-installed at some point, there could be multiple hubs with the same url and callback.
+ // Only one will have a valid key.
+
+ $forgery = true;
+ $secret_fail = true;
+
+ $sitekey = $hubsite['hubloc_sitekey'];
+
+ logger('mod_zot: Checking sitekey: ' . $sitekey);
+
+ if(rsa_verify($data['callback'],base64url_decode($data['callback_sig']),$sitekey)) {
+ $forgery = false;
+ }
+ if(rsa_verify($data['secret'],base64url_decode($data['secret_sig']),$sitekey)) {
+ $secret_fail = false;
+ }
+ if((! $forgery) && (! $secret_fail))
+ break;
+ }
+ if($forgery) {
$ret['message'] = 'possible site forgery';
logger('mod_zot: pickup: ' . $ret['message']);
json_return_and_die($ret);
}
- if(! rsa_verify($data['secret'],base64url_decode($data['secret_sig']),$sitekey)) {
+ if($secret_fail) {
$ret['message'] = 'secret validation failed';
logger('mod_zot: pickup: ' . $ret['message']);
json_return_and_die($ret);
}
- // If we made it to here, we've got a valid pickup. Grab everything for this host and send it.
+ /**
+ * If we made it to here, the signatures verify, but we still don't know if the tracking ID is valid.
+ * It wouldn't be an error if the tracking ID isn't found, because we may have sent this particular
+ * queue item with another pickup (after the tracking ID for the other pickup was verified).
+ */
$r = q("select outq_posturl from outq where outq_hash = '%s' and outq_posturl = '%s' limit 1",
dbesc($data['secret']),
@@ -198,6 +281,11 @@ function post_post(&$a) {
json_return_and_die($ret);
}
+ /**
+ * Everything is good if we made it here, so find all messages that are going to this location
+ * and send them all.
+ */
+
$r = q("select * from outq where outq_posturl = '%s'",
dbesc($data['callback'])
);
@@ -214,53 +302,88 @@ function post_post(&$a) {
}
$encrypted = aes_encapsulate(json_encode($ret),$sitekey);
json_return_and_die($encrypted);
+
+ /** pickup: end */
}
+
+ /**
+ * All other message types require us to verify the sender. This is a generic check, so we
+ * will do it once here and bail if anything goes wrong.
+ */
+
if(array_key_exists('sender',$data)) {
$sender = $data['sender'];
}
+ /** Check if the sender is already verified here */
+
$hub = zot_gethub($sender);
+
if(! $hub) {
+
+ /** Have never seen this guid or this guid coming from this location. Check it and register it. */
+
// (!!) this will validate the sender
$result = zot_register_hub($sender);
- if((! $result['success']) || (! zot_gethub($sender))) {
+
+ if((! $result['success']) || (! ($hub = zot_gethub($sender)))) {
$ret['message'] = 'Hub not available.';
logger('mod_zot: no hub');
json_return_and_die($ret);
}
}
+
+ // Update our DB to show when we last communicated successfully with this hub
+ // This will allow us to prune dead hubs from using up resources
+
+ $r = q("update hubloc set hubloc_connected = '%s' where hubloc_id = %d limit 1",
+ dbesc(datetime_convert()),
+ intval($hub['hubloc_id'])
+ );
+
+
// TODO: check which hub is primary and take action if mismatched
if(array_key_exists('recipients',$data))
$recipients = $data['recipients'];
-
if($msgtype === 'purge') {
if($recipients) {
// basically this means "unfriend"
foreach($recipients as $recip) {
-
-
-
+ $r = q("select channel.*,xchan.* from channel
+ left join xchan on channel_hash = xchan_hash
+ where channel_guid = '%s' and channel_guid_sig = '%s' limit 1",
+ dbesc($recip['guid']),
+ dbesc($recip['guid_sig'])
+ );
+ if($r) {
+ $r = q("select abook_id from abook where uid = %d and abook_xchan = '%s' limit 1",
+ intval($r[0]['channel_id']),
+ dbesc(base64url_encode(hash('whirlpool',$sender['guid'] . $sender['guid_sig'], true)))
+ );
+ if($r) {
+ contact_remove($r[0]['channel_id'],$r[0]['abook_id']);
+ }
+ }
}
-
-
}
else {
- // basically this means the channel has committed suicide
+ // Unfriend everybody - basically this means the channel has committed suicide
$arr = $data['sender'];
$sender_hash = base64url_encode(hash('whirlpool',$arr['guid'] . $arr['guid_sig'], true));
require_once('include/Contact.php');
remove_all_xchan_resources($sender_hash);
- $ret['result'] = true;
+ $ret['success'] = true;
json_return_and_die($ret);
}
}
+
if($msgtype === 'refresh') {
// remote channel info (such as permissions or photo or something)
@@ -295,7 +418,7 @@ function post_post(&$a) {
'hubloc_url' => $sender['url']
),null);
}
- $ret['result'] = true;
+ $ret['success'] = true;
json_return_and_die($ret);
}
@@ -311,12 +434,13 @@ function post_post(&$a) {
$ret['delivery_report'] = $x;
}
- $ret['result'] = true;
+ $ret['success'] = true;
json_return_and_die($ret);
}
if($msgtype === 'auth_check') {
+ logger('mod_zot: auth_check');
$arr = $data['sender'];
$sender_hash = base64url_encode(hash('whirlpool',$arr['guid'] . $arr['guid_sig'], true));
@@ -340,7 +464,7 @@ function post_post(&$a) {
$arr = $data['recipients'][0];
$recip_hash = base64url_encode(hash('whirlpool',$arr['guid'] . $arr['guid_sig'], true));
- $c = q("select channel_id from channel where channel_hash = '%s' limit 1",
+ $c = q("select channel_id, channel_prvkey from channel where channel_hash = '%s' limit 1",
dbesc($recip_hash)
);
if(! $c) {
@@ -348,6 +472,8 @@ function post_post(&$a) {
json_return_and_die($ret);
}
+ $confirm = base64url_encode(rsa_sign($data['secret'] . $recip_hash,$c[0]['channel_prvkey']));
+
// This additionally checks for forged senders since we already stored the expected result in meta
// and we've already verified that this is them via zot_gethub() and that their key signed our token
@@ -365,7 +491,8 @@ function post_post(&$a) {
);
logger('mod_zot: auth_check: success', LOGGER_DEBUG);
- $ret['result'] = true;
+ $ret['success'] = true;
+ $ret['confirm'] = $confirm;
json_return_and_die($ret);
}
diff --git a/mod/probe.php b/mod/probe.php
index f90728df2..397f571c5 100644
--- a/mod/probe.php
+++ b/mod/probe.php
@@ -1,6 +1,5 @@
<?php
-require_once('include/Scrape.php');
require_once('include/zot.php');
function probe_content(&$a) {
diff --git a/mod/profile.php b/mod/profile.php
index 2f869a533..d59602ba0 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -10,25 +10,35 @@ function profile_init(&$a) {
return;
}
- $profile = 0;
+ $profile = '';
$channel = $a->get_channel();
if((local_user()) && (argc() > 2) && (argv(2) === 'view')) {
$which = $channel['channel_address'];
$profile = argv(1);
+ $r = q("select profile_guid from profile where id = %d and uid = %d limit 1",
+ intval($profile),
+ intval(local_user())
+ );
+ if(! $r)
+ $profile = '';
+ $profile = $r[0]['profile_guid'];
}
$a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/feed/' . $which .'" />' . "\r\n" ;
- $x = q("select channel_id as profile_uid from channel where channel_address = '%s' limit 1",
- dbesc(argv(1))
- );
- if($x) {
- $a->profile = $x[0];
+ if(! $profile) {
+ $x = q("select channel_id as profile_uid from channel where channel_address = '%s' limit 1",
+ dbesc(argv(1))
+ );
+ if($x) {
+ $a->profile = $x[0];
+ }
+ }
// $channel_display = get_pconfig($a->profile['profile_uid'],'system','channel_format');
// if(! $channel_display)
- profile_load($a,$which,$profile);
- }
+ profile_load($a,$which,$profile);
+
}
diff --git a/mod/profile_photo.php b/mod/profile_photo.php
index ea7a01bc9..f8eda43cf 100644
--- a/mod/profile_photo.php
+++ b/mod/profile_photo.php
@@ -1,6 +1,6 @@
<?php
-require_once("Photo.php");
+require_once('include/photo/photo_driver.php');
function profile_photo_init(&$a) {
@@ -77,25 +77,30 @@ function profile_photo_post(&$a) {
$base_image = $r[0];
- $im = new Photo($base_image['data'], $base_image['type']);
+ $im = photo_factory($base_image['data'], $base_image['type']);
if($im->is_valid()) {
$im->cropImage(175,$srcX,$srcY,$srcW,$srcH);
$aid = get_account_id();
- $r1 = $im->store($aid, local_user(), '', $base_image['resource_id'],$base_image['filename'],
- t('Profile Photos'), 4, $is_default_profile);
+ $p = array('aid' => $aid, 'uid' => local_user(), 'resource_id' => $base_image['resource_id'],
+ 'filename' => $base_image['filename'], 'album' => t('Profile Photos'));
+
+ $p['scale'] = 4;
+ $p['photo_flags'] = (($is_default_profile) ? PHOTO_PROFILE : PHOTO_NORMAL);
+
+ $r1 = $im->save($p);
$im->scaleImage(80);
+ $p['scale'] = 5;
- $r2 = $im->store($aid, local_user(), '', $base_image['resource_id'],$base_image['filename'],
- t('Profile Photos'), 5, $is_default_profile);
+ $r2 = $im->save($p);
$im->scaleImage(48);
+ $p['scale'] = 6;
- $r3 = $im->store($aid, local_user(), '', $base_image['resource_id'],$base_image['filename'],
- t('Profile Photos'), 6, $is_default_profile);
+ $r3 = $im->save($p);
if($r1 === false || $r2 === false || $r3 === false) {
// if one failed, delete them all so we can start over.
@@ -114,6 +119,13 @@ function profile_photo_post(&$a) {
dbesc($base_image['resource_id']),
intval(local_user())
);
+ $r = q("UPDATE photo SET ( photo_flags ^ %d ) WHERE (photo_flags & %d )
+ AND resource_id != '%s' AND `uid` = %d",
+ intval(PHOTO_PROFILE),
+ intval(PHOTO_PROFILE),
+ dbesc($base_image['resource_id']),
+ intval(local_user())
+ );
}
else {
$r = q("update profile set photo = '%s', thumb = '%s' where id = %d and uid = %d limit 1",
@@ -164,7 +176,7 @@ function profile_photo_post(&$a) {
}
$imagedata = @file_get_contents($src);
- $ph = new Photo($imagedata, $filetype);
+ $ph = photo_factory($imagedata, $filetype);
if(! $ph->is_valid()) {
notice( t('Unable to process image.') . EOL );
@@ -224,6 +236,10 @@ function profile_photo_content(&$a) {
// unset any existing profile photos
$r = q("UPDATE photo SET profile = 0 WHERE profile = 1 AND uid = %d",
intval(local_user()));
+ $r = q("UPDATE photo SET (photo_flags ^ %d ) WHERE (photo_flags & %d ) AND uid = %d",
+ intval(PHOTO_PROFILE),
+ intval(PHOTO_PROFILE),
+ intval(local_user()));
// set all sizes of this one as profile photos
$r = q("UPDATE photo SET profile = 1 WHERE uid = %d AND resource_id = '%s'",
@@ -231,6 +247,12 @@ function profile_photo_content(&$a) {
dbesc($resource_id)
);
+ $r = q("UPDATE photo SET photo_flags = ( photo_flags | %d ) WHERE uid = %d AND resource_id = '%s'",
+ intval(PHOTO_PROFILE),
+ intval(local_user()),
+ dbesc($resource_id)
+ );
+
$r = q("UPDATE xchan set xchan_photo_date = '%s'
where xchan_hash = '%s' limit 1",
dbesc(datetime_convert()),
@@ -241,7 +263,7 @@ function profile_photo_content(&$a) {
goaway($a->get_baseurl() . '/profiles');
}
- $r = q("SELECT data, type FROM photo WHERE id = %d and uid = %d limit 1",
+ $r = q("SELECT `data`, `type` FROM photo WHERE id = %d and uid = %d limit 1",
intval($r[0]['id']),
intval(local_user())
@@ -251,7 +273,7 @@ function profile_photo_content(&$a) {
return;
}
- $ph = new Photo($r[0]['data'], $r[0]['type']);
+ $ph = photo_factory($r[0]['data'], $r[0]['type']);
// go ahead as if we have just uploaded a new photo to crop
profile_photo_crop_ui_head($a, $ph);
}
@@ -320,7 +342,9 @@ function profile_photo_crop_ui_head(&$a, $ph){
$hash = photo_new_resource();
$smallest = 0;
- $r = $ph->store(get_account_id(), local_user(), '', $hash, $filename, t('Profile Photos'), 0 );
+ $p = array('aid' => get_account_id(), 'uid' => local_user(), 'resource_id' => $hash,
+ 'filename' => $filename, 'album' => t('Profile Photos'), 'scale' => 0);
+ $r = $ph->save($p);
if($r)
info( t('Image uploaded successfully.') . EOL );
@@ -329,7 +353,9 @@ function profile_photo_crop_ui_head(&$a, $ph){
if($width > 640 || $height > 640) {
$ph->scaleImage(640);
- $r = $ph->store(get_account_id(), local_user(), '' , $hash, $filename, t('Profile Photos'), 1 );
+ $p['scale'] = 1;
+
+ $r = $ph->save($p);
if($r === false)
notice( sprintf(t('Image size reduction [%s] failed.'),"640") . EOL );
diff --git a/mod/profiles.php b/mod/profiles.php
index e857c4216..173d97138 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -47,7 +47,7 @@ function profiles_init(&$a) {
if((argc() > 1) && (argv(1) === 'new')) {
- check_form_security_token_redirectOnErr('/profiles', 'profile_new', 't');
+// check_form_security_token_redirectOnErr('/profiles', 'profile_new', 't');
$r0 = q("SELECT `id` FROM `profile` WHERE `uid` = %d",
intval(local_user()));
@@ -59,7 +59,7 @@ function profiles_init(&$a) {
intval(local_user()));
$r2 = q("INSERT INTO `profile` (`aid`, `uid` , `profile_guid`, `profile_name` , `name`, `photo`, `thumb`)
- VALUES ( %d, '%s', '%s', '%s', '%s' )",
+ VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s' )",
intval(get_account_id()),
intval(local_user()),
dbesc(random_string()),
@@ -200,6 +200,11 @@ function profiles_post(&$a) {
$day = intval($_POST['day']);
if(($day > $mtab[$month]) || ($day < 0))
$day = 0;
+
+ if($year && (! ($month && $day))) {
+ $month = 1; $day = 1;
+ }
+
$dob = '0000-00-00';
$dob = sprintf('%04d-%02d-%02d',$year,$month,$day);
@@ -232,6 +237,7 @@ function profiles_post(&$a) {
$about = fix_mce_lf(escape_tags(trim($_POST['about'])));
$interest = fix_mce_lf(escape_tags(trim($_POST['interest'])));
$contact = fix_mce_lf(escape_tags(trim($_POST['contact'])));
+ $channels = fix_mce_lf(escape_tags(trim($_POST['channels'])));
$music = fix_mce_lf(escape_tags(trim($_POST['music'])));
$book = fix_mce_lf(escape_tags(trim($_POST['book'])));
$tv = fix_mce_lf(escape_tags(trim($_POST['tv'])));
@@ -393,6 +399,7 @@ function profiles_post(&$a) {
`about` = '%s',
`interest` = '%s',
`contact` = '%s',
+ `channels` = '%s',
`music` = '%s',
`book` = '%s',
`tv` = '%s',
@@ -426,6 +433,7 @@ function profiles_post(&$a) {
dbesc($about),
dbesc($interest),
dbesc($contact),
+ dbesc($channels),
dbesc($music),
dbesc($book),
dbesc($tv),
@@ -444,7 +452,7 @@ function profiles_post(&$a) {
$channel = $a->get_channel();
if($namechanged && $is_default) {
- $r = q("UPDATE xchan SET xchan_name = '%s', xchan_name_date` = '%s' WHERE xchan_hash = '%s' limit 1",
+ $r = q("UPDATE xchan SET xchan_name = '%s', xchan_name_date = '%s' WHERE xchan_hash = '%s' limit 1",
dbesc($name),
dbesc(datetime_convert()),
dbesc($channel['xchan_hash'])
@@ -516,6 +524,7 @@ function profiles_content(&$a) {
'$profile_drop_link' => 'profiles/drop/' . $r[0]['id'] . '?t='
. get_form_security_token("profile_drop"),
+ '$guid' => $r[0]['profile_guid'],
'$banner' => t('Edit Profile Details'),
'$submit' => t('Submit'),
'$viewprof' => t('View this profile'),
@@ -550,6 +559,7 @@ function profiles_content(&$a) {
'$lbl_about' => t('Tell us about yourself...'),
'$lbl_hobbies' => t('Hobbies/Interests'),
'$lbl_social' => t('Contact information and Social Networks'),
+ '$lbl_channels' => t('My other channels'),
'$lbl_music' => t('Musical interests'),
'$lbl_book' => t('Books, literature'),
'$lbl_tv' => t('Television'),
@@ -593,7 +603,8 @@ function profiles_content(&$a) {
'$romance' => $r[0]['romance'],
'$work' => $r[0]['work'],
'$education' => $r[0]['education'],
- '$contact' => $r[0]['contact']
+ '$contact' => $r[0]['contact'],
+ '$channels' => $r[0]['channels'],
));
$arr = array('profile' => $r[0], 'entry' => $o);
diff --git a/mod/pubsites.php b/mod/pubsites.php
new file mode 100644
index 000000000..b9f7510fc
--- /dev/null
+++ b/mod/pubsites.php
@@ -0,0 +1,37 @@
+<?php
+
+function pubsites_content(&$a) {
+
+ $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';
+ }
+ }
+ $url .= '/sites';
+
+ $o .= '<h1>' . t('Public Sites') . '</h1>';
+
+ $ret = z_fetch_url($url);
+ if($ret['success']) {
+ $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></tr>';
+ foreach($j['sites'] as $jj) {
+ $o .= '<tr><td>' . '<a href="'. (($jj['sellpage']) ? $jj['sellpage'] : $jj['url']) . '" >' . $jj['url'] . '</a>' . '</td><td>' . $jj['access'] . '</td><td>' . $jj['register'] . '</td></tr>';
+ }
+
+ $o .= '</table>';
+ }
+ }
+ return $o;
+}
diff --git a/mod/randprof.php b/mod/randprof.php
index 0726b231a..bddb3251a 100644
--- a/mod/randprof.php
+++ b/mod/randprof.php
@@ -5,6 +5,7 @@ function randprof_init(&$a) {
require_once('include/Contact.php');
$x = random_profile();
if($x)
- goaway(zid($x));
+ goaway(chanlink_url($x));
+ // FIXME this doesn't work at the moment as a fallback
goaway($a->get_baseurl() . '/profile');
}
diff --git a/mod/register.php b/mod/register.php
index 3ba714c74..bc1603f25 100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -64,6 +64,12 @@ function register_post(&$a) {
break;
}
+
+ if((! $_POST['password']) || ($_POST['password'] !== $_POST['password2'])) {
+ notice( t('Passwords do not match.') . EOL);
+ return;
+ }
+
$arr = $_POST;
$arr['account_flags'] = $flags;
diff --git a/mod/search.php b/mod/search.php
index 1bea720a6..38131f63f 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -59,7 +59,7 @@ function search_init(&$a) {
}
else {
unset($_SESSION['theme']);
- unset($_SESSION['mobile-theme']);
+ unset($_SESSION['mobile_theme']);
}
@@ -74,7 +74,7 @@ function search_post(&$a) {
}
-function search_content(&$a) {
+function search_content(&$a,$update = 0, $load = false) {
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
notice( t('Public access denied.') . EOL);
@@ -153,7 +153,7 @@ function search_content(&$a) {
// because browser prefetching might change it on us. We have to deliver it with the page.
$o .= '<div id="live-search"></div>' . "\r\n";
- $o .= "<script> var profile_uid = " . $a->profile['profile_uid']
+ $o .= "<script> var profile_uid = " . ((intval(local_user())) ? local_user() : (-1))
. "; var netargs = '?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
$a->page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
@@ -171,11 +171,11 @@ function search_content(&$a) {
'$nouveau' => '0',
'$wall' => '0',
'$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
- '$search' => (($tag) ? '#' : '') . $search,
+ '$search' => (($tag) ? urlencode('#') : '') . $search,
'$order' => '',
'$file' => '',
'$cats' => '',
- '$uri' => '',
+ '$mid' => '',
'$dend' => '',
'$dbegin' => ''
));
@@ -186,20 +186,20 @@ function search_content(&$a) {
if(($update) && ($load)) {
-
$pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
-
+dbg(1);
if($load) {
- $r = q("SELECT distinct(uri), item.* from item
+ $r = q("SELECT distinct mid, id as item_id from item
WHERE item_restrict = 0
AND (( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND item_private = 0 )
OR ( `item`.`uid` = %d ))
$sql_extra
- group by uri ORDER BY created DESC $pager_sql ",
+ group by mid ORDER BY created DESC $pager_sql ",
intval(local_user()),
intval(ABOOK_FLAG_BLOCKED)
);
+dbg(0);
}
else {
$r = array();
@@ -209,15 +209,15 @@ function search_content(&$a) {
if($r) {
$parents_str = ids_to_querystr($r,'item_id');
-
+dbg(1);
$items = q("SELECT `item`.*, `item`.`id` AS `item_id`
FROM `item`
- WHERE item_restrict = 0 and
- $sql_extra ",
- intval($a->profile['profile_uid']),
- dbesc($parents_str)
+ WHERE item_restrict = 0
+ $sql_extra and parent in ( $parents_str ) "
+// intval($a->profile['profile_uid']),
+// dbesc($parents_str)
);
-
+dbg(0);
xchan_query($items);
$items = fetch_post_tags($items,true);
$items = conv_sort($items,'created');
@@ -228,33 +228,33 @@ function search_content(&$a) {
- $r = q("SELECT distinct(`item`.`uri`), `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`.`uri`
- ORDER BY `received` DESC LIMIT %d , %d ",
- intval(local_user()),
- intval($a->pager['start']),
- intval($a->pager['itemspage'])
+// $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(! count($r)) {
- info( t('No results.') . EOL);
- return $o;
- }
+// if(! $items) {//
+// info( t('No results.') . EOL);
+// return $o;
+// }
if($tag)
@@ -262,9 +262,9 @@ function search_content(&$a) {
else
$o .= '<h2>Search results for: ' . htmlspecialchars($search) . '</h2>';
- $o .= conversation($a,$r,'search',false);
+ $o .= conversation($a,$items,'search',$update,'client');
- $o .= alt_pager($a,count($r));
+// $o .= alt_pager($a,count($r));
return $o;
}
diff --git a/mod/search_ac.php b/mod/search_ac.php
index 5bc3c1c0b..21ff1c9f3 100644
--- a/mod/search_ac.php
+++ b/mod/search_ac.php
@@ -46,22 +46,23 @@ function search_ac_init(&$a){
$x['data'][] = intval($g['id']);
}
}
- else {
-
- $r = q("SELECT `id`, `name`, `photo`, `url` FROM `gcontact` where 1
- $people_sql_extra
- ORDER BY `name` ASC "
- );
-
- if(count($r)) {
- foreach($r as $g) {
- $x['photos'][] = $g['photo'];
- $x['links'][] = $g['url'];
- $x['suggestions'][] = '@' . $g['name'];
- $x['data'][] = intval($g['id']);
- }
- }
- }
+// FIXME - extend search to non-connnections if you couldn't find any connections with that name, use poco or directory
+// else {
+//
+// $r = q("SELECT `id`, `name`, `photo`, `url` FROM `gcontact` where 1
+// $people_sql_extra
+// ORDER BY `name` ASC "
+// );
+
+// if(count($r)) {
+// foreach($r as $g) {
+// $x['photos'][] = $g['photo'];
+// $x['links'][] = $g['url'];
+// $x['suggestions'][] = '@' . $g['name'];
+// $x['data'][] = intval($g['id']);
+// }
+// }
+// }
$r = q("select tid, term, url from term where type = %d $tag_sql_extra order by term asc",
intval(TERM_HASHTAG)
diff --git a/mod/settings.php b/mod/settings.php
index da6cf709c..6b21066b1 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -1,5 +1,6 @@
-<?php
+<?php /** @file */
+require_once('include/zot.php');
function get_theme_config_file($theme){
@@ -14,6 +15,11 @@ function get_theme_config_file($theme){
return null;
}
+function settings_init(&$a) {
+ $a->profile_uid = local_user();
+}
+
+
function settings_aside(&$a) {
@@ -25,6 +31,8 @@ function settings_aside(&$a) {
$a->argv[] = 'channel';
}
+ $channel = $a->get_channel();
+
$abook_self_id = 0;
// Retrieve the 'self' address book entry for use in the auto-permissions link
@@ -95,6 +103,17 @@ function settings_aside(&$a) {
);
+
+ if(feature_enabled(local_user(),'premium_channel')) {
+ $tabs[] = array(
+ 'label' => t('Premium Channel Settings'),
+ 'url' => $a->get_baseurl(true) . '/connect/' . $channel['channel_address'],
+ 'selected' => ''
+ );
+
+ }
+
+
$tabtpl = get_markup_template("generic_links_widget.tpl");
$a->page['aside'] = replace_macros($tabtpl, array(
@@ -115,13 +134,6 @@ function settings_post(&$a) {
return;
-// if(count($a->user) && x($a->user,'uid') && $a->user['uid'] != local_user()) {
-// notice( t('Permission denied.') . EOL);
-// return;
-// }
-
- $old_page_flags = $a->user['page-flags'];
-
if((argc() > 1) && (argv(1) === 'oauth') && x($_POST,'remove')){
check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth');
@@ -182,6 +194,7 @@ function settings_post(&$a) {
check_form_security_token_redirectOnErr('/settings/featured', 'settings_featured');
call_hooks('feature_settings_post', $_POST);
+ build_sync_packet();
return;
}
@@ -194,6 +207,7 @@ function settings_post(&$a) {
set_pconfig(local_user(),'feature',substr($k,8),((intval($v)) ? 1 : 0));
}
}
+ build_sync_packet();
return;
}
@@ -237,6 +251,7 @@ function settings_post(&$a) {
);
call_hooks('display_settings_post', $_POST);
+ build_sync_packet();
goaway($a->get_baseurl(true) . '/settings/display' );
return; // NOTREACHED
}
@@ -292,7 +307,7 @@ function settings_post(&$a) {
$errs[] = t('Not valid email.');
$adm = trim(get_config('system','admin_email'));
if(($adm) && (strcasecmp($email,$adm) == 0)) {
- $errs[] = t('Protected email. Cannot change to that email.');
+ $errs[] = t('Protected email address. Cannot change to that email.');
$email = $a->user['email'];
}
if(! $errs) {
@@ -328,12 +343,12 @@ function settings_post(&$a) {
$expire_items = ((x($_POST,'expire_items')) ? intval($_POST['expire_items']) : 0);
- $expire_notes = ((x($_POST,'expire_notes')) ? intval($_POST['expire_notes']) : 0);
$expire_starred = ((x($_POST,'expire_starred')) ? intval($_POST['expire_starred']) : 0);
$expire_photos = ((x($_POST,'expire_photos'))? intval($_POST['expire_photos']) : 0);
$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);
+
$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);
$blockwall = (((x($_POST,'blockwall')) && (intval($_POST['blockwall']) == 1)) ? 0: 1); // this setting is inverted!
@@ -347,22 +362,23 @@ function settings_post(&$a) {
$post_joingroup = (($_POST['post_joingroup'] == 1) ? 1: 0);
$post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0);
+
$arr = array();
- $arr['channel_r_stream'] = (($_POST['view_stream']) ? $_POST['view_stream'] : 0);
- $arr['channel_r_profile'] = (($_POST['view_profile']) ? $_POST['view_profile'] : 0);
- $arr['channel_r_photos'] = (($_POST['view_photos']) ? $_POST['view_photos'] : 0);
- $arr['channel_r_abook'] = (($_POST['view_contacts']) ? $_POST['view_contacts'] : 0);
- $arr['channel_w_stream'] = (($_POST['send_stream']) ? $_POST['send_stream'] : 0);
- $arr['channel_w_wall'] = (($_POST['post_wall']) ? $_POST['post_wall'] : 0);
- $arr['channel_w_tagwall'] = (($_POST['tag_deliver']) ? $_POST['tag_deliver'] : 0);
- $arr['channel_w_comment'] = (($_POST['post_comments']) ? $_POST['post_comments'] : 0);
- $arr['channel_w_mail'] = (($_POST['post_mail']) ? $_POST['post_mail'] : 0);
- $arr['channel_w_photos'] = (($_POST['post_photos']) ? $_POST['post_photos'] : 0);
- $arr['channel_w_chat'] = (($_POST['chat']) ? $_POST['chat'] : 0);
- $arr['channel_a_delegate'] = (($_POST['delegate']) ? $_POST['delegate'] : 0);
- $arr['channel_r_storage'] = (($_POST['view_storage']) ? $_POST['view_storage'] : 0);
- $arr['channel_w_storage'] = (($_POST['write_storage']) ? $_POST['write_storage'] : 0);
- $arr['channel_r_pages'] = (($_POST['view_pages']) ? $_POST['view_pages'] : 0);
+ $arr['channel_r_stream'] = (($_POST['view_stream']) ? $_POST['view_stream'] : 0);
+ $arr['channel_r_profile'] = (($_POST['view_profile']) ? $_POST['view_profile'] : 0);
+ $arr['channel_r_photos'] = (($_POST['view_photos']) ? $_POST['view_photos'] : 0);
+ $arr['channel_r_abook'] = (($_POST['view_contacts']) ? $_POST['view_contacts'] : 0);
+ $arr['channel_w_stream'] = (($_POST['send_stream']) ? $_POST['send_stream'] : 0);
+ $arr['channel_w_wall'] = (($_POST['post_wall']) ? $_POST['post_wall'] : 0);
+ $arr['channel_w_tagwall'] = (($_POST['tag_deliver']) ? $_POST['tag_deliver'] : 0);
+ $arr['channel_w_comment'] = (($_POST['post_comments']) ? $_POST['post_comments'] : 0);
+ $arr['channel_w_mail'] = (($_POST['post_mail']) ? $_POST['post_mail'] : 0);
+ $arr['channel_w_photos'] = (($_POST['post_photos']) ? $_POST['post_photos'] : 0);
+ $arr['channel_w_chat'] = (($_POST['chat']) ? $_POST['chat'] : 0);
+ $arr['channel_a_delegate'] = (($_POST['delegate']) ? $_POST['delegate'] : 0);
+ $arr['channel_r_storage'] = (($_POST['view_storage']) ? $_POST['view_storage'] : 0);
+ $arr['channel_w_storage'] = (($_POST['write_storage']) ? $_POST['write_storage'] : 0);
+ $arr['channel_r_pages'] = (($_POST['view_pages']) ? $_POST['view_pages'] : 0);
$arr['channel_w_pages'] = (($_POST['write_pages']) ? $_POST['write_pages'] : 0);
$defperms = 0;
@@ -456,6 +472,8 @@ function settings_post(&$a) {
set_pconfig(local_user(),'system','post_newfriend', $post_newfriend);
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);
+
/*
if($page_flags == PAGE_PRVGROUP) {
@@ -500,9 +518,11 @@ function settings_post(&$a) {
);
*/
- $r = q("update channel set channel_name = '%s', channel_timezone = '%s', channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d, 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 where channel_id = %d limit 1",
+ $r = q("update channel set channel_name = '%s', channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d, 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 where channel_id = %d limit 1",
dbesc($username),
dbesc($timezone),
+ dbesc($defloc),
+ intval($notify),
intval($unkmail),
intval($maxreq),
intval($expire),
@@ -547,11 +567,12 @@ function settings_post(&$a) {
dbesc($username),
intval($channel['channel_id'])
);
- // we really need to send out notifications to all our friends
}
proc_run('php','include/directory.php',local_user());
+ build_sync_packet();
+
//$_SESSION['theme'] = $theme;
if($email_changed && $a->config['system']['register_policy'] == REGISTER_VERIFY) {
@@ -578,6 +599,11 @@ function settings_content(&$a) {
return;
}
+
+ $channel = $a->get_channel();
+ if($channel)
+ head_set_icon($channel['xchan_photo_s']);
+
// if(x($_SESSION,'submanage') && intval($_SESSION['submanage'])) {
// notice( t('Permission denied.') . EOL );
// return;
@@ -716,7 +742,6 @@ function settings_content(&$a) {
if((argc() > 1) && (argv(1) === 'features')) {
-
$arr = array();
$features = get_features();
@@ -736,6 +761,7 @@ function settings_content(&$a) {
'$submit' => t('Submit'),
'$field_yesno' => 'field_yesno.tpl',
));
+
return $o;
}
@@ -771,7 +797,7 @@ function settings_content(&$a) {
$default_theme = get_config('system','theme');
if(! $default_theme)
$default_theme = 'default';
- $default_mobile_theme = get_config('system','mobile-theme');
+ $default_mobile_theme = get_config('system','mobile_theme');
if(! $mobile_default_theme)
$mobile_default_theme = 'none';
@@ -805,7 +831,7 @@ function settings_content(&$a) {
}
}
$theme_selected = (!x($_SESSION,'theme')? $default_theme : $_SESSION['theme']);
- $mobile_theme_selected = (!x($_SESSION,'mobile-theme')? $default_mobile_theme : $_SESSION['mobile-theme']);
+ $mobile_theme_selected = (!x($_SESSION,'mobile_theme')? $default_mobile_theme : $_SESSION['mobile_theme']);
$browser_update = intval(get_pconfig(local_user(), 'system','update_interval'));
$browser_update = (($browser_update == 0) ? 40 : $browser_update / 1000); // default if not set: 40 seconds
@@ -905,7 +931,6 @@ function settings_content(&$a) {
$expire = $channel['channel_expire_days'];
$blockwall = $a->user['blockwall'];
- $blocktags = $a->user['blocktags'];
$unkmail = $a->user['unkmail'];
$cntunkmail = $a->user['cntunkmail'];
@@ -937,6 +962,8 @@ function settings_content(&$a) {
$post_profilechange = get_pconfig(local_user(), 'system','post_profilechange');
$post_profilechange = (($post_profilechange===false)? '0': $post_profilechange); // default if not set: 0
+ $blocktags = get_pconfig(local_user(),'system','blocktags');
+ $blocktags = (($blocktags===false) ? '0' : $blocktags);
$timezone = date_default_timezone_get();
@@ -970,7 +997,7 @@ function settings_content(&$a) {
$stpl = get_markup_template('settings.tpl');
- $celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);
+ $celeb = false;
$expire_arr = array(
'days' => array('expire', t("Automatically expire posts after this many days:"), $expire, t('If empty, posts will not expire. Expired posts will be deleted')),
@@ -1005,11 +1032,16 @@ function settings_content(&$a) {
'$email' => array('email', t('Email Address:'), $email, ''),
'$timezone' => array('timezone_select' , t('Your Timezone:'), select_timezone($timezone), ''),
'$defloc' => array('defloc', t('Default Post Location:'), $defloc, ''),
- '$allowloc' => array('allow_location', t('Use Browser Location:'), (intval(get_pconfig(local_user(),'system','use_browser_location')) == 1), ''),
+ '$allowloc' => array('allow_location', t('Use Browser Location:'), ((get_pconfig(local_user(),'system','use_browser_location')) ? 1 : ''), ''),
'$h_prv' => t('Security and Privacy Settings'),
+ '$lbl_pmacro' => t('Quick Privacy Settings:'),
+ '$pmacro3' => t('Very Public - extremely permissive'),
+ '$pmacro2' => t('Typical - default public, privacy when desired'),
+ '$pmacro1' => t('Private - default private, rarely open or public'),
+ '$pmacro0' => t('Blocked - default blocked to/from everybody'),
'$permiss_arr' => $permiss,
'$maxreq' => array('maxreq', t('Maximum Friend Requests/Day:'), intval($channel['channel_max_friend_req']) , t('May reduce spam activity')),
diff --git a/mod/setup.php b/mod/setup.php
index b05b0cec3..97bdba34e 100755
--- a/mod/setup.php
+++ b/mod/setup.php
@@ -27,6 +27,7 @@ function setup_post(&$a) {
case 3:
$urlpath = $a->get_path();
$dbhost = notags(trim($_POST['dbhost']));
+ $dbport = intval(notags(trim($_POST['dbport'])));
$dbuser = notags(trim($_POST['dbuser']));
$dbpass = notags(trim($_POST['dbpass']));
$dbdata = notags(trim($_POST['dbdata']));
@@ -34,12 +35,16 @@ function setup_post(&$a) {
$adminmail = notags(trim($_POST['adminmail']));
$siteurl = notags(trim($_POST['siteurl']));
- require_once("dba.php");
+ require_once('include/dba/dba_driver.php');
unset($db);
- $db = new dba($dbhost, $dbuser, $dbpass, $dbdata, true);
+ $db = dba_factory($dbhost, $dbport, $dbuser, $dbpass, $dbdata, true);
+ if(! $db->connected) {
+ echo "Database Connect failed: " . $db->error;
+ killme();
+ }
/*if(get_db_errno()) {
unset($db);
- $db = new dba($dbhost, $dbuser, $dbpass, '', true);
+ $db = dba_factory($dbhost, $dbport, $dbuser, $dbpass, '', true);
if(! get_db_errno()) {
$r = q("CREATE DATABASE '%s'",
@@ -47,7 +52,7 @@ function setup_post(&$a) {
);
if($r) {
unset($db);
- $db = new dba($dbhost, $dbuser, $dbpass, $dbdata, true);
+ $db = new dba($dbhost, $dbport, $dbuser, $dbpass, $dbdata, true);
} else {
$a->data['db_create_failed']=true;
}
@@ -65,6 +70,7 @@ function setup_post(&$a) {
case 4:
$urlpath = $a->get_path();
$dbhost = notags(trim($_POST['dbhost']));
+ $dbport = intval(notags(trim($_POST['dbport'])));
$dbuser = notags(trim($_POST['dbuser']));
$dbpass = notags(trim($_POST['dbpass']));
$dbdata = notags(trim($_POST['dbdata']));
@@ -74,13 +80,26 @@ function setup_post(&$a) {
$siteurl = notags(trim($_POST['siteurl']));
+ if($siteurl != z_root()) {
+ $test = z_fetch_url($siteurl."/setup/testrewrite");
+ if((! $test['success']) || ($test['body'] != 'ok')) {
+ $a->data['url_fail'] = true;
+ return;
+ }
+ }
// connect to db
- $db = new dba($dbhost, $dbuser, $dbpass, $dbdata, true);
+ $db = dba_factory($dbhost, $dbport, $dbuser, $dbpass, $dbdata, true);
+
+ if(! $db->connected) {
+ echo 'CRITICAL: DB not connected.';
+ killme();
+ }
$tpl = get_intltext_template('htconfig.tpl');
$txt = replace_macros($tpl,array(
'$dbhost' => $dbhost,
+ '$dbport' => $dbport,
'$dbuser' => $dbuser,
'$dbpass' => $dbpass,
'$dbdata' => $dbdata,
@@ -120,7 +139,7 @@ function setup_content(&$a) {
global $install_wizard_pass, $db;
$o = '';
$wizard_status = "";
- $install_title = t('Friendica Red Communications Server - Setup');
+ $install_title = t('Red Matrix Server - Setup');
@@ -128,6 +147,11 @@ function setup_content(&$a) {
$install_wizard_pass = 2;
$wizard_status = t('Could not connect to database.');
}
+ if(x($a->data,'url_fail')) {
+ $install_wizard_pass = 3;
+ $wizard_status = t('Could not connect to specified site URL. Possible SSL certificate or DNS issue.');
+ }
+
if(x($a->data,'db_create_failed')) {
$install_wizard_pass = 2;
$wizard_status = t('Could not create table.');
@@ -136,7 +160,7 @@ function setup_content(&$a) {
$db_return_text="";
if(x($a->data,'db_installed')) {
$txt = '<p style="font-size: 130%;">';
- $txt .= t('Your Friendica site database has been installed.') . EOL;
+ $txt .= t('Your site database has been installed.') . EOL;
$db_return_text .= $txt;
}
@@ -148,7 +172,7 @@ function setup_content(&$a) {
}
if($db && $db->connected) {
- $r = q("SELECT COUNT(*) as `total` FROM `user`");
+ $r = q("SELECT COUNT(*) as `total` FROM `account`");
if($r && count($r) && $r[0]['total']) {
$tpl = get_markup_template('install.tpl');
return replace_macros($tpl, array(
@@ -222,6 +246,7 @@ function setup_content(&$a) {
$dbhost = ((x($_POST,'dbhost')) ? notags(trim($_POST['dbhost'])) : 'localhost');
$dbuser = notags(trim($_POST['dbuser']));
+ $dbport = intval(notags(trim($_POST['dbport'])));
$dbpass = notags(trim($_POST['dbpass']));
$dbdata = notags(trim($_POST['dbdata']));
$phpath = notags(trim($_POST['phpath']));
@@ -233,13 +258,14 @@ function setup_content(&$a) {
$o .= replace_macros($tpl, array(
'$title' => $install_title,
'$pass' => t('Database connection'),
- '$info_01' => t('In order to install Friendica we need to know how to connect to your database.'),
+ '$info_01' => t('In order to install Red Matrix we need to know how to connect to your database.'),
'$info_02' => t('Please contact your hosting provider or site administrator if you have questions about these settings.'),
'$info_03' => t('The database you specify below should already exist. If it does not, please create it before continuing.'),
'$status' => $wizard_status,
- '$dbhost' => array('dbhost', t('Database Server Name'), $dbhost, ''),
+ '$dbhost' => array('dbhost', t('Database Server Name'), $dbhost, t('Default is localhost')),
+ '$dbport' => array('dbport', t('Database Port'), $dbport, t('Communication port number - use 0 for default')),
'$dbuser' => array('dbuser', t('Database Login Name'), $dbuser, ''),
'$dbpass' => array('dbpass', t('Database Login Password'), $dbpass, ''),
'$dbdata' => array('dbdata', t('Database Name'), $dbdata, ''),
@@ -260,8 +286,9 @@ function setup_content(&$a) {
return $o;
}; break;
case 3: { // Site settings
- require_once('datetime.php');
+ require_once('include/datetime.php');
$dbhost = ((x($_POST,'dbhost')) ? notags(trim($_POST['dbhost'])) : 'localhost');
+ $dbport = intval(notags(trim($_POST['dbuser'])));
$dbuser = notags(trim($_POST['dbuser']));
$dbpass = notags(trim($_POST['dbpass']));
$dbdata = notags(trim($_POST['dbdata']));
@@ -279,6 +306,7 @@ function setup_content(&$a) {
'$status' => $wizard_status,
'$dbhost' => $dbhost,
+ '$dbport' => $dbport,
'$dbuser' => $dbuser,
'$dbpass' => $dbpass,
'$dbdata' => $dbdata,
@@ -330,7 +358,7 @@ function check_php(&$phpath, &$checks) {
$help = "";
if(!$passed) {
$help .= t('Could not find a command line version of PHP in the web server PATH.'). EOL;
- $help .= t("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. See <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>") . EOL ;
+ $help .= t("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.") . EOL;
$help .= EOL . EOL ;
$tpl = get_markup_template('field_input.tpl');
$help .= replace_macros($tpl, array(
@@ -397,6 +425,12 @@ function check_funcs(&$checks) {
check_add($ck_funcs, t('Apache mod_rewrite module'), true, true, "");
}
}
+ if((! function_exists('proc_open')) || strstr(ini_get('disable_functions'),'proc_open')) {
+ check_add($ck_funcs, t('proc_open'), false, true, t('Error: proc_open is required but is either not installed or has been disabled in php.ini'));
+ }
+ else {
+ check_add($ck_funcs, t('proc_open'), true, true, "");
+ }
if(! function_exists('curl_init')){
$ck_funcs[0]['status']= false;
@@ -438,7 +472,7 @@ function check_htconfig(&$checks) {
$status=false;
$help = t('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.') .EOL;
$help .= t('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.').EOL;
- $help .= t('At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Friendica top folder.').EOL;
+ $help .= t('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.').EOL;
$help .= t('You can alternatively skip this procedure and perform a manual installation. Please see the file "install/INSTALL.txt" for instructions.').EOL;
}
@@ -452,8 +486,8 @@ function check_smarty3(&$checks) {
if( !is_writable('view/tpl/smarty3') ) {
$status=false;
- $help = t('Friendica uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering.') .EOL;
- $help .= t('In order to store these compiled templates, the web server needs to have write access to the directory view/tpl/smarty3/ under the Friendica top level folder.').EOL;
+ $help = t('Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering.') .EOL;
+ $help .= t('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.').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;
$help .= t('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.').EOL;
}
@@ -467,8 +501,17 @@ function check_htaccess(&$checks) {
$status = true;
$help = "";
if (function_exists('curl_init')){
- $test = fetch_url($a->get_baseurl()."/setup/testrewrite");
- if ($test!="ok") {
+ $test = z_fetch_url($a->get_baseurl()."/setup/testrewrite");
+ if(! $test['success']) {
+ if(strstr($a->get_baseurl(),'https://')) {
+ $test = z_fetch_url($a->get_baseurl() . "/setup/testrewrite",false,0,array('novalidate' => true));
+ if($test['success']) {
+ check_add($checks, t('SSL certificate validation'),false,true, t('SSL certificate cannot be validated. Fix certificate or disable https access to this site.'));
+ }
+ }
+ }
+
+ if ((! $test['success']) || ($test['body'] != "ok")) {
$status = false;
$help = t('Url rewrite in .htaccess is not working. Check your server configuration.');
}
@@ -521,7 +564,7 @@ function what_next() {
."<p>".t('IMPORTANT: You will need to [manually] setup a scheduled task for the poller.')
.t('Please see the file "install/INSTALL.txt".')
."</p><p>"
- .t("Go to your new Friendica node <a href='$baseurl/register'>registration page</a> and register as new user. Remember to use the same email you have entered as administrator email. This will allow you to enter the site admin panel.")
+ .t("Go to your new Red node <a href='$baseurl/register'>registration page</a> and register as new user. Remember to use the same email you have entered as administrator email. This will allow you to enter the site admin panel.")
."</p>";
}
diff --git a/mod/share.php b/mod/share.php
index 33aa9eede..1f767578d 100644
--- a/mod/share.php
+++ b/mod/share.php
@@ -17,15 +17,22 @@ function share_init(&$a) {
xchan_query($r);
- $o = '[share]' . "\n";
-
- $o .= "\xE2\x99\xb2" . ' [url=' . $r[0]['author']['xchan_url'] . ']' . $r[0]['author']['xchan_name'] . '[/url]' . "\n";
- if($r[0]['title'])
- $o .= '[b]' . $r[0]['title'] . '[/b]' . "\n";
- $o .= $r[0]['body'] . "\n" ;
-
- $o .= (($r[0]['plink']) ? '[url=' . $r[0]['plink'] . ']' . t('link') . '[/url]' . "\n" : '') . '[/share]';
+ if (strpos($r[0]['body'], "[/share]") !== false) {
+ $pos = strpos($r[0]['body'], "[share");
+ $o = substr($r[0]['body'], $pos);
+ } else {
+ $o = "[share author='".urlencode($r[0]['author']['xchan_name']).
+ "' profile='".$r[0]['author']['xchan_url'] .
+ "' avatar='".$r[0]['author']['xchan_photo_s'].
+ "' link='".$r[0]['plink'].
+ "' posted='".$r[0]['created']."']\n";
+ if($r[0]['title'])
+ $o .= '[b]'.$r[0]['title'].'[/b]'."\n";
+ $o .= $r[0]['body'];
+ $o.= "[/share]";
+ }
echo $o;
- killme();
+ killme();
+
}
diff --git a/mod/siteinfo.php b/mod/siteinfo.php
index 0cd569d20..f2f444fac 100644
--- a/mod/siteinfo.php
+++ b/mod/siteinfo.php
@@ -28,13 +28,13 @@ function siteinfo_init(&$a) {
}
$data = Array(
- 'version' => FRIENDICA_VERSION,
+ 'version' => RED_VERSION,
'url' => z_root(),
'plugins' => $visible_plugins,
'register_policy' => $register_policy[$a->config['system']['register_policy']],
'admin' => $admin,
'site_name' => $a->config['sitename'],
- 'platform' => FRIENDICA_PLATFORM,
+ 'platform' => RED_PLATFORM,
'info' => ((x($a->config,'info')) ? $a->config['info'] : '')
);
@@ -47,26 +47,10 @@ function siteinfo_init(&$a) {
function siteinfo_content(&$a) {
- // FIXME Gak - this needs to be a template.
-
- $o = '';
- $o .= '<h3>' . t('Red') . '</h3>';
-
-
- $o .= '<p></p><p>';
-
- $o .= t('This is Red - another decentralized, distributed communications project by the folks at Friendica.');
if(! get_config('system','hidden_version_siteinfo'))
- $o .= '</p><p>' . sprintf( t('Version %s'), FRIENDICA_VERSION ) . '</p><p>';
- $o .= '</p><p>';
- $o .= t('Running at web location') . ' ' . z_root() . '</p><p>';
-
- $o .= t('Please visit <a href="http://friendica.com">Friendica.com</a> to learn more about the Friendica and/or Red project.') . '</p><p>';
-
- $o .= t('Bug reports and issues: please visit') . ' ' . '<a href="http://bugs.friendica.com">Bugs.Friendica.com</a></p><p>';
- $o .= t('Suggestions, praise, donations, etc. - please email "Info" at Friendica - dot com') . '</p>';
-
- $o .= '<p></p>';
+ $version = sprintf( t('Version %s'), RED_VERSION );
+ else
+ $version = "";
$visible_plugins = array();
if(is_array($a->plugins) && count($a->plugins)) {
@@ -76,9 +60,9 @@ function siteinfo_content(&$a) {
$visible_plugins[] = $rr['name'];
}
-
+ $plugins_list = '';
if(count($visible_plugins)) {
- $o .= '<p>' . t('Installed plugins/addons/apps:') . '</p>';
+ $plugins_text = t('Installed plugins/addons/apps:');
$sorted = $visible_plugins;
$s = '';
sort($sorted);
@@ -88,10 +72,24 @@ function siteinfo_content(&$a) {
$s .= $p;
}
}
- $o .= '<div style="margin-left: 25px; margin-right: 25px;">' . $s . '</div>';
+ $plugins_list .= $s;
}
else
- $o .= '<p>' . t('No installed plugins/addons/apps') . '</p>';
+ $plugins_text = t('No installed plugins/addons/apps');
+
+ $o = replace_macros(get_markup_template('siteinfo.tpl'), array(
+ '$title' => t('Red'),
+ '$description' => t('This is Red - another decentralized, distributed communications project by the folks at Friendica.'),
+ '$version' => $version,
+ '$web_location' => t('Running at web location') . ' ' . z_root(),
+ '$visit' => t('Please visit <a href="http://friendica.com">Friendica.com</a> to learn more about the Friendica and/or Red project.'),
+ '$bug_text' => t('Bug reports and issues: please visit'),
+ '$bug_link_url' => 'http://bugs.friendica.com',
+ '$bug_link_text' => 'Bugs.Friendica.com',
+ '$contact' => t('Suggestions, praise, donations, etc. - please email "Info" at Friendica - dot com'),
+ '$plugins_text' => $plugins_text,
+ '$plugins_list' => $plugins_list
+ ));
call_hooks('about_hook', $o);
diff --git a/mod/sitelist.php b/mod/sitelist.php
new file mode 100644
index 000000000..1e6d0fcfb
--- /dev/null
+++ b/mod/sitelist.php
@@ -0,0 +1,51 @@
+<?php /** @file */
+
+function sitelist_init(&$a) {
+
+ $start = (($_REQUEST['start']) ? intval($_REQUEST['start']) : 0);
+ $limit = ((intval($_REQUEST['limit'])) ? intval($_REQUEST['limit']) : 30);
+ $order = (($_REQUEST['order']) ? $_REQUEST['order'] : 'random');
+ $open = (($_REQUEST['open']) ? intval($_REQUEST['open']) : false);
+
+
+ $sql_order = " order by site_url ";
+ if($order == 'random')
+ $sql_order = " order by rand() ";
+
+ $sql_limit = " limit $start, $limit ";
+
+ $sql_extra = "";
+ if($open)
+ $sql_extra = " and site_register = " . intval(REGISTER_OPEN) . " ";
+
+
+ $result = array('success' => false);
+
+ $r = q("select count(site_url) as total from site where 1 $sql_extra ");
+
+ if($r)
+ $result['total'] = intval($r[0]['total']);
+
+ $result['start'] = $start;
+ $result['limit'] = $limit;
+
+ $r = q("select * from site where true $sql_extra $sql_order $sql_limit");
+
+ $result['results'] = 0;
+ $result['entries'] = array();
+
+ if($r) {
+ $result['success'] = true;
+ $result['results'] = count($r);
+
+ foreach($r as $rr) {
+ $result['entries'][] = array('url' => $rr['site_url']);
+ }
+
+ }
+
+ echo json_encode($result);
+ killme();
+
+
+} \ No newline at end of file
diff --git a/mod/starred.php b/mod/starred.php
index 530c5c7e0..ca7621b0f 100644
--- a/mod/starred.php
+++ b/mod/starred.php
@@ -19,13 +19,7 @@ function starred_init(&$a) {
if(! count($r))
killme();
- $item_flags = $r[0]['item_flags'];
-
- if($item_flags & ITEM_STARRED)
- $item_flags -= ITEM_STARRED;
- else
- $item_flags += ITEM_STARRED;
-
+ $item_flags = ( $r[0]['item_flags'] ^ ITEM_STARRED );
$r = q("UPDATE item SET item_flags = %d WHERE uid = %d and id = %d LIMIT 1",
intval($item_flags),
diff --git a/mod/subthread.php b/mod/subthread.php
index f8918e25d..11b7236fb 100755
--- a/mod/subthread.php
+++ b/mod/subthread.php
@@ -7,15 +7,15 @@ require_once('include/items.php');
function subthread_content(&$a) {
- if(! local_user() && ! remote_user()) {
+ if((! local_user()) && (! remote_user())) {
return;
}
$activity = ACTIVITY_FOLLOW;
- $item_id = (($a->argc > 1) ? notags(trim($a->argv[1])) : 0);
+ $item_id = ((argc() > 1) ? notags(trim(argv(1))) : 0);
- $r = q("SELECT * FROM `item` WHERE `parent` = '%s' OR `parent-uri` = '%s' and parent = id LIMIT 1",
+ $r = q("SELECT * FROM `item` WHERE `parent` = '%s' OR `parent_mid` = '%s' and parent = id LIMIT 1",
dbesc($item_id),
dbesc($item_id)
);
@@ -84,7 +84,7 @@ function subthread_content(&$a) {
return;
}
- $uri = item_message_id();
+ $mid = item_message_id();
$post_type = (($item['resource_id']) ? t('photo') : t('status'));
$objtype = (($item['resource_id']) ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE );
@@ -96,7 +96,7 @@ function subthread_content(&$a) {
<object>
<type>$objtype</type>
<local>1</local>
- <id>{$item['uri']}</id>
+ <id>{$item['mid']}</id>
<link>$link</link>
<title></title>
<content>$body</content>
@@ -109,7 +109,7 @@ EOT;
$arr = array();
- $arr['uri'] = $uri;
+ $arr['mid'] = $mid;
$arr['uid'] = $owner_uid;
$arr['contact-id'] = $contact['id'];
$arr['type'] = 'activity';
@@ -117,8 +117,8 @@ EOT;
$arr['origin'] = 1;
$arr['gravity'] = GRAVITY_LIKE;
$arr['parent'] = $item['id'];
- $arr['parent-uri'] = $item['uri'];
- $arr['thr_parent'] = $item['uri'];
+ $arr['parent-mid'] = $item['mid'];
+ $arr['thr_parent'] = $item['mid'];
$arr['owner-name'] = $remote_owner['name'];
$arr['owner-link'] = $remote_owner['url'];
$arr['owner-avatar'] = $remote_owner['thumb'];
@@ -126,9 +126,9 @@ EOT;
$arr['author-link'] = $contact['url'];
$arr['author-avatar'] = $contact['thumb'];
- $ulink = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]';
- $alink = '[url=' . $item['author-link'] . ']' . $item['author-name'] . '[/url]';
- $plink = '[url=' . $a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . ']' . $post_type . '[/url]';
+ $ulink = '[zrl=' . $contact['url'] . ']' . $contact['name'] . '[/zrl]';
+ $alink = '[zrl=' . $item['author-link'] . ']' . $item['author-name'] . '[/zrl]';
+ $plink = '[zrl=' . $a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . ']' . $post_type . '[/zrl]';
$arr['body'] = sprintf( $bodyverb, $ulink, $alink, $plink );
$arr['verb'] = $activity;
@@ -142,7 +142,8 @@ EOT;
$arr['unseen'] = 1;
$arr['last-child'] = 0;
- $post_id = item_store($arr);
+ $post = item_store($arr);
+ $post_id = $post['item_id'];
if(! $item['visible']) {
$r = q("UPDATE `item` SET `visible` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1",
diff --git a/mod/suggest.php b/mod/suggest.php
index 4aed2e61a..f891ebefc 100644
--- a/mod/suggest.php
+++ b/mod/suggest.php
@@ -8,17 +8,21 @@ function suggest_init(&$a) {
if(! local_user())
return;
- if(x($_GET,'ignore') && intval($_GET['ignore'])) {
- q("insert into gcign ( uid, gcid ) values ( %d, %d ) ",
+ if(x($_GET,'ignore')) {
+ q("insert into xign ( uid, xchan ) values ( %d, '%s' ) ",
intval(local_user()),
- intval($_GET['ignore'])
+ dbesc($_GET['ignore'])
);
}
}
+function suggest_aside(&$a) {
+ $a->set_widget('follow', follow_widget());
+ $a->set_widget('findpeople', findpeople_widget());
+}
function suggest_content(&$a) {
@@ -31,38 +35,36 @@ function suggest_content(&$a) {
$_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd;
- $a->page['aside'] .= follow_widget();
- $a->page['aside'] .= findpeople_widget();
+ $r = suggestion_query(local_user(),get_observer_hash());
+ if(! $r) {
+ info( t('No suggestions available. If this is a new site, please try again in 24 hours.'));
+ return;
+ }
- $o .= '<h2>' . t('Friend Suggestions') . '</h2>';
+ $arr = array();
+ foreach($r as $rr) {
- $r = suggestion_query(local_user());
+ $connlnk = $a->get_baseurl() . '/follow/?url=' . $rr['xchan_addr'];
- if(! count($r)) {
- $o .= t('No suggestions available. If this is a new site, please try again in 24 hours.');
- return $o;
+ $arr[] = array(
+ 'url' => chanlink_url($rr['xchan_url']),
+ 'name' => $rr['xchan_name'],
+ 'photo' => $rr['xchan_photo_m'],
+ 'ignlnk' => $a->get_baseurl() . '/suggest?ignore=' . $rr['xchan_hash'],
+ 'conntxt' => t('Connect'),
+ 'connlnk' => $connlnk,
+ 'ignore' => t('Ignore/Hide')
+ );
}
- $tpl = get_markup_template('suggest_friends.tpl');
- foreach($r as $rr) {
-
- $connlnk = $a->get_baseurl() . '/follow/?url=' . (($rr['connect']) ? $rr['connect'] : $rr['url']);
-
- $o .= replace_macros($tpl,array(
- '$url' => zid($rr['url']),
- '$name' => $rr['name'],
- '$photo' => $rr['photo'],
- '$ignlnk' => $a->get_baseurl() . '/suggest?ignore=' . $rr['id'],
- '$conntxt' => t('Connect'),
- '$connlnk' => $connlnk,
- '$ignore' => t('Ignore/Hide')
- ));
- }
+ $o = replace_macros(get_markup_template('suggest_page.tpl'),array(
+ '$title' => t('Channel Suggestions'),
+ '$entries' => $arr
+ ));
- $o .= cleardiv();
-// $o .= paginate($a);
return $o;
+
}
diff --git a/mod/tagger.php b/mod/tagger.php
index 9c36a8b09..ec5c92184 100644
--- a/mod/tagger.php
+++ b/mod/tagger.php
@@ -11,6 +11,8 @@ function tagger_content(&$a) {
return;
}
+ $observer_hash = get_observer_hash();
+
$term = notags(trim($_GET['term']));
// no commas allowed
$term = str_replace(array(',',' '),array('','_'),$term);
@@ -23,11 +25,12 @@ function tagger_content(&$a) {
logger('tagger: tag ' . $term . ' item ' . $item_id);
- $r = q("SELECT * FROM `item` WHERE `id` = '%s' LIMIT 1",
- dbesc($item_id)
+ $r = q("SELECT * FROM item left join xchan on xchan_hash = author_xchan WHERE id = '%s' and uid = %d LIMIT 1",
+ dbesc($item_id),
+ intval(local_user())
);
- if(! $item_id || (! count($r))) {
+ if((! $item_id) || (! $r)) {
logger('tagger: no item ' . $item_id);
return;
}
@@ -36,89 +39,82 @@ function tagger_content(&$a) {
$owner_uid = $item['uid'];
- $r = q("select `nickname`,`blocktags` from user where uid = %d limit 1",
- intval($owner_uid)
- );
- if(count($r)) {
- $owner_nick = $r[0]['nickname'];
- $blocktags = $r[0]['blocktags'];
+ switch($item['resource_type']) {
+ case 'photo':
+ $targettype = ACTIVITY_OBJ_PHOTO;
+ $post_type = t('photo');
+ break;
+ case 'event':
+ $targgettype = ACTIVITY_OBJ_EVENT;
+ $post_type = t('event');
+ break;
+ default:
+ $targettype = ACTIVITY_OBJ_NOTE;
+ $post_type = t('status');
+ if($item['mid'] != $item['parent_mid'])
+ $post_type = t('comment');
+ break;
}
- if(local_user() != $owner_uid)
- return;
- $r = q("select * from contact where self = 1 and uid = %d limit 1",
- intval(local_user())
- );
- if(count($r))
- $contact = $r[0];
- else {
- logger('tagger: no contact_id');
- return;
- }
+ $links = array(array('rel' => 'alternate','type' => 'text/html',
+ 'href' => z_root() . '/display/' . $item['mid']));
- $uri = item_message_id();
- $xterm = xmlify($term);
- $post_type = (($item['resource_id']) ? t('photo') : t('status'));
- $targettype = (($item['resource_id']) ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE );
+ $target = json_encode(array(
+ 'type' => $targettype,
+ 'id' => $item['mid'],
+ 'link' => $links,
+ 'title' => $item['title'],
+ 'content' => $item['body'],
+ 'created' => $item['created'],
+ 'edited' => $item['edited'],
+ 'author' => array(
+ 'name' => $item['xchan_name'],
+ 'address' => $item['xchan_addr'],
+ 'guid' => $item['xchan_guid'],
+ 'guid_sig' => $item['xchan_guid_sig'],
+ 'link' => array(
+ array('rel' => 'alternate', 'type' => 'text/html', 'href' => $item['xchan_url']),
+ array('rel' => 'photo', 'type' => $item['xchan_photo_mimetype'], 'href' => $item['xchan_photo_m'])),
+ ),
+ ));
- $link = xmlify('<link rel="alternate" type="text/html" href="'
- . $a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . '" />' . "\n") ;
- $body = xmlify($item['body']);
- $target = <<< EOT
- <target>
- <type>$targettype</type>
- <local>1</local>
- <id>{$item['uri']}</id>
- <link>$link</link>
- <title></title>
- <content>$body</content>
- </target>
-EOT;
+ $link = xmlify('<link rel="alternate" type="text/html" href="'
+ . $a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . '" />' . "\n") ;
$tagid = $a->get_baseurl() . '/search?tag=' . $term;
$objtype = ACTIVITY_OBJ_TAGTERM;
- $obj = <<< EOT
- <object>
- <type>$objtype</type>
- <local>1</local>
- <id>$tagid</id>
- <link>$tagid</link>
- <title>$xterm</title>
- <content>$xterm</content>
- </object>
-EOT;
+ $obj = json_encode(array(
+ 'type' => $objtype,
+ 'id' => $tagid,
+ 'link' => array(array('rel' => 'alternate','type' => 'text/html', 'href' => $tagid)),
+ 'title' => $term,
+ 'content' => $term
+ ));
$bodyverb = t('%1$s tagged %2$s\'s %3$s with %4$s');
- if(! isset($bodyverb))
- return;
+ $termlink = html_entity_decode('&#x2317;') . '[zrl=' . $a->get_baseurl() . '/search?tag=' . urlencode($term) . ']'. $term . '[/zrl]';
- $termlink = html_entity_decode('&#x2317;') . '[url=' . $a->get_baseurl() . '/search?tag=' . urlencode($term) . ']'. $term . '[/url]';
+ $channel = $a->get_channel();
$arr = array();
- $arr['uri'] = $uri;
- $arr['uid'] = $owner_uid;
- $arr['contact-id'] = $contact['id'];
- $arr['type'] = 'activity';
- $arr['wall'] = $item['wall'];
- $arr['gravity'] = GRAVITY_COMMENT;
- $arr['parent'] = $item['id'];
- $arr['parent_uri'] = $item['uri'];
- $arr['owner-name'] = $item['author-name'];
- $arr['owner-link'] = $item['author-link'];
- $arr['owner-avatar'] = $item['author-avatar'];
- $arr['author-name'] = $contact['name'];
- $arr['author-link'] = $contact['url'];
- $arr['author-avatar'] = $contact['thumb'];
+ $arr['owner_xchan'] = $item['owner_xchan'];
+ $arr['author_xchan'] = $channel['channel_hash'];
+
+
+ $arr['item_flags'] = ITEM_ORIGIN;
+ if($item['item_flags'] & ITEM_WALL)
+ $arr['item_flags'] |= ITEM_WALL;
- $ulink = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]';
- $alink = '[url=' . $item['author-link'] . ']' . $item['author-name'] . '[/url]';
- $plink = '[url=' . $item['plink'] . ']' . $post_type . '[/url]';
+ $ulink = '[zrl=' . $channel['xchan_url'] . ']' . $channel['channel_name'] . '[/zrl]';
+ $alink = '[zrl=' . $item['xchan_url'] . ']' . $item['xchan_name'] . '[/zrl]';
+ $plink = '[zrl=' . $item['plink'] . ']' . $post_type . '[/zrl]';
+
$arr['body'] = sprintf( $bodyverb, $ulink, $alink, $plink, $termlink );
$arr['verb'] = ACTIVITY_TAG;
@@ -126,65 +122,14 @@ EOT;
$arr['target'] = $target;
$arr['obj_type'] = $objtype;
$arr['object'] = $obj;
- $arr['private'] = $item['private'];
- $arr['allow_cid'] = $item['allow_cid'];
- $arr['allow_gid'] = $item['allow_gid'];
- $arr['deny_cid'] = $item['deny_cid'];
- $arr['deny_gid'] = $item['deny_gid'];
- $arr['visible'] = 1;
- $arr['unseen'] = 1;
- $arr['origin'] = 1;
-
- $post_id = item_store($arr);
-
- q("UPDATE `item` set plink = '%s' where id = %d limit 1",
- dbesc($a->get_baseurl() . '/display/' . $owner_nick . '/' . $post_id),
- intval($post_id)
- );
-
-
- if(! $item['visible']) {
- $r = q("UPDATE `item` SET `visible` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($item['id']),
- intval($owner_uid)
- );
- }
-
- if((! $blocktags) && (! stristr($item['tag'], ']' . $term . '[' ))) {
- q("update item set tag = '%s' where id = %d limit 1",
- dbesc($item['tag'] . (strlen($item['tag']) ? ',' : '') . '#[url=' . $a->get_baseurl() . '/search?tag=' . $term . ']'. $term . '[/url]'),
- intval($item['id'])
- );
- }
-
- // if the original post is on this site, update it.
-
- $r = q("select `tag`,`id`,`uid` from item where `origin` = 1 AND `uri` = '%s' LIMIT 1",
- dbesc($item['uri'])
- );
- if(count($r)) {
- $x = q("SELECT `blocktags` FROM `user` WHERE `uid` = %d limit 1",
- intval($r[0]['uid'])
- );
- if(count($x) && !$x[0]['blocktags'] && (! stristr($r[0]['tag'], ']' . $term . '['))) {
- q("update item set tag = '%s' where id = %d limit 1",
- dbesc($r[0]['tag'] . (strlen($r[0]['tag']) ? ',' : '') . '#[url=' . $a->get_baseurl() . '/search?tag=' . $term . ']'. $term . '[/url]'),
- intval($r[0]['id'])
- );
- }
-
- }
-
-
- $arr['id'] = $post_id;
-
- call_hooks('post_local_end', $arr);
+ $arr['parent_mid'] = $item['mid'];
+
+ store_item_tag($item['uid'],$item['id'],TERM_OBJ_POST,TERM_HASHTAG,$term,$tagid);
+ $ret = post_activity_item($arr);
- proc_run('php',"include/notifier.php","tag","$post_id");
+ if($ret['success'])
+ proc_run('php','include/notifier.php','tag',$ret['activity']['id']);
killme();
- return; // NOTREACHED
-
-
} \ No newline at end of file
diff --git a/mod/thing.php b/mod/thing.php
new file mode 100644
index 000000000..91bdca78a
--- /dev/null
+++ b/mod/thing.php
@@ -0,0 +1,196 @@
+<?php /** @file */
+
+require_once('include/items.php');
+
+
+function thing_init(&$a) {
+
+ if(! local_user())
+ return;
+
+ $account_id = $a->get_account();
+ $channel = $a->get_channel();
+
+
+ $name = escape_tags($_REQUEST['term']);
+ $verb = escape_tags($_REQUEST['verb']);
+ $profile_guid = escape_tags($_REQUEST['profile']);
+ $url = $_REQUEST['link'];
+ $photo = $_REQUEST['photo'];
+
+ $hash = random_string();
+
+
+ $verbs = obj_verbs();
+
+ /**
+ * 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 obj_verbs() to provide full conjugations and specify which form to use in the $_REQUEST params to this module.
+ */
+
+ $translated_verb = $verbs[$verb][1];
+
+ /**
+ * The site administrator can do things that normals cannot.
+ * This is restricted because it will likely cause
+ * an activitystreams protocol violation and the activity might
+ * choke in some other network and result in unnecessary
+ * support requests. It isn't because we're trying to be heavy-handed
+ * about what you can and can't do.
+ */
+
+ if(! $translated_verb) {
+ if(is_site_admin())
+ $translated_verb = $verb;
+ }
+
+ /**
+ * Things, objects: We do not provide definite (a, an) or indefinite (the) articles or singular/plural designators
+ * That needs to be specified in your thing. e.g. Mike has "a carrot", Greg wants "balls", Bob likes "the Boston Red Sox".
+ */
+
+ /**
+ * Future work on this module might produce more complex activities with targets, e.g. Phillip likes Karen's moustache
+ * and to describe other non-thing objects like channels, such as Karl wants Susan - where Susan represents a channel profile.
+ */
+
+ if((! $name) || (! $translated_verb))
+ 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())
+ );
+ if($p)
+ $profile = $p[0];
+ else
+ return;
+
+
+ $r = q("select * from term where uid = %d and otype = %d and type = %d and term = '%s' limit 1",
+ intval(local_user()),
+ intval(TERM_OBJ_THING),
+ intval(TERM_THING),
+ dbesc($name)
+ );
+ if(! $r) {
+ $r = q("insert into term ( aid, uid, oid, otype, type, term, url, imgurl, term_hash )
+ values( %d, %d, %d, %d, %d, '%s', '%s', '%s', '%s' ) ",
+ intval($account_id),
+ intval(local_user()),
+ 0,
+ intval(TERM_OBJ_THING),
+ intval(TERM_THING),
+ dbesc($name),
+ dbesc(($url) ? $url : z_root() . '/thing/' . $hash),
+ dbesc(($photo) ? $photo : ''),
+ dbesc($hash)
+ );
+ $r = q("select * from term where uid = %d and otype = %d and type = %d and term = '%s' limit 1",
+ intval(local_user()),
+ intval(TERM_OBJ_THING),
+ intval(TERM_THING),
+ dbesc($name)
+ );
+ }
+ $term = $r[0];
+
+ $r = q("insert into obj ( obj_page, obj_verb, obj_type, obj_channel, obj_obj) values ('%s','%s', %d, %d, '%s') ",
+ dbesc($profile['profile_guid']),
+ dbesc($verb),
+ intval(TERM_OBJ_THING),
+ intval(local_user()),
+ dbesc($term['term_hash'])
+ );
+
+ if(! $r) {
+ notice( t('Object store: failed'));
+ return;
+ }
+
+ info( t('thing/stuff added'));
+
+ $arr = array();
+ $links = array(array('rel' => 'alternate','type' => 'text/html',
+ 'href' => $term['url']));
+
+ $objtype = ACTIVITY_OBJ_THING;
+
+ $obj = json_encode(array(
+ 'type' => $objtype,
+ 'id' => $term['url'],
+ 'link' => $links,
+ 'title' => $term['term'],
+ 'content' => $term['term']
+ ));
+
+ $bodyverb = str_replace('OBJ: ', '',t('OBJ: %1$s %2$s %3$s'));
+
+ $arr['owner_xchan'] = $channel['channel_hash'];
+ $arr['author_xchan'] = $channel['channel_hash'];
+
+
+ $arr['item_flags'] = ITEM_ORIGIN|ITEM_WALL|ITEM_THREAD_TOP;
+
+ $ulink = '[zrl=' . $channel['xchan_url'] . ']' . $channel['channel_name'] . '[/zrl]';
+ $plink = '[zrl=' . $term['url'] . ']' . $term['term'] . '[/zrl]';
+
+ $arr['body'] = sprintf( $bodyverb, $ulink, $translated_verb, $plink );
+
+ $arr['verb'] = $verb;
+ $arr['obj_type'] = $objtype;
+ $arr['object'] = $obj;
+
+ if(! $profile['is_default']) {
+ $arr['item_private'] = true;
+ $str = '';
+ $r = q("select abook_hash from abook where abook_channel = %d and abook_profile = '%s'",
+ intval(local_user()),
+ dbesc($profile_guid)
+ );
+ if($r) {
+ $arr['allow_cid'] = '';
+ foreach($r as $rr)
+ $arr['allow_cid'] .= '<' . $rr['abook_hash'] . '>';
+ }
+ else
+ $arr['allow_cid'] = '<' . get_observer_hash() . '>';
+ }
+
+ $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() > 1) {
+ return t('not yet implemented.');
+ }
+
+ require_once('include/contact_selectors.php');
+
+ $o .= replace_macros(get_markup_template('thing_input.tpl'),array(
+ '$thing_hdr' => t('Add Stuff 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)'),
+ '$submit' => t('Submit')
+ ));
+
+ return $o;
+
+
+}
diff --git a/mod/toggle_mobile.php b/mod/toggle_mobile.php
index 00991e44c..06dadca04 100644
--- a/mod/toggle_mobile.php
+++ b/mod/toggle_mobile.php
@@ -3,9 +3,9 @@
function toggle_mobile_init(&$a) {
if(isset($_GET['off']))
- $_SESSION['show-mobile'] = false;
+ $_SESSION['show_mobile'] = false;
else
- $_SESSION['show-mobile'] = true;
+ $_SESSION['show_mobile'] = true;
if(isset($_GET['address']))
$address = $_GET['address'];
diff --git a/mod/update_channel.php b/mod/update_channel.php
index 19226297b..bdde0a3be 100644
--- a/mod/update_channel.php
+++ b/mod/update_channel.php
@@ -39,15 +39,17 @@ function update_channel_content(&$a) {
$replace = "<img\${1} dst=\"\${2}\"";
$text = preg_replace($pattern, $replace, $text);
- $replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
- $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
- $text = preg_replace($pattern, $replace, $text);
- $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
- $text = preg_replace($pattern, $replace, $text);
- $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i";
- $text = preg_replace($pattern, $replace, $text);
- $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
- $text = preg_replace($pattern, $replace, $text);
+ if(! $load) {
+ $replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
+ $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ }
/**
* reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well
diff --git a/mod/update_display.php b/mod/update_display.php
index c8eb9c3a3..5802852bb 100644
--- a/mod/update_display.php
+++ b/mod/update_display.php
@@ -16,11 +16,12 @@ function update_display_content(&$a) {
echo (($_GET['msie'] == 1) ? '<div>' : '<section>');
- $text = display_content($a,$profile_uid, $load);
- $pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
- $replace = "<img\${1} dst=\"\${2}\"";
- $text = preg_replace($pattern, $replace, $text);
+ $text = display_content($a,$profile_uid, $load);
+ $pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
+ $replace = "<img\${1} dst=\"\${2}\"";
+ $text = preg_replace($pattern, $replace, $text);
+ if(! $load) {
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
$text = preg_replace($pattern, $replace, $text);
@@ -30,9 +31,9 @@ function update_display_content(&$a) {
$text = preg_replace($pattern, $replace, $text);
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
$text = preg_replace($pattern, $replace, $text);
+ }
-
- echo str_replace("\t",' ',$text);
+ echo str_replace("\t",' ',$text);
echo (($_GET['msie'] == 1) ? '</div>' : '</section>');
echo "</body></html>\r\n";
// logger('update_display: ' . $text);
diff --git a/mod/update_network.php b/mod/update_network.php
index 16de19365..0021af876 100644
--- a/mod/update_network.php
+++ b/mod/update_network.php
@@ -11,7 +11,7 @@ function update_network_content(&$a) {
$load = (((argc() > 1) && (argv(1) == 'load')) ? 1 : 0);
header("Content-type: text/html");
echo "<!DOCTYPE html><html><body>\r\n";
- echo (($_GET['msie'] == 1) ? '<div>' : '<section>');
+ echo ((array_key_exists('msie',$_GET) && $_GET['msie'] == 1) ? '<div>' : '<section>');
$text = network_content($a,$profile_uid, $load);
@@ -19,19 +19,20 @@ function update_network_content(&$a) {
$replace = "<img\${1} dst=\"\${2}\"";
$text = preg_replace($pattern, $replace, $text);
- $replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
- $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
- $text = preg_replace($pattern, $replace, $text);
- $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
- $text = preg_replace($pattern, $replace, $text);
- $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i";
- $text = preg_replace($pattern, $replace, $text);
- $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
- $text = preg_replace($pattern, $replace, $text);
-
+ if(! $load) {
+ $replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
+ $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ }
echo str_replace("\t",' ',$text);
- echo (($_GET['msie'] == 1) ? '</div>' : '</section>');
+ echo ((array_key_exists('msie',$_GET) && $_GET['msie'] == 1) ? '</div>' : '</section>');
echo "</body></html>\r\n";
// logger('update_network: ' . $text);
killme();
diff --git a/mod/update_search.php b/mod/update_search.php
new file mode 100644
index 000000000..ec7599b79
--- /dev/null
+++ b/mod/update_search.php
@@ -0,0 +1,66 @@
+<?php
+
+/**
+ * Module: update_profile
+ * Purpose: AJAX synchronisation of search page
+ *
+ */
+
+
+require_once('mod/search.php');
+
+function update_search_content(&$a) {
+
+ $profile_uid = intval($_GET['p']);
+ if(! $profile_uid)
+ $profile_uid = (-1);
+
+ $load = (((argc() > 1) && (argv(1) == 'load')) ? 1 : 0);
+
+ header("Content-type: text/html");
+ echo "<!DOCTYPE html><html><body>\r\n";
+
+ /**
+ * We can remove this hack once Internet Explorer recognises HTML5 natively
+ */
+
+ echo (($_GET['msie'] == 1) ? '<div>' : '<section>');
+
+ /**
+ *
+ * Grab the page inner contents by calling the content function from the profile module directly,
+ * but move any image src attributes to another attribute name. This is because
+ * some browsers will prefetch all the images for the page even if we don't need them.
+ * The only ones we need to fetch are those for new page additions, which we'll discover
+ * on the client side and then swap the image back.
+ *
+ */
+
+ $text = search_content($a,$profile_uid,$load);
+
+ $pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
+ $replace = "<img\${1} dst=\"\${2}\"";
+ $text = preg_replace($pattern, $replace, $text);
+
+ if(! $load) {
+ $replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
+ $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ }
+
+ /**
+ * reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well
+ */
+
+ echo str_replace("\t",' ',$text);
+ echo (($_GET['msie'] == 1) ? '</div>' : '</section>');
+ echo "</body></html>\r\n";
+ killme();
+
+} \ No newline at end of file
diff --git a/mod/viewconnections.php b/mod/viewconnections.php
index e6c739562..9c85d63b6 100644
--- a/mod/viewconnections.php
+++ b/mod/viewconnections.php
@@ -63,18 +63,19 @@ function viewconnections_content(&$a) {
foreach($r as $rr) {
$url = zid($rr['xchan_url']);
-
- $contacts[] = array(
- 'id' => $rr['abook_id'],
- 'img_hover' => sprintf( t('Visit %s\'s profile [%s]'), $rr['xchan_name'], $rr['xchan_url']),
- 'thumb' => $rr['xchan_photo_m'],
- 'name' => substr($rr['xchan_name'],0,20),
- 'username' => $rr['xchan_addr'],
- 'url' => $url,
- 'sparkle' => '',
- 'itemurl' => $rr['url'],
- 'network' => '',
- );
+ if($url) {
+ $contacts[] = array(
+ 'id' => $rr['abook_id'],
+ 'img_hover' => sprintf( t('Visit %s\'s profile [%s]'), $rr['xchan_name'], $rr['xchan_url']),
+ 'thumb' => $rr['xchan_photo_m'],
+ 'name' => substr($rr['xchan_name'],0,20),
+ 'username' => $rr['xchan_addr'],
+ 'link' => $url,
+ 'sparkle' => '',
+ 'itemurl' => $rr['url'],
+ 'network' => '',
+ );
+ }
}
diff --git a/mod/wall_upload.php b/mod/wall_upload.php
index cee40744f..dd5d760b3 100644
--- a/mod/wall_upload.php
+++ b/mod/wall_upload.php
@@ -1,6 +1,6 @@
<?php
-require_once('Photo.php');
+require_once('include/photo/photo_driver.php');
require_once('include/photos.php');
@@ -52,8 +52,11 @@ function wall_upload_post(&$a) {
$m = $ret['body'];
+ // This might make Friendica for Android uploads work again, as it won't have any knowledge of zrl and zmg tags
+ // and these tags probably aren't useful with other client apps.
+
if($using_api)
- return($ret['body']);
+ return(str_replace(array('zrl','zmg'),array('url','img'),$ret['body']));
else
echo "\n\n" . $ret['body'] . "\n\n";
killme();
diff --git a/mod/webpages.php b/mod/webpages.php
new file mode 100644
index 000000000..04c2e07c5
--- /dev/null
+++ b/mod/webpages.php
@@ -0,0 +1,107 @@
+<?php
+
+function webpages_content(&$a) {
+
+ if(argc() > 1)
+ $which = argv(1);
+ else {
+ notice( t('Requested profile is not available.') . EOL );
+ $a->error = 404;
+ return;
+ }
+
+ $profile = 0;
+ $channel = $a->get_channel();
+
+ if((local_user()) && (argc() > 2) && (argv(2) === 'view')) {
+ $which = $channel['channel_address'];
+ $profile = argv(1);
+ }
+
+ profile_load($a,$which,$profile);
+
+
+// Figure out who the page owner is.
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ }
+
+// Get the observer, check their permissions
+
+ $observer = $a->get_observer();
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+
+ $perms = get_all_perms($owner,$ob_hash);
+
+ if(! $perms['write_pages']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+ if(local_user() && local_user() == $owner) {
+ $a->set_widget('design',design_tools());
+ }
+
+
+ $mimetype = get_config('system','page_mimetype');
+ if(! $mimetype)
+ $mimetype = 'choose';
+
+ $layout = get_config('system','page_layout');
+ if(! $layout)
+ $layout = 'choose';
+
+
+// Create a status editor (for now - we'll need a WYSIWYG eventually) to create pages
+// Nickname is set to the observers xchan, and profile_uid to the owners. This lets you post pages at other people's channels.
+require_once ('include/conversation.php');
+ $x = array(
+ 'webpage' => ITEM_WEBPAGE,
+ 'is_owner' => true,
+ 'nickname' => $a->profile['channel_address'],
+ 'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
+ 'bang' => (($group || $cid) ? '!' : ''),
+ 'visitor' => 'block',
+ 'profile_uid' => intval($owner),
+ 'mimetype' => $mimetype,
+ 'layout' => $layout,
+ );
+
+ $o .= status_editor($a,$x);
+
+
+//Get a list of webpages. We can't display all them because endless scroll makes that unusable, so just list titles and an edit link.
+//TODO - this should be replaced with pagelist_widget
+
+$r = q("select * from item_id where uid = %d and service = 'WEBPAGE' order by sid asc",
+ intval($owner)
+);
+
+ $pages = null;
+
+ if($r) {
+ $pages = array();
+ foreach($r as $rr) {
+ $pages[$rr['iid']][] = array('url' => $rr['iid'],'title' => $rr['sid']);
+ }
+ }
+
+
+//Build the base URL for edit links
+ $url = z_root() . "/editwebpage/" . $which;
+// This isn't pretty, but it works. Until I figure out what to do with the UI, it's Good Enough(TM).
+ return $o . replace_macros(get_markup_template("webpagelist.tpl"), array(
+ '$baseurl' => $url,
+ '$edit' => t('Edit'),
+ '$pages' => $pages,
+ '$channel' => $which,
+ '$view' => t('View'),
+ '$preview' => '1',
+
+ ));
+
+
+}
diff --git a/mod/wfinger.php b/mod/wfinger.php
new file mode 100644
index 000000000..33d2fe478
--- /dev/null
+++ b/mod/wfinger.php
@@ -0,0 +1,99 @@
+<?php
+
+function wfinger_init(&$a) {
+
+ $result = array();
+
+ $scheme = '';
+
+ if(x($_SERVER,'HTTPS') && $_SERVER['HTTPS'])
+ $scheme = 'https';
+ elseif(x($_SERVER,'SERVER_PORT') && (intval($_SERVER['SERVER_PORT']) == 443))
+ $scheme = 'https';
+
+ // Don't complain to me - I'm just implementing the spec.
+
+ if($scheme !== 'https') {
+ header($_SERVER["SERVER_PROTOCOL"] . ' ' . 500 . ' ' . 'Webfinger requires HTTPS');
+ killme();
+ }
+
+ $resource = $_REQUEST['resource'];
+
+ header('Access-Control-Allow-Origin: *');
+
+ header('Content-type: application/jrd+json');
+
+ $r = null;
+
+ if($resource) {
+
+ if(strpos($resource,'acct:') === 0) {
+ $channel = str_replace('acct:','',$resource);
+ $channel = substr($channel,0,strpos($channel,'@'));
+ }
+ if(strpos($resource,'http') === 0) {
+ $channel = str_replace('~','',basename($resource));
+ }
+
+ $r = q("select * from channel left join xchan on channel_hash = xchan_hash
+ where channel_address = '%s' limit 1",
+ dbesc($channel)
+ );
+
+ }
+
+ if($resource && $r) {
+
+ $result['subject'] = $resource;
+
+ $aliases = array(
+ 'acct:' . $r[0]['channel_address'] . '@' . $a->get_hostname(),
+ z_root() . '/channel/' . $r[0]['channel_address'],
+ z_root() . '/~' . $r[0]['channel_address']
+ );
+
+ $result['aliases'] = array();
+
+ foreach($aliases as $alias)
+ if($alias != $resource)
+ $result['aliases'][] = $alias;
+
+
+ $result['links'] = array(
+
+ array(
+ 'rel' => 'http://webfinger.example/rel/avatar',
+ 'type' => $r[0]['xchan_photo_mimetype'],
+ 'href' => $r[0]['xchan_photo_l']
+ ),
+
+ array(
+ 'rel' => 'http://webfinger.example/rel/profile-page',
+ 'href' => z_root() . '/profile/' . $r[0]['channel_address'],
+ ),
+
+ array(
+ 'rel' => 'http://webfinger.example/rel/blog',
+ 'href' => z_root() . '/channel/' . $r[0]['channel_address'],
+ ),
+
+ array(
+ 'rel' => 'http://purl.org/zot/protocol',
+ 'href' => z_root() . '/.well-known/zot-info' . '?zaddr=' . $r[0]['xchan_addr'],
+ )
+ );
+
+ }
+ else {
+ header($_SERVER["SERVER_PROTOCOL"] . ' ' . 400 . ' ' . 'Bad Request');
+ killme();
+ }
+
+ $arr = array('channel' => $r[0], 'request' => $_REQUEST, 'result' => $result);
+ call_hooks('webfinger',$arr);
+
+ echo json_encode($arr['result']);
+ killme();
+
+} \ No newline at end of file
diff --git a/mod/zfinger.php b/mod/zfinger.php
index 74353e8f9..675b31b1e 100644
--- a/mod/zfinger.php
+++ b/mod/zfinger.php
@@ -71,6 +71,8 @@ function zfinger_init(&$a) {
$id = $e['channel_id'];
+ $special_channel = (($e['channel_pageflags'] & PAGE_PREMIUM) ? true : false);
+
$searchable = (($e['channel_pageflags'] & PAGE_HIDDEN) ? false : true);
if($e['xchan_flags'] & XCHAN_FLAGS_HIDDEN)
$searchable = false;
@@ -91,6 +93,9 @@ function zfinger_init(&$a) {
$profile['birthday'] = $p[0]['dob'];
if($profile['birthday'] != '0000-00-00')
$profile['next_birthday'] = z_birthday($p[0]['dob'],$e['channel_timezone']);
+
+ if($age = age($p[0]['dob'],$e['channel_timezone'],''))
+ $profile['age'] = $age;
$profile['gender'] = $p[0]['gender'];
$profile['marital'] = $p[0]['marital'];
$profile['sexual'] = $p[0]['sexual'];
@@ -101,10 +106,13 @@ function zfinger_init(&$a) {
if($p[0]['keywords']) {
$tags = array();
$k = explode(' ',$p[0]['keywords']);
- if($k)
- foreach($k as $kk)
- if(trim($kk))
- $tags[] = trim($kk);
+ if($k) {
+ foreach($k as $kk) {
+ if(trim($kk)) {
+ $tags[] = trim($kk," \t\n\r\0\x0B,");
+ }
+ }
+ }
if($tags)
$profile['keywords'] = $tags;
}
@@ -125,12 +133,21 @@ function zfinger_init(&$a) {
$ret['photo_updated'] = $e['xchan_photo_date'];
$ret['url'] = $e['xchan_url'];
$ret['connections_url']= (($e['xchan_connurl']) ? $e['xchan_connurl'] : z_root() . '/poco/' . $e['channel_address']);
- $ret['name_updated'] = $e['xchan_name_date'];
$ret['target'] = $ztarget;
$ret['target_sig'] = $zsig;
$ret['searchable'] = $searchable;
+ // premium or other channel desiring some contact with potential followers before connecting.
+ // This is a template - %s will be replaced with the follow_url we discover for the return channel.
+
+ if($special_channel)
+ $ret['connect_url'] = z_root() . '/connect/' . $e['channel_address'];
+
+ // This is a template for our follow url, %s will be replaced with a webbie
+
+ $ret['follow_url'] = z_root() . '/follow?f=&url=%s';
+
$permissions = get_all_perms($e['channel_id'],(($ztarget && $zsig)
? base64url_encode(hash('whirlpool',$ztarget . $zsig,true))
: '' ),false);
@@ -145,6 +162,12 @@ function zfinger_init(&$a) {
// array of (verified) hubs this channel uses
$ret['locations'] = array();
+
+
+
+
+
+
$x = zot_get_hubloc(array($e['channel_hash']));
if($x && count($x)) {
foreach($x as $hub) {
@@ -156,7 +179,8 @@ function zfinger_init(&$a) {
'url' => $hub['hubloc_url'],
'url_sig' => $hub['hubloc_url_sig'],
'callback' => $hub['hubloc_callback'],
- 'sitekey' => $hub['hubloc_sitekey']
+ 'sitekey' => $hub['hubloc_sitekey'],
+ 'deleted' => (($hub['hubloc_flags'] & HUBLOC_FLAGS_DELETED) ? true : false)
);
}
}
@@ -164,6 +188,8 @@ function zfinger_init(&$a) {
$ret['site'] = array();
$ret['site']['url'] = z_root();
+ $ret['site']['url_sig'] = base64url_encode(rsa_sign(z_root(),$e['channel_prvkey']));
+
$dirmode = get_config('system','directory_mode');
if(($dirmode === false) || ($dirmode == DIRECTORY_MODE_NORMAL))
$ret['site']['directory_mode'] = 'normal';
@@ -175,7 +201,57 @@ function zfinger_init(&$a) {
$ret['site']['directory_mode'] = 'standalone';
if($dirmode != DIRECTORY_MODE_NORMAL)
$ret['site']['directory_url'] = z_root() . '/dirsearch';
-
+
+
+ // hide detailed site information if you're off the grid
+
+ if($dirmode != DIRECTORY_MODE_STANDALONE) {
+
+ $register_policy = intval(get_config('system','register_policy'));
+
+
+ if($register_policy == REGISTER_CLOSED)
+ $ret['site']['register_policy'] = 'closed';
+ if($register_policy == REGISTER_APPROVE)
+ $ret['site']['register_policy'] = 'approve';
+ if($register_policy == REGISTER_OPEN)
+ $ret['site']['register_policy'] = 'open';
+
+
+ $access_policy = intval(get_config('system','access_policy'));
+
+ if($access_policy == ACCESS_PRIVATE)
+ $ret['site']['access_policy'] = 'private';
+ if($access_policy == ACCESS_PAID)
+ $ret['site']['access_policy'] = 'paid';
+ if($access_policy == ACCESS_FREE)
+ $ret['site']['access_policy'] = 'free';
+
+ require_once('include/account.php');
+ $ret['site']['accounts'] = account_total();
+
+ require_once('include/identity.php');
+ $ret['site']['channels'] = channel_total();
+
+
+ $ret['site']['version'] = RED_PLATFORM . ' ' . RED_VERSION . '[' . DB_UPDATE_VERSION . ']';
+
+ $ret['site']['admin'] = get_config('system','admin_email');
+
+ $visible_plugins = array();
+ if(is_array($a->plugins) && count($a->plugins)) {
+ $r = q("select * from addon where hidden = 0");
+ if($r)
+ foreach($r as $rr)
+ $visible_plugins[] = $rr['name'];
+ }
+
+ $ret['site']['plugins'] = $visible_plugins;
+ $ret['site']['sitehash'] = get_config('system','location_hash');
+ $ret['site']['sitename'] = get_config('system','sitename');
+ $ret['site']['sellpage'] = get_config('system','sellpage');
+
+ }
json_return_and_die($ret);
-} \ No newline at end of file
+}
diff --git a/mod/zotfeed.php b/mod/zotfeed.php
index 76a860139..2ca049563 100644
--- a/mod/zotfeed.php
+++ b/mod/zotfeed.php
@@ -9,7 +9,7 @@ function zotfeed_init(&$a) {
$mindate = (($_REQUEST['mindate']) ? datetime_convert('UTC','UTC',$_REQUEST['mindate']) : '');
if(! $mindate)
- $mindate = '0000-00-00 00:00:00';
+ $mindate = datetime_convert('UTC','UTC', 'now - 1 month');
if(get_config('system','block_public') && (! get_account_id()) && (! remote_user())) {
$result['message'] = 'Public access denied';
diff --git a/mod/zperms.php b/mod/zperms.php
deleted file mode 100644
index 6a7097cd6..000000000
--- a/mod/zperms.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-function zperms_init(&$a) {
-
- require_once('include/zot.php');
- require_once('include/Contact.php');
- require_once('include/crypto.php');
-
- $ret = array('success' => false);
-
- $zguid = ((x($_REQUEST,'guid')) ? $_REQUEST['guid'] : '');
- $zaddr = ((x($_REQUEST,'address')) ? $_REQUEST['address'] : '');
- $ztarget = ((x($_REQUEST,'target')) ? $_REQUEST['target'] : '');
- $zsig = ((x($_REQUEST,'target_sig')) ? $_REQUEST['target_sig'] : '');
-
- $r = null;
-
- if(strlen($zguid)) {
- $r = q("select * from channel where channel_guid = '%s' limit 1",
- dbesc($zguid)
- );
- }
- elseif(strlen($zaddr)) {
- $r = q("select * from channel where channel_address = '%s' limit 1",
- dbesc($zaddr)
- );
- }
- else {
- $ret['message'] = 'Invalid request';
- json_return_and_die($ret);
- }
-
- if(! ($r && count($r))) {
- $ret['message'] = 'Item not found.';
- json_return_and_die($ret);
- }
- $e = $r[0];
-
- $id = $e['channel_id'];
- $r = q("select contact.*, profile.*
- from contact left join profile on contact.uid = profile.uid
- where contact.uid = %d && contact.self = 1 and profile.is_default = 1 limit 1",
- intval($id)
- );
- if($r && count($r)) {
- $profile = $r[0];
- }
-
-
-
- $ret['success'] = true;
- $ret['guid'] = $e['channel_guid'];
- $ret['guid_sig'] = base64url_encode(rsa_sign($e['channel_guid'],$e['channel_prvkey']));
- $ret['key'] = $e['channel_pubkey'];
- $ret['name'] = $e['channel_name'];
- $ret['address'] = $e['channel_address'];
- $ret['target'] = $ztarget;
- $ret['target_sig'] = $zsig;
- $ret['permissions'] = map_perms($r[0],$ztarget,$zsig);
-
- $ret['profile'] = $profile;
-
- // array of (verified) hubs this channel uses
-
- $ret['hubs'] = array();
- $x = zot_get_hubloc(array($e['channel_guid']));
- if($x && count($x)) {
- foreach($x as $hub) {
- if(! ($hub['hubloc_flags'] & HUBLOC_FLAGS_UNVERIFIED)) {
- $ret['hubs'][] = array(
- 'primary' => (($hub['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) ? true : false),
- 'url' => $hub['hubloc_url'],
- /// hmmm we probably shouldn't sign somebody else's hub. FIXME
- 'url_sig' => base64url_encode(rsa_sign($hub['hubloc_url'],$e['channel_prvkey'])),
- 'callback' => $hub['hubloc_callback'],
- 'sitekey' => $hub['hubloc_sitekey']
- );
- }
- }
- }
-
- json_return_and_die($ret);
-
-}
diff --git a/mod/zping.php b/mod/zping.php
new file mode 100644
index 000000000..76f4470c1
--- /dev/null
+++ b/mod/zping.php
@@ -0,0 +1,28 @@
+<?php /** @file */
+
+require_once('include/zot.php');
+
+function zping_content(&$a) {
+
+ // This is just a test utility function and may go away once we build these tools into
+ // the address book and directory to do dead site discovery.
+
+ // The response packet include the current URL and key so we can discover if the server
+ // has been re-installed and clean up (e.g. get rid of) any old hublocs and xchans.
+
+ // Remember to add '/post' to the url
+
+ if(! local_user())
+ return;
+
+ $url = $_REQUEST['url'];
+
+ if(! $url)
+ return;
+
+
+ $m = zot_build_packet($a->get_channel(),'ping');
+ $r = zot_zot($url,$m);
+ return print_r($r,true);
+
+} \ No newline at end of file
diff --git a/util/Doxyfile b/util/Doxyfile
new file mode 100644
index 000000000..edb8a8464
--- /dev/null
+++ b/util/Doxyfile
@@ -0,0 +1,21 @@
+INPUT = boot.php mod include setup util view
+RECURSIVE = YES
+PROJECT_NAME = "The Red Matrix"
+PROJECT_LOGO = images/rhash-64.png
+EXCLUDE = .htconfig.php library doc .git
+EXCLUDE_PATTERNS = *smarty3* *strings.php *.out *test*
+OUTPUT_DIRECTORY = doc
+GENERATE_HTML = YES
+HTML_OUTPUT = html/
+HTML_FILE_EXTENSION = .html
+GENERATE_LATEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+GENERATE_TODOLIST = YES
+USE_MDFILE_AS_MAINPAGE = README
+REFERENCED_BY_RELATION = YES
+GENERATE_TREEVIEW = YES
+HTML_FOOTER = util/Doxygen.footer
+
+
+
diff --git a/util/Doxygen.footer b/util/Doxygen.footer
new file mode 100644
index 000000000..fd40910d9
--- /dev/null
+++ b/util/Doxygen.footer
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/util/db_update.php b/util/db_update.php
index 775a6585a..ceef061c1 100644
--- a/util/db_update.php
+++ b/util/db_update.php
@@ -1,24 +1,14 @@
<?php
+
+
/**
* @package util
*/
-/*
-* require boot.php
-*/
-require_once("boot.php");
-
-$a = new App;
-@include(".htconfig.php");
-
-$lang = get_best_language();
-load_translation_table($lang);
-
-require_once("dba.php");
-$db = new dba($db_host, $db_user, $db_pass, $db_data, false);
- unset($db_host, $db_user, $db_pass, $db_data);
+require_once('boot.php');
+require_once('include/cli_startup.php');
-$build = get_config('system','build');
+cli_startup();
echo "Old DB VERSION: " . $build . "\n";
echo "New DB VERSION: " . DB_UPDATE_VERSION . "\n";
diff --git a/util/fresh.md b/util/fresh.md
index ff4dfaa94..7bdf87ff3 100644
--- a/util/fresh.md
+++ b/util/fresh.md
@@ -1,7 +1,6 @@
-Fresh - The Friendica REd Shell
+Fresh - The Freaking REd Shell
===============================
-
This will only work on Unix/Linux. If the readline module is installed, we will
use that for input, otherwise we will just read from stdin and write to stdout.
diff --git a/util/makedocs b/util/makedocs
new file mode 100755
index 000000000..53e78e6b0
--- /dev/null
+++ b/util/makedocs
@@ -0,0 +1,2 @@
+#!/bin/sh
+/home/macgirvin/bin/doxygen util/Doxyfile
diff --git a/util/messages.po b/util/messages.po
index 472d1c21f..4d41f93f2 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -1,4278 +1,3797 @@
-# FRIENDICA Distributed Social Network
-# Copyright (C) 2010, 2011 the Friendica Project
-# This file is distributed under the same license as the Friendica package.
-# Mike Macgirvin, 2010
+# Red Communications Project
+# Copyright (C) 2013 the Red Matrix Project
+# This file is distributed under the same license as the Red package.
+# Mike Macgirvin, 2013
#
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 3.0.1397\n"
+"Project-Id-Version: 2013-09-13.435\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-07-07 10:00-0700\n"
+"POT-Creation-Date: 2013-09-13 00:01-0700\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"
+"Language: \n"
"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"
-#: ../../mod/oexchange.php:25
-msgid "Post successful."
-msgstr ""
-
-#: ../../mod/update_notes.php:41 ../../mod/update_community.php:18
-#: ../../mod/update_network.php:22 ../../mod/update_profile.php:41
-msgid "[Embedded content - reload page to view]"
+#: ../../include/acl_selectors.php:235
+msgid "Visible to everybody"
msgstr ""
-#: ../../mod/crepair.php:102
-msgid "Contact settings applied."
+#: ../../include/acl_selectors.php:236
+msgid "show"
msgstr ""
-#: ../../mod/crepair.php:104
-msgid "Contact update failed."
+#: ../../include/acl_selectors.php:237
+msgid "don't show"
msgstr ""
-#: ../../mod/crepair.php:115 ../../mod/wall_attach.php:44
-#: ../../mod/fsuggest.php:78 ../../mod/events.php:140 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/photos.php:135 ../../mod/photos.php:957
-#: ../../mod/editpost.php:10 ../../mod/install.php:151
-#: ../../mod/notifications.php:66 ../../mod/contacts.php:145
-#: ../../mod/settings.php:106 ../../mod/settings.php:537
-#: ../../mod/settings.php:542 ../../mod/manage.php:86 ../../mod/network.php:6
-#: ../../mod/notes.php:20 ../../mod/wallmessage.php:9
-#: ../../mod/wallmessage.php:33 ../../mod/wallmessage.php:79
-#: ../../mod/wallmessage.php:103 ../../mod/attach.php:33
-#: ../../mod/group.php:19 ../../mod/viewconnections.php:22
-#: ../../mod/register.php:38 ../../mod/regmod.php:116 ../../mod/item.php:124
-#: ../../mod/item.php:140 ../../mod/profile_photo.php:19
-#: ../../mod/profile_photo.php:141 ../../mod/profile_photo.php:152
-#: ../../mod/profile_photo.php:165 ../../mod/message.php:45
-#: ../../mod/message.php:97 ../../mod/allfriends.php:9
-#: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:53
-#: ../../mod/follow.php:9 ../../mod/display.php:138 ../../mod/profiles.php:7
-#: ../../mod/profiles.php:400 ../../mod/delegate.php:6
-#: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81
-#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:510
-#: ../../addon/facebook/facebook.php:516 ../../addon/dav/layout.fnk.php:353
-#: ../../include/items.php:3457 ../../index.php:309
-msgid "Permission denied."
+#: ../../include/activities.php:37
+msgid " and "
msgstr ""
-#: ../../mod/crepair.php:129 ../../mod/fsuggest.php:20
-#: ../../mod/fsuggest.php:92 ../../mod/dfrn_confirm.php:118
-msgid "Contact not found."
+#: ../../include/activities.php:45
+msgid "public profile"
msgstr ""
-#: ../../mod/crepair.php:135
-msgid "Repair Contact Settings"
+#: ../../include/activities.php:50
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
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."
+#: ../../include/activities.php:51
+#, php-format
+msgid "Visit %1$s's %2$s"
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."
+#: ../../include/activities.php:54
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../mod/crepair.php:144
-msgid "Return to contact editor"
+#: ../../include/api.php:968
+msgid "Public Timeline"
msgstr ""
-#: ../../mod/crepair.php:148 ../../mod/settings.php:557
-#: ../../mod/settings.php:583 ../../mod/admin.php:661 ../../mod/admin.php:670
-msgid "Name"
+#: ../../include/enotify.php:36
+msgid "Red Matrix Notification"
msgstr ""
-#: ../../mod/crepair.php:149
-msgid "Account Nickname"
+#: ../../include/enotify.php:39
+msgid "Thank You,"
msgstr ""
-#: ../../mod/crepair.php:150
-msgid "@Tagname - overrides Name/Nickname"
+#: ../../include/enotify.php:41
+#, php-format
+msgid "%s Administrator"
msgstr ""
-#: ../../mod/crepair.php:151
-msgid "Account URL"
+#: ../../include/enotify.php:75
+#, php-format
+msgid "%s <!item_type!>"
msgstr ""
-#: ../../mod/crepair.php:152
-msgid "Friend Request URL"
+#: ../../include/enotify.php:79
+#, php-format
+msgid "[Red:Notify] New mail received at %s"
msgstr ""
-#: ../../mod/crepair.php:153
-msgid "Friend Confirm URL"
+#: ../../include/enotify.php:81
+#, php-format
+msgid "%1$s sent you a new private message at %2$s."
msgstr ""
-#: ../../mod/crepair.php:154
-msgid "Notification Endpoint URL"
+#: ../../include/enotify.php:82
+#, php-format
+msgid "%1$s sent you %2$s."
msgstr ""
-#: ../../mod/crepair.php:155
-msgid "Poll/Feed URL"
+#: ../../include/enotify.php:82
+msgid "a private message"
msgstr ""
-#: ../../mod/crepair.php:156
-msgid "New photo from this URL"
+#: ../../include/enotify.php:83
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
msgstr ""
-#: ../../mod/crepair.php:166 ../../mod/fsuggest.php:107
-#: ../../mod/events.php:436 ../../mod/photos.php:992 ../../mod/photos.php:1063
-#: ../../mod/photos.php:1309 ../../mod/photos.php:1349
-#: ../../mod/photos.php:1389 ../../mod/photos.php:1420
-#: ../../mod/install.php:246 ../../mod/install.php:284
-#: ../../mod/localtime.php:45 ../../mod/content.php:691
-#: ../../mod/contacts.php:343 ../../mod/settings.php:555
-#: ../../mod/settings.php:709 ../../mod/settings.php:770
-#: ../../mod/settings.php:971 ../../mod/group.php:85 ../../mod/message.php:216
-#: ../../mod/message.php:412 ../../mod/admin.php:422 ../../mod/admin.php:658
-#: ../../mod/admin.php:794 ../../mod/admin.php:993 ../../mod/admin.php:1080
-#: ../../mod/profiles.php:569 ../../mod/invite.php:119
-#: ../../addon/fromgplus/fromgplus.php:40
-#: ../../addon/facebook/facebook.php:619
-#: ../../addon/snautofollow/snautofollow.php:64
-#: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93
-#: ../../addon/nsfw/nsfw.php:57 ../../addon/page/page.php:210
-#: ../../addon/planets/planets.php:158
-#: ../../addon/uhremotestorage/uhremotestorage.php:89
-#: ../../addon/randplace/randplace.php:177 ../../addon/dwpost/dwpost.php:93
-#: ../../addon/drpost/drpost.php:110 ../../addon/startpage/startpage.php:92
-#: ../../addon/geonames/geonames.php:187 ../../addon/oembed.old/oembed.php:41
-#: ../../addon/impressum/impressum.php:82
-#: ../../addon/notimeline/notimeline.php:64 ../../addon/blockem/blockem.php:57
-#: ../../addon/qcomment/qcomment.php:61
-#: ../../addon/openstreetmap/openstreetmap.php:70
-#: ../../addon/libertree/libertree.php:90 ../../addon/mathjax/mathjax.php:42
-#: ../../addon/editplain/editplain.php:84 ../../addon/blackout/blackout.php:98
-#: ../../addon/gravatar/gravatar.php:86
-#: ../../addon/pageheader/pageheader.php:55 ../../addon/ijpost/ijpost.php:93
-#: ../../addon/jappixmini/jappixmini.php:302
-#: ../../addon/statusnet/statusnet.php:278
-#: ../../addon/statusnet/statusnet.php:292
-#: ../../addon/statusnet/statusnet.php:318
-#: ../../addon/statusnet/statusnet.php:325
-#: ../../addon/statusnet/statusnet.php:353
-#: ../../addon/statusnet/statusnet.php:567 ../../addon/tumblr/tumblr.php:90
-#: ../../addon/numfriends/numfriends.php:85 ../../addon/gnot/gnot.php:88
-#: ../../addon/wppost/wppost.php:110 ../../addon/showmore/showmore.php:48
-#: ../../addon/piwik/piwik.php:89 ../../addon/twitter/twitter.php:180
-#: ../../addon/twitter/twitter.php:209 ../../addon/twitter/twitter.php:387
-#: ../../addon/irc/irc.php:55 ../../addon/blogger/blogger.php:102
-#: ../../addon/posterous/posterous.php:103
-#: ../../view/theme/cleanzero/config.php:80
-#: ../../view/theme/diabook/theme.php:757
-#: ../../view/theme/diabook/config.php:190
-#: ../../view/theme/quattro/config.php:52 ../../view/theme/dispy/config.php:70
-#: ../../include/conversation.php:580
-msgid "Submit"
+#: ../../include/enotify.php:129
+#, php-format
+msgid "%1$s commented on [zrl=%2$s]a %3$s[/zrl]"
msgstr ""
-#: ../../mod/help.php:30
-msgid "Help:"
+#: ../../include/enotify.php:136
+#, php-format
+msgid "%1$s commented on [zrl=%2$s]%3$s's %4$s[/zrl]"
msgstr ""
-#: ../../mod/help.php:34 ../../addon/dav/layout.fnk.php:116
-#: ../../include/nav.php:86
-msgid "Help"
+#: ../../include/enotify.php:144
+#, php-format
+msgid "%1$s commented on [zrl=%2$s]your %3$s[/zrl]"
msgstr ""
-#: ../../mod/help.php:38 ../../index.php:218
-msgid "Not Found"
+#: ../../include/enotify.php:154
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
msgstr ""
-#: ../../mod/help.php:41 ../../index.php:221
-msgid "Page not found."
+#: ../../include/enotify.php:155
+#, php-format
+msgid "%s commented on an item/conversation you have been following."
msgstr ""
-#: ../../mod/wall_attach.php:58
+#: ../../include/enotify.php:158 ../../include/enotify.php:175
+#: ../../include/enotify.php:201 ../../include/enotify.php:219
+#: ../../include/enotify.php:232
#, php-format
-msgid "File exceeds size limit of %d"
+msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
-#: ../../mod/wall_attach.php:99 ../../mod/wall_attach.php:110
-msgid "File upload failed."
+#: ../../include/enotify.php:165
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
msgstr ""
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
+#: ../../include/enotify.php:167
+#, php-format
+msgid "%1$s posted to your profile wall at %2$s"
msgstr ""
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
+#: ../../include/enotify.php:169
+#, php-format
+msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]"
msgstr ""
-#: ../../mod/fsuggest.php:99
+#: ../../include/enotify.php:195
#, php-format
-msgid "Suggest a friend for %s"
+msgid "[Red:Notify] %s tagged you"
msgstr ""
-#: ../../mod/events.php:66
-msgid "Event title and start time are required."
+#: ../../include/enotify.php:196
+#, php-format
+msgid "%1$s tagged you at %2$s"
msgstr ""
-#: ../../mod/events.php:260
-msgid "l, F j"
+#: ../../include/enotify.php:197
+#, php-format
+msgid "%1$s [zrl=%2$s]tagged you[/zrl]."
msgstr ""
-#: ../../mod/events.php:282
-msgid "Edit event"
+#: ../../include/enotify.php:209
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
msgstr ""
-#: ../../mod/events.php:304 ../../include/text.php:1069
-msgid "link to source"
+#: ../../include/enotify.php:210
+#, php-format
+msgid "%1$s poked you at %2$s"
msgstr ""
-#: ../../mod/events.php:328 ../../view/theme/diabook/theme.php:131
-#: ../../include/nav.php:52 ../../boot.php:1595
-msgid "Events"
+#: ../../include/enotify.php:211
+#, php-format
+msgid "%1$s [zrl=%2$s]poked you[/zrl]."
msgstr ""
-#: ../../mod/events.php:329
-msgid "Create New Event"
+#: ../../include/enotify.php:226
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
msgstr ""
-#: ../../mod/events.php:330 ../../addon/dav/layout.fnk.php:154
-msgid "Previous"
+#: ../../include/enotify.php:227
+#, php-format
+msgid "%1$s tagged your post at %2$s"
msgstr ""
-#: ../../mod/events.php:331 ../../mod/install.php:205
-#: ../../addon/dav/layout.fnk.php:157
-msgid "Next"
+#: ../../include/enotify.php:228
+#, php-format
+msgid "%1$s tagged [zrl=%2$s]your post[/zrl]"
msgstr ""
-#: ../../mod/events.php:404
-msgid "hour:minute"
+#: ../../include/enotify.php:239
+msgid "[Red:Notify] Introduction received"
msgstr ""
-#: ../../mod/events.php:414
-msgid "Event details"
+#: ../../include/enotify.php:240
+#, php-format
+msgid "You've received an introduction from '%1$s' at %2$s"
msgstr ""
-#: ../../mod/events.php:415
+#: ../../include/enotify.php:241
#, php-format
-msgid "Format is %s %s. Starting date and Title are required."
+msgid "You've received [zrl=%1$s]an introduction[/zrl] from %2$s."
msgstr ""
-#: ../../mod/events.php:417
-msgid "Event Starts:"
+#: ../../include/enotify.php:244 ../../include/enotify.php:262
+#, php-format
+msgid "You may visit their profile at %s"
msgstr ""
-#: ../../mod/events.php:417 ../../mod/events.php:431
-msgid "Required"
+#: ../../include/enotify.php:246
+#, php-format
+msgid "Please visit %s to approve or reject the introduction."
msgstr ""
-#: ../../mod/events.php:420
-msgid "Finish date/time is not known or not relevant"
+#: ../../include/enotify.php:253
+msgid "[Red:Notify] Friend suggestion received"
msgstr ""
-#: ../../mod/events.php:422
-msgid "Event Finishes:"
+#: ../../include/enotify.php:254
+#, php-format
+msgid "You've received a friend suggestion from '%1$s' at %2$s"
msgstr ""
-#: ../../mod/events.php:425
-msgid "Adjust for viewer timezone"
+#: ../../include/enotify.php:255
+#, php-format
+msgid "You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s."
msgstr ""
-#: ../../mod/events.php:427
-msgid "Description:"
+#: ../../include/enotify.php:260
+msgid "Name:"
msgstr ""
-#: ../../mod/events.php:429 ../../mod/directory.php:132
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:409
-#: ../../boot.php:1172
-msgid "Location:"
+#: ../../include/enotify.php:261
+msgid "Photo:"
msgstr ""
-#: ../../mod/events.php:431
-msgid "Title:"
+#: ../../include/enotify.php:264
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
-#: ../../mod/events.php:433
-msgid "Share this event"
+#: ../../include/comanche.php:33
+msgid "Default"
msgstr ""
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
-#: ../../mod/dfrn_request.php:845 ../../mod/settings.php:556
-#: ../../mod/settings.php:582 ../../addon/js_upload/js_upload.php:45
-msgid "Cancel"
+#: ../../include/Contact.php:87 ../../include/contact_widgets.php:23
+#: ../../mod/directory.php:163 ../../mod/match.php:58 ../../mod/suggest.php:56
+#: ../../boot.php:1696
+msgid "Connect"
msgstr ""
-#: ../../mod/tagrm.php:41
-msgid "Tag removed"
+#: ../../include/Contact.php:103
+msgid "New window"
msgstr ""
-#: ../../mod/tagrm.php:79
-msgid "Remove Item Tag"
+#: ../../include/Contact.php:104
+msgid "Open the selected location in a different window or browser tab"
msgstr ""
-#: ../../mod/tagrm.php:81
-msgid "Select a tag to remove: "
+#: ../../include/Contact.php:462 ../../include/conversation.php:920
+msgid "Poke"
msgstr ""
-#: ../../mod/tagrm.php:93 ../../mod/delegate.php:130
-msgid "Remove"
+#: ../../include/Contact.php:463 ../../include/conversation.php:914
+msgid "View Status"
msgstr ""
-#: ../../mod/dfrn_poll.php:94 ../../mod/dfrn_poll.php:522
-#, php-format
-msgid "%s welcomes %s"
+#: ../../include/Contact.php:464 ../../include/nav.php:75
+#: ../../include/conversation.php:915 ../../mod/connections.php:304
+#: ../../mod/connections.php:411
+msgid "View Profile"
msgstr ""
-#: ../../mod/api.php:76 ../../mod/api.php:102
-msgid "Authorize application connection"
+#: ../../include/Contact.php:465 ../../include/conversation.php:916
+msgid "View Photos"
msgstr ""
-#: ../../mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
+#: ../../include/Contact.php:466 ../../include/conversation.php:917
+msgid "Network Posts"
msgstr ""
-#: ../../mod/api.php:89
-msgid "Please login to continue."
+#: ../../include/Contact.php:467 ../../include/conversation.php:918
+msgid "Edit Contact"
msgstr ""
-#: ../../mod/api.php:104
-msgid ""
-"Do you want to authorize this application to access your posts and contacts, "
-"and/or create new posts for you?"
+#: ../../include/Contact.php:468 ../../include/conversation.php:919
+msgid "Send PM"
msgstr ""
-#: ../../mod/api.php:105 ../../mod/dfrn_request.php:833
-#: ../../mod/settings.php:887 ../../mod/settings.php:893
-#: ../../mod/settings.php:901 ../../mod/settings.php:905
-#: ../../mod/settings.php:910 ../../mod/settings.php:916
-#: ../../mod/settings.php:922 ../../mod/settings.php:928
-#: ../../mod/settings.php:958 ../../mod/settings.php:959
-#: ../../mod/settings.php:960 ../../mod/settings.php:961
-#: ../../mod/settings.php:962 ../../mod/register.php:234
-#: ../../mod/profiles.php:546
-msgid "Yes"
+#: ../../include/contact_selectors.php:30
+msgid "Unknown | Not categorised"
msgstr ""
-#: ../../mod/api.php:106 ../../mod/dfrn_request.php:834
-#: ../../mod/settings.php:887 ../../mod/settings.php:893
-#: ../../mod/settings.php:901 ../../mod/settings.php:905
-#: ../../mod/settings.php:910 ../../mod/settings.php:916
-#: ../../mod/settings.php:922 ../../mod/settings.php:928
-#: ../../mod/settings.php:958 ../../mod/settings.php:959
-#: ../../mod/settings.php:960 ../../mod/settings.php:961
-#: ../../mod/settings.php:962 ../../mod/register.php:235
-#: ../../mod/profiles.php:547
-msgid "No"
+#: ../../include/contact_selectors.php:31
+msgid "Block immediately"
msgstr ""
-#: ../../mod/photos.php:46 ../../boot.php:1589
-msgid "Photo Albums"
+#: ../../include/contact_selectors.php:32
+msgid "Shady, spammer, self-marketer"
msgstr ""
-#: ../../mod/photos.php:54 ../../mod/photos.php:156 ../../mod/photos.php:971
-#: ../../mod/photos.php:1055 ../../mod/photos.php:1070
-#: ../../mod/photos.php:1498 ../../mod/photos.php:1510
-#: ../../addon/communityhome/communityhome.php:110
-#: ../../view/theme/diabook/theme.php:598
-msgid "Contact Photos"
+#: ../../include/contact_selectors.php:33
+msgid "Known to me, but no opinion"
msgstr ""
-#: ../../mod/photos.php:61 ../../mod/photos.php:1080 ../../mod/photos.php:1548
-msgid "Upload New Photos"
+#: ../../include/contact_selectors.php:34
+msgid "OK, probably harmless"
msgstr ""
-#: ../../mod/photos.php:72 ../../mod/settings.php:21
-msgid "everybody"
+#: ../../include/contact_selectors.php:35
+msgid "Reputable, has my trust"
msgstr ""
-#: ../../mod/photos.php:145
-msgid "Contact information unavailable"
+#: ../../include/contact_selectors.php:54
+msgid "Frequently"
msgstr ""
-#: ../../mod/photos.php:156 ../../mod/photos.php:660 ../../mod/photos.php:1055
-#: ../../mod/photos.php:1070 ../../mod/profile_photo.php:60
-#: ../../mod/profile_photo.php:67 ../../mod/profile_photo.php:74
-#: ../../mod/profile_photo.php:176 ../../mod/profile_photo.php:254
-#: ../../mod/profile_photo.php:263
-#: ../../addon/communityhome/communityhome.php:111
-#: ../../view/theme/diabook/theme.php:599 ../../include/user.php:318
-#: ../../include/user.php:325 ../../include/user.php:332
-msgid "Profile Photos"
+#: ../../include/contact_selectors.php:55
+msgid "Hourly"
msgstr ""
-#: ../../mod/photos.php:166
-msgid "Album not found."
+#: ../../include/contact_selectors.php:56
+msgid "Twice daily"
msgstr ""
-#: ../../mod/photos.php:184 ../../mod/photos.php:1064
-msgid "Delete Album"
+#: ../../include/contact_selectors.php:57
+msgid "Daily"
msgstr ""
-#: ../../mod/photos.php:247 ../../mod/photos.php:1310
-msgid "Delete Photo"
+#: ../../include/contact_selectors.php:58
+msgid "Weekly"
msgstr ""
-#: ../../mod/photos.php:591
-msgid "was tagged in a"
+#: ../../include/contact_selectors.php:59
+msgid "Monthly"
msgstr ""
-#: ../../mod/photos.php:591 ../../mod/like.php:144 ../../mod/tagger.php:70
-#: ../../addon/communityhome/communityhome.php:163
-#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1321
-#: ../../include/diaspora.php:1777 ../../include/conversation.php:53
-#: ../../include/conversation.php:126
-msgid "photo"
+#: ../../include/contact_selectors.php:74
+msgid "Friendica"
msgstr ""
-#: ../../mod/photos.php:591
-msgid "by"
+#: ../../include/contact_selectors.php:75
+msgid "OStatus"
msgstr ""
-#: ../../mod/photos.php:696 ../../addon/js_upload/js_upload.php:315
-msgid "Image exceeds size limit of "
+#: ../../include/contact_selectors.php:76
+msgid "RSS/Atom"
msgstr ""
-#: ../../mod/photos.php:704
-msgid "Image file is empty."
+#: ../../include/contact_selectors.php:77 ../../mod/admin.php:636
+#: ../../mod/admin.php:645 ../../boot.php:1431
+msgid "Email"
msgstr ""
-#: ../../mod/photos.php:736 ../../mod/profile_photo.php:126
-#: ../../mod/wall_upload.php:99
-msgid "Unable to process image."
+#: ../../include/contact_selectors.php:78
+msgid "Diaspora"
msgstr ""
-#: ../../mod/photos.php:763 ../../mod/profile_photo.php:259
-#: ../../mod/wall_upload.php:118
-msgid "Image upload failed."
+#: ../../include/contact_selectors.php:79
+msgid "Facebook"
msgstr ""
-#: ../../mod/photos.php:849 ../../mod/community.php:16
-#: ../../mod/dfrn_request.php:759 ../../mod/viewconnections.php:17
-#: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:29
-msgid "Public access denied."
+#: ../../include/contact_selectors.php:80
+msgid "Zot!"
msgstr ""
-#: ../../mod/photos.php:859
-msgid "No photos selected"
+#: ../../include/contact_selectors.php:81
+msgid "LinkedIn"
msgstr ""
-#: ../../mod/photos.php:938
-msgid "Access to this item is restricted."
+#: ../../include/contact_selectors.php:82
+msgid "XMPP/IM"
msgstr ""
-#: ../../mod/photos.php:1002
-#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
+#: ../../include/contact_selectors.php:83
+msgid "MySpace"
msgstr ""
-#: ../../mod/photos.php:1005
-#, php-format
-msgid "You have used %1$.2f Mbytes of photo storage."
+#: ../../include/datetime.php:43 ../../include/datetime.php:45
+msgid "Miscellaneous"
msgstr ""
-#: ../../mod/photos.php:1011
-msgid "Upload Photos"
+#: ../../include/datetime.php:152 ../../include/datetime.php:284
+msgid "year"
msgstr ""
-#: ../../mod/photos.php:1015 ../../mod/photos.php:1059
-msgid "New album name: "
+#: ../../include/datetime.php:157 ../../include/datetime.php:285
+msgid "month"
msgstr ""
-#: ../../mod/photos.php:1016
-msgid "or existing album name: "
+#: ../../include/datetime.php:162 ../../include/datetime.php:287
+msgid "day"
msgstr ""
-#: ../../mod/photos.php:1017
-msgid "Do not show a status post for this upload"
+#: ../../include/datetime.php:275
+msgid "never"
msgstr ""
-#: ../../mod/photos.php:1019 ../../mod/photos.php:1305
-msgid "Permissions"
+#: ../../include/datetime.php:281
+msgid "less than a second ago"
msgstr ""
-#: ../../mod/photos.php:1074
-msgid "Edit Album"
+#: ../../include/datetime.php:284
+msgid "years"
msgstr ""
-#: ../../mod/photos.php:1098 ../../mod/photos.php:1531
-msgid "View Photo"
+#: ../../include/datetime.php:285
+msgid "months"
msgstr ""
-#: ../../mod/photos.php:1133
-msgid "Permission denied. Access to this item may be restricted."
+#: ../../include/datetime.php:286
+msgid "week"
msgstr ""
-#: ../../mod/photos.php:1135
-msgid "Photo not available"
+#: ../../include/datetime.php:286
+msgid "weeks"
msgstr ""
-#: ../../mod/photos.php:1185
-msgid "View photo"
+#: ../../include/datetime.php:287
+msgid "days"
msgstr ""
-#: ../../mod/photos.php:1185
-msgid "Edit photo"
+#: ../../include/datetime.php:288
+msgid "hour"
msgstr ""
-#: ../../mod/photos.php:1186
-msgid "Use as profile photo"
+#: ../../include/datetime.php:288
+msgid "hours"
msgstr ""
-#: ../../mod/photos.php:1192 ../../mod/content.php:601
-#: ../../include/conversation.php:490
-msgid "Private Message"
+#: ../../include/datetime.php:289
+msgid "minute"
msgstr ""
-#: ../../mod/photos.php:1214
-msgid "View Full Size"
+#: ../../include/datetime.php:289
+msgid "minutes"
msgstr ""
-#: ../../mod/photos.php:1282
-msgid "Tags: "
+#: ../../include/datetime.php:290
+msgid "second"
msgstr ""
-#: ../../mod/photos.php:1285
-msgid "[Remove any tag]"
+#: ../../include/datetime.php:290
+msgid "seconds"
msgstr ""
-#: ../../mod/photos.php:1295
-msgid "Rotate CW (right)"
+#: ../../include/datetime.php:299
+#, php-format
+msgid "%1$d %2$s ago"
msgstr ""
-#: ../../mod/photos.php:1296
-msgid "Rotate CCW (left)"
+#: ../../include/dba/dba_driver.php:50
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
msgstr ""
-#: ../../mod/photos.php:1298
-msgid "New album name"
+#: ../../include/event.php:11 ../../include/bb2diaspora.php:433
+msgid "l F d, Y \\@ g:i A"
msgstr ""
-#: ../../mod/photos.php:1301
-msgid "Caption"
+#: ../../include/event.php:20 ../../include/bb2diaspora.php:439
+msgid "Starts:"
msgstr ""
-#: ../../mod/photos.php:1303
-msgid "Add a Tag"
+#: ../../include/event.php:30 ../../include/bb2diaspora.php:447
+msgid "Finishes:"
msgstr ""
-#: ../../mod/photos.php:1307
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
+#: ../../include/event.php:40 ../../include/bb2diaspora.php:455
+#: ../../mod/events.php:450 ../../mod/directory.php:138 ../../boot.php:1746
+msgid "Location:"
msgstr ""
-#: ../../mod/photos.php:1327 ../../mod/content.php:665
-#: ../../include/conversation.php:554
-msgid "I like this (toggle)"
+#: ../../include/features.php:21
+msgid "General Features"
msgstr ""
-#: ../../mod/photos.php:1328 ../../mod/content.php:666
-#: ../../include/conversation.php:555
-msgid "I don't like this (toggle)"
+#: ../../include/features.php:24
+msgid "Multiple Profiles"
msgstr ""
-#: ../../mod/photos.php:1329 ../../include/conversation.php:993
-msgid "Share"
+#: ../../include/features.php:24
+msgid "Ability to create multiple profiles"
msgstr ""
-#: ../../mod/photos.php:1330 ../../mod/editpost.php:104
-#: ../../mod/content.php:482 ../../mod/content.php:842
-#: ../../mod/wallmessage.php:145 ../../mod/message.php:215
-#: ../../mod/message.php:413 ../../include/conversation.php:371
-#: ../../include/conversation.php:731 ../../include/conversation.php:1012
-msgid "Please wait"
+#: ../../include/features.php:25
+msgid "Web Pages"
msgstr ""
-#: ../../mod/photos.php:1346 ../../mod/photos.php:1386
-#: ../../mod/photos.php:1417 ../../mod/content.php:688
-#: ../../include/conversation.php:577
-msgid "This is you"
+#: ../../include/features.php:25
+msgid "Provide managed web pages on your channel"
msgstr ""
-#: ../../mod/photos.php:1348 ../../mod/photos.php:1388
-#: ../../mod/photos.php:1419 ../../mod/content.php:690
-#: ../../include/conversation.php:579 ../../boot.php:564
-msgid "Comment"
+#: ../../include/features.php:26
+msgid "Enhanced Photo Albums"
msgstr ""
-#: ../../mod/photos.php:1350 ../../mod/editpost.php:125
-#: ../../mod/content.php:700 ../../include/conversation.php:589
-#: ../../include/conversation.php:1030
-msgid "Preview"
+#: ../../include/features.php:26
+msgid "Enable photo album with enhanced features"
msgstr ""
-#: ../../mod/photos.php:1447 ../../mod/content.php:439
-#: ../../mod/content.php:720 ../../mod/settings.php:618
-#: ../../mod/settings.php:707 ../../mod/group.php:168 ../../mod/admin.php:665
-#: ../../include/conversation.php:328 ../../include/conversation.php:609
-msgid "Delete"
+#: ../../include/features.php:28
+msgid "Extended Identity Sharing"
msgstr ""
-#: ../../mod/photos.php:1537
-msgid "View Album"
+#: ../../include/features.php:28 ../../include/js_strings.php:28
+msgid " "
msgstr ""
-#: ../../mod/photos.php:1546
-msgid "Recent Photos"
+#: ../../include/features.php:29
+msgid "Expert Mode"
msgstr ""
-#: ../../mod/community.php:21
-msgid "Not available."
+#: ../../include/features.php:29
+msgid "Enable Expert Mode to provide advanced configuration options"
msgstr ""
-#: ../../mod/community.php:30 ../../view/theme/diabook/theme.php:133
-#: ../../include/nav.php:101
-msgid "Community"
+#: ../../include/features.php:30
+msgid "Premium Channel"
msgstr ""
-#: ../../mod/community.php:61 ../../mod/search.php:144
-msgid "No results."
+#: ../../include/features.php:30
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
msgstr ""
-#: ../../mod/friendica.php:55
-msgid "This is Friendica, version"
+#: ../../include/features.php:35
+msgid "Post Composition Features"
msgstr ""
-#: ../../mod/friendica.php:56
-msgid "running at web location"
+#: ../../include/features.php:36
+msgid "Richtext Editor"
msgstr ""
-#: ../../mod/friendica.php:58
-msgid ""
-"Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn "
-"more about the Friendica project."
+#: ../../include/features.php:36
+msgid "Enable richtext editor"
msgstr ""
-#: ../../mod/friendica.php:60
-msgid "Bug reports and issues: please visit"
+#: ../../include/features.php:37
+msgid "Post Preview"
msgstr ""
-#: ../../mod/friendica.php:61
-msgid ""
-"Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - "
-"dot com"
+#: ../../include/features.php:37
+msgid "Allow previewing posts and comments before publishing them"
msgstr ""
-#: ../../mod/friendica.php:75
-msgid "Installed plugins/addons/apps:"
+#: ../../include/features.php:42
+msgid "Network and Stream Filtering"
msgstr ""
-#: ../../mod/friendica.php:88
-msgid "No installed plugins/addons/apps"
+#: ../../include/features.php:43
+msgid "Search by Date"
msgstr ""
-#: ../../mod/editpost.php:17 ../../mod/editpost.php:27
-msgid "Item not found"
+#: ../../include/features.php:43
+msgid "Ability to select posts by date ranges"
msgstr ""
-#: ../../mod/editpost.php:36
-msgid "Edit post"
+#: ../../include/features.php:44
+msgid "Collections Filter"
msgstr ""
-#: ../../mod/editpost.php:80 ../../include/conversation.php:979
-msgid "Post to Email"
+#: ../../include/features.php:44
+msgid "Enable widget to display Network posts only from selected collections"
msgstr ""
-#: ../../mod/editpost.php:95 ../../mod/content.php:707
-#: ../../mod/settings.php:617 ../../include/conversation.php:596
-msgid "Edit"
+#: ../../include/features.php:45 ../../mod/network.php:150
+#: ../../mod/search.php:17
+msgid "Saved Searches"
msgstr ""
-#: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143
-#: ../../mod/message.php:213 ../../mod/message.php:410
-#: ../../include/conversation.php:994
-msgid "Upload photo"
+#: ../../include/features.php:45
+msgid "Save search terms for re-use"
msgstr ""
-#: ../../mod/editpost.php:97 ../../include/conversation.php:996
-msgid "Attach file"
+#: ../../include/features.php:46
+msgid "Network Personal Tab"
msgstr ""
-#: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144
-#: ../../mod/message.php:214 ../../mod/message.php:411
-#: ../../include/conversation.php:998
-msgid "Insert web link"
+#: ../../include/features.php:46
+msgid "Enable tab to display only Network posts that you've interacted on"
msgstr ""
-#: ../../mod/editpost.php:99
-msgid "Insert YouTube video"
+#: ../../include/features.php:47
+msgid "Network New Tab"
msgstr ""
-#: ../../mod/editpost.php:100
-msgid "Insert Vorbis [.ogg] video"
+#: ../../include/features.php:47
+msgid "Enable tab to display all new Network activity"
msgstr ""
-#: ../../mod/editpost.php:101
-msgid "Insert Vorbis [.ogg] audio"
+#: ../../include/features.php:48
+msgid "Affinity Tool"
msgstr ""
-#: ../../mod/editpost.php:102 ../../include/conversation.php:1004
-msgid "Set your location"
+#: ../../include/features.php:48
+msgid "Filter stream activity by depth of relationships"
msgstr ""
-#: ../../mod/editpost.php:103 ../../include/conversation.php:1006
-msgid "Clear browser location"
+#: ../../include/features.php:53
+msgid "Post/Comment Tools"
msgstr ""
-#: ../../mod/editpost.php:105 ../../include/conversation.php:1013
-msgid "Permission settings"
+#: ../../include/features.php:54
+msgid "Multiple Deletion"
msgstr ""
-#: ../../mod/editpost.php:113 ../../include/conversation.php:1022
-msgid "CC: email addresses"
+#: ../../include/features.php:54
+msgid "Select and delete multiple posts/comments at once"
msgstr ""
-#: ../../mod/editpost.php:114 ../../include/conversation.php:1023
-msgid "Public post"
+#: ../../include/features.php:55
+msgid "Edit Sent Posts"
msgstr ""
-#: ../../mod/editpost.php:117 ../../include/conversation.php:1009
-msgid "Set title"
+#: ../../include/features.php:55
+msgid "Edit and correct posts and comments after sending"
msgstr ""
-#: ../../mod/editpost.php:119 ../../include/conversation.php:1011
-msgid "Categories (comma-separated list)"
+#: ../../include/features.php:56
+msgid "Tagging"
msgstr ""
-#: ../../mod/editpost.php:120 ../../include/conversation.php:1025
-msgid "Example: bob@example.com, mary@example.com"
+#: ../../include/features.php:56
+msgid "Ability to tag existing posts"
msgstr ""
-#: ../../mod/editpost.php:135 ../../include/conversation.php:1166
-msgid "Friendica mobile web"
+#: ../../include/features.php:57
+msgid "Post Categories"
msgstr ""
-#: ../../mod/dfrn_request.php:93
-msgid "This introduction has already been accepted."
+#: ../../include/features.php:57
+msgid "Add categories to your posts"
msgstr ""
-#: ../../mod/dfrn_request.php:118 ../../mod/dfrn_request.php:512
-msgid "Profile location is not valid or does not contain profile information."
+#: ../../include/features.php:58 ../../include/contact_widgets.php:76
+msgid "Saved Folders"
msgstr ""
-#: ../../mod/dfrn_request.php:123 ../../mod/dfrn_request.php:517
-msgid "Warning: profile location has no identifiable owner name."
+#: ../../include/features.php:58
+msgid "Ability to file posts under folders"
msgstr ""
-#: ../../mod/dfrn_request.php:125 ../../mod/dfrn_request.php:519
-msgid "Warning: profile location has no profile photo."
+#: ../../include/features.php:59
+msgid "Dislike Posts"
msgstr ""
-#: ../../mod/dfrn_request.php:128 ../../mod/dfrn_request.php:522
-#, php-format
-msgid "%d required parameter was not found at the given location"
-msgid_plural "%d required parameters were not found at the given location"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../mod/dfrn_request.php:170
-msgid "Introduction complete."
+#: ../../include/features.php:59
+msgid "Ability to dislike posts/comments"
msgstr ""
-#: ../../mod/dfrn_request.php:209
-msgid "Unrecoverable protocol error."
+#: ../../include/features.php:60
+msgid "Star Posts"
msgstr ""
-#: ../../mod/dfrn_request.php:237
-msgid "Profile unavailable."
+#: ../../include/features.php:60
+msgid "Ability to mark special posts with a star indicator"
msgstr ""
-#: ../../mod/dfrn_request.php:262
-#, php-format
-msgid "%s has received too many connection requests today."
+#: ../../include/features.php:61
+msgid "Tag Cloud"
msgstr ""
-#: ../../mod/dfrn_request.php:263
-msgid "Spam protection measures have been invoked."
+#: ../../include/features.php:61
+msgid "Provide a personal tag cloud on your channel page"
msgstr ""
-#: ../../mod/dfrn_request.php:264
-msgid "Friends are advised to please try again in 24 hours."
+#: ../../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 ""
-#: ../../mod/dfrn_request.php:326
-msgid "Invalid locator"
+#: ../../include/group.php:223
+msgid "Default privacy group for new contacts"
msgstr ""
-#: ../../mod/dfrn_request.php:335
-msgid "Invalid email address."
+#: ../../include/group.php:242
+msgid "All Channels"
msgstr ""
-#: ../../mod/dfrn_request.php:361
-msgid "This account has not been configured for email. Request failed."
+#: ../../include/group.php:264 ../../include/page_widgets.php:8
+msgid "edit"
msgstr ""
-#: ../../mod/dfrn_request.php:457
-msgid "Unable to resolve your name at the provided location."
+#: ../../include/group.php:285
+msgid "Collections"
msgstr ""
-#: ../../mod/dfrn_request.php:470
-msgid "You have already introduced yourself here."
+#: ../../include/group.php:286
+msgid "Edit collection"
msgstr ""
-#: ../../mod/dfrn_request.php:474
-#, php-format
-msgid "Apparently you are already friends with %s."
+#: ../../include/group.php:287
+msgid "Create a new collection"
msgstr ""
-#: ../../mod/dfrn_request.php:495
-msgid "Invalid profile URL."
+#: ../../include/group.php:288
+msgid "Channels not in any collection"
msgstr ""
-#: ../../mod/dfrn_request.php:501 ../../include/follow.php:27
-msgid "Disallowed profile URL."
+#: ../../include/group.php:290 ../../mod/network.php:151
+msgid "add"
msgstr ""
-#: ../../mod/dfrn_request.php:570 ../../mod/contacts.php:122
-msgid "Failed to update contact record."
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
msgstr ""
-#: ../../mod/dfrn_request.php:591
-msgid "Your introduction has been sent."
+#: ../../include/js_strings.php:6 ../../include/ItemObject.php:504
+#: ../../mod/photos.php:1075 ../../mod/photos.php:1159
+msgid "Comment"
msgstr ""
-#: ../../mod/dfrn_request.php:644
-msgid "Please login to confirm introduction."
+#: ../../include/js_strings.php:7 ../../include/contact_widgets.php:148
+#: ../../include/ItemObject.php:255
+msgid "show more"
msgstr ""
-#: ../../mod/dfrn_request.php:658
-msgid ""
-"Incorrect identity currently logged in. Please login to <strong>this</"
-"strong> profile."
+#: ../../include/js_strings.php:8
+msgid "show fewer"
msgstr ""
-#: ../../mod/dfrn_request.php:669
-msgid "Hide this contact"
+#: ../../include/js_strings.php:9
+msgid "Password too short"
msgstr ""
-#: ../../mod/dfrn_request.php:672
-#, php-format
-msgid "Welcome home %s."
+#: ../../include/js_strings.php:10
+msgid "Passwords do not match"
msgstr ""
-#: ../../mod/dfrn_request.php:673
-#, php-format
-msgid "Please confirm your introduction/connection request to %s."
+#: ../../include/js_strings.php:11 ../../mod/photos.php:45
+msgid "everybody"
msgstr ""
-#: ../../mod/dfrn_request.php:674
-msgid "Confirm"
+#: ../../include/js_strings.php:13
+msgid "timeago.prefixAgo"
msgstr ""
-#: ../../mod/dfrn_request.php:715 ../../include/items.php:2883
-msgid "[Name Withheld]"
+#: ../../include/js_strings.php:14
+msgid "timeago.suffixAgo"
msgstr ""
-#: ../../mod/dfrn_request.php:808
-msgid ""
-"Please enter your 'Identity Address' from one of the following supported "
-"communications networks:"
+#: ../../include/js_strings.php:15
+msgid "ago"
msgstr ""
-#: ../../mod/dfrn_request.php:824
-msgid "<strike>Connect as an email follower</strike> (Coming soon)"
+#: ../../include/js_strings.php:16
+msgid "from now"
msgstr ""
-#: ../../mod/dfrn_request.php:826
-msgid ""
-"If you are not yet a member of the free social web, <a href=\"http://dir."
-"friendica.com/siteinfo\">follow this link to find a public Friendica site "
-"and join us today</a>."
+#: ../../include/js_strings.php:17
+msgid "less than a minute"
msgstr ""
-#: ../../mod/dfrn_request.php:829
-msgid "Friend/Connection Request"
+#: ../../include/js_strings.php:18
+msgid "about a minute"
msgstr ""
-#: ../../mod/dfrn_request.php:830
-msgid ""
-"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
-"testuser@identi.ca"
+#: ../../include/js_strings.php:19
+#, php-format
+msgid "%d minutes"
msgstr ""
-#: ../../mod/dfrn_request.php:831
-msgid "Please answer the following:"
+#: ../../include/js_strings.php:20
+msgid "about an hour"
msgstr ""
-#: ../../mod/dfrn_request.php:832
+#: ../../include/js_strings.php:21
#, php-format
-msgid "Does %s know you?"
-msgstr ""
-
-#: ../../mod/dfrn_request.php:835
-msgid "Add a personal note:"
+msgid "about %d hours"
msgstr ""
-#: ../../mod/dfrn_request.php:837 ../../include/contact_selectors.php:76
-msgid "Friendica"
+#: ../../include/js_strings.php:22
+msgid "a day"
msgstr ""
-#: ../../mod/dfrn_request.php:838
-msgid "StatusNet/Federated Social Web"
+#: ../../include/js_strings.php:23
+#, php-format
+msgid "%d days"
msgstr ""
-#: ../../mod/dfrn_request.php:839 ../../mod/settings.php:652
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
+#: ../../include/js_strings.php:24
+msgid "about a month"
msgstr ""
-#: ../../mod/dfrn_request.php:840
+#: ../../include/js_strings.php:25
#, php-format
-msgid ""
-" - please do not use this form. Instead, enter %s into your Diaspora search "
-"bar."
-msgstr ""
-
-#: ../../mod/dfrn_request.php:841
-msgid "Your Identity Address:"
+msgid "%d months"
msgstr ""
-#: ../../mod/dfrn_request.php:844
-msgid "Submit Request"
+#: ../../include/js_strings.php:26
+msgid "about a year"
msgstr ""
-#: ../../mod/install.php:117
-msgid "Friendica Social Communications Server - Setup"
+#: ../../include/js_strings.php:27
+#, php-format
+msgid "%d years"
msgstr ""
-#: ../../mod/install.php:123
-msgid "Could not connect to database."
+#: ../../include/js_strings.php:29
+msgid "timeago.numbers"
msgstr ""
-#: ../../mod/install.php:127
-msgid "Could not create table."
+#: ../../include/message.php:18
+msgid "No recipient provided."
msgstr ""
-#: ../../mod/install.php:133
-msgid "Your Friendica site database has been installed."
+#: ../../include/message.php:23
+msgid "[no subject]"
msgstr ""
-#: ../../mod/install.php:138
-msgid ""
-"You may need to import the file \"database.sql\" manually using phpmyadmin "
-"or mysql."
+#: ../../include/message.php:38
+msgid "Unable to determine sender."
msgstr ""
-#: ../../mod/install.php:139 ../../mod/install.php:204
-#: ../../mod/install.php:489
-msgid "Please see the file \"INSTALL.txt\"."
+#: ../../include/message.php:138
+msgid "Stored post could not be verified."
msgstr ""
-#: ../../mod/install.php:201
-msgid "System check"
+#: ../../include/network.php:1113
+msgid "view full size"
msgstr ""
-#: ../../mod/install.php:206
-msgid "Check again"
+#: ../../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 ""
-#: ../../mod/install.php:225
-msgid "Database connection"
+#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:118
+#: ../../mod/profperm.php:112
+msgid "Profile"
msgstr ""
-#: ../../mod/install.php:226
-msgid ""
-"In order to install Friendica we need to know how to connect to your "
-"database."
+#: ../../include/profile_advanced.php:15 ../../mod/settings.php:1031
+msgid "Full Name:"
msgstr ""
-#: ../../mod/install.php:227
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
+#: ../../include/profile_advanced.php:17 ../../mod/directory.php:140
+#: ../../boot.php:1748
+msgid "Gender:"
msgstr ""
-#: ../../mod/install.php:228
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
+#: ../../include/profile_advanced.php:22
+msgid "j F, Y"
msgstr ""
-#: ../../mod/install.php:232
-msgid "Database Server Name"
+#: ../../include/profile_advanced.php:23
+msgid "j F"
msgstr ""
-#: ../../mod/install.php:233
-msgid "Database Login Name"
+#: ../../include/profile_advanced.php:30
+msgid "Birthday:"
msgstr ""
-#: ../../mod/install.php:234
-msgid "Database Login Password"
+#: ../../include/profile_advanced.php:34
+msgid "Age:"
msgstr ""
-#: ../../mod/install.php:235
-msgid "Database Name"
+#: ../../include/profile_advanced.php:37 ../../mod/directory.php:142
+#: ../../boot.php:1749
+msgid "Status:"
msgstr ""
-#: ../../mod/install.php:236 ../../mod/install.php:275
-msgid "Site administrator email address"
+#: ../../include/profile_advanced.php:43
+#, php-format
+msgid "for %1$d %2$s"
msgstr ""
-#: ../../mod/install.php:236 ../../mod/install.php:275
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
+#: ../../include/profile_advanced.php:46 ../../mod/profiles.php:549
+msgid "Sexual Preference:"
msgstr ""
-#: ../../mod/install.php:240 ../../mod/install.php:278
-msgid "Please select a default timezone for your website"
+#: ../../include/profile_advanced.php:48 ../../mod/directory.php:144
+#: ../../boot.php:1750
+msgid "Homepage:"
msgstr ""
-#: ../../mod/install.php:265
-msgid "Site settings"
+#: ../../include/profile_advanced.php:50 ../../mod/profiles.php:551
+msgid "Hometown:"
msgstr ""
-#: ../../mod/install.php:318
-msgid "Could not find a command line version of PHP in the web server PATH."
+#: ../../include/profile_advanced.php:52
+msgid "Tags:"
msgstr ""
-#: ../../mod/install.php:319
-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. See <a href='http://"
-"friendica.com/node/27'>'Activating scheduled tasks'</a>"
+#: ../../include/profile_advanced.php:54 ../../mod/profiles.php:552
+msgid "Political Views:"
msgstr ""
-#: ../../mod/install.php:323
-msgid "PHP executable path"
+#: ../../include/profile_advanced.php:56
+msgid "Religion:"
msgstr ""
-#: ../../mod/install.php:323
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
+#: ../../include/profile_advanced.php:58 ../../mod/directory.php:146
+msgid "About:"
msgstr ""
-#: ../../mod/install.php:328
-msgid "Command line PHP"
+#: ../../include/profile_advanced.php:60
+msgid "Hobbies/Interests:"
msgstr ""
-#: ../../mod/install.php:337
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
+#: ../../include/profile_advanced.php:62 ../../mod/profiles.php:555
+msgid "Likes:"
msgstr ""
-#: ../../mod/install.php:338
-msgid "This is required for message delivery to work."
+#: ../../include/profile_advanced.php:64 ../../mod/profiles.php:556
+msgid "Dislikes:"
msgstr ""
-#: ../../mod/install.php:340
-msgid "PHP register_argc_argv"
+#: ../../include/profile_advanced.php:67
+msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../mod/install.php:361
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
+#: ../../include/profile_advanced.php:69
+msgid "Musical interests:"
msgstr ""
-#: ../../mod/install.php:362
-msgid ""
-"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
-"installation.php\"."
+#: ../../include/profile_advanced.php:71
+msgid "Books, literature:"
msgstr ""
-#: ../../mod/install.php:364
-msgid "Generate encryption keys"
+#: ../../include/profile_advanced.php:73
+msgid "Television:"
msgstr ""
-#: ../../mod/install.php:371
-msgid "libCurl PHP module"
+#: ../../include/profile_advanced.php:75
+msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../mod/install.php:372
-msgid "GD graphics PHP module"
+#: ../../include/profile_advanced.php:77
+msgid "Love/Romance:"
msgstr ""
-#: ../../mod/install.php:373
-msgid "OpenSSL PHP module"
+#: ../../include/profile_advanced.php:79
+msgid "Work/employment:"
msgstr ""
-#: ../../mod/install.php:374
-msgid "mysqli PHP module"
+#: ../../include/profile_advanced.php:81
+msgid "School/education:"
msgstr ""
-#: ../../mod/install.php:375
-msgid "mb_string PHP module"
+#: ../../include/nav.php:71 ../../include/nav.php:86 ../../boot.php:1428
+msgid "Logout"
msgstr ""
-#: ../../mod/install.php:380 ../../mod/install.php:382
-msgid "Apache mod_rewrite module"
+#: ../../include/nav.php:71 ../../include/nav.php:86
+msgid "End this session"
msgstr ""
-#: ../../mod/install.php:380
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
+#: ../../include/nav.php:74 ../../include/nav.php:116
+#: ../../include/nav.php:148
+msgid "Home"
msgstr ""
-#: ../../mod/install.php:388
-msgid "Error: libCURL PHP module required but not installed."
+#: ../../include/nav.php:74 ../../include/nav.php:148
+msgid "Your posts and conversations"
msgstr ""
-#: ../../mod/install.php:392
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
+#: ../../include/nav.php:75
+msgid "Your profile page"
msgstr ""
-#: ../../mod/install.php:396
-msgid "Error: openssl PHP module required but not installed."
+#: ../../include/nav.php:77
+msgid "Edit Profiles"
msgstr ""
-#: ../../mod/install.php:400
-msgid "Error: mysqli PHP module required but not installed."
+#: ../../include/nav.php:77
+msgid "Manage/Edit Profiles"
msgstr ""
-#: ../../mod/install.php:404
-msgid "Error: mb_string PHP module required but not installed."
+#: ../../include/nav.php:78 ../../mod/fbrowser.php:25 ../../boot.php:2189
+msgid "Photos"
msgstr ""
-#: ../../mod/install.php:421
-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."
+#: ../../include/nav.php:78
+msgid "Your photos"
msgstr ""
-#: ../../mod/install.php:422
-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."
+#: ../../include/nav.php:84 ../../boot.php:1429
+msgid "Login"
msgstr ""
-#: ../../mod/install.php:423
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Friendica top folder."
+#: ../../include/nav.php:84
+msgid "Sign in"
msgstr ""
-#: ../../mod/install.php:424
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation. "
-"Please see the file \"INSTALL.txt\" for instructions."
+#: ../../include/nav.php:100
+#, php-format
+msgid "%s - click to logout"
msgstr ""
-#: ../../mod/install.php:427
-msgid ".htconfig.php is writable"
+#: ../../include/nav.php:103
+msgid "Click to authenticate to your home hub"
msgstr ""
-#: ../../mod/install.php:439
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
+#: ../../include/nav.php:116
+msgid "Home Page"
msgstr ""
-#: ../../mod/install.php:441
-msgid "Url rewrite is working"
+#: ../../include/nav.php:120 ../../mod/register.php:187 ../../boot.php:1404
+msgid "Register"
msgstr ""
-#: ../../mod/install.php:451
-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."
+#: ../../include/nav.php:120
+msgid "Create an account"
msgstr ""
-#: ../../mod/install.php:476
-msgid "Errors encountered creating database tables."
+#: ../../include/nav.php:125 ../../mod/help.php:34
+msgid "Help"
msgstr ""
-#: ../../mod/install.php:487
-msgid "<h1>What next</h1>"
+#: ../../include/nav.php:125
+msgid "Help and documentation"
msgstr ""
-#: ../../mod/install.php:488
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
+#: ../../include/nav.php:128
+msgid "Apps"
msgstr ""
-#: ../../mod/localtime.php:12 ../../include/event.php:11
-#: ../../include/bb2diaspora.php:387
-msgid "l F d, Y \\@ g:i A"
+#: ../../include/nav.php:128
+msgid "Addon applications, utilities, games"
msgstr ""
-#: ../../mod/localtime.php:24
-msgid "Time Conversion"
+#: ../../include/nav.php:130 ../../include/text.php:729
+#: ../../include/text.php:730 ../../mod/search.php:96
+msgid "Search"
msgstr ""
-#: ../../mod/localtime.php:26
-msgid ""
-"Friendika provides this service for sharing events with other networks and "
-"friends in unknown timezones."
+#: ../../include/nav.php:130
+msgid "Search site content"
msgstr ""
-#: ../../mod/localtime.php:30
-#, php-format
-msgid "UTC time: %s"
+#: ../../include/nav.php:133 ../../mod/directory.php:186
+msgid "Directory"
msgstr ""
-#: ../../mod/localtime.php:33
-#, php-format
-msgid "Current timezone: %s"
+#: ../../include/nav.php:133
+msgid "Channel Locator"
msgstr ""
-#: ../../mod/localtime.php:36
-#, php-format
-msgid "Converted localtime: %s"
+#: ../../include/nav.php:144
+msgid "Matrix"
msgstr ""
-#: ../../mod/localtime.php:41
-msgid "Please select your timezone:"
+#: ../../include/nav.php:144
+msgid "Conversations from your grid"
msgstr ""
-#: ../../mod/match.php:12
-msgid "Profile Match"
+#: ../../include/nav.php:145
+msgid "See all matrix notifications"
msgstr ""
-#: ../../mod/match.php:20
-msgid "No keywords to match. Please add keywords to your default profile."
+#: ../../include/nav.php:146
+msgid "Mark all matrix notifications seen"
msgstr ""
-#: ../../mod/match.php:57
-msgid "is interested in:"
+#: ../../include/nav.php:149
+msgid "See all channel notifications"
msgstr ""
-#: ../../mod/match.php:58 ../../mod/suggest.php:59
-#: ../../include/contact_widgets.php:9 ../../boot.php:1116
-msgid "Connect"
+#: ../../include/nav.php:150
+msgid "Mark all channel notifications seen"
msgstr ""
-#: ../../mod/match.php:65 ../../mod/dirfind.php:60
-msgid "No matches"
+#: ../../include/nav.php:153
+msgid "Intros"
msgstr ""
-#: ../../mod/lockview.php:39
-msgid "Remote privacy information not available."
+#: ../../include/nav.php:153 ../../mod/connections.php:554
+msgid "New Connections"
msgstr ""
-#: ../../mod/lockview.php:43
-msgid "Visible to:"
+#: ../../include/nav.php:154
+msgid "See all channel introductions"
msgstr ""
-#: ../../mod/content.php:119 ../../mod/network.php:436
-msgid "No such group"
+#: ../../include/nav.php:157
+msgid "Notices"
msgstr ""
-#: ../../mod/content.php:130 ../../mod/network.php:447
-msgid "Group is empty"
+#: ../../include/nav.php:157 ../../mod/notifications.php:218
+msgid "Notifications"
msgstr ""
-#: ../../mod/content.php:134 ../../mod/network.php:451
-msgid "Group: "
+#: ../../include/nav.php:158
+msgid "See all notifications"
msgstr ""
-#: ../../mod/content.php:438 ../../mod/content.php:719
-#: ../../include/conversation.php:327 ../../include/conversation.php:608
-msgid "Select"
+#: ../../include/nav.php:159
+msgid "Mark all system notifications seen"
msgstr ""
-#: ../../mod/content.php:455 ../../mod/content.php:812
-#: ../../mod/content.php:813 ../../include/conversation.php:344
-#: ../../include/conversation.php:701 ../../include/conversation.php:702
-#, php-format
-msgid "View %s's profile @ %s"
+#: ../../include/nav.php:161
+msgid "Mail"
msgstr ""
-#: ../../mod/content.php:465 ../../mod/content.php:824
-#: ../../include/conversation.php:354 ../../include/conversation.php:713
-#, php-format
-msgid "%s from %s"
+#: ../../include/nav.php:161
+msgid "Private mail"
msgstr ""
-#: ../../mod/content.php:480 ../../include/conversation.php:369
-msgid "View in context"
+#: ../../include/nav.php:162
+msgid "See all private messages"
msgstr ""
-#: ../../mod/content.php:586 ../../include/conversation.php:475
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../mod/content.php:587 ../../addon/page/page.php:76
-#: ../../addon/page/page.php:110 ../../addon/showmore/showmore.php:87
-#: ../../include/contact_widgets.php:188 ../../include/conversation.php:476
-#: ../../boot.php:565
-msgid "show more"
+#: ../../include/nav.php:163
+msgid "Mark all private messages seen"
msgstr ""
-#: ../../mod/content.php:665 ../../include/conversation.php:554
-msgid "like"
+#: ../../include/nav.php:164
+msgid "Inbox"
msgstr ""
-#: ../../mod/content.php:666 ../../include/conversation.php:555
-msgid "dislike"
+#: ../../include/nav.php:165
+msgid "Outbox"
msgstr ""
-#: ../../mod/content.php:668 ../../include/conversation.php:557
-msgid "Share this"
+#: ../../include/nav.php:166 ../../mod/message.php:21
+msgid "New Message"
msgstr ""
-#: ../../mod/content.php:668 ../../include/conversation.php:557
-msgid "share"
+#: ../../include/nav.php:169 ../../mod/events.php:348 ../../boot.php:2200
+msgid "Events"
msgstr ""
-#: ../../mod/content.php:692 ../../include/conversation.php:581
-msgid "Bold"
+#: ../../include/nav.php:169
+msgid "Event Calendar"
msgstr ""
-#: ../../mod/content.php:693 ../../include/conversation.php:582
-msgid "Italic"
+#: ../../include/nav.php:170
+msgid "See all events"
msgstr ""
-#: ../../mod/content.php:694 ../../include/conversation.php:583
-msgid "Underline"
+#: ../../include/nav.php:171
+msgid "Mark all events seen"
msgstr ""
-#: ../../mod/content.php:695 ../../include/conversation.php:584
-msgid "Quote"
+#: ../../include/nav.php:173
+msgid "Channel Select"
msgstr ""
-#: ../../mod/content.php:696 ../../include/conversation.php:585
-msgid "Code"
+#: ../../include/nav.php:173
+msgid "Manage Your Channels"
msgstr ""
-#: ../../mod/content.php:697 ../../include/conversation.php:586
-msgid "Image"
+#: ../../include/nav.php:175 ../../mod/settings.php:120
+#: ../../mod/admin.php:728 ../../mod/admin.php:933
+msgid "Settings"
msgstr ""
-#: ../../mod/content.php:698 ../../include/conversation.php:587
-msgid "Link"
+#: ../../include/nav.php:175
+msgid "Account/Channel Settings"
msgstr ""
-#: ../../mod/content.php:699 ../../include/conversation.php:588
-msgid "Video"
+#: ../../include/nav.php:177 ../../mod/connections.php:660
+msgid "Connections"
msgstr ""
-#: ../../mod/content.php:732 ../../include/conversation.php:621
-msgid "add star"
+#: ../../include/nav.php:177
+msgid "Manage/Edit Friends and Connections"
msgstr ""
-#: ../../mod/content.php:733 ../../include/conversation.php:622
-msgid "remove star"
+#: ../../include/nav.php:184 ../../mod/admin.php:106
+msgid "Admin"
msgstr ""
-#: ../../mod/content.php:734 ../../include/conversation.php:623
-msgid "toggle star status"
+#: ../../include/nav.php:184
+msgid "Site Setup and Configuration"
msgstr ""
-#: ../../mod/content.php:737 ../../include/conversation.php:626
-msgid "starred"
+#: ../../include/nav.php:207
+msgid "Nothing new here"
msgstr ""
-#: ../../mod/content.php:738 ../../include/conversation.php:627
-msgid "add tag"
+#: ../../include/nav.php:212
+msgid "Please wait..."
msgstr ""
-#: ../../mod/content.php:742 ../../include/conversation.php:631
-msgid "save to folder"
+#: ../../include/identity.php:14 ../../mod/item.php:1148
+msgid "Unable to obtain identity information from database"
msgstr ""
-#: ../../mod/content.php:814 ../../include/conversation.php:703
-msgid "to"
+#: ../../include/identity.php:36
+msgid "Empty name"
msgstr ""
-#: ../../mod/content.php:815 ../../include/conversation.php:704
-msgid "Wall-to-Wall"
+#: ../../include/identity.php:38
+msgid "Name too long"
msgstr ""
-#: ../../mod/content.php:816 ../../include/conversation.php:705
-msgid "via Wall-To-Wall:"
+#: ../../include/identity.php:80
+msgid "No account identifier"
msgstr ""
-#: ../../mod/home.php:26 ../../addon/communityhome/communityhome.php:179
-#, php-format
-msgid "Welcome to %s"
+#: ../../include/identity.php:98
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
msgstr ""
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
+#: ../../include/identity.php:157
+msgid "Unable to retrieve created identity"
msgstr ""
-#: ../../mod/notifications.php:35 ../../mod/notifications.php:161
-#: ../../mod/notifications.php:207
-msgid "Discard"
+#: ../../include/identity.php:214
+msgid "Default Profile"
msgstr ""
-#: ../../mod/notifications.php:51 ../../mod/notifications.php:160
-#: ../../mod/notifications.php:206 ../../mod/contacts.php:316
-#: ../../mod/contacts.php:370
-msgid "Ignore"
+#: ../../include/identity.php:239 ../../include/profile_selectors.php:42
+#: ../../mod/network.php:364 ../../mod/connections.php:377
+msgid "Friends"
msgstr ""
-#: ../../mod/notifications.php:75
-msgid "System"
+#: ../../include/notify.php:23
+msgid "created a new post"
msgstr ""
-#: ../../mod/notifications.php:80 ../../include/nav.php:113
-msgid "Network"
+#: ../../include/notify.php:24
+#, php-format
+msgid "commented on %s's post"
msgstr ""
-#: ../../mod/notifications.php:85 ../../mod/network.php:300
-msgid "Personal"
+#: ../../include/oembed.php:148
+msgid "Embedded content"
msgstr ""
-#: ../../mod/notifications.php:90 ../../view/theme/diabook/theme.php:127
-#: ../../include/nav.php:77 ../../include/nav.php:115
-msgid "Home"
+#: ../../include/oembed.php:157
+msgid "Embedding disabled"
msgstr ""
-#: ../../mod/notifications.php:95 ../../include/nav.php:121
-msgid "Introductions"
+#: ../../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
+msgid "Permission denied."
msgstr ""
-#: ../../mod/notifications.php:100 ../../mod/message.php:105
-#: ../../include/nav.php:128
-msgid "Messages"
+#: ../../include/photos.php:88
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
msgstr ""
-#: ../../mod/notifications.php:119
-msgid "Show Ignored Requests"
+#: ../../include/photos.php:95
+msgid "Image file is empty."
msgstr ""
-#: ../../mod/notifications.php:119
-msgid "Hide Ignored Requests"
+#: ../../include/photos.php:124 ../../mod/profile_photo.php:157
+msgid "Unable to process image"
msgstr ""
-#: ../../mod/notifications.php:145 ../../mod/notifications.php:191
-msgid "Notification type: "
+#: ../../include/photos.php:186
+msgid "Photo storage failed."
msgstr ""
-#: ../../mod/notifications.php:146
-msgid "Friend Suggestion"
+#: ../../include/photos.php:288 ../../boot.php:2192
+msgid "Photo Albums"
msgstr ""
-#: ../../mod/notifications.php:148
-#, php-format
-msgid "suggested by %s"
+#: ../../include/photos.php:292 ../../mod/photos.php:795
+#: ../../mod/photos.php:1269
+msgid "Upload New Photos"
msgstr ""
-#: ../../mod/notifications.php:153 ../../mod/notifications.php:200
-#: ../../mod/contacts.php:376
-msgid "Hide this contact from others"
+#: ../../include/profile_selectors.php:6
+msgid "Male"
msgstr ""
-#: ../../mod/notifications.php:154 ../../mod/notifications.php:201
-msgid "Post a new friend activity"
+#: ../../include/profile_selectors.php:6
+msgid "Female"
msgstr ""
-#: ../../mod/notifications.php:154 ../../mod/notifications.php:201
-msgid "if applicable"
+#: ../../include/profile_selectors.php:6
+msgid "Currently Male"
msgstr ""
-#: ../../mod/notifications.php:157 ../../mod/notifications.php:204
-#: ../../mod/admin.php:663
-msgid "Approve"
+#: ../../include/profile_selectors.php:6
+msgid "Currently Female"
msgstr ""
-#: ../../mod/notifications.php:177
-msgid "Claims to be known to you: "
+#: ../../include/profile_selectors.php:6
+msgid "Mostly Male"
msgstr ""
-#: ../../mod/notifications.php:177
-msgid "yes"
+#: ../../include/profile_selectors.php:6
+msgid "Mostly Female"
msgstr ""
-#: ../../mod/notifications.php:177
-msgid "no"
+#: ../../include/profile_selectors.php:6
+msgid "Transgender"
msgstr ""
-#: ../../mod/notifications.php:184
-msgid "Approve as: "
+#: ../../include/profile_selectors.php:6
+msgid "Intersex"
msgstr ""
-#: ../../mod/notifications.php:185
-msgid "Friend"
+#: ../../include/profile_selectors.php:6
+msgid "Transsexual"
msgstr ""
-#: ../../mod/notifications.php:186
-msgid "Sharer"
+#: ../../include/profile_selectors.php:6
+msgid "Hermaphrodite"
msgstr ""
-#: ../../mod/notifications.php:186
-msgid "Fan/Admirer"
+#: ../../include/profile_selectors.php:6
+msgid "Neuter"
msgstr ""
-#: ../../mod/notifications.php:192
-msgid "Friend/Connect Request"
+#: ../../include/profile_selectors.php:6
+msgid "Non-specific"
msgstr ""
-#: ../../mod/notifications.php:192
-msgid "New Follower"
+#: ../../include/profile_selectors.php:6
+msgid "Other"
msgstr ""
-#: ../../mod/notifications.php:213
-msgid "No introductions."
+#: ../../include/profile_selectors.php:6
+msgid "Undecided"
msgstr ""
-#: ../../mod/notifications.php:216 ../../include/nav.php:122
-msgid "Notifications"
+#: ../../include/profile_selectors.php:23
+msgid "Males"
msgstr ""
-#: ../../mod/notifications.php:253 ../../mod/notifications.php:378
-#: ../../mod/notifications.php:465
-#, php-format
-msgid "%s liked %s's post"
+#: ../../include/profile_selectors.php:23
+msgid "Females"
msgstr ""
-#: ../../mod/notifications.php:262 ../../mod/notifications.php:387
-#: ../../mod/notifications.php:474
-#, php-format
-msgid "%s disliked %s's post"
+#: ../../include/profile_selectors.php:23
+msgid "Gay"
msgstr ""
-#: ../../mod/notifications.php:276 ../../mod/notifications.php:401
-#: ../../mod/notifications.php:488
-#, php-format
-msgid "%s is now friends with %s"
+#: ../../include/profile_selectors.php:23
+msgid "Lesbian"
msgstr ""
-#: ../../mod/notifications.php:283 ../../mod/notifications.php:408
-#, php-format
-msgid "%s created a new post"
+#: ../../include/profile_selectors.php:23
+msgid "No Preference"
msgstr ""
-#: ../../mod/notifications.php:284 ../../mod/notifications.php:409
-#: ../../mod/notifications.php:497
-#, php-format
-msgid "%s commented on %s's post"
+#: ../../include/profile_selectors.php:23
+msgid "Bisexual"
msgstr ""
-#: ../../mod/notifications.php:298
-msgid "No more network notifications."
+#: ../../include/profile_selectors.php:23
+msgid "Autosexual"
msgstr ""
-#: ../../mod/notifications.php:302
-msgid "Network Notifications"
+#: ../../include/profile_selectors.php:23
+msgid "Abstinent"
msgstr ""
-#: ../../mod/notifications.php:328 ../../mod/notify.php:61
-msgid "No more system notifications."
+#: ../../include/profile_selectors.php:23
+msgid "Virgin"
msgstr ""
-#: ../../mod/notifications.php:332 ../../mod/notify.php:65
-msgid "System Notifications"
+#: ../../include/profile_selectors.php:23
+msgid "Deviant"
msgstr ""
-#: ../../mod/notifications.php:423
-msgid "No more personal notifications."
+#: ../../include/profile_selectors.php:23
+msgid "Fetish"
msgstr ""
-#: ../../mod/notifications.php:427
-msgid "Personal Notifications"
+#: ../../include/profile_selectors.php:23
+msgid "Oodles"
msgstr ""
-#: ../../mod/notifications.php:504
-msgid "No more home notifications."
+#: ../../include/profile_selectors.php:23
+msgid "Nonsexual"
msgstr ""
-#: ../../mod/notifications.php:508
-msgid "Home Notifications"
+#: ../../include/profile_selectors.php:42
+msgid "Single"
msgstr ""
-#: ../../mod/contacts.php:83 ../../mod/contacts.php:163
-msgid "Could not access contact record."
+#: ../../include/profile_selectors.php:42
+msgid "Lonely"
msgstr ""
-#: ../../mod/contacts.php:97
-msgid "Could not locate selected profile."
+#: ../../include/profile_selectors.php:42
+msgid "Available"
msgstr ""
-#: ../../mod/contacts.php:120
-msgid "Contact updated."
+#: ../../include/profile_selectors.php:42
+msgid "Unavailable"
msgstr ""
-#: ../../mod/contacts.php:185
-msgid "Contact has been blocked"
+#: ../../include/profile_selectors.php:42
+msgid "Has crush"
msgstr ""
-#: ../../mod/contacts.php:185
-msgid "Contact has been unblocked"
+#: ../../include/profile_selectors.php:42
+msgid "Infatuated"
msgstr ""
-#: ../../mod/contacts.php:199
-msgid "Contact has been ignored"
+#: ../../include/profile_selectors.php:42
+msgid "Dating"
msgstr ""
-#: ../../mod/contacts.php:199
-msgid "Contact has been unignored"
+#: ../../include/profile_selectors.php:42
+msgid "Unfaithful"
msgstr ""
-#: ../../mod/contacts.php:215
-msgid "Contact has been archived"
+#: ../../include/profile_selectors.php:42
+msgid "Sex Addict"
msgstr ""
-#: ../../mod/contacts.php:215
-msgid "Contact has been unarchived"
+#: ../../include/profile_selectors.php:42
+msgid "Friends/Benefits"
msgstr ""
-#: ../../mod/contacts.php:228
-msgid "Contact has been removed."
+#: ../../include/profile_selectors.php:42
+msgid "Casual"
msgstr ""
-#: ../../mod/contacts.php:258
-#, php-format
-msgid "You are mutual friends with %s"
+#: ../../include/profile_selectors.php:42
+msgid "Engaged"
msgstr ""
-#: ../../mod/contacts.php:262
-#, php-format
-msgid "You are sharing with %s"
+#: ../../include/profile_selectors.php:42
+msgid "Married"
msgstr ""
-#: ../../mod/contacts.php:267
-#, php-format
-msgid "%s is sharing with you"
+#: ../../include/profile_selectors.php:42
+msgid "Imaginarily married"
msgstr ""
-#: ../../mod/contacts.php:284
-msgid "Private communications are not available for this contact."
+#: ../../include/profile_selectors.php:42
+msgid "Partners"
msgstr ""
-#: ../../mod/contacts.php:287
-msgid "Never"
+#: ../../include/profile_selectors.php:42
+msgid "Cohabiting"
msgstr ""
-#: ../../mod/contacts.php:291
-msgid "(Update was successful)"
+#: ../../include/profile_selectors.php:42
+msgid "Common law"
msgstr ""
-#: ../../mod/contacts.php:291
-msgid "(Update was not successful)"
+#: ../../include/profile_selectors.php:42
+msgid "Happy"
msgstr ""
-#: ../../mod/contacts.php:293
-msgid "Suggest friends"
+#: ../../include/profile_selectors.php:42
+msgid "Not looking"
msgstr ""
-#: ../../mod/contacts.php:297
-#, php-format
-msgid "Network type: %s"
+#: ../../include/profile_selectors.php:42
+msgid "Swinger"
msgstr ""
-#: ../../mod/contacts.php:300 ../../include/contact_widgets.php:183
-#, php-format
-msgid "%d contact in common"
-msgid_plural "%d contacts in common"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../mod/contacts.php:305
-msgid "View all contacts"
+#: ../../include/profile_selectors.php:42
+msgid "Betrayed"
msgstr ""
-#: ../../mod/contacts.php:310 ../../mod/contacts.php:369
-#: ../../mod/admin.php:667
-msgid "Unblock"
+#: ../../include/profile_selectors.php:42
+msgid "Separated"
msgstr ""
-#: ../../mod/contacts.php:310 ../../mod/contacts.php:369
-#: ../../mod/admin.php:666
-msgid "Block"
+#: ../../include/profile_selectors.php:42
+msgid "Unstable"
msgstr ""
-#: ../../mod/contacts.php:313
-msgid "Toggle Blocked status"
+#: ../../include/profile_selectors.php:42
+msgid "Divorced"
msgstr ""
-#: ../../mod/contacts.php:316 ../../mod/contacts.php:370
-msgid "Unignore"
+#: ../../include/profile_selectors.php:42
+msgid "Imaginarily divorced"
msgstr ""
-#: ../../mod/contacts.php:319
-msgid "Toggle Ignored status"
+#: ../../include/profile_selectors.php:42
+msgid "Widowed"
msgstr ""
-#: ../../mod/contacts.php:323
-msgid "Unarchive"
+#: ../../include/profile_selectors.php:42
+msgid "Uncertain"
msgstr ""
-#: ../../mod/contacts.php:323
-msgid "Archive"
+#: ../../include/profile_selectors.php:42
+msgid "It's complicated"
msgstr ""
-#: ../../mod/contacts.php:326
-msgid "Toggle Archive status"
+#: ../../include/profile_selectors.php:42
+msgid "Don't care"
msgstr ""
-#: ../../mod/contacts.php:329
-msgid "Repair"
+#: ../../include/profile_selectors.php:42
+msgid "Ask me"
msgstr ""
-#: ../../mod/contacts.php:332
-msgid "Advanced Contact Settings"
+#: ../../include/attach.php:184 ../../include/attach.php:232
+msgid "Item was not found."
msgstr ""
-#: ../../mod/contacts.php:338
-msgid "Communications lost with this contact!"
+#: ../../include/attach.php:285
+msgid "No source file."
msgstr ""
-#: ../../mod/contacts.php:341
-msgid "Contact Editor"
+#: ../../include/attach.php:302
+msgid "Cannot locate file to replace"
msgstr ""
-#: ../../mod/contacts.php:344
-msgid "Profile Visibility"
+#: ../../include/attach.php:320
+msgid "Cannot locate file to revise/update"
msgstr ""
-#: ../../mod/contacts.php:345
+#: ../../include/attach.php:331
#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr ""
-
-#: ../../mod/contacts.php:346
-msgid "Contact Information / Notes"
-msgstr ""
-
-#: ../../mod/contacts.php:347
-msgid "Edit contact notes"
+msgid "File exceeds size limit of %d"
msgstr ""
-#: ../../mod/contacts.php:352 ../../mod/contacts.php:544
-#: ../../mod/viewconnections.php:62 ../../mod/nogroup.php:40
+#: ../../include/attach.php:342
#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr ""
-
-#: ../../mod/contacts.php:353
-msgid "Block/Unblock contact"
-msgstr ""
-
-#: ../../mod/contacts.php:354
-msgid "Ignore contact"
-msgstr ""
-
-#: ../../mod/contacts.php:355
-msgid "Repair URL settings"
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr ""
-#: ../../mod/contacts.php:356
-msgid "View conversations"
+#: ../../include/attach.php:424
+msgid "File upload failed. Possible system limit or action terminated."
msgstr ""
-#: ../../mod/contacts.php:358
-msgid "Delete contact"
+#: ../../include/attach.php:436
+msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../mod/contacts.php:362
-msgid "Last update:"
+#: ../../include/attach.php:480 ../../include/attach.php:497
+msgid "Path not available."
msgstr ""
-#: ../../mod/contacts.php:364
-msgid "Update public posts"
+#: ../../include/account.php:23
+msgid "Not a valid email address"
msgstr ""
-#: ../../mod/contacts.php:366 ../../mod/admin.php:1138
-msgid "Update now"
+#: ../../include/account.php:25
+msgid "Your email domain is not among those allowed on this site"
msgstr ""
-#: ../../mod/contacts.php:373
-msgid "Currently blocked"
+#: ../../include/account.php:31
+msgid "Your email address is already registered at this site."
msgstr ""
-#: ../../mod/contacts.php:374
-msgid "Currently ignored"
-msgstr ""
-
-#: ../../mod/contacts.php:375
-msgid "Currently archived"
-msgstr ""
-
-#: ../../mod/contacts.php:376
-msgid ""
-"Replies/likes to your public posts <strong>may</strong> still be visible"
-msgstr ""
-
-#: ../../mod/contacts.php:429
-msgid "Suggestions"
-msgstr ""
-
-#: ../../mod/contacts.php:432
-msgid "Suggest potential friends"
-msgstr ""
-
-#: ../../mod/contacts.php:435 ../../mod/group.php:191
-msgid "All Contacts"
+#: ../../include/account.php:64
+msgid "An invitation is required."
msgstr ""
-#: ../../mod/contacts.php:438
-msgid "Show all contacts"
+#: ../../include/account.php:68
+msgid "Invitation could not be verified."
msgstr ""
-#: ../../mod/contacts.php:441
-msgid "Unblocked"
+#: ../../include/account.php:118
+msgid "Please enter the required information."
msgstr ""
-#: ../../mod/contacts.php:444
-msgid "Only show unblocked contacts"
+#: ../../include/account.php:186
+msgid "Failed to store account information."
msgstr ""
-#: ../../mod/contacts.php:448
-msgid "Blocked"
+#: ../../include/account.php:272
+#, php-format
+msgid "Registration request at %s"
msgstr ""
-#: ../../mod/contacts.php:451
-msgid "Only show blocked contacts"
+#: ../../include/account.php:274 ../../include/account.php:301
+#: ../../include/account.php:358
+msgid "Administrator"
msgstr ""
-#: ../../mod/contacts.php:455
-msgid "Ignored"
+#: ../../include/account.php:296
+msgid "your registration password"
msgstr ""
-#: ../../mod/contacts.php:458
-msgid "Only show ignored contacts"
+#: ../../include/account.php:299 ../../include/account.php:356
+#, php-format
+msgid "Registration details for %s"
msgstr ""
-#: ../../mod/contacts.php:462
-msgid "Archived"
+#: ../../include/account.php:365
+msgid "Account approved."
msgstr ""
-#: ../../mod/contacts.php:465
-msgid "Only show archived contacts"
+#: ../../include/account.php:399
+#, php-format
+msgid "Registration revoked for %s"
msgstr ""
-#: ../../mod/contacts.php:469
-msgid "Hidden"
+#: ../../include/bbcode.php:94 ../../include/bbcode.php:423
+#: ../../include/bbcode.php:426
+msgid "Image/photo"
msgstr ""
-#: ../../mod/contacts.php:472
-msgid "Only show hidden contacts"
+#: ../../include/bbcode.php:141
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
msgstr ""
-#: ../../mod/contacts.php:520
-msgid "Mutual Friendship"
+#: ../../include/bbcode.php:143
+msgid "post"
msgstr ""
-#: ../../mod/contacts.php:524
-msgid "is a fan of yours"
+#: ../../include/bbcode.php:383 ../../include/bbcode.php:403
+msgid "$1 wrote:"
msgstr ""
-#: ../../mod/contacts.php:528
-msgid "you are a fan of"
+#: ../../include/bbcode.php:430 ../../include/bbcode.php:431
+msgid "Encrypted content"
msgstr ""
-#: ../../mod/contacts.php:545 ../../mod/nogroup.php:41
-msgid "Edit contact"
+#: ../../include/text.php:309
+msgid "prev"
msgstr ""
-#: ../../mod/contacts.php:566 ../../view/theme/diabook/theme.php:129
-#: ../../include/nav.php:139
-msgid "Contacts"
+#: ../../include/text.php:311
+msgid "first"
msgstr ""
-#: ../../mod/contacts.php:570
-msgid "Search your contacts"
+#: ../../include/text.php:340
+msgid "last"
msgstr ""
-#: ../../mod/contacts.php:571 ../../mod/directory.php:57
-msgid "Finding: "
+#: ../../include/text.php:343
+msgid "next"
msgstr ""
-#: ../../mod/contacts.php:572 ../../mod/directory.php:59
-#: ../../include/contact_widgets.php:33
-msgid "Find"
+#: ../../include/text.php:355
+msgid "older"
msgstr ""
-#: ../../mod/lostpass.php:16
-msgid "No valid account found."
+#: ../../include/text.php:357
+msgid "newer"
msgstr ""
-#: ../../mod/lostpass.php:32
-msgid "Password reset request issued. Check your email."
+#: ../../include/text.php:648
+msgid "No connections"
msgstr ""
-#: ../../mod/lostpass.php:43
+#: ../../include/text.php:659
#, php-format
-msgid "Password reset requested at %s"
-msgstr ""
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../mod/lostpass.php:45 ../../mod/lostpass.php:107
-#: ../../mod/register.php:90 ../../mod/register.php:144
-#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752
-#: ../../addon/facebook/facebook.php:702
-#: ../../addon/facebook/facebook.php:1192
-#: ../../addon/public_server/public_server.php:62
-#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2892
-#: ../../boot.php:766
-msgid "Administrator"
+#: ../../include/text.php:671
+msgid "View Connections"
msgstr ""
-#: ../../mod/lostpass.php:65
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
+#: ../../include/text.php:732 ../../mod/filer.php:36
+msgid "Save"
msgstr ""
-#: ../../mod/lostpass.php:83 ../../boot.php:898
-msgid "Password Reset"
+#: ../../include/text.php:770
+msgid "poke"
msgstr ""
-#: ../../mod/lostpass.php:84
-msgid "Your password has been reset as requested."
+#: ../../include/text.php:770 ../../include/conversation.php:236
+msgid "poked"
msgstr ""
-#: ../../mod/lostpass.php:85
-msgid "Your new password is"
+#: ../../include/text.php:771
+msgid "ping"
msgstr ""
-#: ../../mod/lostpass.php:86
-msgid "Save or copy your new password - and then"
+#: ../../include/text.php:771
+msgid "pinged"
msgstr ""
-#: ../../mod/lostpass.php:87
-msgid "click here to login"
+#: ../../include/text.php:772
+msgid "prod"
msgstr ""
-#: ../../mod/lostpass.php:88
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
+#: ../../include/text.php:772
+msgid "prodded"
msgstr ""
-#: ../../mod/lostpass.php:119
-msgid "Forgot your Password?"
+#: ../../include/text.php:773
+msgid "slap"
msgstr ""
-#: ../../mod/lostpass.php:120
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
+#: ../../include/text.php:773
+msgid "slapped"
msgstr ""
-#: ../../mod/lostpass.php:121
-msgid "Nickname or Email: "
+#: ../../include/text.php:774
+msgid "finger"
msgstr ""
-#: ../../mod/lostpass.php:122
-msgid "Reset"
+#: ../../include/text.php:774
+msgid "fingered"
msgstr ""
-#: ../../mod/settings.php:50 ../../include/nav.php:137
-msgid "Account settings"
+#: ../../include/text.php:775
+msgid "rebuff"
msgstr ""
-#: ../../mod/settings.php:55
-msgid "Display settings"
+#: ../../include/text.php:775
+msgid "rebuffed"
msgstr ""
-#: ../../mod/settings.php:61
-msgid "Connector settings"
+#: ../../include/text.php:787
+msgid "happy"
msgstr ""
-#: ../../mod/settings.php:66
-msgid "Plugin settings"
+#: ../../include/text.php:788
+msgid "sad"
msgstr ""
-#: ../../mod/settings.php:71
-msgid "Connected apps"
+#: ../../include/text.php:789
+msgid "mellow"
msgstr ""
-#: ../../mod/settings.php:76
-msgid "Export personal data"
+#: ../../include/text.php:790
+msgid "tired"
msgstr ""
-#: ../../mod/settings.php:81
-msgid "Remove account"
+#: ../../include/text.php:791
+msgid "perky"
msgstr ""
-#: ../../mod/settings.php:89 ../../mod/admin.php:753 ../../mod/admin.php:958
-#: ../../addon/dav/layout.fnk.php:116 ../../addon/mathjax/mathjax.php:36
-#: ../../view/theme/diabook/theme.php:643
-#: ../../view/theme/diabook/theme.php:773 ../../include/nav.php:137
-msgid "Settings"
+#: ../../include/text.php:792
+msgid "angry"
msgstr ""
-#: ../../mod/settings.php:133
-msgid "Missing some important data!"
+#: ../../include/text.php:793
+msgid "stupified"
msgstr ""
-#: ../../mod/settings.php:136 ../../mod/settings.php:581
-msgid "Update"
+#: ../../include/text.php:794
+msgid "puzzled"
msgstr ""
-#: ../../mod/settings.php:241
-msgid "Failed to connect with email account using the settings provided."
+#: ../../include/text.php:795
+msgid "interested"
msgstr ""
-#: ../../mod/settings.php:246
-msgid "Email settings updated."
+#: ../../include/text.php:796
+msgid "bitter"
msgstr ""
-#: ../../mod/settings.php:305
-msgid "Passwords do not match. Password unchanged."
+#: ../../include/text.php:797
+msgid "cheerful"
msgstr ""
-#: ../../mod/settings.php:310
-msgid "Empty passwords are not allowed. Password unchanged."
+#: ../../include/text.php:798
+msgid "alive"
msgstr ""
-#: ../../mod/settings.php:321
-msgid "Password changed."
+#: ../../include/text.php:799
+msgid "annoyed"
msgstr ""
-#: ../../mod/settings.php:323
-msgid "Password update failed. Please try again."
+#: ../../include/text.php:800
+msgid "anxious"
msgstr ""
-#: ../../mod/settings.php:386
-msgid " Please use a shorter name."
+#: ../../include/text.php:801
+msgid "cranky"
msgstr ""
-#: ../../mod/settings.php:388
-msgid " Name too short."
+#: ../../include/text.php:802
+msgid "disturbed"
msgstr ""
-#: ../../mod/settings.php:394
-msgid " Not valid email."
+#: ../../include/text.php:803
+msgid "frustrated"
msgstr ""
-#: ../../mod/settings.php:396
-msgid " Cannot change to that email."
+#: ../../include/text.php:804
+msgid "motivated"
msgstr ""
-#: ../../mod/settings.php:450
-msgid "Private forum has no privacy permissions. Using default privacy group."
+#: ../../include/text.php:805
+msgid "relaxed"
msgstr ""
-#: ../../mod/settings.php:454
-msgid "Private forum has no privacy permissions and no default privacy group."
+#: ../../include/text.php:806
+msgid "surprised"
msgstr ""
-#: ../../mod/settings.php:484 ../../addon/facebook/facebook.php:495
-#: ../../addon/impressum/impressum.php:77
-#: ../../addon/openstreetmap/openstreetmap.php:80
-#: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105
-#: ../../addon/twitter/twitter.php:382
-msgid "Settings updated."
+#: ../../include/text.php:968
+msgid "Monday"
msgstr ""
-#: ../../mod/settings.php:554 ../../mod/settings.php:580
-#: ../../mod/settings.php:616
-msgid "Add application"
+#: ../../include/text.php:968
+msgid "Tuesday"
msgstr ""
-#: ../../mod/settings.php:558 ../../mod/settings.php:584
-#: ../../addon/statusnet/statusnet.php:561
-msgid "Consumer Key"
+#: ../../include/text.php:968
+msgid "Wednesday"
msgstr ""
-#: ../../mod/settings.php:559 ../../mod/settings.php:585
-#: ../../addon/statusnet/statusnet.php:560
-msgid "Consumer Secret"
+#: ../../include/text.php:968
+msgid "Thursday"
msgstr ""
-#: ../../mod/settings.php:560 ../../mod/settings.php:586
-msgid "Redirect"
+#: ../../include/text.php:968
+msgid "Friday"
msgstr ""
-#: ../../mod/settings.php:561 ../../mod/settings.php:587
-msgid "Icon url"
+#: ../../include/text.php:968
+msgid "Saturday"
msgstr ""
-#: ../../mod/settings.php:572
-msgid "You can't edit this application."
+#: ../../include/text.php:968
+msgid "Sunday"
msgstr ""
-#: ../../mod/settings.php:615
-msgid "Connected Apps"
+#: ../../include/text.php:972
+msgid "January"
msgstr ""
-#: ../../mod/settings.php:619
-msgid "Client key starts with"
+#: ../../include/text.php:972
+msgid "February"
msgstr ""
-#: ../../mod/settings.php:620
-msgid "No name"
+#: ../../include/text.php:972
+msgid "March"
msgstr ""
-#: ../../mod/settings.php:621
-msgid "Remove authorization"
+#: ../../include/text.php:972
+msgid "April"
msgstr ""
-#: ../../mod/settings.php:632
-msgid "No Plugin settings configured"
+#: ../../include/text.php:972
+msgid "May"
msgstr ""
-#: ../../mod/settings.php:640 ../../addon/widgets/widgets.php:123
-msgid "Plugin Settings"
+#: ../../include/text.php:972
+msgid "June"
msgstr ""
-#: ../../mod/settings.php:652 ../../mod/settings.php:653
-#, php-format
-msgid "Built-in support for %s connectivity is %s"
+#: ../../include/text.php:972
+msgid "July"
msgstr ""
-#: ../../mod/settings.php:652 ../../mod/settings.php:653
-msgid "enabled"
+#: ../../include/text.php:972
+msgid "August"
msgstr ""
-#: ../../mod/settings.php:652 ../../mod/settings.php:653
-msgid "disabled"
+#: ../../include/text.php:972
+msgid "September"
msgstr ""
-#: ../../mod/settings.php:653
-msgid "StatusNet"
+#: ../../include/text.php:972
+msgid "October"
msgstr ""
-#: ../../mod/settings.php:685
-msgid "Email access is disabled on this site."
+#: ../../include/text.php:972
+msgid "November"
msgstr ""
-#: ../../mod/settings.php:691
-msgid "Connector Settings"
+#: ../../include/text.php:972
+msgid "December"
msgstr ""
-#: ../../mod/settings.php:696
-msgid "Email/Mailbox Setup"
+#: ../../include/text.php:1057 ../../mod/message.php:400
+msgid "unknown.???"
msgstr ""
-#: ../../mod/settings.php:697
-msgid ""
-"If you wish to communicate with email contacts using this service "
-"(optional), please specify how to connect to your mailbox."
+#: ../../include/text.php:1058 ../../mod/message.php:401
+msgid "bytes"
msgstr ""
-#: ../../mod/settings.php:698
-msgid "Last successful email check:"
+#: ../../include/text.php:1094 ../../include/text.php:1109
+#: ../../include/conversation.php:820
+msgid "remove"
msgstr ""
-#: ../../mod/settings.php:700
-msgid "IMAP server name:"
+#: ../../include/text.php:1094 ../../include/text.php:1109
+msgid "[remove]"
msgstr ""
-#: ../../mod/settings.php:701
-msgid "IMAP port:"
+#: ../../include/text.php:1097 ../../include/conversation.php:667
+msgid "Categories:"
msgstr ""
-#: ../../mod/settings.php:702
-msgid "Security:"
+#: ../../include/text.php:1112 ../../include/conversation.php:668
+msgid "Filed under:"
msgstr ""
-#: ../../mod/settings.php:702 ../../mod/settings.php:707
-msgid "None"
+#: ../../include/text.php:1128 ../../include/text.php:1140
+msgid "Click to open/close"
msgstr ""
-#: ../../mod/settings.php:703
-msgid "Email login name:"
+#: ../../include/text.php:1311 ../../mod/events.php:326
+msgid "link to source"
msgstr ""
-#: ../../mod/settings.php:704
-msgid "Email password:"
+#: ../../include/text.php:1330
+msgid "Select a page layout: "
msgstr ""
-#: ../../mod/settings.php:705
-msgid "Reply-to address:"
+#: ../../include/text.php:1333 ../../include/text.php:1398
+msgid "default"
msgstr ""
-#: ../../mod/settings.php:706
-msgid "Send public posts to all email contacts:"
+#: ../../include/text.php:1369
+msgid "Page content type: "
msgstr ""
-#: ../../mod/settings.php:707
-msgid "Action after import:"
+#: ../../include/text.php:1410
+msgid "Select an alternate language"
msgstr ""
-#: ../../mod/settings.php:707
-msgid "Mark as seen"
+#: ../../include/text.php:1562 ../../include/conversation.php:117
+#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:45
+msgid "photo"
msgstr ""
-#: ../../mod/settings.php:707
-msgid "Move to folder"
+#: ../../include/text.php:1565 ../../include/conversation.php:120
+#: ../../mod/tagger.php:49
+msgid "event"
msgstr ""
-#: ../../mod/settings.php:708
-msgid "Move to folder:"
+#: ../../include/text.php:1568 ../../include/conversation.php:145
+#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:53
+msgid "status"
msgstr ""
-#: ../../mod/settings.php:768
-msgid "Display Settings"
+#: ../../include/text.php:1570 ../../include/conversation.php:147
+#: ../../mod/tagger.php:55
+msgid "comment"
msgstr ""
-#: ../../mod/settings.php:774
-msgid "Display Theme:"
+#: ../../include/text.php:1575
+msgid "activity"
msgstr ""
-#: ../../mod/settings.php:775
-msgid "Update browser every xx seconds"
+#: ../../include/text.php:1836
+msgid "Design"
msgstr ""
-#: ../../mod/settings.php:775
-msgid "Minimum of 10 seconds, no maximum"
+#: ../../include/text.php:1837
+msgid "Blocks"
msgstr ""
-#: ../../mod/settings.php:776
-msgid "Number of items to display on the network page:"
+#: ../../include/text.php:1838
+msgid "Menus"
msgstr ""
-#: ../../mod/settings.php:776
-msgid "Maximum of 100 items"
+#: ../../include/text.php:1839
+msgid "Layouts"
msgstr ""
-#: ../../mod/settings.php:777
-msgid "Don't show emoticons"
+#: ../../include/text.php:1840
+msgid "Pages"
msgstr ""
-#: ../../mod/settings.php:848
-msgid "Normal Account Page"
+#: ../../include/page_widgets.php:6
+msgid "New Page"
msgstr ""
-#: ../../mod/settings.php:849
-msgid "This account is a normal personal profile"
+#: ../../include/auth.php:66
+msgid "Logged out."
msgstr ""
-#: ../../mod/settings.php:852
-msgid "Soapbox Page"
+#: ../../include/auth.php:178
+msgid "Failed authentication"
msgstr ""
-#: ../../mod/settings.php:853
-msgid "Automatically approve all connection/friend requests as read-only fans"
+#: ../../include/auth.php:187
+msgid "Login failed."
msgstr ""
-#: ../../mod/settings.php:856
-msgid "Community Forum/Celebrity Account"
+#: ../../include/contact_widgets.php:14
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
msgstr ""
-#: ../../mod/settings.php:857
-msgid "Automatically approve all connection/friend requests as read-write fans"
+#: ../../include/contact_widgets.php:20
+msgid "Add New Connection"
msgstr ""
-#: ../../mod/settings.php:860
-msgid "Automatic Friend Page"
+#: ../../include/contact_widgets.php:21
+msgid "Enter the channel address"
msgstr ""
-#: ../../mod/settings.php:861
-msgid "Automatically approve all connection/friend requests as friends"
+#: ../../include/contact_widgets.php:22
+msgid "Example: bob@example.com, http://example.com/barbara"
msgstr ""
-#: ../../mod/settings.php:864
-msgid "Private Forum [Experimental]"
-msgstr ""
+#: ../../include/contact_widgets.php:38
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../mod/settings.php:865
-msgid "Private forum - approved members only"
+#: ../../include/contact_widgets.php:44
+msgid "Find Channels"
msgstr ""
-#: ../../mod/settings.php:877
-msgid "OpenID:"
+#: ../../include/contact_widgets.php:45
+msgid "Enter name or interest"
msgstr ""
-#: ../../mod/settings.php:877
-msgid "(Optional) Allow this OpenID to login to this account."
+#: ../../include/contact_widgets.php:46
+msgid "Connect/Follow"
msgstr ""
-#: ../../mod/settings.php:887
-msgid "Publish your default profile in your local site directory?"
+#: ../../include/contact_widgets.php:47
+msgid "Examples: Robert Morgenstein, Fishing"
msgstr ""
-#: ../../mod/settings.php:893
-msgid "Publish your default profile in the global social directory?"
+#: ../../include/contact_widgets.php:48 ../../mod/directory.php:182
+#: ../../mod/directory.php:187 ../../mod/connections.php:666
+msgid "Find"
msgstr ""
-#: ../../mod/settings.php:901
-msgid "Hide your contact/friend list from viewers of your default profile?"
+#: ../../include/contact_widgets.php:49 ../../mod/suggest.php:64
+msgid "Channel Suggestions"
msgstr ""
-#: ../../mod/settings.php:905
-msgid "Hide your profile details from unknown viewers?"
+#: ../../include/contact_widgets.php:50
+msgid "Similar Interests"
msgstr ""
-#: ../../mod/settings.php:910
-msgid "Allow friends to post to your profile page?"
+#: ../../include/contact_widgets.php:51
+msgid "Random Profile"
msgstr ""
-#: ../../mod/settings.php:916
-msgid "Allow friends to tag your posts?"
+#: ../../include/contact_widgets.php:52
+msgid "Invite Friends"
msgstr ""
-#: ../../mod/settings.php:922
-msgid "Allow us to suggest you as a potential friend to new members?"
+#: ../../include/contact_widgets.php:79 ../../include/contact_widgets.php:113
+msgid "Everything"
msgstr ""
-#: ../../mod/settings.php:928
-msgid "Permit unknown people to send you private mail?"
+#: ../../include/contact_widgets.php:110
+msgid "Categories"
msgstr ""
-#: ../../mod/settings.php:936
-msgid "Profile is <strong>not published</strong>."
-msgstr ""
+#: ../../include/contact_widgets.php:143
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../mod/settings.php:939 ../../mod/profile_photo.php:213
-msgid "or"
+#: ../../include/follow.php:21
+msgid "Channel is blocked on this site."
msgstr ""
-#: ../../mod/settings.php:944
-msgid "Your Identity Address is"
+#: ../../include/follow.php:26
+msgid "Channel location missing."
msgstr ""
-#: ../../mod/settings.php:955
-msgid "Automatically expire posts after this many days:"
+#: ../../include/follow.php:43
+msgid "Channel discovery failed. Website may be down or misconfigured."
msgstr ""
-#: ../../mod/settings.php:955
-msgid "If empty, posts will not expire. Expired posts will be deleted"
+#: ../../include/follow.php:51
+msgid "Response from remote channel was not understood."
msgstr ""
-#: ../../mod/settings.php:956
-msgid "Advanced expiration settings"
+#: ../../include/follow.php:58
+msgid "Response from remote channel was incomplete."
msgstr ""
-#: ../../mod/settings.php:957
-msgid "Advanced Expiration"
+#: ../../include/follow.php:129
+msgid "local account not found."
msgstr ""
-#: ../../mod/settings.php:958
-msgid "Expire posts:"
+#: ../../include/follow.php:138
+msgid "Cannot connect to yourself."
msgstr ""
-#: ../../mod/settings.php:959
-msgid "Expire personal notes:"
+#: ../../include/permissions.php:13
+msgid "Can view my \"public\" stream and posts"
msgstr ""
-#: ../../mod/settings.php:960
-msgid "Expire starred posts:"
+#: ../../include/permissions.php:14
+msgid "Can view my \"public\" channel profile"
msgstr ""
-#: ../../mod/settings.php:961
-msgid "Expire photos:"
+#: ../../include/permissions.php:15
+msgid "Can view my \"public\" photo albums"
msgstr ""
-#: ../../mod/settings.php:962
-msgid "Only expire posts by others:"
+#: ../../include/permissions.php:16
+msgid "Can view my \"public\" address book"
msgstr ""
-#: ../../mod/settings.php:969
-msgid "Account Settings"
+#: ../../include/permissions.php:17
+msgid "Can view my \"public\" file storage"
msgstr ""
-#: ../../mod/settings.php:977
-msgid "Password Settings"
+#: ../../include/permissions.php:18
+msgid "Can view my \"public\" pages"
msgstr ""
-#: ../../mod/settings.php:978
-msgid "New Password:"
+#: ../../include/permissions.php:21
+msgid "Can send me their channel stream and posts"
msgstr ""
-#: ../../mod/settings.php:979
-msgid "Confirm:"
+#: ../../include/permissions.php:22
+msgid "Can post on my channel page (\"wall\")"
msgstr ""
-#: ../../mod/settings.php:979
-msgid "Leave password fields blank unless changing"
+#: ../../include/permissions.php:23
+msgid "Can comment on my posts"
msgstr ""
-#: ../../mod/settings.php:983
-msgid "Basic Settings"
+#: ../../include/permissions.php:24
+msgid "Can send me private mail messages"
msgstr ""
-#: ../../mod/settings.php:984 ../../include/profile_advanced.php:15
-msgid "Full Name:"
+#: ../../include/permissions.php:25
+msgid "Can post photos to my photo albums"
msgstr ""
-#: ../../mod/settings.php:985
-msgid "Email Address:"
+#: ../../include/permissions.php:26
+msgid "Can forward to all my channel contacts via post @mentions"
msgstr ""
-#: ../../mod/settings.php:986
-msgid "Your Timezone:"
+#: ../../include/permissions.php:26
+msgid "Advanced - useful for creating group forum channels"
msgstr ""
-#: ../../mod/settings.php:987
-msgid "Default Post Location:"
+#: ../../include/permissions.php:27
+msgid "Can chat with me (when available)"
msgstr ""
-#: ../../mod/settings.php:988
-msgid "Use Browser Location:"
+#: ../../include/permissions.php:27
+msgid "Requires compatible chat plugin"
msgstr ""
-#: ../../mod/settings.php:991
-msgid "Security and Privacy Settings"
+#: ../../include/permissions.php:28
+msgid "Can write to my \"public\" file storage"
msgstr ""
-#: ../../mod/settings.php:993
-msgid "Maximum Friend Requests/Day:"
+#: ../../include/permissions.php:29
+msgid "Can edit my \"public\" pages"
msgstr ""
-#: ../../mod/settings.php:993 ../../mod/settings.php:1012
-msgid "(to prevent spam abuse)"
+#: ../../include/permissions.php:31
+msgid "Can administer my channel resources"
msgstr ""
-#: ../../mod/settings.php:994
-msgid "Default Post Permissions"
+#: ../../include/permissions.php:31
+msgid "Extremely advanced. Leave this alone unless you know what you are doing"
msgstr ""
-#: ../../mod/settings.php:995
-msgid "(click to open/close)"
+#: ../../include/taxonomy.php:166
+msgid "Tags"
msgstr ""
-#: ../../mod/settings.php:1012
-msgid "Maximum private messages per day from unknown people:"
+#: ../../include/taxonomy.php:187
+msgid "have"
msgstr ""
-#: ../../mod/settings.php:1015
-msgid "Notification Settings"
+#: ../../include/taxonomy.php:187
+msgid "has"
msgstr ""
-#: ../../mod/settings.php:1016
-msgid "By default post a status message when:"
+#: ../../include/taxonomy.php:188
+msgid "want"
msgstr ""
-#: ../../mod/settings.php:1017
-msgid "accepting a friend request"
+#: ../../include/taxonomy.php:188
+msgid "wants"
msgstr ""
-#: ../../mod/settings.php:1018
-msgid "joining a forum/community"
-msgstr ""
-
-#: ../../mod/settings.php:1019
-msgid "making an <em>interesting</em> profile change"
-msgstr ""
-
-#: ../../mod/settings.php:1020
-msgid "Send a notification email when:"
-msgstr ""
-
-#: ../../mod/settings.php:1021
-msgid "You receive an introduction"
+#: ../../include/taxonomy.php:189 ../../include/ItemObject.php:165
+msgid "like"
msgstr ""
-#: ../../mod/settings.php:1022
-msgid "Your introductions are confirmed"
+#: ../../include/taxonomy.php:189
+msgid "likes"
msgstr ""
-#: ../../mod/settings.php:1023
-msgid "Someone writes on your profile wall"
+#: ../../include/taxonomy.php:190 ../../include/ItemObject.php:166
+msgid "dislike"
msgstr ""
-#: ../../mod/settings.php:1024
-msgid "Someone writes a followup comment"
+#: ../../include/taxonomy.php:190
+msgid "dislikes"
msgstr ""
-#: ../../mod/settings.php:1025
-msgid "You receive a private message"
+#: ../../include/plugin.php:440 ../../include/plugin.php:442
+msgid "Click here to upgrade."
msgstr ""
-#: ../../mod/settings.php:1026
-msgid "You receive a friend suggestion"
+#: ../../include/plugin.php:448
+msgid "This action exceeds the limits set by your subscription plan."
msgstr ""
-#: ../../mod/settings.php:1027
-msgid "You are tagged in a post"
+#: ../../include/plugin.php:453
+msgid "This action is not available under your subscription plan."
msgstr ""
-#: ../../mod/settings.php:1030
-msgid "Advanced Account/Page Type Settings"
+#: ../../include/ItemObject.php:87 ../../mod/photos.php:945
+msgid "Private Message"
msgstr ""
-#: ../../mod/settings.php:1031
-msgid "Change the behaviour of this account for special situations"
+#: ../../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 ""
-#: ../../mod/manage.php:90
-msgid "Manage Identities and/or Pages"
+#: ../../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 ""
-#: ../../mod/manage.php:93
-msgid ""
-"Toggle between different identities or community/group pages which share "
-"your account details or which you have been granted \"manage\" permissions"
+#: ../../include/ItemObject.php:110 ../../include/conversation.php:630
+msgid "Select"
msgstr ""
-#: ../../mod/manage.php:95
-msgid "Select an identity to manage: "
+#: ../../include/ItemObject.php:114
+msgid "save to folder"
msgstr ""
-#: ../../mod/network.php:97
-msgid "Search Results For:"
+#: ../../include/ItemObject.php:142
+msgid "add star"
msgstr ""
-#: ../../mod/network.php:137 ../../mod/search.php:16
-msgid "Remove term"
+#: ../../include/ItemObject.php:143
+msgid "remove star"
msgstr ""
-#: ../../mod/network.php:146 ../../mod/search.php:13
-msgid "Saved Searches"
+#: ../../include/ItemObject.php:144
+msgid "toggle star status"
msgstr ""
-#: ../../mod/network.php:147 ../../include/group.php:244
-msgid "add"
+#: ../../include/ItemObject.php:148
+msgid "starred"
msgstr ""
-#: ../../mod/network.php:287
-msgid "Commented Order"
+#: ../../include/ItemObject.php:159
+msgid "add tag"
msgstr ""
-#: ../../mod/network.php:290
-msgid "Sort by Comment Date"
+#: ../../include/ItemObject.php:165 ../../mod/photos.php:1055
+msgid "I like this (toggle)"
msgstr ""
-#: ../../mod/network.php:293
-msgid "Posted Order"
+#: ../../include/ItemObject.php:166 ../../mod/photos.php:1056
+msgid "I don't like this (toggle)"
msgstr ""
-#: ../../mod/network.php:296
-msgid "Sort by Post Date"
+#: ../../include/ItemObject.php:168
+msgid "Share this"
msgstr ""
-#: ../../mod/network.php:303
-msgid "Posts that mention or involve you"
+#: ../../include/ItemObject.php:168
+msgid "share"
msgstr ""
-#: ../../mod/network.php:306
-msgid "New"
+#: ../../include/ItemObject.php:192 ../../include/ItemObject.php:193
+#, php-format
+msgid "View %s's profile - %s"
msgstr ""
-#: ../../mod/network.php:309
-msgid "Activity Stream - by date"
+#: ../../include/ItemObject.php:194
+msgid "to"
msgstr ""
-#: ../../mod/network.php:312
-msgid "Starred"
+#: ../../include/ItemObject.php:195
+msgid "Wall-to-Wall"
msgstr ""
-#: ../../mod/network.php:315
-msgid "Favourite Posts"
+#: ../../include/ItemObject.php:196
+msgid "via Wall-To-Wall:"
msgstr ""
-#: ../../mod/network.php:318
-msgid "Shared Links"
+#: ../../include/ItemObject.php:206 ../../include/conversation.php:677
+#, php-format
+msgid " from %s"
msgstr ""
-#: ../../mod/network.php:321
-msgid "Interesting Links"
+#: ../../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 ""
-#: ../../mod/network.php:388
+#: ../../include/ItemObject.php:254
#, php-format
-msgid "Warning: This group contains %s member from an insecure network."
-msgid_plural ""
-"Warning: This group contains %s members from an insecure network."
+msgid "%d comment"
+msgid_plural "%d comments"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/network.php:391
-msgid "Private messages to this group are at risk of public disclosure."
-msgstr ""
-
-#: ../../mod/network.php:461
-msgid "Contact: "
-msgstr ""
-
-#: ../../mod/network.php:463
-msgid "Private messages to this person are at risk of public disclosure."
-msgstr ""
-
-#: ../../mod/network.php:468
-msgid "Invalid contact."
+#: ../../include/ItemObject.php:502 ../../mod/photos.php:1073
+#: ../../mod/photos.php:1157
+msgid "This is you"
msgstr ""
-#: ../../mod/notes.php:44 ../../boot.php:1601
-msgid "Personal Notes"
+#: ../../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
+msgid "Submit"
msgstr ""
-#: ../../mod/notes.php:63 ../../mod/filer.php:30
-#: ../../addon/facebook/facebook.php:770
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:187
-#: ../../addon/dav/layout.fnk.php:384 ../../include/text.php:652
-msgid "Save"
+#: ../../include/ItemObject.php:506
+msgid "Bold"
msgstr ""
-#: ../../mod/wallmessage.php:42 ../../mod/wallmessage.php:112
-#, php-format
-msgid "Number of daily wall messages for %s exceeded. Message failed."
+#: ../../include/ItemObject.php:507
+msgid "Italic"
msgstr ""
-#: ../../mod/wallmessage.php:56 ../../mod/message.php:66
-msgid "No recipient selected."
+#: ../../include/ItemObject.php:508
+msgid "Underline"
msgstr ""
-#: ../../mod/wallmessage.php:59
-msgid "Unable to check your home location."
+#: ../../include/ItemObject.php:509
+msgid "Quote"
msgstr ""
-#: ../../mod/wallmessage.php:62 ../../mod/message.php:73
-msgid "Message could not be sent."
+#: ../../include/ItemObject.php:510
+msgid "Code"
msgstr ""
-#: ../../mod/wallmessage.php:65 ../../mod/message.php:76
-msgid "Message collection failure."
+#: ../../include/ItemObject.php:511
+msgid "Image"
msgstr ""
-#: ../../mod/wallmessage.php:68 ../../mod/message.php:79
-msgid "Message sent."
+#: ../../include/ItemObject.php:512
+msgid "Link"
msgstr ""
-#: ../../mod/wallmessage.php:86 ../../mod/wallmessage.php:95
-msgid "No recipient."
+#: ../../include/ItemObject.php:513
+msgid "Video"
msgstr ""
-#: ../../mod/wallmessage.php:124 ../../mod/message.php:172
-#: ../../include/conversation.php:947
-msgid "Please enter a link URL:"
+#: ../../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 ""
-#: ../../mod/wallmessage.php:131 ../../mod/message.php:200
-msgid "Send Private Message"
+#: ../../include/conversation.php:123
+msgid "channel"
msgstr ""
-#: ../../mod/wallmessage.php:132
+#: ../../include/conversation.php:161 ../../mod/like.php:134
#, php-format
-msgid ""
-"If you wish for %s to respond, please check that the privacy settings on "
-"your site allow private mail from unknown senders."
-msgstr ""
-
-#: ../../mod/wallmessage.php:133 ../../mod/message.php:201
-#: ../../mod/message.php:401
-msgid "To:"
-msgstr ""
-
-#: ../../mod/wallmessage.php:134 ../../mod/message.php:206
-#: ../../mod/message.php:403
-msgid "Subject:"
-msgstr ""
-
-#: ../../mod/wallmessage.php:140 ../../mod/message.php:210
-#: ../../mod/message.php:406 ../../mod/invite.php:113
-msgid "Your message:"
+msgid "%1$s likes %2$s's %3$s"
msgstr ""
-#: ../../mod/newmember.php:6
-msgid "Welcome to Friendica"
+#: ../../include/conversation.php:164 ../../mod/like.php:136
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
-#: ../../mod/newmember.php:8
-msgid "New Member Checklist"
+#: ../../include/conversation.php:201
+#, php-format
+msgid "%1$s is now connected with %2$s"
msgstr ""
-#: ../../mod/newmember.php:12
-msgid ""
-"We would like to offer some tips and links to help make your experience "
-"enjoyable. Click any item to visit the relevant page. A link to this page "
-"will be visible from your home page for two weeks after your initial "
-"registration and then will quietly disappear."
+#: ../../include/conversation.php:232
+#, php-format
+msgid "%1$s poked %2$s"
msgstr ""
-#: ../../mod/newmember.php:16
-msgid ""
-"On your <em>Quick Start</em> page - find a brief introduction to your "
-"profile and network tabs, connect to Facebook, make some new connections, "
-"and find some groups to join."
+#: ../../include/conversation.php:254 ../../mod/mood.php:63
+#, php-format
+msgid "%1$s is currently %2$s"
msgstr ""
-#: ../../mod/newmember.php:18
-msgid ""
-"On your <em>Settings</em> page - change your initial password. Also make a "
-"note of your Identity Address. This looks just like an email address - and "
-"will be useful in making friends on the free social web."
+#: ../../include/conversation.php:655
+#, php-format
+msgid "View %s's profile @ %s"
msgstr ""
-#: ../../mod/newmember.php:20
-msgid ""
-"Review the other settings, particularly the privacy settings. An unpublished "
-"directory listing is like having an unlisted phone number. In general, you "
-"should probably publish your listing - unless all of your friends and "
-"potential friends know exactly how to find you."
+#: ../../include/conversation.php:694
+msgid "View in context"
msgstr ""
-#: ../../mod/newmember.php:32 ../../mod/profperm.php:103
-#: ../../view/theme/diabook/theme.php:128 ../../include/profile_advanced.php:7
-#: ../../include/profile_advanced.php:84 ../../include/nav.php:50
-#: ../../boot.php:1642
-msgid "Profile"
+#: ../../include/conversation.php:824
+msgid "Loading..."
msgstr ""
-#: ../../mod/newmember.php:36 ../../mod/profile_photo.php:211
-msgid "Upload Profile Photo"
+#: ../../include/conversation.php:825
+msgid "Delete Selected Items"
msgstr ""
-#: ../../mod/newmember.php:36
-msgid ""
-"Upload a profile photo if you have not done so already. Studies have shown "
-"that people with real photos of themselves are ten times more likely to make "
-"friends than people who do not."
+#: ../../include/conversation.php:913
+msgid "Follow Thread"
msgstr ""
-#: ../../mod/newmember.php:38
-msgid "Edit Your Profile"
+#: ../../include/conversation.php:982
+#, php-format
+msgid "%s likes this."
msgstr ""
-#: ../../mod/newmember.php:38
-msgid ""
-"Edit your <strong>default</strong> profile to your liking. Review the "
-"settings for hiding your list of friends and hiding the profile from unknown "
-"visitors."
+#: ../../include/conversation.php:982
+#, php-format
+msgid "%s doesn't like this."
msgstr ""
-#: ../../mod/newmember.php:40
-msgid "Profile Keywords"
+#: ../../include/conversation.php:986
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
msgstr ""
-#: ../../mod/newmember.php:40
-msgid ""
-"Set some public keywords for your default profile which describe your "
-"interests. We may be able to find other people with similar interests and "
-"suggest friendships."
+#: ../../include/conversation.php:988
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
msgstr ""
-#: ../../mod/newmember.php:44
-msgid "Connecting"
+#: ../../include/conversation.php:994
+msgid "and"
msgstr ""
-#: ../../mod/newmember.php:49 ../../mod/newmember.php:51
-#: ../../addon/facebook/facebook.php:728
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
+#: ../../include/conversation.php:997
+#, php-format
+msgid ", and %d other people"
msgstr ""
-#: ../../mod/newmember.php:49
-msgid ""
-"Authorise the Facebook Connector if you currently have a Facebook account "
-"and we will (optionally) import all your Facebook friends and conversations."
+#: ../../include/conversation.php:998
+#, php-format
+msgid "%s like this."
msgstr ""
-#: ../../mod/newmember.php:51
-msgid ""
-"<em>If</em> this is your own personal server, installing the Facebook addon "
-"may ease your transition to the free social web."
+#: ../../include/conversation.php:998
+#, php-format
+msgid "%s don't like this."
msgstr ""
-#: ../../mod/newmember.php:56
-msgid "Importing Emails"
+#: ../../include/conversation.php:1048
+msgid "Visible to <strong>everybody</strong>"
msgstr ""
-#: ../../mod/newmember.php:56
-msgid ""
-"Enter your email access information on your Connector Settings page if you "
-"wish to import and interact with friends or mailing lists from your email "
-"INBOX"
+#: ../../include/conversation.php:1049 ../../mod/message.php:253
+#: ../../mod/message.php:365
+msgid "Please enter a link URL:"
msgstr ""
-#: ../../mod/newmember.php:58
-msgid "Go to Your Contacts Page"
+#: ../../include/conversation.php:1050
+msgid "Please enter a video link/URL:"
msgstr ""
-#: ../../mod/newmember.php:58
-msgid ""
-"Your Contacts page is your gateway to managing friendships and connecting "
-"with friends on other networks. Typically you enter their address or site "
-"URL in the <em>Add New Contact</em> dialog."
+#: ../../include/conversation.php:1051
+msgid "Please enter an audio link/URL:"
msgstr ""
-#: ../../mod/newmember.php:60
-msgid "Go to Your Site's Directory"
+#: ../../include/conversation.php:1052
+msgid "Tag term:"
msgstr ""
-#: ../../mod/newmember.php:60
-msgid ""
-"The Directory page lets you find other people in this network or other "
-"federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on "
-"their profile page. Provide your own Identity Address if requested."
+#: ../../include/conversation.php:1053 ../../mod/filer.php:35
+msgid "Save to Folder:"
msgstr ""
-#: ../../mod/newmember.php:62
-msgid "Finding New People"
+#: ../../include/conversation.php:1054
+msgid "Where are you right now?"
msgstr ""
-#: ../../mod/newmember.php:62
-msgid ""
-"On the side panel of the Contacts page are several tools to find new "
-"friends. We can match people by interest, look up people by name or "
-"interest, and provide suggestions based on network relationships. On a brand "
-"new site, friend suggestions will usually begin to be populated within 24 "
-"hours."
+#: ../../include/conversation.php:1069 ../../mod/photos.php:1057
+msgid "Share"
msgstr ""
-#: ../../mod/newmember.php:66 ../../include/group.php:239
-msgid "Groups"
+#: ../../include/conversation.php:1071
+msgid "Page link title"
msgstr ""
-#: ../../mod/newmember.php:70
-msgid "Group Your Contacts"
+#: ../../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 ""
-#: ../../mod/newmember.php:70
-msgid ""
-"Once you have made some friends, organize them into private conversation "
-"groups from the sidebar of your Contacts page and then you can interact with "
-"each group privately on your Network page."
+#: ../../include/conversation.php:1074
+msgid "upload photo"
msgstr ""
-#: ../../mod/newmember.php:73
-msgid "Why Aren't My Posts Public?"
+#: ../../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 ""
-#: ../../mod/newmember.php:73
-msgid ""
-"Friendica respects your privacy. By default, your posts will only show up to "
-"people you've added as friends. For more information, see the help section "
-"from the link above."
+#: ../../include/conversation.php:1076
+msgid "attach file"
msgstr ""
-#: ../../mod/newmember.php:78
-msgid "Getting Help"
+#: ../../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 ""
-#: ../../mod/newmember.php:82
-msgid "Go to the Help Section"
+#: ../../include/conversation.php:1078
+msgid "web link"
msgstr ""
-#: ../../mod/newmember.php:82
-msgid ""
-"Our <strong>help</strong> pages may be consulted for detail on other program "
-"features and resources."
+#: ../../include/conversation.php:1079
+msgid "Insert video link"
msgstr ""
-#: ../../mod/attach.php:8
-msgid "Item not available."
+#: ../../include/conversation.php:1080
+msgid "video link"
msgstr ""
-#: ../../mod/attach.php:20
-msgid "Item was not found."
+#: ../../include/conversation.php:1081
+msgid "Insert audio link"
msgstr ""
-#: ../../mod/group.php:29
-msgid "Group created."
+#: ../../include/conversation.php:1082
+msgid "audio link"
msgstr ""
-#: ../../mod/group.php:35
-msgid "Could not create group."
+#: ../../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 ""
-#: ../../mod/group.php:47 ../../mod/group.php:137
-msgid "Group not found."
+#: ../../include/conversation.php:1084
+msgid "set location"
msgstr ""
-#: ../../mod/group.php:60
-msgid "Group name changed."
+#: ../../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 ""
-#: ../../mod/group.php:72 ../../mod/profperm.php:19 ../../index.php:308
-msgid "Permission denied"
+#: ../../include/conversation.php:1086
+msgid "clear location"
msgstr ""
-#: ../../mod/group.php:90
-msgid "Create a group of contacts/friends."
+#: ../../include/conversation.php:1088 ../../mod/editlayout.php:122
+#: ../../mod/editwebpage.php:143 ../../mod/editpost.php:115
+#: ../../mod/editblock.php:137
+msgid "Set title"
msgstr ""
-#: ../../mod/group.php:91 ../../mod/group.php:177
-msgid "Group Name: "
+#: ../../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 ""
-#: ../../mod/group.php:110
-msgid "Group removed."
+#: ../../include/conversation.php:1093 ../../mod/editlayout.php:111
+#: ../../mod/editwebpage.php:130 ../../mod/editpost.php:104
+#: ../../mod/editblock.php:125
+msgid "Permission settings"
msgstr ""
-#: ../../mod/group.php:112
-msgid "Unable to remove group."
+#: ../../include/conversation.php:1094
+msgid "permissions"
msgstr ""
-#: ../../mod/group.php:176
-msgid "Group Editor"
+#: ../../include/conversation.php:1102 ../../mod/editlayout.php:119
+#: ../../mod/editwebpage.php:138 ../../mod/editpost.php:112
+#: ../../mod/editblock.php:134
+msgid "Public post"
msgstr ""
-#: ../../mod/group.php:189
-msgid "Members"
+#: ../../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 ""
-#: ../../mod/group.php:221 ../../mod/profperm.php:105
-msgid "Click on a contact to add or remove."
+#: ../../include/items.php:157 ../../mod/like.php:55 ../../mod/group.php:74
+#: ../../mod/profperm.php:28 ../../index.php:339
+msgid "Permission denied"
msgstr ""
-#: ../../mod/profperm.php:25 ../../mod/profperm.php:55
-msgid "Invalid profile identifier."
+#: ../../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 ""
-#: ../../mod/profperm.php:101
-msgid "Profile Visibility Editor"
+#: ../../include/items.php:3480
+msgid "Archives"
msgstr ""
-#: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:128
-#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:84
-#: ../../include/nav.php:50 ../../boot.php:1580
-msgid "Profile"
+#: ../../include/items.php:3641 ../../mod/group.php:44 ../../mod/group.php:146
+msgid "Collection not found."
msgstr ""
-#: ../../mod/profperm.php:114
-msgid "Visible To"
+#: ../../include/items.php:3651
+msgid "Collection has no members."
msgstr ""
-#: ../../mod/profperm.php:130
-msgid "All Contacts (with secure profile access)"
+#: ../../include/items.php:3667
+msgid "Connection not found."
msgstr ""
-#: ../../mod/viewconnections.php:39
-msgid "No contacts."
+#: ../../include/security.php:49
+msgid "Welcome "
msgstr ""
-#: ../../mod/viewconnections.php:76 ../../include/text.php:589
-msgid "View Contacts"
+#: ../../include/security.php:50
+msgid "Please upload a profile photo."
msgstr ""
-#: ../../mod/register.php:88 ../../mod/regmod.php:52
-#, php-format
-msgid "Registration details for %s"
+#: ../../include/security.php:53
+msgid "Welcome back "
msgstr ""
-#: ../../mod/register.php:96
+#: ../../include/security.php:357
msgid ""
-"Registration successful. Please check your email for further instructions."
+"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 ""
-#: ../../mod/register.php:100
-msgid "Failed to send email message. Here is the message that failed."
+#: ../../include/zot.php:423
+msgid "Invalid data packet"
msgstr ""
-#: ../../mod/register.php:105
-msgid "Your registration can not be processed."
+#: ../../include/zot.php:433
+msgid "Unable to verify channel signature"
msgstr ""
-#: ../../mod/register.php:142
+#: ../../include/zot.php:571
#, php-format
-msgid "Registration request at %s"
+msgid "Unable to verify site signature for %s"
msgstr ""
-#: ../../mod/register.php:151
-msgid "Your registration is pending approval by the site owner."
+#: ../../mod/common.php:10
+msgid "No channel."
msgstr ""
-#: ../../mod/register.php:189
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
+#: ../../mod/common.php:47
+msgid "Common connections"
msgstr ""
-#: ../../mod/register.php:215
-msgid ""
-"You may (optionally) fill in this form via OpenID by supplying your OpenID "
-"and clicking 'Register'."
+#: ../../mod/common.php:52
+msgid "No connections in common."
msgstr ""
-#: ../../mod/register.php:216
-msgid ""
-"If you are not familiar with OpenID, please leave that field blank and fill "
-"in the rest of the items."
-msgstr ""
-
-#: ../../mod/register.php:217
-msgid "Your OpenID (optional): "
+#: ../../mod/events.php:66
+msgid "Event title and start time are required."
msgstr ""
-#: ../../mod/register.php:231
-msgid "Include your profile in member directory?"
+#: ../../mod/events.php:281
+msgid "l, F j"
msgstr ""
-#: ../../mod/register.php:251
-msgid "Membership on this site is by invitation only."
+#: ../../mod/events.php:303
+msgid "Edit event"
msgstr ""
-#: ../../mod/register.php:252
-msgid "Your invitation ID: "
+#: ../../mod/events.php:349
+msgid "Create New Event"
msgstr ""
-#: ../../mod/register.php:255 ../../mod/admin.php:423
-msgid "Registration"
+#: ../../mod/events.php:350
+msgid "Previous"
msgstr ""
-#: ../../mod/register.php:263
-msgid "Your Full Name (e.g. Joe Smith): "
+#: ../../mod/events.php:351 ../../mod/setup.php:237
+msgid "Next"
msgstr ""
-#: ../../mod/register.php:264
-msgid "Your Email Address: "
+#: ../../mod/events.php:425
+msgid "hour:minute"
msgstr ""
-#: ../../mod/register.php:265
-msgid ""
-"Choose a profile nickname. This must begin with a text character. Your "
-"profile address on this site will then be '<strong>nickname@$sitename</"
-"strong>'."
+#: ../../mod/events.php:435
+msgid "Event details"
msgstr ""
-#: ../../mod/register.php:266
-msgid "Choose a nickname: "
+#: ../../mod/events.php:436
+#, php-format
+msgid "Format is %s %s. Starting date and Title are required."
msgstr ""
-#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:864
-msgid "Register"
+#: ../../mod/events.php:438
+msgid "Event Starts:"
msgstr ""
-#: ../../mod/dirfind.php:26
-msgid "People Search"
+#: ../../mod/events.php:438 ../../mod/events.php:452
+msgid "Required"
msgstr ""
-#: ../../mod/like.php:144 ../../mod/like.php:301 ../../mod/tagger.php:70
-#: ../../addon/facebook/facebook.php:1586
-#: ../../addon/communityhome/communityhome.php:158
-#: ../../addon/communityhome/communityhome.php:167
-#: ../../view/theme/diabook/theme.php:565
-#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1777
-#: ../../include/conversation.php:48 ../../include/conversation.php:57
-#: ../../include/conversation.php:121 ../../include/conversation.php:130
-msgid "status"
+#: ../../mod/events.php:441
+msgid "Finish date/time is not known or not relevant"
msgstr ""
-#: ../../mod/like.php:161 ../../addon/facebook/facebook.php:1590
-#: ../../addon/communityhome/communityhome.php:172
-#: ../../view/theme/diabook/theme.php:579 ../../include/diaspora.php:1793
-#: ../../include/conversation.php:65
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
+#: ../../mod/events.php:443
+msgid "Event Finishes:"
msgstr ""
-#: ../../mod/like.php:163 ../../include/conversation.php:68
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
+#: ../../mod/events.php:446
+msgid "Adjust for viewer timezone"
msgstr ""
-#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:159
-#: ../../mod/admin.php:702 ../../mod/admin.php:901 ../../mod/display.php:37
-#: ../../mod/display.php:142 ../../include/items.php:3336
-msgid "Item not found."
+#: ../../mod/events.php:448
+msgid "Description:"
msgstr ""
-#: ../../mod/viewsrc.php:7
-msgid "Access denied."
+#: ../../mod/events.php:452
+msgid "Title:"
msgstr ""
-#: ../../mod/fbrowser.php:25 ../../view/theme/diabook/theme.php:130
-#: ../../include/nav.php:51 ../../boot.php:1586
-msgid "Photos"
+#: ../../mod/events.php:454
+msgid "Share this event"
msgstr ""
-#: ../../mod/fbrowser.php:96
-msgid "Files"
+#: ../../mod/thing.php:109
+msgid "Object store: failed"
msgstr ""
-#: ../../mod/regmod.php:61
-msgid "Account approved."
+#: ../../mod/thing.php:113
+msgid "thing/stuff added"
msgstr ""
-#: ../../mod/regmod.php:98
+#: ../../mod/thing.php:129
#, php-format
-msgid "Registration revoked for %s"
+msgid "OBJ: %1$s %2$s %3$s"
msgstr ""
-#: ../../mod/regmod.php:110
-msgid "Please login."
+#: ../../mod/thing.php:175
+msgid "not yet implemented."
msgstr ""
-#: ../../mod/item.php:89
-msgid "Unable to locate original post."
+#: ../../mod/thing.php:181
+msgid "Add Stuff to your Profile"
msgstr ""
-#: ../../mod/item.php:258
-msgid "Empty post discarded."
+#: ../../mod/thing.php:183
+msgid "Select a profile"
msgstr ""
-#: ../../mod/item.php:379 ../../mod/wall_upload.php:115
-#: ../../mod/wall_upload.php:124 ../../mod/wall_upload.php:131
-#: ../../include/message.php:144
-msgid "Wall Photos"
+#: ../../mod/thing.php:185
+msgid "Select a category of stuff. e.g. I ______ something"
msgstr ""
-#: ../../mod/item.php:784
-msgid "System error. Post not saved."
+#: ../../mod/thing.php:187
+msgid "Name of thing or stuff e.g. something"
msgstr ""
-#: ../../mod/item.php:809
-#, php-format
-msgid ""
-"This message was sent to you by %s, a member of the Friendica social network."
+#: ../../mod/thing.php:188
+msgid "URL of thing or stuff (optional)"
msgstr ""
-#: ../../mod/item.php:811
-#, php-format
-msgid "You may visit them online at %s"
+#: ../../mod/thing.php:189
+msgid "URL for photo of thing or stuff (optional)"
msgstr ""
-#: ../../mod/item.php:812
-msgid ""
-"Please contact the sender by replying to this post if you do not wish to "
-"receive these messages."
+#: ../../mod/invite.php:25
+msgid "Total invitation limit exceeded."
msgstr ""
-#: ../../mod/item.php:814
+#: ../../mod/invite.php:47
#, php-format
-msgid "%s posted an update."
-msgstr ""
-
-#: ../../mod/profile_photo.php:30
-msgid "Image uploaded but image cropping failed."
-msgstr ""
-
-#: ../../mod/profile_photo.php:63 ../../mod/profile_photo.php:70
-#: ../../mod/profile_photo.php:77 ../../mod/profile_photo.php:266
-#, php-format
-msgid "Image size reduction [%s] failed."
+msgid "%s : Not a valid email address."
msgstr ""
-#: ../../mod/profile_photo.php:91
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
+#: ../../mod/invite.php:74
+msgid "Please join us on Red"
msgstr ""
-#: ../../mod/profile_photo.php:101
-msgid "Unable to process image"
+#: ../../mod/invite.php:85
+msgid "Invitation limit exceeded. Please contact your site administrator."
msgstr ""
-#: ../../mod/profile_photo.php:117 ../../mod/wall_upload.php:77
+#: ../../mod/invite.php:90
#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr ""
-
-#: ../../mod/profile_photo.php:209
-msgid "Upload File:"
-msgstr ""
-
-#: ../../mod/profile_photo.php:210
-msgid "Upload Profile Photo"
-msgstr ""
-
-#: ../../mod/profile_photo.php:211
-msgid "Upload"
-msgstr ""
-
-#: ../../mod/profile_photo.php:213
-msgid "skip this step"
-msgstr ""
-
-#: ../../mod/profile_photo.php:213
-msgid "select a photo from your photo albums"
-msgstr ""
-
-#: ../../mod/profile_photo.php:226
-msgid "Crop Image"
+msgid "%s : Message delivery failed."
msgstr ""
-#: ../../mod/profile_photo.php:227
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr ""
+#: ../../mod/invite.php:94
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] ""
+msgstr[1] ""
-#: ../../mod/profile_photo.php:229
-msgid "Done Editing"
+#: ../../mod/invite.php:113
+msgid "You have no more invitations available"
msgstr ""
-#: ../../mod/profile_photo.php:257
-msgid "Image uploaded successfully."
+#: ../../mod/invite.php:139
+msgid "Send invitations"
msgstr ""
-#: ../../mod/hcard.php:10
-msgid "No profile"
+#: ../../mod/invite.php:140
+msgid "Enter email addresses, one per line:"
msgstr ""
-#: ../../mod/removeme.php:45 ../../mod/removeme.php:48
-msgid "Remove My Account"
+#: ../../mod/invite.php:141 ../../mod/message.php:292
+#: ../../mod/message.php:453
+msgid "Your message:"
msgstr ""
-#: ../../mod/removeme.php:46
+#: ../../mod/invite.php:142
msgid ""
-"This will completely remove your account. Once this has been done it is not "
-"recoverable."
-msgstr ""
-
-#: ../../mod/removeme.php:47
-msgid "Please enter your password for verification:"
+"You are cordially invited to join me and some other close friends on the Red "
+"Matrix - a revolutionary new decentralised social and information tool."
msgstr ""
-#: ../../mod/message.php:9 ../../include/nav.php:131
-msgid "New Message"
-msgstr ""
-
-#: ../../mod/message.php:70
-msgid "Unable to locate contact information."
-msgstr ""
-
-#: ../../mod/message.php:120
-msgid "Message deleted."
-msgstr ""
-
-#: ../../mod/message.php:150
-msgid "Conversation removed."
-msgstr ""
-
-#: ../../mod/message.php:249
-msgid "No messages."
-msgstr ""
-
-#: ../../mod/message.php:256
-#, php-format
-msgid "Unknown sender - %s"
-msgstr ""
-
-#: ../../mod/message.php:259
-#, php-format
-msgid "You and %s"
-msgstr ""
-
-#: ../../mod/message.php:262
-#, php-format
-msgid "%s and You"
-msgstr ""
-
-#: ../../mod/message.php:272 ../../mod/message.php:394
-msgid "Delete conversation"
-msgstr ""
-
-#: ../../mod/message.php:275
-msgid "D, d M Y - g:i A"
-msgstr ""
-
-#: ../../mod/message.php:277
-#, php-format
-msgid "%d message"
-msgid_plural "%d messages"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../mod/message.php:312
-msgid "Message not available."
+#: ../../mod/invite.php:144
+msgid "You will need to supply this invitation code: $invite_code"
msgstr ""
-#: ../../mod/message.php:377
-msgid "Delete message"
+#: ../../mod/invite.php:146
+msgid "Please visit my channel at"
msgstr ""
-#: ../../mod/message.php:396
+#: ../../mod/invite.php:150
msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
+"Once you have registered, please connect with my Red Matrix channel address:"
msgstr ""
-#: ../../mod/message.php:400
-msgid "Send Reply"
+#: ../../mod/invite.php:152
+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:34
+#: ../../mod/allfriends.php:35
#, php-format
msgid "Friends of %s"
msgstr ""
-#: ../../mod/allfriends.php:40
+#: ../../mod/allfriends.php:41
msgid "No friends to display."
msgstr ""
-#: ../../mod/admin.php:55
-msgid "Theme settings updated."
-msgstr ""
-
-#: ../../mod/admin.php:96 ../../mod/admin.php:421
-msgid "Site"
-msgstr ""
-
-#: ../../mod/admin.php:97 ../../mod/admin.php:657 ../../mod/admin.php:669
-msgid "Users"
+#: ../../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/admin.php:98 ../../mod/admin.php:751 ../../mod/admin.php:793
-msgid "Plugins"
+#: ../../mod/webpages.php:101 ../../mod/layouts.php:92 ../../mod/blocks.php:95
+msgid "View"
msgstr ""
-#: ../../mod/admin.php:99 ../../mod/admin.php:956 ../../mod/admin.php:992
-msgid "Themes"
+#: ../../mod/api.php:76 ../../mod/api.php:102
+msgid "Authorize application connection"
msgstr ""
-#: ../../mod/admin.php:100
-msgid "DB updates"
+#: ../../mod/api.php:77
+msgid "Return to your app and insert this Securty Code:"
msgstr ""
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1079
-msgid "Logs"
+#: ../../mod/api.php:89
+msgid "Please login to continue."
msgstr ""
-#: ../../mod/admin.php:120 ../../include/nav.php:146
-msgid "Admin"
+#: ../../mod/api.php:104
+msgid ""
+"Do you want to authorize this application to access your posts and contacts, "
+"and/or create new posts for you?"
msgstr ""
-#: ../../mod/admin.php:121
-msgid "Plugin Features"
+#: ../../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
+msgid "Yes"
msgstr ""
-#: ../../mod/admin.php:123
-msgid "User registrations waiting for confirmation"
+#: ../../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
+msgid "No"
msgstr ""
-#: ../../mod/admin.php:183 ../../mod/admin.php:639
-msgid "Normal Account"
+#: ../../mod/lastpost.php:16 ../../mod/channel.php:16
+msgid "You must be logged in to see this page."
msgstr ""
-#: ../../mod/admin.php:184 ../../mod/admin.php:640
-msgid "Soapbox Account"
+#: ../../mod/apps.php:8
+msgid "No installed applications."
msgstr ""
-#: ../../mod/admin.php:185 ../../mod/admin.php:641
-msgid "Community/Celebrity Account"
+#: ../../mod/apps.php:13
+msgid "Applications"
msgstr ""
-#: ../../mod/admin.php:186 ../../mod/admin.php:642
-msgid "Automatic Friend Account"
+#: ../../mod/page.php:35
+msgid "Invalid item."
msgstr ""
-#: ../../mod/admin.php:187
-msgid "Blog Account"
+#: ../../mod/page.php:47 ../../mod/chanview.php:78 ../../mod/home.php:51
+#: ../../mod/magic.php:63 ../../mod/wall_upload.php:35
+msgid "Channel not found."
msgstr ""
-#: ../../mod/admin.php:188
-msgid "Private Forum"
+#: ../../mod/attach.php:9
+msgid "Item not available."
msgstr ""
-#: ../../mod/admin.php:207
-msgid "Message queues"
+#: ../../mod/setup.php:142
+msgid "Red Matrix Server - Setup"
msgstr ""
-#: ../../mod/admin.php:212 ../../mod/admin.php:420 ../../mod/admin.php:656
-#: ../../mod/admin.php:750 ../../mod/admin.php:792 ../../mod/admin.php:955
-#: ../../mod/admin.php:991 ../../mod/admin.php:1078
-msgid "Administration"
+#: ../../mod/setup.php:148
+msgid "Could not connect to database."
msgstr ""
-#: ../../mod/admin.php:213
-msgid "Summary"
+#: ../../mod/setup.php:152
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
msgstr ""
-#: ../../mod/admin.php:215
-msgid "Registered users"
+#: ../../mod/setup.php:157
+msgid "Could not create table."
msgstr ""
-#: ../../mod/admin.php:217
-msgid "Pending registrations"
+#: ../../mod/setup.php:163
+msgid "Your site database has been installed."
msgstr ""
-#: ../../mod/admin.php:218
-msgid "Version"
+#: ../../mod/setup.php:168
+msgid ""
+"You may need to import the file \"install/database.sql\" manually using "
+"phpmyadmin or mysql."
msgstr ""
-#: ../../mod/admin.php:220
-msgid "Active plugins"
+#: ../../mod/setup.php:169 ../../mod/setup.php:236 ../../mod/setup.php:565
+msgid "Please see the file \"install/INSTALL.txt\"."
msgstr ""
-#: ../../mod/admin.php:359
-msgid "Site settings updated."
+#: ../../mod/setup.php:233
+msgid "System check"
msgstr ""
-#: ../../mod/admin.php:407
-msgid "Closed"
+#: ../../mod/setup.php:238
+msgid "Check again"
msgstr ""
-#: ../../mod/admin.php:408
-msgid "Requires approval"
+#: ../../mod/setup.php:260
+msgid "Database connection"
msgstr ""
-#: ../../mod/admin.php:409
-msgid "Open"
+#: ../../mod/setup.php:261
+msgid ""
+"In order to install Red Matrix we need to know how to connect to your "
+"database."
msgstr ""
-#: ../../mod/admin.php:413
-msgid "No SSL policy, links will track page SSL state"
+#: ../../mod/setup.php:262
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
msgstr ""
-#: ../../mod/admin.php:414
-msgid "Force all links to use SSL"
+#: ../../mod/setup.php:263
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
msgstr ""
-#: ../../mod/admin.php:415
-msgid "Self-signed certificate, use SSL for local links only (discouraged)"
+#: ../../mod/setup.php:267
+msgid "Database Server Name"
msgstr ""
-#: ../../mod/admin.php:424
-msgid "File upload"
+#: ../../mod/setup.php:267
+msgid "Default is localhost"
msgstr ""
-#: ../../mod/admin.php:425
-msgid "Policies"
+#: ../../mod/setup.php:268
+msgid "Database Port"
msgstr ""
-#: ../../mod/admin.php:426
-msgid "Advanced"
+#: ../../mod/setup.php:268
+msgid "Communication port number - use 0 for default"
msgstr ""
-#: ../../mod/admin.php:430 ../../addon/statusnet/statusnet.php:558
-msgid "Site name"
+#: ../../mod/setup.php:269
+msgid "Database Login Name"
msgstr ""
-#: ../../mod/admin.php:431
-msgid "Banner/Logo"
+#: ../../mod/setup.php:270
+msgid "Database Login Password"
msgstr ""
-#: ../../mod/admin.php:432
-msgid "System language"
+#: ../../mod/setup.php:271
+msgid "Database Name"
msgstr ""
-#: ../../mod/admin.php:433
-msgid "System theme"
+#: ../../mod/setup.php:273 ../../mod/setup.php:315
+msgid "Site administrator email address"
msgstr ""
-#: ../../mod/admin.php:433
+#: ../../mod/setup.php:273 ../../mod/setup.php:315
msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr ""
-
-#: ../../mod/admin.php:434
-msgid "SSL link policy"
-msgstr ""
-
-#: ../../mod/admin.php:434
-msgid "Determines whether generated links should be forced to use SSL"
-msgstr ""
-
-#: ../../mod/admin.php:435
-msgid "Maximum image size"
+"Your account email address must match this in order to use the web admin "
+"panel."
msgstr ""
-#: ../../mod/admin.php:435
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
+#: ../../mod/setup.php:274 ../../mod/setup.php:317
+msgid "Website URL"
msgstr ""
-#: ../../mod/admin.php:437
-msgid "Register policy"
+#: ../../mod/setup.php:274 ../../mod/setup.php:317
+msgid "Please use SSL (https) URL if available."
msgstr ""
-#: ../../mod/admin.php:438
-msgid "Register text"
+#: ../../mod/setup.php:277 ../../mod/setup.php:320
+msgid "Please select a default timezone for your website"
msgstr ""
-#: ../../mod/admin.php:438
-msgid "Will be displayed prominently on the registration page."
+#: ../../mod/setup.php:304
+msgid "Site settings"
msgstr ""
-#: ../../mod/admin.php:439
-msgid "Accounts abandoned after x days"
+#: ../../mod/setup.php:360
+msgid "Could not find a command line version of PHP in the web server PATH."
msgstr ""
-#: ../../mod/admin.php:439
+#: ../../mod/setup.php:361
msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
+"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/admin.php:440
-msgid "Allowed friend domains"
+#: ../../mod/setup.php:365
+msgid "PHP executable path"
msgstr ""
-#: ../../mod/admin.php:440
+#: ../../mod/setup.php:365
msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
msgstr ""
-#: ../../mod/admin.php:441
-msgid "Allowed email domains"
+#: ../../mod/setup.php:370
+msgid "Command line PHP"
msgstr ""
-#: ../../mod/admin.php:441
+#: ../../mod/setup.php:379
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:442
-msgid "Block public"
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
msgstr ""
-#: ../../mod/admin.php:442
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently logged in."
+#: ../../mod/setup.php:380
+msgid "This is required for message delivery to work."
msgstr ""
-#: ../../mod/admin.php:443
-msgid "Force publish"
+#: ../../mod/setup.php:382
+msgid "PHP register_argc_argv"
msgstr ""
-#: ../../mod/admin.php:443
+#: ../../mod/setup.php:403
msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr ""
-
-#: ../../mod/admin.php:444
-msgid "Global directory update URL"
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
msgstr ""
-#: ../../mod/admin.php:444
+#: ../../mod/setup.php:404
msgid ""
-"URL to update the global directory. If this is not set, the global directory "
-"is completely unavailable to the application."
-msgstr ""
-
-#: ../../mod/admin.php:446
-msgid "Block multiple registrations"
+"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
+"installation.php\"."
msgstr ""
-#: ../../mod/admin.php:446
-msgid "Disallow users to register additional accounts for use as pages."
+#: ../../mod/setup.php:406
+msgid "Generate encryption keys"
msgstr ""
-#: ../../mod/admin.php:447
-msgid "OpenID support"
+#: ../../mod/setup.php:413
+msgid "libCurl PHP module"
msgstr ""
-#: ../../mod/admin.php:447
-msgid "OpenID support for registration and logins."
+#: ../../mod/setup.php:414
+msgid "GD graphics PHP module"
msgstr ""
-#: ../../mod/admin.php:448
-msgid "Fullname check"
+#: ../../mod/setup.php:415
+msgid "OpenSSL PHP module"
msgstr ""
-#: ../../mod/admin.php:448
-msgid ""
-"Force users to register with a space between firstname and lastname in Full "
-"name, as an antispam measure"
+#: ../../mod/setup.php:416
+msgid "mysqli PHP module"
msgstr ""
-#: ../../mod/admin.php:449
-msgid "UTF-8 Regular expressions"
+#: ../../mod/setup.php:417
+msgid "mb_string PHP module"
msgstr ""
-#: ../../mod/admin.php:449
-msgid "Use PHP UTF8 regular expressions"
+#: ../../mod/setup.php:418
+msgid "mcrypt PHP module"
msgstr ""
-#: ../../mod/admin.php:450
-msgid "Show Community Page"
+#: ../../mod/setup.php:423 ../../mod/setup.php:425
+msgid "Apache mod_rewrite module"
msgstr ""
-#: ../../mod/admin.php:450
+#: ../../mod/setup.php:423
msgid ""
-"Display a Community page showing all recent public postings on this site."
+"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr ""
-#: ../../mod/admin.php:451
-msgid "Enable OStatus support"
+#: ../../mod/setup.php:429 ../../mod/setup.php:432
+msgid "proc_open"
msgstr ""
-#: ../../mod/admin.php:451
+#: ../../mod/setup.php:429
msgid ""
-"Provide built-in OStatus (identi.ca, status.net, etc.) compatibility. All "
-"communications in OStatus are public, so privacy warnings will be "
-"occasionally displayed."
-msgstr ""
-
-#: ../../mod/admin.php:452
-msgid "Enable Diaspora support"
-msgstr ""
-
-#: ../../mod/admin.php:452
-msgid "Provide built-in Diaspora network compatibility."
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
msgstr ""
-#: ../../mod/admin.php:453
-msgid "Only allow Friendica contacts"
+#: ../../mod/setup.php:437
+msgid "Error: libCURL PHP module required but not installed."
msgstr ""
-#: ../../mod/admin.php:453
+#: ../../mod/setup.php:441
msgid ""
-"All contacts must use Friendica protocols. All other built-in communication "
-"protocols disabled."
+"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr ""
-#: ../../mod/admin.php:454
-msgid "Verify SSL"
+#: ../../mod/setup.php:445
+msgid "Error: openssl PHP module required but not installed."
msgstr ""
-#: ../../mod/admin.php:454
-msgid ""
-"If you wish, you can turn on strict certificate checking. This will mean you "
-"cannot connect (at all) to self-signed SSL sites."
+#: ../../mod/setup.php:449
+msgid "Error: mysqli PHP module required but not installed."
msgstr ""
-#: ../../mod/admin.php:455
-msgid "Proxy user"
+#: ../../mod/setup.php:453
+msgid "Error: mb_string PHP module required but not installed."
msgstr ""
-#: ../../mod/admin.php:456
-msgid "Proxy URL"
+#: ../../mod/setup.php:457
+msgid "Error: mcrypt PHP module required but not installed."
msgstr ""
-#: ../../mod/admin.php:457
-msgid "Network timeout"
+#: ../../mod/setup.php:473
+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/admin.php:457
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+#: ../../mod/setup.php:474
+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/admin.php:458
-msgid "Delivery interval"
+#: ../../mod/setup.php:475
+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/admin.php:458
+#: ../../mod/setup.php:476
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."
+"You can alternatively skip this procedure and perform a manual installation. "
+"Please see the file \"install/INSTALL.txt\" for instructions."
msgstr ""
-#: ../../mod/admin.php:459
-msgid "Poll interval"
+#: ../../mod/setup.php:479
+msgid ".htconfig.php is writable"
msgstr ""
-#: ../../mod/admin.php:459
+#: ../../mod/setup.php:489
msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr ""
-
-#: ../../mod/admin.php:460
-msgid "Maximum Load Average"
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
msgstr ""
-#: ../../mod/admin.php:460
+#: ../../mod/setup.php:490
msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
+"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/admin.php:474
-msgid "Update has been marked successful"
+#: ../../mod/setup.php:491
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has "
+"write access to this folder."
msgstr ""
-#: ../../mod/admin.php:484
-#, php-format
-msgid "Executing %s failed. Check system logs."
+#: ../../mod/setup.php:492
+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/admin.php:487
-#, php-format
-msgid "Update %s was successfully applied."
+#: ../../mod/setup.php:495
+msgid "view/tpl/smarty3 is writable"
msgstr ""
-#: ../../mod/admin.php:491
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
+#: ../../mod/setup.php:509
+msgid "SSL certificate validation"
msgstr ""
-#: ../../mod/admin.php:494
-#, php-format
-msgid "Update function %s could not be found."
+#: ../../mod/setup.php:509
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access "
+"to this site."
msgstr ""
-#: ../../mod/admin.php:509
-msgid "No failed updates."
+#: ../../mod/setup.php:516
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server configuration."
msgstr ""
-#: ../../mod/admin.php:513
-msgid "Failed Updates"
+#: ../../mod/setup.php:518
+msgid "Url rewrite is working"
msgstr ""
-#: ../../mod/admin.php:514
+#: ../../mod/setup.php:528
msgid ""
-"This does not include updates prior to 1139, which did not return a status."
-msgstr ""
-
-#: ../../mod/admin.php:515
-msgid "Mark success (if update was manually applied)"
+"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/admin.php:516
-msgid "Attempt to execute this update step automatically"
+#: ../../mod/setup.php:552
+msgid "Errors encountered creating database tables."
msgstr ""
-#: ../../mod/admin.php:541
-#, php-format
-msgid "%s user blocked/unblocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../mod/admin.php:548
-#, php-format
-msgid "%s user deleted"
-msgid_plural "%s users deleted"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../mod/admin.php:587
-#, php-format
-msgid "User '%s' deleted"
+#: ../../mod/setup.php:563
+msgid "<h1>What next</h1>"
msgstr ""
-#: ../../mod/admin.php:595
-#, php-format
-msgid "User '%s' unblocked"
+#: ../../mod/setup.php:564
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
msgstr ""
-#: ../../mod/admin.php:595
+#: ../../mod/subthread.php:105
#, php-format
-msgid "User '%s' blocked"
+msgid "%1$s is following %2$s's %3$s"
msgstr ""
-#: ../../mod/admin.php:659
-msgid "select all"
-msgstr ""
-
-#: ../../mod/admin.php:660
-msgid "User registrations waiting for confirm"
-msgstr ""
-
-#: ../../mod/admin.php:661
-msgid "Request date"
-msgstr ""
-
-#: ../../mod/admin.php:661 ../../mod/admin.php:670
-#: ../../include/contact_selectors.php:79
-msgid "Email"
-msgstr ""
-
-#: ../../mod/admin.php:662
-msgid "No registrations."
-msgstr ""
-
-#: ../../mod/admin.php:664
-msgid "Deny"
-msgstr ""
-
-#: ../../mod/admin.php:670
-msgid "Register date"
-msgstr ""
-
-#: ../../mod/admin.php:670
-msgid "Last login"
-msgstr ""
-
-#: ../../mod/admin.php:670
-msgid "Last item"
-msgstr ""
-
-#: ../../mod/admin.php:670
-msgid "Account"
-msgstr ""
-
-#: ../../mod/admin.php:672
-msgid ""
-"Selected users will be deleted!\\n\\nEverything these users had posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
+#: ../../mod/update_network.php:23 ../../mod/update_channel.php:43
+#: ../../mod/update_search.php:46 ../../mod/update_display.php:25
+#: ../../mod/update_community.php:18
+msgid "[Embedded content - reload page to view]"
msgstr ""
-#: ../../mod/admin.php:673
-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/chanview.php:94
+msgid "toggle full screen mode"
msgstr ""
-#: ../../mod/admin.php:714
+#: ../../mod/tagger.php:98
#, php-format
-msgid "Plugin %s disabled."
-msgstr ""
-
-#: ../../mod/admin.php:718
-#, php-format
-msgid "Plugin %s enabled."
-msgstr ""
-
-#: ../../mod/admin.php:728 ../../mod/admin.php:926
-msgid "Disable"
+msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr ""
-#: ../../mod/admin.php:730 ../../mod/admin.php:928
-msgid "Enable"
+#: ../../mod/settings.php:51
+msgid "Account settings"
msgstr ""
-#: ../../mod/admin.php:752 ../../mod/admin.php:957
-msgid "Toggle"
+#: ../../mod/settings.php:57
+msgid "Channel settings"
msgstr ""
-#: ../../mod/admin.php:760 ../../mod/admin.php:967
-msgid "Author: "
+#: ../../mod/settings.php:63
+msgid "Additional features"
msgstr ""
-#: ../../mod/admin.php:761 ../../mod/admin.php:968
-msgid "Maintainer: "
+#: ../../mod/settings.php:69
+msgid "Feature settings"
msgstr ""
-#: ../../mod/admin.php:890
-msgid "No themes found."
+#: ../../mod/settings.php:75
+msgid "Display settings"
msgstr ""
-#: ../../mod/admin.php:949
-msgid "Screenshot"
+#: ../../mod/settings.php:81
+msgid "Connected apps"
msgstr ""
-#: ../../mod/admin.php:997
-msgid "[Experimental]"
+#: ../../mod/settings.php:87
+msgid "Export channel"
msgstr ""
-#: ../../mod/admin.php:998
-msgid "[Unsupported]"
+#: ../../mod/settings.php:99
+msgid "Automatic Permissions (Advanced)"
msgstr ""
-#: ../../mod/admin.php:1025
-msgid "Log settings updated."
+#: ../../mod/settings.php:109
+msgid "Premium Channel Settings"
msgstr ""
-#: ../../mod/admin.php:1081
-msgid "Clear"
+#: ../../mod/settings.php:158
+msgid "Missing some important data!"
msgstr ""
-#: ../../mod/admin.php:1087
-msgid "Debugging"
+#: ../../mod/settings.php:161 ../../mod/settings.php:647
+msgid "Update"
msgstr ""
-#: ../../mod/admin.php:1088
-msgid "Log file"
+#: ../../mod/settings.php:274
+msgid "Passwords do not match. Password unchanged."
msgstr ""
-#: ../../mod/admin.php:1088
-msgid ""
-"Must be writable by web server. Relative to your Friendica top-level "
-"directory."
+#: ../../mod/settings.php:278
+msgid "Empty passwords are not allowed. Password unchanged."
msgstr ""
-#: ../../mod/admin.php:1089
-msgid "Log level"
+#: ../../mod/settings.php:291
+msgid "Password changed."
msgstr ""
-#: ../../mod/admin.php:1139
-msgid "Close"
+#: ../../mod/settings.php:293
+msgid "Password update failed. Please try again."
msgstr ""
-#: ../../mod/admin.php:1145
-msgid "FTP Host"
+#: ../../mod/settings.php:307
+msgid "Not valid email."
msgstr ""
-#: ../../mod/admin.php:1146
-msgid "FTP Path"
+#: ../../mod/settings.php:310
+msgid "Protected email address. Cannot change to that email."
msgstr ""
-#: ../../mod/admin.php:1147
-msgid "FTP User"
+#: ../../mod/settings.php:319
+msgid "System failure storing new email. Please try again."
msgstr ""
-#: ../../mod/admin.php:1148
-msgid "FTP Password"
+#: ../../mod/settings.php:549
+msgid "Settings updated."
msgstr ""
-#: ../../mod/profile.php:21 ../../boot.php:1029
-msgid "Requested profile is not available."
+#: ../../mod/settings.php:620 ../../mod/settings.php:646
+#: ../../mod/settings.php:682
+msgid "Add application"
msgstr ""
-#: ../../mod/profile.php:141 ../../mod/display.php:75
-msgid "Access to this profile has been restricted."
+#: ../../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/profile.php:166
-msgid "Tips for New Members"
+#: ../../mod/settings.php:623 ../../mod/settings.php:649
+#: ../../mod/admin.php:636 ../../mod/crepair.php:148
+msgid "Name"
msgstr ""
-#: ../../mod/ping.php:185
-msgid "{0} wants to be your friend"
+#: ../../mod/settings.php:624 ../../mod/settings.php:650
+msgid "Consumer Key"
msgstr ""
-#: ../../mod/ping.php:190
-msgid "{0} sent you a message"
+#: ../../mod/settings.php:625 ../../mod/settings.php:651
+msgid "Consumer Secret"
msgstr ""
-#: ../../mod/ping.php:195
-msgid "{0} requested registration"
+#: ../../mod/settings.php:626 ../../mod/settings.php:652
+msgid "Redirect"
msgstr ""
-#: ../../mod/ping.php:201
-#, php-format
-msgid "{0} commented %s's post"
+#: ../../mod/settings.php:627 ../../mod/settings.php:653
+msgid "Icon url"
msgstr ""
-#: ../../mod/ping.php:206
-#, php-format
-msgid "{0} liked %s's post"
+#: ../../mod/settings.php:638
+msgid "You can't edit this application."
msgstr ""
-#: ../../mod/ping.php:211
-#, php-format
-msgid "{0} disliked %s's post"
+#: ../../mod/settings.php:681
+msgid "Connected Apps"
msgstr ""
-#: ../../mod/ping.php:216
-#, php-format
-msgid "{0} is now friends with %s"
+#: ../../mod/settings.php:685
+msgid "Client key starts with"
msgstr ""
-#: ../../mod/ping.php:221
-msgid "{0} posted"
+#: ../../mod/settings.php:686
+msgid "No name"
msgstr ""
-#: ../../mod/ping.php:226
-#, php-format
-msgid "{0} tagged %s's post with #%s"
+#: ../../mod/settings.php:687
+msgid "Remove authorization"
msgstr ""
-#: ../../mod/ping.php:232
-msgid "{0} mentioned you in a post"
+#: ../../mod/settings.php:698
+msgid "No feature settings configured"
msgstr ""
-#: ../../mod/nogroup.php:58
-msgid "Contacts who are not members of a group"
+#: ../../mod/settings.php:706
+msgid "Feature Settings"
msgstr ""
-#: ../../mod/openid.php:24
-msgid "OpenID protocol error. No ID returned."
+#: ../../mod/settings.php:729
+msgid "Account Settings"
msgstr ""
-#: ../../mod/openid.php:53
-msgid ""
-"Account not found and OpenID registration is not permitted on this site."
+#: ../../mod/settings.php:730
+msgid "Password Settings"
msgstr ""
-#: ../../mod/openid.php:93 ../../include/auth.php:99
-#: ../../include/auth.php:162
-msgid "Login failed."
+#: ../../mod/settings.php:731
+msgid "New Password:"
msgstr ""
-#: ../../mod/follow.php:27
-msgid "Contact added"
+#: ../../mod/settings.php:732
+msgid "Confirm:"
msgstr ""
-#: ../../mod/common.php:42
-msgid "Common Friends"
+#: ../../mod/settings.php:732
+msgid "Leave password fields blank unless changing"
msgstr ""
-#: ../../mod/common.php:78
-msgid "No contacts in common."
+#: ../../mod/settings.php:734 ../../mod/settings.php:1032
+msgid "Email Address:"
msgstr ""
-#: ../../mod/share.php:28 ../../include/bb2diaspora.php:226
-msgid "link"
+#: ../../mod/settings.php:735
+msgid "Remove Account"
msgstr ""
-#: ../../mod/display.php:135
-msgid "Item has been removed."
+#: ../../mod/settings.php:736
+msgid "Warning: This action is permanent and cannot be reversed."
msgstr ""
-#: ../../mod/apps.php:4
-msgid "Applications"
+#: ../../mod/settings.php:752
+msgid "Off"
msgstr ""
-#: ../../mod/apps.php:7
-msgid "No installed applications."
+#: ../../mod/settings.php:752
+msgid "On"
msgstr ""
-#: ../../mod/search.php:83 ../../include/text.php:649
-#: ../../include/text.php:650 ../../include/nav.php:91
-msgid "Search"
+#: ../../mod/settings.php:759
+msgid "Additional Features"
msgstr ""
-#: ../../mod/profiles.php:21 ../../mod/profiles.php:410
-#: ../../mod/profiles.php:524 ../../mod/dfrn_confirm.php:62
-msgid "Profile not found."
+#: ../../mod/settings.php:784
+msgid "Connector Settings"
msgstr ""
-#: ../../mod/profiles.php:31
-msgid "Profile Name is required."
+#: ../../mod/settings.php:814 ../../mod/admin.php:361
+msgid "No special theme for mobile devices"
msgstr ""
-#: ../../mod/profiles.php:155
-msgid "Marital Status"
+#: ../../mod/settings.php:854
+msgid "Display Settings"
msgstr ""
-#: ../../mod/profiles.php:159
-msgid "Romantic Partner"
+#: ../../mod/settings.php:860
+msgid "Display Theme:"
msgstr ""
-#: ../../mod/profiles.php:163
-msgid "Likes"
+#: ../../mod/settings.php:861
+msgid "Mobile Theme:"
msgstr ""
-#: ../../mod/profiles.php:167
-msgid "Dislikes"
+#: ../../mod/settings.php:862
+msgid "Update browser every xx seconds"
msgstr ""
-#: ../../mod/profiles.php:171
-msgid "Work/Employment"
+#: ../../mod/settings.php:862
+msgid "Minimum of 10 seconds, no maximum"
msgstr ""
-#: ../../mod/profiles.php:174
-msgid "Religion"
+#: ../../mod/settings.php:863
+msgid "Maximum number of conversations to load at any time:"
msgstr ""
-#: ../../mod/profiles.php:178
-msgid "Political Views"
+#: ../../mod/settings.php:863
+msgid "Maximum of 100 items"
msgstr ""
-#: ../../mod/profiles.php:182
-msgid "Gender"
+#: ../../mod/settings.php:864
+msgid "Don't show emoticons"
msgstr ""
-#: ../../mod/profiles.php:186
-msgid "Sexual Preference"
+#: ../../mod/settings.php:900
+msgid "Nobody except yourself"
msgstr ""
-#: ../../mod/profiles.php:190
-msgid "Homepage"
+#: ../../mod/settings.php:901
+msgid "Only those you specifically allow"
msgstr ""
-#: ../../mod/profiles.php:194
-msgid "Interests"
+#: ../../mod/settings.php:902
+msgid "Anybody in your address book"
msgstr ""
-#: ../../mod/profiles.php:198
-msgid "Address"
+#: ../../mod/settings.php:903
+msgid "Anybody on this website"
msgstr ""
-#: ../../mod/profiles.php:205 ../../addon/dav/layout.fnk.php:310
-msgid "Location"
+#: ../../mod/settings.php:904
+msgid "Anybody in this network"
msgstr ""
-#: ../../mod/profiles.php:288
-msgid "Profile updated."
+#: ../../mod/settings.php:905
+msgid "Anybody on the internet"
msgstr ""
-#: ../../mod/profiles.php:355
-msgid " and "
+#: ../../mod/settings.php:978
+msgid "Publish your default profile in the network directory"
msgstr ""
-#: ../../mod/profiles.php:363
-msgid "public profile"
+#: ../../mod/settings.php:983
+msgid "Allow us to suggest you as a potential friend to new members?"
msgstr ""
-#: ../../mod/profiles.php:366
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+#: ../../mod/settings.php:987 ../../mod/profile_photo.php:298
+msgid "or"
msgstr ""
-#: ../../mod/profiles.php:367
-#, php-format
-msgid " - Visit %1$s's %2$s"
+#: ../../mod/settings.php:992
+msgid "Your channel address is"
msgstr ""
-#: ../../mod/profiles.php:370
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
+#: ../../mod/settings.php:1003
+msgid "Automatically expire posts after this many days:"
msgstr ""
-#: ../../mod/profiles.php:429
-msgid "Profile deleted."
+#: ../../mod/settings.php:1003
+msgid "If empty, posts will not expire. Expired posts will be deleted"
msgstr ""
-#: ../../mod/profiles.php:447 ../../mod/profiles.php:481
-msgid "Profile-"
+#: ../../mod/settings.php:1004
+msgid "Advanced expiration settings"
msgstr ""
-#: ../../mod/profiles.php:466 ../../mod/profiles.php:508
-msgid "New profile created."
+#: ../../mod/settings.php:1005
+msgid "Advanced Expiration"
msgstr ""
-#: ../../mod/profiles.php:487
-msgid "Profile unavailable to clone."
+#: ../../mod/settings.php:1006
+msgid "Expire posts:"
msgstr ""
-#: ../../mod/profiles.php:545
-msgid "Hide your contact/friend list from viewers of this profile?"
+#: ../../mod/settings.php:1008
+msgid "Expire starred posts:"
msgstr ""
-#: ../../mod/profiles.php:568
-msgid "Edit Profile Details"
+#: ../../mod/settings.php:1009
+msgid "Expire photos:"
msgstr ""
-#: ../../mod/profiles.php:570
-msgid "View this profile"
+#: ../../mod/settings.php:1010
+msgid "Only expire posts by others:"
msgstr ""
-#: ../../mod/profiles.php:571
-msgid "Create a new profile using these settings"
+#: ../../mod/settings.php:1021
+msgid "Channel Settings"
msgstr ""
-#: ../../mod/profiles.php:572
-msgid "Clone this profile"
+#: ../../mod/settings.php:1030
+msgid "Basic Settings"
msgstr ""
-#: ../../mod/profiles.php:573
-msgid "Delete this profile"
+#: ../../mod/settings.php:1033
+msgid "Your Timezone:"
msgstr ""
-#: ../../mod/profiles.php:574
-msgid "Profile Name:"
+#: ../../mod/settings.php:1034
+msgid "Default Post Location:"
msgstr ""
-#: ../../mod/profiles.php:575
-msgid "Your Full Name:"
+#: ../../mod/settings.php:1035
+msgid "Use Browser Location:"
msgstr ""
-#: ../../mod/profiles.php:576
-msgid "Title/Description:"
+#: ../../mod/settings.php:1038
+msgid "Security and Privacy Settings"
msgstr ""
-#: ../../mod/profiles.php:577
-msgid "Your Gender:"
+#: ../../mod/settings.php:1040
+msgid "Quick Privacy Settings:"
msgstr ""
-#: ../../mod/profiles.php:578
-#, php-format
-msgid "Birthday (%s):"
+#: ../../mod/settings.php:1041
+msgid "Very Public - extremely permissive"
msgstr ""
-#: ../../mod/profiles.php:579
-msgid "Street Address:"
+#: ../../mod/settings.php:1042
+msgid "Typical - default public, privacy when desired"
msgstr ""
-#: ../../mod/profiles.php:580
-msgid "Locality/City:"
+#: ../../mod/settings.php:1043
+msgid "Private - default private, rarely open or public"
msgstr ""
-#: ../../mod/profiles.php:581
-msgid "Postal/Zip Code:"
+#: ../../mod/settings.php:1044
+msgid "Blocked - default blocked to/from everybody"
msgstr ""
-#: ../../mod/profiles.php:582
-msgid "Country:"
+#: ../../mod/settings.php:1047
+msgid "Maximum Friend Requests/Day:"
msgstr ""
-#: ../../mod/profiles.php:583
-msgid "Region/State:"
+#: ../../mod/settings.php:1047
+msgid "May reduce spam activity"
msgstr ""
-#: ../../mod/profiles.php:584
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
+#: ../../mod/settings.php:1048
+msgid "Default Post Permissions"
msgstr ""
-#: ../../mod/profiles.php:585
-msgid "Who: (if applicable)"
+#: ../../mod/settings.php:1049
+msgid "(click to open/close)"
msgstr ""
-#: ../../mod/profiles.php:586
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+#: ../../mod/settings.php:1062
+msgid "Maximum private messages per day from unknown people:"
msgstr ""
-#: ../../mod/profiles.php:587
-msgid "Since [date]:"
+#: ../../mod/settings.php:1062
+msgid "Useful to reduce spamming"
msgstr ""
-#: ../../mod/profiles.php:588 ../../include/profile_advanced.php:46
-msgid "Sexual Preference:"
+#: ../../mod/settings.php:1065
+msgid "Notification Settings"
msgstr ""
-#: ../../mod/profiles.php:589
-msgid "Homepage URL:"
+#: ../../mod/settings.php:1066
+msgid "By default post a status message when:"
msgstr ""
-#: ../../mod/profiles.php:590 ../../include/profile_advanced.php:50
-msgid "Hometown:"
+#: ../../mod/settings.php:1067
+msgid "accepting a friend request"
msgstr ""
-#: ../../mod/profiles.php:591 ../../include/profile_advanced.php:54
-msgid "Political Views:"
+#: ../../mod/settings.php:1068
+msgid "joining a forum/community"
msgstr ""
-#: ../../mod/profiles.php:592
-msgid "Religious Views:"
+#: ../../mod/settings.php:1069
+msgid "making an <em>interesting</em> profile change"
msgstr ""
-#: ../../mod/profiles.php:593
-msgid "Public Keywords:"
+#: ../../mod/settings.php:1070
+msgid "Send a notification email when:"
msgstr ""
-#: ../../mod/profiles.php:594
-msgid "Private Keywords:"
+#: ../../mod/settings.php:1071
+msgid "You receive an introduction"
msgstr ""
-#: ../../mod/profiles.php:595 ../../include/profile_advanced.php:62
-msgid "Likes:"
+#: ../../mod/settings.php:1072
+msgid "Your introductions are confirmed"
msgstr ""
-#: ../../mod/profiles.php:596 ../../include/profile_advanced.php:64
-msgid "Dislikes:"
+#: ../../mod/settings.php:1073
+msgid "Someone writes on your profile wall"
msgstr ""
-#: ../../mod/profiles.php:597
-msgid "Example: fishing photography software"
+#: ../../mod/settings.php:1074
+msgid "Someone writes a followup comment"
msgstr ""
-#: ../../mod/profiles.php:598
-msgid "(Used for suggesting potential friends, can be seen by others)"
+#: ../../mod/settings.php:1075
+msgid "You receive a private message"
msgstr ""
-#: ../../mod/profiles.php:599
-msgid "(Used for searching profiles, never shown to others)"
+#: ../../mod/settings.php:1076
+msgid "You receive a friend suggestion"
msgstr ""
-#: ../../mod/profiles.php:600
-msgid "Tell us about yourself..."
+#: ../../mod/settings.php:1077
+msgid "You are tagged in a post"
msgstr ""
-#: ../../mod/profiles.php:601
-msgid "Hobbies/Interests"
+#: ../../mod/settings.php:1078
+msgid "You are poked/prodded/etc. in a post"
msgstr ""
-#: ../../mod/profiles.php:602
-msgid "Contact information and Social Networks"
+#: ../../mod/settings.php:1081
+msgid "Advanced Account/Page Type Settings"
msgstr ""
-#: ../../mod/profiles.php:603
-msgid "Musical interests"
+#: ../../mod/settings.php:1082
+msgid "Change the behaviour of this account for special situations"
msgstr ""
-#: ../../mod/profiles.php:604
-msgid "Books, literature"
+#: ../../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/profiles.php:605
-msgid "Television"
+#: ../../mod/viewconnections.php:57
+msgid "No connections."
msgstr ""
-#: ../../mod/profiles.php:606
-msgid "Film/dance/culture/entertainment"
+#: ../../mod/viewconnections.php:69 ../../mod/nogroup.php:40
+#, php-format
+msgid "Visit %s's profile [%s]"
msgstr ""
-#: ../../mod/profiles.php:607
-msgid "Love/romance"
+#: ../../mod/viewconnections.php:84
+msgid "View Connnections"
msgstr ""
-#: ../../mod/profiles.php:608
-msgid "Work/employment"
+#: ../../mod/tagrm.php:41
+msgid "Tag removed"
msgstr ""
-#: ../../mod/profiles.php:609
-msgid "School/education"
+#: ../../mod/tagrm.php:79
+msgid "Remove Item Tag"
msgstr ""
-#: ../../mod/profiles.php:614
-msgid ""
-"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
-"be visible to anybody using the internet."
+#: ../../mod/tagrm.php:81
+msgid "Select a tag to remove: "
msgstr ""
-#: ../../mod/profiles.php:624 ../../mod/directory.php:109
-msgid "Age: "
+#: ../../mod/tagrm.php:93 ../../mod/delegate.php:130
+msgid "Remove"
msgstr ""
-#: ../../mod/profiles.php:663
-msgid "Edit/Manage Profiles"
+#: ../../mod/connect.php:59 ../../mod/connect.php:107
+msgid "Continue"
msgstr ""
-#: ../../mod/profiles.php:664 ../../boot.php:1138
-msgid "Change profile photo"
+#: ../../mod/connect.php:88
+msgid "Premium Channel Setup"
msgstr ""
-#: ../../mod/profiles.php:665 ../../boot.php:1139
-msgid "Create New Profile"
+#: ../../mod/connect.php:90
+msgid "Enable premium channel connection restrictions"
msgstr ""
-#: ../../mod/profiles.php:676 ../../boot.php:1149
-msgid "Profile Image"
+#: ../../mod/connect.php:91
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
msgstr ""
-#: ../../mod/profiles.php:678 ../../boot.php:1152
-msgid "visible to everybody"
+#: ../../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/profiles.php:679 ../../boot.php:1153
-msgid "Edit visibility"
+#: ../../mod/connect.php:94
+msgid ""
+"Potential connections will then see the following text before proceeding:"
msgstr ""
-#: ../../mod/filer.php:29 ../../include/conversation.php:951
-msgid "Save to Folder:"
+#: ../../mod/connect.php:95 ../../mod/connect.php:116
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided "
+"on this page."
msgstr ""
-#: ../../mod/filer.php:29
-msgid "- select -"
+#: ../../mod/connect.php:104
+msgid "(No specific instructions have been provided by the channel owner.)"
msgstr ""
-#: ../../mod/tagger.php:103 ../../include/conversation.php:138
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
+#: ../../mod/connect.php:112
+msgid "Restricted or Premium Channel"
msgstr ""
#: ../../mod/delegate.php:95
@@ -4310,3538 +3829,2863 @@ msgstr ""
msgid "No entries."
msgstr ""
-#: ../../mod/babel.php:17
-msgid "Source (bbcode) text:"
+#: ../../mod/directory.php:125 ../../mod/profiles.php:584
+msgid "Age: "
msgstr ""
-#: ../../mod/babel.php:25
-msgid "Source input: "
+#: ../../mod/directory.php:128
+msgid "Gender: "
msgstr ""
-#: ../../mod/babel.php:29
-msgid "bb2html: "
+#: ../../mod/directory.php:183
+msgid "Finding:"
msgstr ""
-#: ../../mod/babel.php:33
-msgid "bb2html2bb: "
+#: ../../mod/directory.php:191
+msgid "next page"
msgstr ""
-#: ../../mod/babel.php:37
-msgid "bb2md: "
+#: ../../mod/directory.php:191
+msgid "previous page"
msgstr ""
-#: ../../mod/babel.php:41
-msgid "bb2md2html: "
+#: ../../mod/directory.php:198
+msgid "No entries (some entries may be hidden)."
msgstr ""
-#: ../../mod/babel.php:45
-msgid "bb2dia2bb: "
+#: ../../mod/dirfind.php:26
+msgid "People Search"
msgstr ""
-#: ../../mod/babel.php:49
-msgid "bb2md2html2bb: "
+#: ../../mod/dirfind.php:60 ../../mod/match.php:65
+msgid "No matches"
msgstr ""
-#: ../../mod/suggest.php:38 ../../view/theme/diabook/theme.php:626
-#: ../../include/contact_widgets.php:34
-msgid "Friend Suggestions"
+#: ../../mod/mitem.php:13 ../../mod/menu.php:87
+msgid "Menu not found."
msgstr ""
-#: ../../mod/suggest.php:44
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
+#: ../../mod/mitem.php:66
+msgid "Menu element updated."
msgstr ""
-#: ../../mod/suggest.php:61
-msgid "Ignore/Hide"
+#: ../../mod/mitem.php:70
+msgid "Unable to update menu element."
msgstr ""
-#: ../../mod/directory.php:47 ../../view/theme/diabook/theme.php:624
-msgid "Global Directory"
+#: ../../mod/mitem.php:76
+msgid "Menu element added."
msgstr ""
-#: ../../mod/directory.php:55
-msgid "Find on this site"
+#: ../../mod/mitem.php:80
+msgid "Unable to add menu element."
msgstr ""
-#: ../../mod/directory.php:58
-msgid "Site Directory"
+#: ../../mod/mitem.php:97 ../../mod/xchan.php:25 ../../mod/menu.php:113
+msgid "Not found."
msgstr ""
-#: ../../mod/directory.php:112
-msgid "Gender: "
+#: ../../mod/mitem.php:116
+msgid "Manage Menu Elements"
msgstr ""
-#: ../../mod/directory.php:134 ../../include/profile_advanced.php:17
-#: ../../boot.php:1174
-msgid "Gender:"
+#: ../../mod/mitem.php:119
+msgid "Edit menu"
msgstr ""
-#: ../../mod/directory.php:136 ../../include/profile_advanced.php:37
-#: ../../boot.php:1177
-msgid "Status:"
+#: ../../mod/mitem.php:122
+msgid "Edit element"
msgstr ""
-#: ../../mod/directory.php:138 ../../include/profile_advanced.php:48
-#: ../../boot.php:1179
-msgid "Homepage:"
+#: ../../mod/mitem.php:123
+msgid "Drop element"
msgstr ""
-#: ../../mod/directory.php:140 ../../include/profile_advanced.php:58
-msgid "About:"
+#: ../../mod/mitem.php:124
+msgid "New element"
msgstr ""
-#: ../../mod/directory.php:178
-msgid "No entries (some entries may be hidden)."
+#: ../../mod/mitem.php:125
+msgid "Edit this menu container"
msgstr ""
-#: ../../mod/invite.php:35
-#, php-format
-msgid "%s : Not a valid email address."
+#: ../../mod/mitem.php:126
+msgid "Add menu element"
msgstr ""
-#: ../../mod/invite.php:59
-msgid "Please join us on Friendica"
+#: ../../mod/mitem.php:127
+msgid "Delete this menu item"
msgstr ""
-#: ../../mod/invite.php:69
-#, php-format
-msgid "%s : Message delivery failed."
+#: ../../mod/mitem.php:128
+msgid "Edit this menu item"
msgstr ""
-#: ../../mod/invite.php:73
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../mod/invite.php:92
-msgid "You have no more invitations available"
+#: ../../mod/mitem.php:141
+msgid "New Menu Element"
msgstr ""
-#: ../../mod/invite.php:100
-#, php-format
-msgid ""
-"Visit %s for a list of public sites that you can join. Friendica members on "
-"other sites can all connect with each other, as well as with members of many "
-"other social networks."
+#: ../../mod/mitem.php:143 ../../mod/mitem.php:184
+msgid "Link text"
msgstr ""
-#: ../../mod/invite.php:102
-#, php-format
-msgid ""
-"To accept this invitation, please visit and register at %s or any other "
-"public Friendica website."
+#: ../../mod/mitem.php:144 ../../mod/mitem.php:185
+msgid "URL of link"
msgstr ""
-#: ../../mod/invite.php:103
-#, php-format
-msgid ""
-"Friendica sites all inter-connect to create a huge privacy-enhanced social "
-"web that is owned and controlled by its members. They can also connect with "
-"many traditional social networks. See %s for a list of alternate Friendica "
-"sites you can join."
+#: ../../mod/mitem.php:145 ../../mod/mitem.php:186
+msgid "Use Red magic-auth if available"
msgstr ""
-#: ../../mod/invite.php:106
-msgid ""
-"Our apologies. This system is not currently configured to connect with other "
-"public sites or invite members."
+#: ../../mod/mitem.php:146 ../../mod/mitem.php:187
+msgid "Open link in new window"
msgstr ""
-#: ../../mod/invite.php:111
-msgid "Send invitations"
+#: ../../mod/mitem.php:148 ../../mod/mitem.php:189
+msgid "Order in list"
msgstr ""
-#: ../../mod/invite.php:112
-msgid "Enter email addresses, one per line:"
+#: ../../mod/mitem.php:148 ../../mod/mitem.php:189
+msgid "Higher numbers will sink to bottom of listing"
msgstr ""
-#: ../../mod/invite.php:114
-msgid ""
-"You are cordially invited to join me and other close friends on Friendica - "
-"and help us to create a better social web."
+#: ../../mod/mitem.php:149 ../../mod/menu.php:79 ../../mod/new_channel.php:117
+msgid "Create"
msgstr ""
-#: ../../mod/invite.php:116
-msgid "You will need to supply this invitation code: $invite_code"
+#: ../../mod/mitem.php:161
+msgid "Menu item not found."
msgstr ""
-#: ../../mod/invite.php:116
-msgid ""
-"Once you have registered, please connect with me via my profile page at:"
+#: ../../mod/mitem.php:170
+msgid "Menu item deleted."
msgstr ""
-#: ../../mod/invite.php:118
-msgid ""
-"For more information about the Friendica project and why we feel it is "
-"important, please visit http://friendica.com"
+#: ../../mod/mitem.php:172
+msgid "Menu item could not be deleted."
msgstr ""
-#: ../../mod/dfrn_confirm.php:119
-msgid ""
-"This may occasionally happen if contact was requested by both persons and it "
-"has already been approved."
+#: ../../mod/mitem.php:181
+msgid "Edit Menu Element"
msgstr ""
-#: ../../mod/dfrn_confirm.php:237
-msgid "Response from remote site was not understood."
+#: ../../mod/mitem.php:190 ../../mod/menu.php:107
+msgid "Modify"
msgstr ""
-#: ../../mod/dfrn_confirm.php:246
-msgid "Unexpected response from remote site: "
+#: ../../mod/group.php:26
+msgid "Collection created."
msgstr ""
-#: ../../mod/dfrn_confirm.php:254
-msgid "Confirmation completed successfully."
+#: ../../mod/group.php:32
+msgid "Could not create collection."
msgstr ""
-#: ../../mod/dfrn_confirm.php:256 ../../mod/dfrn_confirm.php:270
-#: ../../mod/dfrn_confirm.php:277
-msgid "Remote site reported: "
+#: ../../mod/group.php:60
+msgid "Collection name changed."
msgstr ""
-#: ../../mod/dfrn_confirm.php:268
-msgid "Temporary failure. Please wait and try again."
+#: ../../mod/group.php:92
+msgid "Create a collection of channels."
msgstr ""
-#: ../../mod/dfrn_confirm.php:275
-msgid "Introduction failed or was revoked."
+#: ../../mod/group.php:93 ../../mod/group.php:189
+msgid "Collection Name: "
msgstr ""
-#: ../../mod/dfrn_confirm.php:420
-msgid "Unable to set contact photo."
+#: ../../mod/group.php:95 ../../mod/group.php:192
+msgid "Members are visible to other channels"
msgstr ""
-#: ../../mod/dfrn_confirm.php:477 ../../include/diaspora.php:577
-#: ../../include/conversation.php:101
-#, php-format
-msgid "%1$s is now friends with %2$s"
+#: ../../mod/group.php:113
+msgid "Collection removed."
msgstr ""
-#: ../../mod/dfrn_confirm.php:562
-#, php-format
-msgid "No user record found for '%s' "
+#: ../../mod/group.php:115
+msgid "Unable to remove collection."
msgstr ""
-#: ../../mod/dfrn_confirm.php:572
-msgid "Our site encryption key is apparently messed up."
+#: ../../mod/group.php:188
+msgid "Collection Editor"
msgstr ""
-#: ../../mod/dfrn_confirm.php:583
-msgid "Empty site URL was provided or URL could not be decrypted by us."
+#: ../../mod/group.php:202
+msgid "Members"
msgstr ""
-#: ../../mod/dfrn_confirm.php:604
-msgid "Contact record was not found for you on our site."
+#: ../../mod/group.php:204
+msgid "All Connected Channels"
msgstr ""
-#: ../../mod/dfrn_confirm.php:618
-#, php-format
-msgid "Site public key not available in contact record for URL %s."
+#: ../../mod/group.php:237
+msgid "Click on a channel to add or remove."
msgstr ""
-#: ../../mod/dfrn_confirm.php:638
-msgid ""
-"The ID provided by your system is a duplicate on our system. It should work "
-"if you try again."
+#: ../../mod/photos.php:83
+msgid "Page owner information could not be retrieved."
msgstr ""
-#: ../../mod/dfrn_confirm.php:649
-msgid "Unable to set your contact credentials on our system."
+#: ../../mod/photos.php:103
+msgid "Album not found."
msgstr ""
-#: ../../mod/dfrn_confirm.php:716
-msgid "Unable to update your contact profile details on our system"
+#: ../../mod/photos.php:125 ../../mod/photos.php:773
+msgid "Delete Album"
msgstr ""
-#: ../../mod/dfrn_confirm.php:750
-#, php-format
-msgid "Connection accepted at %s"
+#: ../../mod/photos.php:165 ../../mod/photos.php:1038
+msgid "Delete Photo"
msgstr ""
-#: ../../mod/dfrn_confirm.php:799
+#: ../../mod/photos.php:495
#, php-format
-msgid "%1$s has joined %2$s"
+msgid "%1$s was tagged in %2$s by %3$s"
msgstr ""
-#: ../../addon/fromgplus/fromgplus.php:29
-msgid "Google+ Import Settings"
+#: ../../mod/photos.php:495
+msgid "a photo"
msgstr ""
-#: ../../addon/fromgplus/fromgplus.php:32
-msgid "Enable Google+ Import"
+#: ../../mod/photos.php:571
+msgid "No photos selected"
msgstr ""
-#: ../../addon/fromgplus/fromgplus.php:35
-msgid "Google Account ID"
+#: ../../mod/photos.php:625
+msgid "Access to this item is restricted."
msgstr ""
-#: ../../addon/fromgplus/fromgplus.php:55
-msgid "Google+ Import Settings saved."
+#: ../../mod/photos.php:689
+#, php-format
+msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
msgstr ""
-#: ../../addon/facebook/facebook.php:523
-msgid "Facebook disabled"
+#: ../../mod/photos.php:692
+#, php-format
+msgid "You have used %1$.2f Mbytes of photo storage."
msgstr ""
-#: ../../addon/facebook/facebook.php:528
-msgid "Updating contacts"
+#: ../../mod/photos.php:700
+msgid "Upload Photos"
msgstr ""
-#: ../../addon/facebook/facebook.php:551
-msgid "Facebook API key is missing."
+#: ../../mod/photos.php:704 ../../mod/photos.php:768
+msgid "New album name: "
msgstr ""
-#: ../../addon/facebook/facebook.php:558
-msgid "Facebook Connect"
+#: ../../mod/photos.php:705
+msgid "or existing album name: "
msgstr ""
-#: ../../addon/facebook/facebook.php:564
-msgid "Install Facebook connector for this account."
+#: ../../mod/photos.php:706
+msgid "Do not show a status post for this upload"
msgstr ""
-#: ../../addon/facebook/facebook.php:571
-msgid "Remove Facebook connector"
+#: ../../mod/photos.php:708 ../../mod/photos.php:1033
+msgid "Permissions"
msgstr ""
-#: ../../addon/facebook/facebook.php:576
-msgid ""
-"Re-authenticate [This is necessary whenever your Facebook password is "
-"changed.]"
+#: ../../mod/photos.php:757 ../../mod/photos.php:779 ../../mod/photos.php:1205
+#: ../../mod/photos.php:1220
+msgid "Contact Photos"
msgstr ""
-#: ../../addon/facebook/facebook.php:583
-msgid "Post to Facebook by default"
+#: ../../mod/photos.php:783
+msgid "Edit Album"
msgstr ""
-#: ../../addon/facebook/facebook.php:589
-msgid ""
-"Facebook friend linking has been disabled on this site. The following "
-"settings will have no effect."
+#: ../../mod/photos.php:789
+msgid "Show Newest First"
msgstr ""
-#: ../../addon/facebook/facebook.php:593
-msgid ""
-"Facebook friend linking has been disabled on this site. If you disable it, "
-"you will be unable to re-enable it."
+#: ../../mod/photos.php:791
+msgid "Show Oldest First"
msgstr ""
-#: ../../addon/facebook/facebook.php:596
-msgid "Link all your Facebook friends and conversations on this website"
+#: ../../mod/photos.php:835 ../../mod/photos.php:1252
+msgid "View Photo"
msgstr ""
-#: ../../addon/facebook/facebook.php:598
-msgid ""
-"Facebook conversations consist of your <em>profile wall</em> and your friend "
-"<em>stream</em>."
+#: ../../mod/photos.php:879
+msgid "Permission denied. Access to this item may be restricted."
msgstr ""
-#: ../../addon/facebook/facebook.php:599
-msgid "On this website, your Facebook friend stream is only visible to you."
+#: ../../mod/photos.php:881
+msgid "Photo not available"
msgstr ""
-#: ../../addon/facebook/facebook.php:600
-msgid ""
-"The following settings determine the privacy of your Facebook profile wall "
-"on this website."
+#: ../../mod/photos.php:939
+msgid "Use as profile photo"
msgstr ""
-#: ../../addon/facebook/facebook.php:604
-msgid ""
-"On this website your Facebook profile wall conversations will only be "
-"visible to you"
+#: ../../mod/photos.php:967
+msgid "View Full Size"
msgstr ""
-#: ../../addon/facebook/facebook.php:609
-msgid "Do not import your Facebook profile wall conversations"
+#: ../../mod/photos.php:1021
+msgid "Edit photo"
msgstr ""
-#: ../../addon/facebook/facebook.php:611
-msgid ""
-"If you choose to link conversations and leave both of these boxes unchecked, "
-"your Facebook profile wall will be merged with your profile wall on this "
-"website and your privacy settings on this website will be used to determine "
-"who may see the conversations."
+#: ../../mod/photos.php:1023
+msgid "Rotate CW (right)"
msgstr ""
-#: ../../addon/facebook/facebook.php:616
-msgid "Comma separated applications to ignore"
+#: ../../mod/photos.php:1024
+msgid "Rotate CCW (left)"
msgstr ""
-#: ../../addon/facebook/facebook.php:700
-msgid "Problems with Facebook Real-Time Updates"
+#: ../../mod/photos.php:1026
+msgid "New album name"
msgstr ""
-#: ../../addon/facebook/facebook.php:729
-msgid "Facebook Connector Settings"
+#: ../../mod/photos.php:1029
+msgid "Caption"
msgstr ""
-#: ../../addon/facebook/facebook.php:744
-msgid "Facebook API Key"
+#: ../../mod/photos.php:1031
+msgid "Add a Tag"
msgstr ""
-#: ../../addon/facebook/facebook.php:754
-msgid ""
-"Error: it appears that you have specified the App-ID and -Secret in your ."
-"htconfig.php file. As long as they are specified there, they cannot be set "
-"using this form.<br><br>"
+#: ../../mod/photos.php:1035
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
msgstr ""
-#: ../../addon/facebook/facebook.php:759
-msgid ""
-"Error: the given API Key seems to be incorrect (the application access token "
-"could not be retrieved)."
+#: ../../mod/photos.php:1258
+msgid "View Album"
msgstr ""
-#: ../../addon/facebook/facebook.php:761
-msgid "The given API Key seems to work correctly."
+#: ../../mod/photos.php:1267
+msgid "Recent Photos"
msgstr ""
-#: ../../addon/facebook/facebook.php:763
-msgid ""
-"The correctness of the API Key could not be detected. Something strange's "
-"going on."
+#: ../../mod/ping.php:160
+msgid "sent you a private message"
msgstr ""
-#: ../../addon/facebook/facebook.php:766
-msgid "App-ID / API-Key"
+#: ../../mod/ping.php:218
+msgid "added your channel"
msgstr ""
-#: ../../addon/facebook/facebook.php:767
-msgid "Application secret"
+#: ../../mod/ping.php:230 ../../boot.php:1808 ../../boot.php:1888
+msgid "g A l F d"
msgstr ""
-#: ../../addon/facebook/facebook.php:768
-#, php-format
-msgid "Polling Interval in minutes (minimum %1$s minutes)"
+#: ../../mod/ping.php:252 ../../boot.php:1854 ../../boot.php:1929
+msgid "[today]"
msgstr ""
-#: ../../addon/facebook/facebook.php:769
-msgid ""
-"Synchronize comments (no comments on Facebook are missed, at the cost of "
-"increased system load)"
+#: ../../mod/ping.php:262
+msgid "posted an event"
msgstr ""
-#: ../../addon/facebook/facebook.php:773
-msgid "Real-Time Updates"
+#: ../../mod/filer.php:35
+msgid "- select -"
msgstr ""
-#: ../../addon/facebook/facebook.php:777
-msgid "Real-Time Updates are activated."
+#: ../../mod/menu.php:17
+msgid "Menu updated."
msgstr ""
-#: ../../addon/facebook/facebook.php:778
-msgid "Deactivate Real-Time Updates"
+#: ../../mod/menu.php:21
+msgid "Unable to update menu."
msgstr ""
-#: ../../addon/facebook/facebook.php:780
-msgid "Real-Time Updates not activated."
+#: ../../mod/menu.php:26
+msgid "Menu created."
msgstr ""
-#: ../../addon/facebook/facebook.php:780
-msgid "Activate Real-Time Updates"
+#: ../../mod/menu.php:30
+msgid "Unable to create menu."
msgstr ""
-#: ../../addon/facebook/facebook.php:799 ../../addon/dav/layout.fnk.php:360
-msgid "The new values have been saved."
+#: ../../mod/menu.php:53
+msgid "Manage Menus"
msgstr ""
-#: ../../addon/facebook/facebook.php:823
-msgid "Post to Facebook"
+#: ../../mod/menu.php:56
+msgid "Drop"
msgstr ""
-#: ../../addon/facebook/facebook.php:921
-msgid ""
-"Post to Facebook cancelled because of multi-network access permission "
-"conflict."
+#: ../../mod/menu.php:57 ../../mod/network.php:298
+#: ../../mod/connections.php:521
+msgid "New"
msgstr ""
-#: ../../addon/facebook/facebook.php:1141
-msgid "View on Friendica"
+#: ../../mod/menu.php:58
+msgid "Create a new menu"
msgstr ""
-#: ../../addon/facebook/facebook.php:1174
-msgid "Facebook post failed. Queued for retry."
+#: ../../mod/menu.php:59
+msgid "Delete this menu"
msgstr ""
-#: ../../addon/facebook/facebook.php:1214
-msgid "Your Facebook connection became invalid. Please Re-authenticate."
+#: ../../mod/menu.php:60 ../../mod/menu.php:104
+msgid "Edit menu contents"
msgstr ""
-#: ../../addon/facebook/facebook.php:1215
-msgid "Facebook connection became invalid"
+#: ../../mod/menu.php:61
+msgid "Edit this menu"
msgstr ""
-#: ../../addon/facebook/facebook.php:1216
-#, php-format
-msgid ""
-"Hi %1$s,\n"
-"\n"
-"The connection between your accounts on %2$s and Facebook became invalid. "
-"This usually happens after you change your Facebook-password. To enable the "
-"connection again, you have to %3$sre-authenticate the Facebook-connector%4$s."
+#: ../../mod/menu.php:76
+msgid "New Menu"
msgstr ""
-#: ../../addon/snautofollow/snautofollow.php:32
-msgid "StatusNet AutoFollow settings updated."
+#: ../../mod/menu.php:77 ../../mod/menu.php:105
+msgid "Menu name"
msgstr ""
-#: ../../addon/snautofollow/snautofollow.php:56
-msgid "StatusNet AutoFollow Settings"
+#: ../../mod/menu.php:77 ../../mod/menu.php:105
+msgid "Must be unique, only seen by you"
msgstr ""
-#: ../../addon/snautofollow/snautofollow.php:58
-msgid "Automatically follow any StatusNet followers/mentioners"
+#: ../../mod/menu.php:78 ../../mod/menu.php:106
+msgid "Menu title"
msgstr ""
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:184
-msgid "Lifetime of the cache (in hours)"
+#: ../../mod/menu.php:78 ../../mod/menu.php:106
+msgid "Menu title as seen by others"
msgstr ""
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:189
-msgid "Cache Statistics"
+#: ../../mod/menu.php:93
+msgid "Menu deleted."
msgstr ""
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:192
-msgid "Number of items"
+#: ../../mod/menu.php:95
+msgid "Menu could not be deleted."
msgstr ""
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:194
-msgid "Size of the cache"
+#: ../../mod/menu.php:101
+msgid "Edit Menu"
msgstr ""
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:196
-msgid "Delete the whole cache"
+#: ../../mod/menu.php:103
+msgid "Add or remove entries to this menu"
msgstr ""
-#: ../../addon/widgets/widget_like.php:58
-#, php-format
-msgid "%d person likes this"
-msgid_plural "%d people like this"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../addon/widgets/widget_like.php:61
+#: ../../mod/home.php:76
#, php-format
-msgid "%d person doesn't like this"
-msgid_plural "%d people don't like this"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../addon/widgets/widget_friendheader.php:40
-msgid "Get added to this list!"
-msgstr ""
-
-#: ../../addon/widgets/widgets.php:56
-msgid "Generate new key"
+msgid "Welcome to %s"
msgstr ""
-#: ../../addon/widgets/widgets.php:59
-msgid "Widgets key"
+#: ../../mod/message.php:16
+msgid "Check Mail"
msgstr ""
-#: ../../addon/widgets/widgets.php:61
-msgid "Widgets available"
+#: ../../mod/message.php:52
+msgid "Unable to lookup recipient."
msgstr ""
-#: ../../addon/widgets/widget_friends.php:40
-msgid "Connect on Friendica!"
+#: ../../mod/message.php:60
+msgid "Unable to communicate with requested channel."
msgstr ""
-#: ../../addon/yourls/yourls.php:55
-msgid "YourLS Settings"
+#: ../../mod/message.php:67
+msgid "Cannot verify requested channel."
msgstr ""
-#: ../../addon/yourls/yourls.php:57
-msgid "URL: http://"
+#: ../../mod/message.php:93
+msgid "Selected channel has private message restrictions. Send failed."
msgstr ""
-#: ../../addon/yourls/yourls.php:62
-msgid "Username:"
+#: ../../mod/message.php:213 ../../mod/notifications.php:101
+msgid "Messages"
msgstr ""
-#: ../../addon/yourls/yourls.php:67
-msgid "Password:"
+#: ../../mod/message.php:224
+msgid "Message deleted."
msgstr ""
-#: ../../addon/yourls/yourls.php:72
-msgid "Use SSL "
+#: ../../mod/message.php:231
+msgid "Conversation removed."
msgstr ""
-#: ../../addon/yourls/yourls.php:92
-msgid "yourls Settings saved."
+#: ../../mod/message.php:282
+msgid "Send Private Message"
msgstr ""
-#: ../../addon/ljpost/ljpost.php:39
-msgid "Post to LiveJournal"
+#: ../../mod/message.php:283 ../../mod/message.php:448
+msgid "To:"
msgstr ""
-#: ../../addon/ljpost/ljpost.php:70
-msgid "LiveJournal Post Settings"
+#: ../../mod/message.php:288 ../../mod/message.php:450
+msgid "Subject:"
msgstr ""
-#: ../../addon/ljpost/ljpost.php:72
-msgid "Enable LiveJournal Post Plugin"
+#: ../../mod/message.php:317
+msgid "No messages."
msgstr ""
-#: ../../addon/ljpost/ljpost.php:77
-msgid "LiveJournal username"
+#: ../../mod/message.php:333 ../../mod/message.php:419
+msgid "Delete message"
msgstr ""
-#: ../../addon/ljpost/ljpost.php:82
-msgid "LiveJournal password"
+#: ../../mod/message.php:335
+msgid "D, d M Y - g:i A"
msgstr ""
-#: ../../addon/ljpost/ljpost.php:87
-msgid "Post to LiveJournal by default"
+#: ../../mod/message.php:354
+msgid "Message not found."
msgstr ""
-#: ../../addon/nsfw/nsfw.php:47
-msgid "Not Safe For Work (General Purpose Content Filter) settings"
+#: ../../mod/message.php:441
+msgid "Delete conversation"
msgstr ""
-#: ../../addon/nsfw/nsfw.php:49
+#: ../../mod/message.php:443
msgid ""
-"This plugin looks in posts for the words/text you specify below, and "
-"collapses any content containing those keywords so it is not displayed at "
-"inappropriate times, such as sexual innuendo that may be improper in a work "
-"setting. It is polite and recommended to tag any content containing nudity "
-"with #NSFW. This filter can also match any other word/text you specify, and "
-"can thereby be used as a general purpose content filter."
-msgstr ""
-
-#: ../../addon/nsfw/nsfw.php:50
-msgid "Enable Content filter"
-msgstr ""
-
-#: ../../addon/nsfw/nsfw.php:53
-msgid "Comma separated list of keywords to hide"
-msgstr ""
-
-#: ../../addon/nsfw/nsfw.php:58
-msgid "Use /expression/ to provide regular expressions"
-msgstr ""
-
-#: ../../addon/nsfw/nsfw.php:74
-msgid "NSFW Settings saved."
-msgstr ""
-
-#: ../../addon/nsfw/nsfw.php:121
-#, php-format
-msgid "%s - Click to open/close"
-msgstr ""
-
-#: ../../addon/page/page.php:61 ../../addon/page/page.php:91
-msgid "Forums"
-msgstr ""
-
-#: ../../addon/page/page.php:129
-msgid "Forums:"
-msgstr ""
-
-#: ../../addon/page/page.php:165
-msgid "Page settings updated."
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
msgstr ""
-#: ../../addon/page/page.php:194
-msgid "Page Settings"
+#: ../../mod/message.php:447
+msgid "Send Reply"
msgstr ""
-#: ../../addon/page/page.php:196
-msgid "How many forums to display on sidebar without paging"
+#: ../../mod/hcard.php:10
+msgid "No profile"
msgstr ""
-#: ../../addon/page/page.php:199
-msgid "Randomise Page/Forum list"
+#: ../../mod/help.php:30
+msgid "Help:"
msgstr ""
-#: ../../addon/page/page.php:202
-msgid "Show pages/forums on profile page"
+#: ../../mod/help.php:38 ../../index.php:226
+msgid "Not Found"
msgstr ""
-#: ../../addon/planets/planets.php:150
-msgid "Planets Settings"
+#: ../../mod/help.php:41 ../../index.php:229
+msgid "Page not found."
msgstr ""
-#: ../../addon/planets/planets.php:152
-msgid "Enable Planets Plugin"
+#: ../../mod/rmagic.php:56
+msgid "Remote Authentication"
msgstr ""
-#: ../../addon/communityhome/communityhome.php:28
-#: ../../addon/communityhome/communityhome.php:34
-#: ../../addon/communityhome/twillingham/communityhome.php:28
-#: ../../addon/communityhome/twillingham/communityhome.php:34
-#: ../../include/nav.php:64 ../../boot.php:885
-msgid "Login"
+#: ../../mod/rmagic.php:57
+msgid "Enter your channel address (e.g. channel@example.com)"
msgstr ""
-#: ../../addon/communityhome/communityhome.php:29
-#: ../../addon/communityhome/twillingham/communityhome.php:29
-msgid "OpenID"
+#: ../../mod/rmagic.php:58
+msgid "Authenticate"
msgstr ""
-#: ../../addon/communityhome/communityhome.php:38
-#: ../../addon/communityhome/twillingham/communityhome.php:38
-msgid "Latest users"
+#: ../../mod/network.php:141 ../../mod/search.php:20
+msgid "Remove term"
msgstr ""
-#: ../../addon/communityhome/communityhome.php:81
-#: ../../addon/communityhome/twillingham/communityhome.php:81
-msgid "Most active users"
+#: ../../mod/network.php:279
+msgid "Commented Order"
msgstr ""
-#: ../../addon/communityhome/communityhome.php:98
-msgid "Latest photos"
+#: ../../mod/network.php:282
+msgid "Sort by Comment Date"
msgstr ""
-#: ../../addon/communityhome/communityhome.php:133
-msgid "Latest likes"
+#: ../../mod/network.php:285
+msgid "Posted Order"
msgstr ""
-#: ../../addon/communityhome/communityhome.php:155
-#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1319
-#: ../../include/conversation.php:45 ../../include/conversation.php:118
-msgid "event"
+#: ../../mod/network.php:288
+msgid "Sort by Post Date"
msgstr ""
-#: ../../addon/dav/common/wdcal_configuration.php:126
-msgid "U.S. Time Format (mm/dd/YYYY)"
+#: ../../mod/network.php:292 ../../mod/notifications.php:86
+msgid "Personal"
msgstr ""
-#: ../../addon/dav/common/wdcal_configuration.php:205
-msgid "German Time Format (dd.mm.YYYY)"
+#: ../../mod/network.php:295
+msgid "Posts that mention or involve you"
msgstr ""
-#: ../../addon/dav/common/calendar.fnk.php:517
-#: ../../addon/dav/common/calendar.fnk.php:533
-#: ../../addon/dav/layout.fnk.php:200
-msgid "Error"
+#: ../../mod/network.php:301
+msgid "Activity Stream - by date"
msgstr ""
-#: ../../addon/dav/common/calendar.fnk.php:568
-#: ../../addon/dav/common/calendar.fnk.php:637
-#: ../../addon/dav/common/calendar.fnk.php:664
-#: ../../addon/dav/layout.fnk.php:231
-msgid "No access"
+#: ../../mod/network.php:308
+msgid "Starred"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:119
-msgid "New event"
+#: ../../mod/network.php:311
+msgid "Favourite Posts"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:123
-msgid "Today"
+#: ../../mod/network.php:318
+msgid "Spam"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:132
-msgid "Day"
+#: ../../mod/network.php:321
+msgid "Posts flagged as SPAM"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:139
-msgid "Week"
+#: ../../mod/network.php:361
+msgid "Refresh"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:146
-msgid "Month"
+#: ../../mod/network.php:362 ../../mod/connections.php:374
+msgid "Me"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:151
-msgid "Reload"
+#: ../../mod/network.php:363 ../../mod/connections.php:376
+msgid "Best Friends"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:162
-msgid "Date"
+#: ../../mod/network.php:365
+msgid "Co-workers"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:224
-msgid "Not found"
+#: ../../mod/network.php:366 ../../mod/connections.php:378
+msgid "Former Friends"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:292 ../../addon/dav/layout.fnk.php:365
-msgid "Go back to the calendar"
+#: ../../mod/network.php:367 ../../mod/connections.php:379
+msgid "Acquaintances"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:300
-msgid "Starts"
+#: ../../mod/network.php:368
+msgid "Everybody"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:305
-msgid "Ends"
+#: ../../mod/network.php:385
+msgid "Search Results For:"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:312
-msgid "Description"
+#: ../../mod/network.php:430
+msgid "No such group"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:315
-msgid "Notification"
+#: ../../mod/network.php:441
+msgid "Group is empty"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:324
-msgid "Minutes"
+#: ../../mod/network.php:456
+msgid "Contact: "
msgstr ""
-#: ../../addon/dav/layout.fnk.php:327
-msgid "Hours"
+#: ../../mod/network.php:459
+msgid "Invalid contact."
msgstr ""
-#: ../../addon/dav/layout.fnk.php:330
-msgid "Days"
+#: ../../mod/intro.php:11 ../../mod/intro.php:98 ../../mod/admin.php:638
+#: ../../mod/notifications.php:159 ../../mod/notifications.php:206
+msgid "Approve"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:331
-msgid "before"
+#: ../../mod/intro.php:14 ../../mod/intro.php:99 ../../mod/connections.php:318
+#: ../../mod/connections.php:459 ../../mod/admin.php:641
+msgid "Block"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:367
-msgid "Calendar Settings"
+#: ../../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 ""
-#: ../../addon/dav/layout.fnk.php:373
-msgid "Date format"
+#: ../../mod/intro.php:29 ../../mod/connections.php:119
+msgid "Connection updated."
msgstr ""
-#: ../../addon/dav/layout.fnk.php:382
-msgid "Time zone"
+#: ../../mod/intro.php:31
+msgid "Connection update failed."
msgstr ""
-#: ../../addon/dav/layout.fnk.php:387
-msgid "Limitations"
+#: ../../mod/intro.php:56
+msgid "Introductions and Connection Requests"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:391
-msgid "Warning"
+#: ../../mod/intro.php:67
+msgid "No pending introductions."
msgstr ""
-#: ../../addon/dav/layout.fnk.php:395
-msgid "Synchronization (iPhone, Thunderbird Lightning, Android, ...)"
+#: ../../mod/intro.php:72
+msgid "System error. Please try again later."
msgstr ""
-#: ../../addon/dav/layout.fnk.php:402
-msgid "Synchronizing this calendar with the iPhone"
+#: ../../mod/intro.php:95 ../../mod/connections.php:465
+#: ../../mod/notifications.php:155 ../../mod/notifications.php:202
+msgid "Hide this contact from others"
msgstr ""
-#: ../../addon/dav/layout.fnk.php:413
-msgid "Synchronizing your Friendica-Contacts with the iPhone"
+#: ../../mod/intro.php:96 ../../mod/notifications.php:156
+#: ../../mod/notifications.php:203
+msgid "Post a new friend activity"
msgstr ""
-#: ../../addon/dav/dav_carddav_backend_friendica_community.inc.php:37
-msgid "Friendica-Contacts"
+#: ../../mod/intro.php:96 ../../mod/notifications.php:156
+#: ../../mod/notifications.php:203
+msgid "if applicable"
msgstr ""
-#: ../../addon/dav/dav_carddav_backend_friendica_community.inc.php:38
-msgid "Your Friendica-Contacts"
+#: ../../mod/intro.php:101 ../../mod/notifications.php:35
+#: ../../mod/notifications.php:163 ../../mod/notifications.php:209
+msgid "Discard"
msgstr ""
-#: ../../addon/dav/main.php:244
-msgid "Calendar"
+#: ../../mod/connections.php:64
+msgid "Could not access contact record."
msgstr ""
-#: ../../addon/dav/main.php:247
-msgid "Extended calendar with CalDAV-support"
+#: ../../mod/connections.php:78
+msgid "Could not locate selected profile."
msgstr ""
-#: ../../addon/dav/main.php:263
-msgid "The database tables have been installed."
+#: ../../mod/connections.php:121
+msgid "Failed to update connection record."
msgstr ""
-#: ../../addon/dav/main.php:264
-msgid "An error occurred during the installation."
+#: ../../mod/connections.php:196
+msgid "Could not access address book record."
msgstr ""
-#: ../../addon/dav/main.php:280
-msgid "No system-wide settings yet."
+#: ../../mod/connections.php:210
+msgid "Refresh failed - channel is currently unavailable."
msgstr ""
-#: ../../addon/dav/main.php:283
-msgid "Database status"
+#: ../../mod/connections.php:217
+msgid "Channel has been unblocked"
msgstr ""
-#: ../../addon/dav/main.php:286
-msgid "Installed"
+#: ../../mod/connections.php:218
+msgid "Channel has been blocked"
msgstr ""
-#: ../../addon/dav/main.php:289
-msgid "Upgrade needed"
+#: ../../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 ""
-#: ../../addon/dav/main.php:289
-msgid "Upgrade"
+#: ../../mod/connections.php:229
+msgid "Channel has been unignored"
msgstr ""
-#: ../../addon/dav/main.php:292
-msgid "Not installed"
+#: ../../mod/connections.php:230
+msgid "Channel has been ignored"
msgstr ""
-#: ../../addon/dav/main.php:292
-msgid "Install"
+#: ../../mod/connections.php:241
+msgid "Channel has been unarchived"
msgstr ""
-#: ../../addon/dav/main.php:297
-msgid "Troubleshooting"
+#: ../../mod/connections.php:242
+msgid "Channel has been archived"
msgstr ""
-#: ../../addon/dav/main.php:298
-msgid "Manual creation of the database tables:"
+#: ../../mod/connections.php:253
+msgid "Channel has been unhidden"
msgstr ""
-#: ../../addon/dav/main.php:299
-msgid "Show SQL-statements"
+#: ../../mod/connections.php:254
+msgid "Channel has been hidden"
msgstr ""
-#: ../../addon/dav/calendar.friendica.fnk.php:151
-msgid "Private Calendar"
+#: ../../mod/connections.php:268
+msgid "Channel has been approved"
msgstr ""
-#: ../../addon/dav/calendar.friendica.fnk.php:158
-msgid "Friendica Events: Mine"
+#: ../../mod/connections.php:269
+msgid "Channel has been unapproved"
msgstr ""
-#: ../../addon/dav/calendar.friendica.fnk.php:161
-msgid "Friendica Events: Contacts"
+#: ../../mod/connections.php:287
+msgid "Contact has been removed."
msgstr ""
-#: ../../addon/uhremotestorage/uhremotestorage.php:84
+#: ../../mod/connections.php:307
#, php-format
-msgid ""
-"Allow to use your friendica id (%s) to connecto to external unhosted-enabled "
-"storage (like ownCloud). See <a href=\"http://www.w3.org/community/unhosted/"
-"wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>"
-msgstr ""
-
-#: ../../addon/uhremotestorage/uhremotestorage.php:85
-msgid "Template URL (with {category})"
-msgstr ""
-
-#: ../../addon/uhremotestorage/uhremotestorage.php:86
-msgid "OAuth end-point"
-msgstr ""
-
-#: ../../addon/uhremotestorage/uhremotestorage.php:87
-msgid "Api"
-msgstr ""
-
-#: ../../addon/membersince/membersince.php:18
-msgid "Member since:"
-msgstr ""
-
-#: ../../addon/tictac/tictac.php:20
-msgid "Three Dimensional Tic-Tac-Toe"
-msgstr ""
-
-#: ../../addon/tictac/tictac.php:53
-msgid "3D Tic-Tac-Toe"
-msgstr ""
-
-#: ../../addon/tictac/tictac.php:58
-msgid "New game"
+msgid "View %s's profile"
msgstr ""
-#: ../../addon/tictac/tictac.php:59
-msgid "New game with handicap"
+#: ../../mod/connections.php:311
+msgid "Refresh Permissions"
msgstr ""
-#: ../../addon/tictac/tictac.php:60
-msgid ""
-"Three dimensional tic-tac-toe is just like the traditional game except that "
-"it is played on multiple levels simultaneously. "
+#: ../../mod/connections.php:314
+msgid "Fetch updated permissions"
msgstr ""
-#: ../../addon/tictac/tictac.php:61
-msgid ""
-"In this case there are three levels. You win by getting three in a row on "
-"any level, as well as up, down, and diagonally across the different levels."
-msgstr ""
-
-#: ../../addon/tictac/tictac.php:63
-msgid ""
-"The handicap game disables the center position on the middle level because "
-"the player claiming this square often has an unfair advantage."
-msgstr ""
-
-#: ../../addon/tictac/tictac.php:182
-msgid "You go first..."
-msgstr ""
-
-#: ../../addon/tictac/tictac.php:187
-msgid "I'm going first this time..."
-msgstr ""
-
-#: ../../addon/tictac/tictac.php:193
-msgid "You won!"
-msgstr ""
-
-#: ../../addon/tictac/tictac.php:199 ../../addon/tictac/tictac.php:224
-msgid "\"Cat\" game!"
-msgstr ""
-
-#: ../../addon/tictac/tictac.php:222
-msgid "I won!"
-msgstr ""
-
-#: ../../addon/randplace/randplace.php:169
-msgid "Randplace Settings"
-msgstr ""
-
-#: ../../addon/randplace/randplace.php:171
-msgid "Enable Randplace Plugin"
-msgstr ""
-
-#: ../../addon/dwpost/dwpost.php:39
-msgid "Post to Dreamwidth"
-msgstr ""
-
-#: ../../addon/dwpost/dwpost.php:70
-msgid "Dreamwidth Post Settings"
-msgstr ""
-
-#: ../../addon/dwpost/dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
-msgstr ""
-
-#: ../../addon/dwpost/dwpost.php:77
-msgid "dreamwidth username"
-msgstr ""
-
-#: ../../addon/dwpost/dwpost.php:82
-msgid "dreamwidth password"
-msgstr ""
-
-#: ../../addon/dwpost/dwpost.php:87
-msgid "Post to dreamwidth by default"
-msgstr ""
-
-#: ../../addon/drpost/drpost.php:35
-msgid "Post to Drupal"
-msgstr ""
-
-#: ../../addon/drpost/drpost.php:72
-msgid "Drupal Post Settings"
+#: ../../mod/connections.php:318 ../../mod/connections.php:459
+#: ../../mod/admin.php:642
+msgid "Unblock"
msgstr ""
-#: ../../addon/drpost/drpost.php:74
-msgid "Enable Drupal Post Plugin"
+#: ../../mod/connections.php:321
+msgid "Block or Unblock this connection"
msgstr ""
-#: ../../addon/drpost/drpost.php:79
-msgid "Drupal username"
+#: ../../mod/connections.php:325 ../../mod/connections.php:460
+msgid "Unignore"
msgstr ""
-#: ../../addon/drpost/drpost.php:84
-msgid "Drupal password"
+#: ../../mod/connections.php:328
+msgid "Ignore or Unignore this connection"
msgstr ""
-#: ../../addon/drpost/drpost.php:89
-msgid "Post Type - article,page,or blog"
+#: ../../mod/connections.php:331
+msgid "Unarchive"
msgstr ""
-#: ../../addon/drpost/drpost.php:94
-msgid "Drupal site URL"
+#: ../../mod/connections.php:331
+msgid "Archive"
msgstr ""
-#: ../../addon/drpost/drpost.php:99
-msgid "Drupal site uses clean URLS"
+#: ../../mod/connections.php:334
+msgid "Archive or Unarchive this connection"
msgstr ""
-#: ../../addon/drpost/drpost.php:104
-msgid "Post to Drupal by default"
+#: ../../mod/connections.php:337
+msgid "Unhide"
msgstr ""
-#: ../../addon/drpost/drpost.php:184 ../../addon/wppost/wppost.php:201
-#: ../../addon/blogger/blogger.php:172 ../../addon/posterous/posterous.php:189
-msgid "Post from Friendica"
+#: ../../mod/connections.php:337
+msgid "Hide"
msgstr ""
-#: ../../addon/startpage/startpage.php:83
-msgid "Startpage Settings"
+#: ../../mod/connections.php:340
+msgid "Hide or Unhide this connection"
msgstr ""
-#: ../../addon/startpage/startpage.php:85
-msgid "Home page to load after login - leave blank for profile wall"
+#: ../../mod/connections.php:347
+msgid "Delete this connection"
msgstr ""
-#: ../../addon/startpage/startpage.php:88
-msgid "Examples: &quot;network&quot; or &quot;notifications/system&quot;"
+#: ../../mod/connections.php:380
+msgid "Unknown"
msgstr ""
-#: ../../addon/geonames/geonames.php:143
-msgid "Geonames settings updated."
+#: ../../mod/connections.php:390 ../../mod/connections.php:418
+msgid "Approve this connection"
msgstr ""
-#: ../../addon/geonames/geonames.php:179
-msgid "Geonames Settings"
+#: ../../mod/connections.php:390
+msgid "Accept connection to allow communication"
msgstr ""
-#: ../../addon/geonames/geonames.php:181
-msgid "Enable Geonames Plugin"
+#: ../../mod/connections.php:406
+msgid "Automatic Permissions Settings"
msgstr ""
-#: ../../addon/public_server/public_server.php:126
-#: ../../addon/testdrive/testdrive.php:94
+#: ../../mod/connections.php:406
#, php-format
-msgid "Your account on %s will expire in a few days."
+msgid "Connections: settings for %s"
msgstr ""
-#: ../../addon/public_server/public_server.php:127
-msgid "Your Friendica account is about to expire."
-msgstr ""
-
-#: ../../addon/public_server/public_server.php:128
-#, php-format
+#: ../../mod/connections.php:410
msgid ""
-"Hi %1$s,\n"
-"\n"
-"Your account on %2$s will expire in less than five days. You may keep your "
-"account by logging in at least once every 30 days"
-msgstr ""
-
-#: ../../addon/js_upload/js_upload.php:43
-msgid "Upload a file"
-msgstr ""
-
-#: ../../addon/js_upload/js_upload.php:44
-msgid "Drop files here to upload"
-msgstr ""
-
-#: ../../addon/js_upload/js_upload.php:46
-msgid "Failed"
+"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 ""
-#: ../../addon/js_upload/js_upload.php:297
-msgid "No files were uploaded."
+#: ../../mod/connections.php:412
+msgid "Slide to adjust your degree of friendship"
msgstr ""
-#: ../../addon/js_upload/js_upload.php:303
-msgid "Uploaded file is empty"
+#: ../../mod/connections.php:419
+msgid "Connection has no individual permissions!"
msgstr ""
-#: ../../addon/js_upload/js_upload.php:326
-msgid "File has an invalid extension, it should be one of "
-msgstr ""
-
-#: ../../addon/js_upload/js_upload.php:337
-msgid "Upload was cancelled, or server error encountered"
-msgstr ""
-
-#: ../../addon/oembed.old/oembed.php:30
-msgid "OEmbed settings updated"
-msgstr ""
-
-#: ../../addon/oembed.old/oembed.php:43
-msgid "Use OEmbed for YouTube videos"
-msgstr ""
-
-#: ../../addon/oembed.old/oembed.php:71
-msgid "URL to embed:"
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:36
-msgid "Impressum"
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:49
-#: ../../addon/impressum/impressum.php:51
-#: ../../addon/impressum/impressum.php:83
-msgid "Site Owner"
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:49
-#: ../../addon/impressum/impressum.php:87
-msgid "Email Address"
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:54
-#: ../../addon/impressum/impressum.php:85
-msgid "Postal Address"
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:60
+#: ../../mod/connections.php:420
msgid ""
-"The impressum addon needs to be configured!<br />Please add at least the "
-"<tt>owner</tt> variable to your config file. For other variables please "
-"refer to the README file of the addon."
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:83
-msgid "The page operators name."
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:84
-msgid "Site Owners Profile"
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:84
-msgid "Profile address of the operator."
+"This may be appropriate based on your <a href=\"settings\">privacy settings</"
+"a>, though you may wish to review the \"Advanced Permissions\"."
msgstr ""
-#: ../../addon/impressum/impressum.php:85
-msgid "How to contact the operator via snail mail. You can use BBCode here."
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:86
-msgid "Notes"
+#: ../../mod/connections.php:422
+msgid "Profile Visibility"
msgstr ""
-#: ../../addon/impressum/impressum.php:86
+#: ../../mod/connections.php:423
+#, php-format
msgid ""
-"Additional notes that are displayed beneath the contact information. You can "
-"use BBCode here."
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:87
-msgid "How to contact the operator via email. (will be displayed obfuscated)"
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:88
-msgid "Footer note"
-msgstr ""
-
-#: ../../addon/impressum/impressum.php:88
-msgid "Text for the footer. You can use BBCode here."
-msgstr ""
-
-#: ../../addon/buglink/buglink.php:15
-msgid "Report Bug"
-msgstr ""
-
-#: ../../addon/notimeline/notimeline.php:32
-msgid "No Timeline settings updated."
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
msgstr ""
-#: ../../addon/notimeline/notimeline.php:56
-msgid "No Timeline Settings"
+#: ../../mod/connections.php:424
+msgid "Contact Information / Notes"
msgstr ""
-#: ../../addon/notimeline/notimeline.php:58
-msgid "Disable Archive selector on profile wall"
+#: ../../mod/connections.php:425
+msgid "Edit contact notes"
msgstr ""
-#: ../../addon/blockem/blockem.php:51
-msgid "\"Blockem\" Settings"
+#: ../../mod/connections.php:427
+msgid "Their Settings"
msgstr ""
-#: ../../addon/blockem/blockem.php:53
-msgid "Comma separated profile URLS to block"
+#: ../../mod/connections.php:428
+msgid "My Settings"
msgstr ""
-#: ../../addon/blockem/blockem.php:70
-msgid "BLOCKEM Settings saved."
+#: ../../mod/connections.php:430
+msgid "Forum Members"
msgstr ""
-#: ../../addon/blockem/blockem.php:105
-#, php-format
-msgid "Blocked %s - Click to open/close"
+#: ../../mod/connections.php:431
+msgid "Soapbox"
msgstr ""
-#: ../../addon/blockem/blockem.php:160
-msgid "Unblock Author"
+#: ../../mod/connections.php:432
+msgid "Full Sharing"
msgstr ""
-#: ../../addon/blockem/blockem.php:162
-msgid "Block Author"
+#: ../../mod/connections.php:433
+msgid "Cautious Sharing"
msgstr ""
-#: ../../addon/blockem/blockem.php:194
-msgid "blockem settings updated"
+#: ../../mod/connections.php:434
+msgid "Follow Only"
msgstr ""
-#: ../../addon/qcomment/qcomment.php:51
-msgid ":-)"
+#: ../../mod/connections.php:435
+msgid "Individual Permissions"
msgstr ""
-#: ../../addon/qcomment/qcomment.php:51
-msgid ":-("
+#: ../../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 ""
-#: ../../addon/qcomment/qcomment.php:51
-msgid "lol"
+#: ../../mod/connections.php:437
+msgid "Advanced Permissions"
msgstr ""
-#: ../../addon/qcomment/qcomment.php:54
-msgid "Quick Comment Settings"
+#: ../../mod/connections.php:438
+msgid "Quick Links"
msgstr ""
-#: ../../addon/qcomment/qcomment.php:56
-msgid ""
-"Quick comments are found near comment boxes, sometimes hidden. Click them to "
-"provide simple replies."
+#: ../../mod/connections.php:442
+#, php-format
+msgid "Visit %s's profile - %s"
msgstr ""
-#: ../../addon/qcomment/qcomment.php:57
-msgid "Enter quick comments, one per line"
+#: ../../mod/connections.php:443
+msgid "Block/Unblock contact"
msgstr ""
-#: ../../addon/qcomment/qcomment.php:75
-msgid "Quick Comment settings saved."
+#: ../../mod/connections.php:444
+msgid "Ignore contact"
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:71
-msgid "Tile Server URL"
+#: ../../mod/connections.php:445
+msgid "Repair URL settings"
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:71
-msgid ""
-"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank"
-"\">public tile servers</a>"
+#: ../../mod/connections.php:446
+msgid "View conversations"
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:72
-msgid "Default zoom"
+#: ../../mod/connections.php:448
+msgid "Delete contact"
msgstr ""
-#: ../../addon/openstreetmap/openstreetmap.php:72
-msgid "The default zoom level. (1:world, 18:highest)"
+#: ../../mod/connections.php:451
+msgid "Last update:"
msgstr ""
-#: ../../addon/libertree/libertree.php:36
-msgid "Post to libertree"
+#: ../../mod/connections.php:453
+msgid "Update public posts"
msgstr ""
-#: ../../addon/libertree/libertree.php:67
-msgid "libertree Post Settings"
+#: ../../mod/connections.php:455
+msgid "Update now"
msgstr ""
-#: ../../addon/libertree/libertree.php:69
-msgid "Enable Libertree Post Plugin"
+#: ../../mod/connections.php:461
+msgid "Currently blocked"
msgstr ""
-#: ../../addon/libertree/libertree.php:74
-msgid "Libertree API token"
+#: ../../mod/connections.php:462
+msgid "Currently ignored"
msgstr ""
-#: ../../addon/libertree/libertree.php:79
-msgid "Libertree site URL"
+#: ../../mod/connections.php:463
+msgid "Currently archived"
msgstr ""
-#: ../../addon/libertree/libertree.php:84
-msgid "Post to Libertree by default"
+#: ../../mod/connections.php:464
+msgid "Currently pending"
msgstr ""
-#: ../../addon/mathjax/mathjax.php:37
+#: ../../mod/connections.php:465
msgid ""
-"The MathJax addon renders mathematical formulae written using the LaTeX "
-"syntax surrounded by the usual $$ or an eqnarray block in the postings of "
-"your wall,network tab and private mail."
-msgstr ""
-
-#: ../../addon/mathjax/mathjax.php:38
-msgid "Use the MathJax renderer"
+"Replies/likes to your public posts <strong>may</strong> still be visible"
msgstr ""
-#: ../../addon/mathjax/mathjax.php:74
-msgid "MathJax Base URL"
+#: ../../mod/connections.php:501 ../../mod/connections.php:573
+msgid "Blocked"
msgstr ""
-#: ../../addon/mathjax/mathjax.php:74
-msgid ""
-"The URL for the javascript file that should be included to use MathJax. Can "
-"be either the MathJax CDN or another installation of MathJax."
+#: ../../mod/connections.php:506 ../../mod/connections.php:580
+msgid "Ignored"
msgstr ""
-#: ../../addon/editplain/editplain.php:46
-msgid "Editplain settings updated."
+#: ../../mod/connections.php:511 ../../mod/connections.php:594
+msgid "Hidden"
msgstr ""
-#: ../../addon/editplain/editplain.php:76
-msgid "Editplain Settings"
+#: ../../mod/connections.php:516 ../../mod/connections.php:587
+msgid "Archived"
msgstr ""
-#: ../../addon/editplain/editplain.php:78
-msgid "Disable richtext status editor"
+#: ../../mod/connections.php:527
+msgid "All"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:71
-msgid "generic profile image"
+#: ../../mod/connections.php:548
+msgid "Suggestions"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:72
-msgid "random geometric pattern"
+#: ../../mod/connections.php:551
+msgid "Suggest new connections"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:73
-msgid "monster face"
+#: ../../mod/connections.php:557
+msgid "Show pending (new) connections"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:74
-msgid "computer generated face"
+#: ../../mod/connections.php:560
+msgid "All Connections"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:75
-msgid "retro arcade style face"
+#: ../../mod/connections.php:563
+msgid "Show all connections"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:87
-msgid "Default avatar image"
+#: ../../mod/connections.php:566
+msgid "Unblocked"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:87
-msgid "Select default avatar image if none was found at Gravatar. See README"
+#: ../../mod/connections.php:569
+msgid "Only show unblocked connections"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:88
-msgid "Rating of images"
+#: ../../mod/connections.php:576
+msgid "Only show blocked connections"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:88
-msgid "Select the appropriate avatar rating for your site. See README"
+#: ../../mod/connections.php:583
+msgid "Only show ignored connections"
msgstr ""
-#: ../../addon/gravatar/gravatar.php:102
-msgid "Gravatar settings updated."
+#: ../../mod/connections.php:590
+msgid "Only show archived connections"
msgstr ""
-#: ../../addon/testdrive/testdrive.php:95
-msgid "Your Friendica test account is about to expire."
+#: ../../mod/connections.php:597
+msgid "Only show hidden connections"
msgstr ""
-#: ../../addon/testdrive/testdrive.php:96
+#: ../../mod/connections.php:639
#, php-format
-msgid ""
-"Hi %1$s,\n"
-"\n"
-"Your test account on %2$s will expire in less than five days. We hope you "
-"enjoyed this test drive and use this opportunity to find a permanent "
-"Friendica website for your integrated social communications. A list of "
-"public sites is available at http://dir.friendica.com/siteinfo - and for "
-"more information on setting up your own Friendica server please see the "
-"Friendica project website at http://friendica.com."
-msgstr ""
-
-#: ../../addon/pageheader/pageheader.php:50
-msgid "\"pageheader\" Settings"
+msgid "%1$s [%2$s]"
msgstr ""
-#: ../../addon/pageheader/pageheader.php:68
-msgid "pageheader Settings saved."
+#: ../../mod/connections.php:640 ../../mod/nogroup.php:41
+msgid "Edit contact"
msgstr ""
-#: ../../addon/ijpost/ijpost.php:39
-msgid "Post to Insanejournal"
+#: ../../mod/connections.php:664
+msgid "Search your connections"
msgstr ""
-#: ../../addon/ijpost/ijpost.php:70
-msgid "InsaneJournal Post Settings"
+#: ../../mod/connections.php:665
+msgid "Finding: "
msgstr ""
-#: ../../addon/ijpost/ijpost.php:72
-msgid "Enable InsaneJournal Post Plugin"
+#: ../../mod/dirsearch.php:21
+msgid "This site is not a directory server"
msgstr ""
-#: ../../addon/ijpost/ijpost.php:77
-msgid "InsaneJournal username"
+#: ../../mod/lockview.php:34
+msgid "Remote privacy information not available."
msgstr ""
-#: ../../addon/ijpost/ijpost.php:82
-msgid "InsaneJournal password"
+#: ../../mod/lockview.php:43
+msgid "Visible to:"
msgstr ""
-#: ../../addon/ijpost/ijpost.php:87
-msgid "Post to InsaneJournal by default"
+#: ../../mod/profiles.php:18 ../../mod/profiles.php:138
+#: ../../mod/profiles.php:179 ../../mod/profiles.php:486
+msgid "Profile not found."
msgstr ""
-#: ../../addon/viewsrc/viewsrc.php:37
-msgid "View Source"
+#: ../../mod/profiles.php:38
+msgid "Profile deleted."
msgstr ""
-#: ../../addon/statusnet/statusnet.php:134
-msgid "Post to StatusNet"
+#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
+msgid "Profile-"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:176
-msgid ""
-"Please contact your site administrator.<br />The provided API URL is not "
-"valid."
+#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
+msgid "New profile created."
msgstr ""
-#: ../../addon/statusnet/statusnet.php:204
-msgid "We could not contact the StatusNet API with the Path you entered."
+#: ../../mod/profiles.php:98
+msgid "Profile unavailable to clone."
msgstr ""
-#: ../../addon/statusnet/statusnet.php:232
-msgid "StatusNet settings updated."
+#: ../../mod/profiles.php:189
+msgid "Profile Name is required."
msgstr ""
-#: ../../addon/statusnet/statusnet.php:257
-msgid "StatusNet Posting Settings"
+#: ../../mod/profiles.php:317
+msgid "Marital Status"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:271
-msgid "Globally Available StatusNet OAuthKeys"
+#: ../../mod/profiles.php:321
+msgid "Romantic Partner"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:272
-msgid ""
-"There are preconfigured OAuth key pairs for some StatusNet servers "
-"available. If you are useing one of them, please use these credentials. If "
-"not feel free to connect to any other StatusNet instance (see below)."
+#: ../../mod/profiles.php:325
+msgid "Likes"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:280
-msgid "Provide your own OAuth Credentials"
+#: ../../mod/profiles.php:329
+msgid "Dislikes"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:281
-msgid ""
-"No consumer key pair for StatusNet found. Register your Friendica Account as "
-"an desktop client on your StatusNet account, copy the consumer key pair here "
-"and enter the API base root.<br />Before you register your own OAuth key "
-"pair ask the administrator if there is already a key pair for this Friendica "
-"installation at your favorited StatusNet installation."
+#: ../../mod/profiles.php:333
+msgid "Work/Employment"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:283
-msgid "OAuth Consumer Key"
+#: ../../mod/profiles.php:336
+msgid "Religion"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:286
-msgid "OAuth Consumer Secret"
+#: ../../mod/profiles.php:340
+msgid "Political Views"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:289
-msgid "Base API Path (remember the trailing /)"
+#: ../../mod/profiles.php:344
+msgid "Gender"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:310
-msgid ""
-"To connect to your StatusNet account click the button below to get a "
-"security code from StatusNet which you have to copy into the input box below "
-"and submit the form. Only your <strong>public</strong> posts will be posted "
-"to StatusNet."
+#: ../../mod/profiles.php:348
+msgid "Sexual Preference"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:311
-msgid "Log in with StatusNet"
+#: ../../mod/profiles.php:352
+msgid "Homepage"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:313
-msgid "Copy the security code from StatusNet here"
+#: ../../mod/profiles.php:356
+msgid "Interests"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:319
-msgid "Cancel Connection Process"
+#: ../../mod/profiles.php:360
+msgid "Address"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:321
-msgid "Current StatusNet API is"
+#: ../../mod/profiles.php:367
+msgid "Location"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:322
-msgid "Cancel StatusNet Connection"
+#: ../../mod/profiles.php:450
+msgid "Profile updated."
msgstr ""
-#: ../../addon/statusnet/statusnet.php:333 ../../addon/twitter/twitter.php:189
-msgid "Currently connected to: "
+#: ../../mod/profiles.php:505
+msgid "Hide your contact/friend list from viewers of this profile?"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:334
-msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated StatusNet account. You can choose to do so by default (here) or "
-"for every posting separately in the posting options when writing the entry."
+#: ../../mod/profiles.php:528
+msgid "Edit Profile Details"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:336
-msgid ""
-"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
-"details from unknown viewers?</em>) the link potentially included in public "
-"postings relayed to StatusNet will lead the visitor to a blank page "
-"informing the visitor that the access to your profile has been restricted."
+#: ../../mod/profiles.php:530
+msgid "View this profile"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:339
-msgid "Allow posting to StatusNet"
+#: ../../mod/profiles.php:531
+msgid "Change Profile Photo"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:342
-msgid "Send public postings to StatusNet by default"
+#: ../../mod/profiles.php:532
+msgid "Create a new profile using these settings"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:345
-msgid "Send linked #-tags and @-names to StatusNet"
+#: ../../mod/profiles.php:533
+msgid "Clone this profile"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:350 ../../addon/twitter/twitter.php:206
-msgid "Clear OAuth configuration"
+#: ../../mod/profiles.php:534
+msgid "Delete this profile"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:559
-msgid "API URL"
+#: ../../mod/profiles.php:535
+msgid "Profile Name:"
msgstr ""
-#: ../../addon/infiniteimprobabilitydrive/infiniteimprobabilitydrive.php:19
-msgid "Infinite Improbability Drive"
+#: ../../mod/profiles.php:536
+msgid "Your Full Name:"
msgstr ""
-#: ../../addon/tumblr/tumblr.php:36
-msgid "Post to Tumblr"
+#: ../../mod/profiles.php:537
+msgid "Title/Description:"
msgstr ""
-#: ../../addon/tumblr/tumblr.php:67
-msgid "Tumblr Post Settings"
+#: ../../mod/profiles.php:538
+msgid "Your Gender:"
msgstr ""
-#: ../../addon/tumblr/tumblr.php:69
-msgid "Enable Tumblr Post Plugin"
+#: ../../mod/profiles.php:539
+#, php-format
+msgid "Birthday (%s):"
msgstr ""
-#: ../../addon/tumblr/tumblr.php:74
-msgid "Tumblr login"
+#: ../../mod/profiles.php:540
+msgid "Street Address:"
msgstr ""
-#: ../../addon/tumblr/tumblr.php:79
-msgid "Tumblr password"
+#: ../../mod/profiles.php:541
+msgid "Locality/City:"
msgstr ""
-#: ../../addon/tumblr/tumblr.php:84
-msgid "Post to Tumblr by default"
+#: ../../mod/profiles.php:542
+msgid "Postal/Zip Code:"
msgstr ""
-#: ../../addon/numfriends/numfriends.php:46
-msgid "Numfriends settings updated."
+#: ../../mod/profiles.php:543
+msgid "Country:"
msgstr ""
-#: ../../addon/numfriends/numfriends.php:77
-msgid "Numfriends Settings"
+#: ../../mod/profiles.php:544
+msgid "Region/State:"
msgstr ""
-#: ../../addon/numfriends/numfriends.php:79
-msgid "How many contacts to display on profile sidebar"
+#: ../../mod/profiles.php:545
+msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr ""
-#: ../../addon/gnot/gnot.php:48
-msgid "Gnot settings updated."
+#: ../../mod/profiles.php:546
+msgid "Who: (if applicable)"
msgstr ""
-#: ../../addon/gnot/gnot.php:79
-msgid "Gnot Settings"
+#: ../../mod/profiles.php:547
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr ""
-#: ../../addon/gnot/gnot.php:81
-msgid ""
-"Allows threading of email comment notifications on Gmail and anonymising the "
-"subject line."
+#: ../../mod/profiles.php:548
+msgid "Since [date]:"
msgstr ""
-#: ../../addon/gnot/gnot.php:82
-msgid "Enable this plugin/addon?"
+#: ../../mod/profiles.php:550
+msgid "Homepage URL:"
msgstr ""
-#: ../../addon/gnot/gnot.php:97
-#, php-format
-msgid "[Friendica:Notify] Comment to conversation #%d"
+#: ../../mod/profiles.php:553
+msgid "Religious Views:"
msgstr ""
-#: ../../addon/wppost/wppost.php:42
-msgid "Post to Wordpress"
+#: ../../mod/profiles.php:554
+msgid "Keywords:"
msgstr ""
-#: ../../addon/wppost/wppost.php:76
-msgid "WordPress Post Settings"
+#: ../../mod/profiles.php:557
+msgid "Example: fishing photography software"
msgstr ""
-#: ../../addon/wppost/wppost.php:78
-msgid "Enable WordPress Post Plugin"
+#: ../../mod/profiles.php:558
+msgid "Used in directory listings"
msgstr ""
-#: ../../addon/wppost/wppost.php:83
-msgid "WordPress username"
+#: ../../mod/profiles.php:559
+msgid "Tell us about yourself..."
msgstr ""
-#: ../../addon/wppost/wppost.php:88
-msgid "WordPress password"
+#: ../../mod/profiles.php:560
+msgid "Hobbies/Interests"
msgstr ""
-#: ../../addon/wppost/wppost.php:93
-msgid "WordPress API URL"
+#: ../../mod/profiles.php:561
+msgid "Contact information and Social Networks"
msgstr ""
-#: ../../addon/wppost/wppost.php:98
-msgid "Post to WordPress by default"
+#: ../../mod/profiles.php:562
+msgid "My other channels"
msgstr ""
-#: ../../addon/wppost/wppost.php:103
-msgid "Provide a backlink to the Friendica post"
+#: ../../mod/profiles.php:563
+msgid "Musical interests"
msgstr ""
-#: ../../addon/wppost/wppost.php:207
-msgid "Read the original post and comment stream on Friendica"
+#: ../../mod/profiles.php:564
+msgid "Books, literature"
msgstr ""
-#: ../../addon/showmore/showmore.php:38
-msgid "\"Show more\" Settings"
+#: ../../mod/profiles.php:565
+msgid "Television"
msgstr ""
-#: ../../addon/showmore/showmore.php:41
-msgid "Enable Show More"
+#: ../../mod/profiles.php:566
+msgid "Film/dance/culture/entertainment"
msgstr ""
-#: ../../addon/showmore/showmore.php:44
-msgid "Cutting posts after how much characters"
+#: ../../mod/profiles.php:567
+msgid "Love/romance"
msgstr ""
-#: ../../addon/showmore/showmore.php:65
-msgid "Show More Settings saved."
+#: ../../mod/profiles.php:568
+msgid "Work/employment"
msgstr ""
-#: ../../addon/piwik/piwik.php:79
-msgid ""
-"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
-"analytics tool."
+#: ../../mod/profiles.php:569
+msgid "School/education"
msgstr ""
-#: ../../addon/piwik/piwik.php:82
-#, php-format
+#: ../../mod/profiles.php:574
msgid ""
-"If you do not want that your visits are logged this way you <a href='%s'>can "
-"set a cookie to prevent Piwik from tracking further visits of the site</a> "
-"(opt-out)."
-msgstr ""
-
-#: ../../addon/piwik/piwik.php:90
-msgid "Piwik Base URL"
+"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
+"be visible to anybody using the internet."
msgstr ""
-#: ../../addon/piwik/piwik.php:90
-msgid ""
-"Absolute path to your Piwik installation. (without protocol (http/s), with "
-"trailing slash)"
+#: ../../mod/profiles.php:623
+msgid "Edit/Manage Profiles"
msgstr ""
-#: ../../addon/piwik/piwik.php:91
-msgid "Site ID"
+#: ../../mod/profiles.php:624 ../../boot.php:1710
+msgid "Change profile photo"
msgstr ""
-#: ../../addon/piwik/piwik.php:92
-msgid "Show opt-out cookie link?"
+#: ../../mod/profiles.php:625 ../../boot.php:1717
+msgid "Create New Profile"
msgstr ""
-#: ../../addon/piwik/piwik.php:93
-msgid "Asynchronous tracking"
+#: ../../mod/profiles.php:636 ../../boot.php:1731
+msgid "Profile Image"
msgstr ""
-#: ../../addon/twitter/twitter.php:73
-msgid "Post to Twitter"
+#: ../../mod/profiles.php:639 ../../boot.php:1734
+msgid "visible to everybody"
msgstr ""
-#: ../../addon/twitter/twitter.php:122
-msgid "Twitter settings updated."
+#: ../../mod/profiles.php:640 ../../boot.php:1735
+msgid "Edit visibility"
msgstr ""
-#: ../../addon/twitter/twitter.php:146
-msgid "Twitter Posting Settings"
+#: ../../mod/new_channel.php:107
+msgid "Add a Channel"
msgstr ""
-#: ../../addon/twitter/twitter.php:153
+#: ../../mod/new_channel.php:108
msgid ""
-"No consumer key pair for Twitter found. Please contact your site "
-"administrator."
+"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."
msgstr ""
-#: ../../addon/twitter/twitter.php:172
-msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
-"yet connected your account to your Twitter account. To do so click the "
-"button below to get a PIN from Twitter which you have to copy into the input "
-"box below and submit the form. Only your <strong>public</strong> posts will "
-"be posted to Twitter."
+#: ../../mod/new_channel.php:110
+msgid "Channel Name"
msgstr ""
-#: ../../addon/twitter/twitter.php:173
-msgid "Log in with Twitter"
+#: ../../mod/new_channel.php:111
+msgid ""
+"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation "
+"Group\" "
msgstr ""
-#: ../../addon/twitter/twitter.php:175
-msgid "Copy the PIN from Twitter here"
+#: ../../mod/new_channel.php:112
+msgid "Choose a short nickname"
msgstr ""
-#: ../../addon/twitter/twitter.php:190
+#: ../../mod/new_channel.php:113
msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated Twitter account. You can choose to do so by default (here) or for "
-"every posting separately in the posting options when writing the entry."
+"Your nickname will be used to create an easily remembered channel address "
+"(like an email address) which you can share with others."
msgstr ""
-#: ../../addon/twitter/twitter.php:192
+#: ../../mod/new_channel.php:114
msgid ""
-"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
-"details from unknown viewers?</em>) the link potentially included in public "
-"postings relayed to Twitter will lead the visitor to a blank page informing "
-"the visitor that the access to your profile has been restricted."
+"Or <a href=\"import\">import an existing channel</a> from another location"
msgstr ""
-#: ../../addon/twitter/twitter.php:195
-msgid "Allow posting to Twitter"
-msgstr ""
-
-#: ../../addon/twitter/twitter.php:198
-msgid "Send public postings to Twitter by default"
-msgstr ""
-
-#: ../../addon/twitter/twitter.php:201
-msgid "Send linked #-tags and @-names to Twitter"
-msgstr ""
-
-#: ../../addon/twitter/twitter.php:389
-msgid "Consumer key"
-msgstr ""
-
-#: ../../addon/twitter/twitter.php:390
-msgid "Consumer secret"
-msgstr ""
-
-#: ../../addon/irc/irc.php:44
-msgid "IRC Settings"
+#: ../../mod/admin.php:48
+msgid "Theme settings updated."
msgstr ""
-#: ../../addon/irc/irc.php:46
-msgid "Channel(s) to auto connect (comma separated)"
+#: ../../mod/admin.php:83 ../../mod/admin.php:408
+msgid "Site"
msgstr ""
-#: ../../addon/irc/irc.php:51
-msgid "Popular Channels (comma separated)"
+#: ../../mod/admin.php:84 ../../mod/admin.php:632 ../../mod/admin.php:644
+msgid "Users"
msgstr ""
-#: ../../addon/irc/irc.php:69
-msgid "IRC settings saved."
+#: ../../mod/admin.php:85 ../../mod/admin.php:726 ../../mod/admin.php:768
+msgid "Plugins"
msgstr ""
-#: ../../addon/irc/irc.php:74
-msgid "IRC Chatroom"
+#: ../../mod/admin.php:86 ../../mod/admin.php:931 ../../mod/admin.php:967
+msgid "Themes"
msgstr ""
-#: ../../addon/irc/irc.php:96
-msgid "Popular Channels"
+#: ../../mod/admin.php:87
+msgid "DB updates"
msgstr ""
-#: ../../addon/blogger/blogger.php:42
-msgid "Post to blogger"
+#: ../../mod/admin.php:101 ../../mod/admin.php:108 ../../mod/admin.php:1054
+msgid "Logs"
msgstr ""
-#: ../../addon/blogger/blogger.php:74
-msgid "Blogger Post Settings"
+#: ../../mod/admin.php:107
+msgid "Plugin Features"
msgstr ""
-#: ../../addon/blogger/blogger.php:76
-msgid "Enable Blogger Post Plugin"
+#: ../../mod/admin.php:109
+msgid "User registrations waiting for confirmation"
msgstr ""
-#: ../../addon/blogger/blogger.php:81
-msgid "Blogger username"
+#: ../../mod/admin.php:180
+msgid "Message queues"
msgstr ""
-#: ../../addon/blogger/blogger.php:86
-msgid "Blogger password"
+#: ../../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 ""
-#: ../../addon/blogger/blogger.php:91
-msgid "Blogger API URL"
+#: ../../mod/admin.php:186
+msgid "Summary"
msgstr ""
-#: ../../addon/blogger/blogger.php:96
-msgid "Post to Blogger by default"
+#: ../../mod/admin.php:188
+msgid "Registered users"
msgstr ""
-#: ../../addon/posterous/posterous.php:37
-msgid "Post to Posterous"
+#: ../../mod/admin.php:190
+msgid "Pending registrations"
msgstr ""
-#: ../../addon/posterous/posterous.php:70
-msgid "Posterous Post Settings"
+#: ../../mod/admin.php:191
+msgid "Version"
msgstr ""
-#: ../../addon/posterous/posterous.php:72
-msgid "Enable Posterous Post Plugin"
+#: ../../mod/admin.php:193
+msgid "Active plugins"
msgstr ""
-#: ../../addon/posterous/posterous.php:77
-msgid "Posterous login"
+#: ../../mod/admin.php:332
+msgid "Site settings updated."
msgstr ""
-#: ../../addon/posterous/posterous.php:82
-msgid "Posterous password"
+#: ../../mod/admin.php:363
+msgid "No special theme for accessibility"
msgstr ""
-#: ../../addon/posterous/posterous.php:87
-msgid "Posterous site ID"
+#: ../../mod/admin.php:388
+msgid "Closed"
msgstr ""
-#: ../../addon/posterous/posterous.php:92
-msgid "Posterous API token"
+#: ../../mod/admin.php:389
+msgid "Requires approval"
msgstr ""
-#: ../../addon/posterous/posterous.php:97
-msgid "Post to Posterous by default"
+#: ../../mod/admin.php:390
+msgid "Open"
msgstr ""
-#: ../../view/theme/cleanzero/config.php:82
-#: ../../view/theme/diabook/config.php:192
-#: ../../view/theme/quattro/config.php:54 ../../view/theme/dispy/config.php:72
-msgid "Theme settings"
+#: ../../mod/admin.php:395
+msgid "Private"
msgstr ""
-#: ../../view/theme/cleanzero/config.php:83
-msgid "Set resize level for images in posts and comments (width and height)"
+#: ../../mod/admin.php:396
+msgid "Paid Access"
msgstr ""
-#: ../../view/theme/cleanzero/config.php:84
-#: ../../view/theme/diabook/config.php:193
-#: ../../view/theme/dispy/config.php:73
-msgid "Set font-size for posts and comments"
+#: ../../mod/admin.php:397
+msgid "Free Access"
msgstr ""
-#: ../../view/theme/cleanzero/config.php:85
-msgid "Set theme width"
+#: ../../mod/admin.php:410 ../../mod/register.php:172
+msgid "Registration"
msgstr ""
-#: ../../view/theme/cleanzero/config.php:86
-#: ../../view/theme/quattro/config.php:56
-msgid "Color scheme"
+#: ../../mod/admin.php:411
+msgid "File upload"
msgstr ""
-#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:49
-#: ../../include/nav.php:115
-msgid "Your posts and conversations"
+#: ../../mod/admin.php:412
+msgid "Policies"
msgstr ""
-#: ../../view/theme/diabook/theme.php:128 ../../include/nav.php:50
-msgid "Your profile page"
+#: ../../mod/admin.php:413
+msgid "Advanced"
msgstr ""
-#: ../../view/theme/diabook/theme.php:129
-msgid "Your contacts"
+#: ../../mod/admin.php:417
+msgid "Site name"
msgstr ""
-#: ../../view/theme/diabook/theme.php:130 ../../include/nav.php:51
-msgid "Your photos"
+#: ../../mod/admin.php:418
+msgid "Banner/Logo"
msgstr ""
-#: ../../view/theme/diabook/theme.php:131 ../../include/nav.php:52
-msgid "Your events"
+#: ../../mod/admin.php:419
+msgid "System language"
msgstr ""
-#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
-msgid "Personal notes"
+#: ../../mod/admin.php:420
+msgid "System theme"
msgstr ""
-#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
-msgid "Your personal photos"
+#: ../../mod/admin.php:420
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
msgstr ""
-#: ../../view/theme/diabook/theme.php:134
-#: ../../view/theme/diabook/theme.php:643
-#: ../../view/theme/diabook/theme.php:747
-#: ../../view/theme/diabook/config.php:201
-msgid "Community Pages"
+#: ../../mod/admin.php:421
+msgid "Mobile system theme"
msgstr ""
-#: ../../view/theme/diabook/theme.php:490
-#: ../../view/theme/diabook/theme.php:749
-#: ../../view/theme/diabook/config.php:203
-msgid "Community Profiles"
+#: ../../mod/admin.php:421
+msgid "Theme for mobile devices"
msgstr ""
-#: ../../view/theme/diabook/theme.php:511
-#: ../../view/theme/diabook/theme.php:754
-#: ../../view/theme/diabook/config.php:208
-msgid "Last users"
+#: ../../mod/admin.php:422
+msgid "Accessibility system theme"
msgstr ""
-#: ../../view/theme/diabook/theme.php:540
-#: ../../view/theme/diabook/theme.php:756
-#: ../../view/theme/diabook/config.php:210
-msgid "Last likes"
+#: ../../mod/admin.php:422
+msgid "Accessibility theme"
msgstr ""
-#: ../../view/theme/diabook/theme.php:585
-#: ../../view/theme/diabook/theme.php:755
-#: ../../view/theme/diabook/config.php:209
-msgid "Last photos"
+#: ../../mod/admin.php:423
+msgid "Channel to use for this website's static pages"
msgstr ""
-#: ../../view/theme/diabook/theme.php:622
-#: ../../view/theme/diabook/theme.php:752
-#: ../../view/theme/diabook/config.php:206
-msgid "Find Friends"
+#: ../../mod/admin.php:423
+msgid "Site Channel"
msgstr ""
-#: ../../view/theme/diabook/theme.php:623
-msgid "Local Directory"
+#: ../../mod/admin.php:425
+msgid "Maximum image size"
msgstr ""
-#: ../../view/theme/diabook/theme.php:625 ../../include/contact_widgets.php:35
-msgid "Similar Interests"
+#: ../../mod/admin.php:425
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
msgstr ""
-#: ../../view/theme/diabook/theme.php:627 ../../include/contact_widgets.php:37
-msgid "Invite Friends"
+#: ../../mod/admin.php:426
+msgid "Register policy"
msgstr ""
-#: ../../view/theme/diabook/theme.php:678
-#: ../../view/theme/diabook/theme.php:748
-#: ../../view/theme/diabook/config.php:202
-msgid "Earth Layers"
+#: ../../mod/admin.php:427
+msgid "Access policy"
msgstr ""
-#: ../../view/theme/diabook/theme.php:683
-msgid "Set zoomfactor for Earth Layers"
+#: ../../mod/admin.php:428
+msgid "Register text"
msgstr ""
-#: ../../view/theme/diabook/theme.php:684
-#: ../../view/theme/diabook/config.php:199
-msgid "Set longitude (X) for Earth Layers"
+#: ../../mod/admin.php:428
+msgid "Will be displayed prominently on the registration page."
msgstr ""
-#: ../../view/theme/diabook/theme.php:685
-#: ../../view/theme/diabook/config.php:200
-msgid "Set latitude (Y) for Earth Layers"
+#: ../../mod/admin.php:429
+msgid "Accounts abandoned after x days"
msgstr ""
-#: ../../view/theme/diabook/theme.php:698
-#: ../../view/theme/diabook/theme.php:750
-#: ../../view/theme/diabook/config.php:204
-msgid "Help or @NewHere ?"
+#: ../../mod/admin.php:429
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
msgstr ""
-#: ../../view/theme/diabook/theme.php:705
-#: ../../view/theme/diabook/theme.php:751
-#: ../../view/theme/diabook/config.php:205
-msgid "Connect Services"
+#: ../../mod/admin.php:430
+msgid "Allowed friend domains"
msgstr ""
-#: ../../view/theme/diabook/theme.php:712
-#: ../../view/theme/diabook/theme.php:753
-msgid "Last Tweets"
+#: ../../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 ""
-#: ../../view/theme/diabook/theme.php:715
-#: ../../view/theme/diabook/config.php:197
-msgid "Set twitter search term"
+#: ../../mod/admin.php:431
+msgid "Allowed email domains"
msgstr ""
-#: ../../view/theme/diabook/theme.php:735
-#: ../../view/theme/diabook/theme.php:736
-#: ../../view/theme/diabook/theme.php:737
-#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739
-#: ../../view/theme/diabook/theme.php:740
-#: ../../view/theme/diabook/theme.php:741
-#: ../../view/theme/diabook/theme.php:742
-#: ../../view/theme/diabook/theme.php:743
-#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:288
-msgid "don't show"
+#: ../../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 ""
-#: ../../view/theme/diabook/theme.php:735
-#: ../../view/theme/diabook/theme.php:736
-#: ../../view/theme/diabook/theme.php:737
-#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739
-#: ../../view/theme/diabook/theme.php:740
-#: ../../view/theme/diabook/theme.php:741
-#: ../../view/theme/diabook/theme.php:742
-#: ../../view/theme/diabook/theme.php:743
-#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:287
-msgid "show"
+#: ../../mod/admin.php:432
+msgid "Block public"
msgstr ""
-#: ../../view/theme/diabook/theme.php:745
-msgid "Show/hide boxes at right-hand column:"
+#: ../../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 ""
-#: ../../view/theme/diabook/config.php:194
-#: ../../view/theme/dispy/config.php:74
-msgid "Set line-height for posts and comments"
+#: ../../mod/admin.php:433
+msgid "Force publish"
msgstr ""
-#: ../../view/theme/diabook/config.php:195
-msgid "Set resolution for middle column"
+#: ../../mod/admin.php:433
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: ../../view/theme/diabook/config.php:196
-msgid "Set color scheme"
+#: ../../mod/admin.php:435
+msgid "Proxy user"
msgstr ""
-#: ../../view/theme/diabook/config.php:198
-msgid "Set zoomfactor for Earth Layer"
+#: ../../mod/admin.php:436
+msgid "Proxy URL"
msgstr ""
-#: ../../view/theme/diabook/config.php:207
-msgid "Last tweets"
+#: ../../mod/admin.php:437
+msgid "Network timeout"
msgstr ""
-#: ../../view/theme/quattro/config.php:55
-msgid "Alignment"
+#: ../../mod/admin.php:437
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: ../../view/theme/quattro/config.php:55
-msgid "Left"
+#: ../../mod/admin.php:438
+msgid "Delivery interval"
msgstr ""
-#: ../../view/theme/quattro/config.php:55
-msgid "Center"
+#: ../../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 ""
-#: ../../view/theme/dispy/config.php:75
-msgid "Set colour scheme"
+#: ../../mod/admin.php:439
+msgid "Poll interval"
msgstr ""
-#: ../../include/profile_advanced.php:22
-msgid "j F, Y"
+#: ../../mod/admin.php:439
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
msgstr ""
-#: ../../include/profile_advanced.php:23
-msgid "j F"
+#: ../../mod/admin.php:440
+msgid "Maximum Load Average"
msgstr ""
-#: ../../include/profile_advanced.php:30
-msgid "Birthday:"
+#: ../../mod/admin.php:440
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
msgstr ""
-#: ../../include/profile_advanced.php:34
-msgid "Age:"
+#: ../../mod/admin.php:456
+msgid "Update has been marked successful"
msgstr ""
-#: ../../include/profile_advanced.php:43
+#: ../../mod/admin.php:466
#, php-format
-msgid "for %1$d %2$s"
-msgstr ""
-
-#: ../../include/profile_advanced.php:52
-msgid "Tags:"
-msgstr ""
-
-#: ../../include/profile_advanced.php:56
-msgid "Religion:"
-msgstr ""
-
-#: ../../include/profile_advanced.php:60
-msgid "Hobbies/Interests:"
-msgstr ""
-
-#: ../../include/profile_advanced.php:67
-msgid "Contact information and Social Networks:"
-msgstr ""
-
-#: ../../include/profile_advanced.php:69
-msgid "Musical interests:"
-msgstr ""
-
-#: ../../include/profile_advanced.php:71
-msgid "Books, literature:"
-msgstr ""
-
-#: ../../include/profile_advanced.php:73
-msgid "Television:"
-msgstr ""
-
-#: ../../include/profile_advanced.php:75
-msgid "Film/dance/culture/entertainment:"
-msgstr ""
-
-#: ../../include/profile_advanced.php:77
-msgid "Love/Romance:"
-msgstr ""
-
-#: ../../include/profile_advanced.php:79
-msgid "Work/employment:"
-msgstr ""
-
-#: ../../include/profile_advanced.php:81
-msgid "School/education:"
-msgstr ""
-
-#: ../../include/contact_selectors.php:32
-msgid "Unknown | Not categorised"
-msgstr ""
-
-#: ../../include/contact_selectors.php:33
-msgid "Block immediately"
-msgstr ""
-
-#: ../../include/contact_selectors.php:34
-msgid "Shady, spammer, self-marketer"
-msgstr ""
-
-#: ../../include/contact_selectors.php:35
-msgid "Known to me, but no opinion"
-msgstr ""
-
-#: ../../include/contact_selectors.php:36
-msgid "OK, probably harmless"
-msgstr ""
-
-#: ../../include/contact_selectors.php:37
-msgid "Reputable, has my trust"
-msgstr ""
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr ""
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr ""
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
+msgid "Executing %s failed. Check system logs."
msgstr ""
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
+#: ../../mod/admin.php:469
+#, php-format
+msgid "Update %s was successfully applied."
msgstr ""
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
+#: ../../mod/admin.php:473
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr ""
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
+#: ../../mod/admin.php:476
+#, php-format
+msgid "Update function %s could not be found."
msgstr ""
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
+#: ../../mod/admin.php:491
+msgid "No failed updates."
msgstr ""
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
+#: ../../mod/admin.php:495
+msgid "Failed Updates"
msgstr ""
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
+#: ../../mod/admin.php:497
+msgid "Mark success (if update was manually applied)"
msgstr ""
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
+#: ../../mod/admin.php:498
+msgid "Attempt to execute this update step automatically"
msgstr ""
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr ""
+#: ../../mod/admin.php:524
+#, php-format
+msgid "%s user blocked/unblocked"
+msgid_plural "%s users blocked/unblocked"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr ""
+#: ../../mod/admin.php:531
+#, php-format
+msgid "%s user deleted"
+msgid_plural "%s users deleted"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/profile_selectors.php:6
-msgid "Male"
+#: ../../mod/admin.php:562
+msgid "Account not found"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Female"
+#: ../../mod/admin.php:573
+#, php-format
+msgid "User '%s' deleted"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
+#: ../../mod/admin.php:582
+#, php-format
+msgid "User '%s' unblocked"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
+#: ../../mod/admin.php:582
+#, php-format
+msgid "User '%s' blocked"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
+#: ../../mod/admin.php:613
+msgid "Normal Account"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
+#: ../../mod/admin.php:614
+msgid "Soapbox Account"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
+#: ../../mod/admin.php:615
+msgid "Community/Celebrity Account"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
+#: ../../mod/admin.php:616
+msgid "Automatic Friend Account"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
+#: ../../mod/admin.php:634
+msgid "select all"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
+#: ../../mod/admin.php:635
+msgid "User registrations waiting for confirm"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
+#: ../../mod/admin.php:636
+msgid "Request date"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
+#: ../../mod/admin.php:637
+msgid "No registrations."
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Other"
+#: ../../mod/admin.php:639
+msgid "Deny"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Undecided"
+#: ../../mod/admin.php:645
+msgid "Register date"
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Males"
+#: ../../mod/admin.php:645
+msgid "Last login"
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Females"
+#: ../../mod/admin.php:645
+msgid "Service Class"
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Gay"
+#: ../../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?"
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Lesbian"
+#: ../../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?"
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "No Preference"
+#: ../../mod/admin.php:689
+#, php-format
+msgid "Plugin %s disabled."
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Bisexual"
+#: ../../mod/admin.php:693
+#, php-format
+msgid "Plugin %s enabled."
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Autosexual"
+#: ../../mod/admin.php:703 ../../mod/admin.php:901
+msgid "Disable"
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Abstinent"
+#: ../../mod/admin.php:705 ../../mod/admin.php:903
+msgid "Enable"
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Virgin"
+#: ../../mod/admin.php:727 ../../mod/admin.php:932
+msgid "Toggle"
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Deviant"
+#: ../../mod/admin.php:735 ../../mod/admin.php:942
+msgid "Author: "
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Fetish"
+#: ../../mod/admin.php:736 ../../mod/admin.php:943
+msgid "Maintainer: "
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Oodles"
+#: ../../mod/admin.php:865
+msgid "No themes found."
msgstr ""
-#: ../../include/profile_selectors.php:23
-msgid "Nonsexual"
+#: ../../mod/admin.php:924
+msgid "Screenshot"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Single"
+#: ../../mod/admin.php:972
+msgid "[Experimental]"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Lonely"
+#: ../../mod/admin.php:973
+msgid "[Unsupported]"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Available"
+#: ../../mod/admin.php:1000
+msgid "Log settings updated."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Unavailable"
+#: ../../mod/admin.php:1056
+msgid "Clear"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Has crush"
+#: ../../mod/admin.php:1062
+msgid "Debugging"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Infatuated"
+#: ../../mod/admin.php:1063
+msgid "Log file"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Dating"
+#: ../../mod/admin.php:1063
+msgid ""
+"Must be writable by web server. Relative to your Red top-level directory."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Unfaithful"
+#: ../../mod/admin.php:1064
+msgid "Log level"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Sex Addict"
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
msgstr ""
-#: ../../include/profile_selectors.php:42 ../../include/user.php:278
-#: ../../include/user.php:283
-msgid "Friends"
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Friends/Benefits"
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
+#, php-format
+msgid "Site Member (%s)"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Casual"
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Engaged"
+#: ../../mod/lostpass.php:63
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Married"
+#: ../../mod/lostpass.php:85 ../../boot.php:1439
+msgid "Password Reset"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Imaginarily married"
+#: ../../mod/lostpass.php:86
+msgid "Your password has been reset as requested."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Partners"
+#: ../../mod/lostpass.php:87
+msgid "Your new password is"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Cohabiting"
+#: ../../mod/lostpass.php:88
+msgid "Save or copy your new password - and then"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Common law"
+#: ../../mod/lostpass.php:89
+msgid "click here to login"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Happy"
+#: ../../mod/lostpass.php:90
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Not looking"
+#: ../../mod/lostpass.php:107
+#, php-format
+msgid "Your password has changed at %s"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Swinger"
+#: ../../mod/lostpass.php:122
+msgid "Forgot your Password?"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Betrayed"
+#: ../../mod/lostpass.php:123
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Separated"
+#: ../../mod/lostpass.php:124
+msgid "Email Address"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Unstable"
+#: ../../mod/lostpass.php:125
+msgid "Reset"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Divorced"
+#: ../../mod/import.php:36
+msgid "Nothing to import."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Imaginarily divorced"
+#: ../../mod/import.php:58
+msgid "Unable to download data from old server"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Widowed"
+#: ../../mod/import.php:64
+msgid "Imported file is empty."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Uncertain"
+#: ../../mod/import.php:88
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "It's complicated"
+#: ../../mod/import.php:106
+msgid "Channel clone failed. Import failed."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Don't care"
+#: ../../mod/import.php:116
+msgid "Cloned channel not found. Import failed."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Ask me"
+#: ../../mod/import.php:356
+msgid "Import completed."
msgstr ""
-#: ../../include/event.php:20 ../../include/bb2diaspora.php:393
-msgid "Starts:"
+#: ../../mod/import.php:369
+msgid "You must be logged in to use this feature."
msgstr ""
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:401
-msgid "Finishes:"
+#: ../../mod/import.php:374
+msgid "Import Channel"
msgstr ""
-#: ../../include/delivery.php:456 ../../include/notifier.php:678
-msgid "(no subject)"
+#: ../../mod/import.php:375
+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 ""
-#: ../../include/delivery.php:463 ../../include/enotify.php:26
-#: ../../include/notifier.php:685
-msgid "noreply"
+#: ../../mod/import.php:376
+msgid "File to Upload"
msgstr ""
-#: ../../include/Scrape.php:572
-msgid " on Last.fm"
+#: ../../mod/import.php:377
+msgid "Or provide the old server/hub details"
msgstr ""
-#: ../../include/text.php:243
-msgid "prev"
+#: ../../mod/import.php:378
+msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../include/text.php:245
-msgid "first"
+#: ../../mod/import.php:379
+msgid "Your old login email address"
msgstr ""
-#: ../../include/text.php:274
-msgid "last"
+#: ../../mod/import.php:380
+msgid "Your old login password"
msgstr ""
-#: ../../include/text.php:277
-msgid "next"
+#: ../../mod/import.php:381
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be "
+"able to post from either location, but only one can be marked as the primary "
+"location for files, photos, and media."
msgstr ""
-#: ../../include/text.php:568
-msgid "No contacts"
+#: ../../mod/import.php:382
+msgid "Make this hub my primary location"
msgstr ""
-#: ../../include/text.php:577
+#: ../../mod/manage.php:62
#, php-format
-msgid "%d Contact"
-msgid_plural "%d Contacts"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/text.php:839
-msgid "Monday"
-msgstr ""
-
-#: ../../include/text.php:839
-msgid "Tuesday"
-msgstr ""
-
-#: ../../include/text.php:839
-msgid "Wednesday"
-msgstr ""
-
-#: ../../include/text.php:839
-msgid "Thursday"
-msgstr ""
-
-#: ../../include/text.php:839
-msgid "Friday"
-msgstr ""
-
-#: ../../include/text.php:839
-msgid "Saturday"
-msgstr ""
-
-#: ../../include/text.php:839
-msgid "Sunday"
-msgstr ""
-
-#: ../../include/text.php:843
-msgid "January"
-msgstr ""
-
-#: ../../include/text.php:843
-msgid "February"
-msgstr ""
-
-#: ../../include/text.php:843
-msgid "March"
-msgstr ""
-
-#: ../../include/text.php:843
-msgid "April"
-msgstr ""
-
-#: ../../include/text.php:843
-msgid "May"
-msgstr ""
-
-#: ../../include/text.php:843
-msgid "June"
-msgstr ""
-
-#: ../../include/text.php:843
-msgid "July"
+msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr ""
-#: ../../include/text.php:843
-msgid "August"
+#: ../../mod/manage.php:70
+msgid "Create a new channel"
msgstr ""
-#: ../../include/text.php:843
-msgid "September"
+#: ../../mod/manage.php:75
+msgid "Channel Manager"
msgstr ""
-#: ../../include/text.php:843
-msgid "October"
+#: ../../mod/manage.php:76
+msgid "Current Channel"
msgstr ""
-#: ../../include/text.php:843
-msgid "November"
+#: ../../mod/manage.php:78
+msgid "Attach to one of your channels by selecting it."
msgstr ""
-#: ../../include/text.php:843
-msgid "December"
+#: ../../mod/manage.php:79
+msgid "Default Channel"
msgstr ""
-#: ../../include/text.php:929
-msgid "bytes"
-msgstr ""
-
-#: ../../include/text.php:949 ../../include/text.php:964
-msgid "remove"
+#: ../../mod/manage.php:80
+msgid "Make Default"
msgstr ""
-#: ../../include/text.php:949 ../../include/text.php:964
-msgid "[remove]"
+#: ../../mod/vote.php:97
+msgid "Total votes"
msgstr ""
-#: ../../include/text.php:952
-msgid "Categories:"
-msgstr ""
-
-#: ../../include/text.php:967
-msgid "Filed under:"
-msgstr ""
-
-#: ../../include/text.php:983 ../../include/text.php:995
-msgid "Click to open/close"
-msgstr ""
-
-#: ../../include/text.php:1101 ../../include/user.php:236
-msgid "default"
-msgstr ""
-
-#: ../../include/text.php:1113
-msgid "Select an alternate language"
+#: ../../mod/vote.php:98
+msgid "Average Rating"
msgstr ""
-#: ../../include/text.php:1323
-msgid "activity"
-msgstr ""
-
-#: ../../include/text.php:1325
-msgid "comment"
-msgstr ""
-
-#: ../../include/text.php:1326
-msgid "post"
+#: ../../mod/match.php:12
+msgid "Profile Match"
msgstr ""
-#: ../../include/text.php:1481
-msgid "Item filed"
+#: ../../mod/match.php:20
+msgid "No keywords to match. Please add keywords to your default profile."
msgstr ""
-#: ../../include/diaspora.php:660
-msgid "Sharing notification from Diaspora network"
+#: ../../mod/match.php:57
+msgid "is interested in:"
msgstr ""
-#: ../../include/diaspora.php:2152
-msgid "Attachments:"
+#: ../../mod/crepair.php:102
+msgid "Contact settings applied."
msgstr ""
-#: ../../include/network.php:842
-msgid "view full size"
+#: ../../mod/crepair.php:104
+msgid "Contact update failed."
msgstr ""
-#: ../../include/oembed.php:135
-msgid "Embedded content"
+#: ../../mod/crepair.php:129 ../../mod/fsuggest.php:20
+#: ../../mod/fsuggest.php:92
+msgid "Contact not found."
msgstr ""
-#: ../../include/oembed.php:144
-msgid "Embedding disabled"
+#: ../../mod/crepair.php:135
+msgid "Repair Contact Settings"
msgstr ""
-#: ../../include/group.php:25
+#: ../../mod/crepair.php:137
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."
+"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect "
+"information your communications with this contact may stop working."
msgstr ""
-#: ../../include/group.php:176
-msgid "Default privacy group for new contacts"
+#: ../../mod/crepair.php:138
+msgid ""
+"Please use your browser 'Back' button <strong>now</strong> if you are "
+"uncertain what to do on this page."
msgstr ""
-#: ../../include/group.php:195
-msgid "Everybody"
+#: ../../mod/crepair.php:144
+msgid "Return to contact editor"
msgstr ""
-#: ../../include/group.php:218
-msgid "edit"
+#: ../../mod/crepair.php:149
+msgid "Account Nickname"
msgstr ""
-#: ../../include/group.php:240
-msgid "Edit group"
+#: ../../mod/crepair.php:150
+msgid "@Tagname - overrides Name/Nickname"
msgstr ""
-#: ../../include/group.php:241
-msgid "Create a new group"
+#: ../../mod/crepair.php:151
+msgid "Account URL"
msgstr ""
-#: ../../include/group.php:242
-msgid "Contacts not in any group"
+#: ../../mod/crepair.php:152
+msgid "Friend Request URL"
msgstr ""
-#: ../../include/nav.php:46 ../../boot.php:884
-msgid "Logout"
+#: ../../mod/crepair.php:153
+msgid "Friend Confirm URL"
msgstr ""
-#: ../../include/nav.php:46
-msgid "End this session"
+#: ../../mod/crepair.php:154
+msgid "Notification Endpoint URL"
msgstr ""
-#: ../../include/nav.php:49 ../../boot.php:1574
-msgid "Status"
+#: ../../mod/crepair.php:155
+msgid "Poll/Feed URL"
msgstr ""
-#: ../../include/nav.php:64
-msgid "Sign in"
+#: ../../mod/crepair.php:156
+msgid "New photo from this URL"
msgstr ""
-#: ../../include/nav.php:77
-msgid "Home Page"
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
msgstr ""
-#: ../../include/nav.php:81
-msgid "Create an account"
+#: ../../mod/follow.php:25
+msgid "Channel added."
msgstr ""
-#: ../../include/nav.php:86
-msgid "Help and documentation"
+#: ../../mod/editlayout.php:37 ../../mod/editwebpage.php:31
+#: ../../mod/editpost.php:20 ../../mod/editblock.php:37
+msgid "Item not found"
msgstr ""
-#: ../../include/nav.php:89
-msgid "Apps"
+#: ../../mod/editlayout.php:69
+msgid "Edit Layout"
msgstr ""
-#: ../../include/nav.php:89
-msgid "Addon applications, utilities, games"
+#: ../../mod/editlayout.php:105 ../../mod/editwebpage.php:124
+#: ../../mod/editpost.php:98 ../../mod/editblock.php:119
+msgid "Insert YouTube video"
msgstr ""
-#: ../../include/nav.php:91
-msgid "Search site content"
+#: ../../mod/editlayout.php:106 ../../mod/editwebpage.php:125
+#: ../../mod/editpost.php:99 ../../mod/editblock.php:120
+msgid "Insert Vorbis [.ogg] video"
msgstr ""
-#: ../../include/nav.php:101
-msgid "Conversations on this site"
+#: ../../mod/editlayout.php:107 ../../mod/editwebpage.php:126
+#: ../../mod/editpost.php:100 ../../mod/editblock.php:121
+msgid "Insert Vorbis [.ogg] audio"
msgstr ""
-#: ../../include/nav.php:103
-msgid "Directory"
+#: ../../mod/editlayout.php:138
+msgid "Delete Layout"
msgstr ""
-#: ../../include/nav.php:103
-msgid "People directory"
+#: ../../mod/nogroup.php:58
+msgid "Contacts who are not members of a group"
msgstr ""
-#: ../../include/nav.php:113
-msgid "Conversations from your friends"
+#: ../../mod/profile_photo.php:54
+msgid "Image uploaded but image cropping failed."
msgstr ""
-#: ../../include/nav.php:121
-msgid "Friend Requests"
+#: ../../mod/profile_photo.php:107
+msgid "Image resize failed."
msgstr ""
-#: ../../include/nav.php:123
-msgid "See all notifications"
+#: ../../mod/profile_photo.php:151
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
msgstr ""
-#: ../../include/nav.php:124
-msgid "Mark all system notifications seen"
+#: ../../mod/profile_photo.php:173
+#, php-format
+msgid "Image exceeds size limit of %d"
msgstr ""
-#: ../../include/nav.php:128
-msgid "Private mail"
+#: ../../mod/profile_photo.php:182
+msgid "Unable to process image."
msgstr ""
-#: ../../include/nav.php:129
-msgid "Inbox"
+#: ../../mod/profile_photo.php:224 ../../mod/profile_photo.php:272
+msgid "Photo not available."
msgstr ""
-#: ../../include/nav.php:130
-msgid "Outbox"
+#: ../../mod/profile_photo.php:291
+msgid "Upload File:"
msgstr ""
-#: ../../include/nav.php:134
-msgid "Manage"
+#: ../../mod/profile_photo.php:292
+msgid "Select a profile:"
msgstr ""
-#: ../../include/nav.php:134
-msgid "Manage other pages"
+#: ../../mod/profile_photo.php:293
+msgid "Upload Profile Photo"
msgstr ""
-#: ../../include/nav.php:138 ../../boot.php:1132
-msgid "Profiles"
+#: ../../mod/profile_photo.php:294
+msgid "Upload"
msgstr ""
-#: ../../include/nav.php:138 ../../boot.php:1132
-msgid "Manage/edit profiles"
+#: ../../mod/profile_photo.php:298
+msgid "skip this step"
msgstr ""
-#: ../../include/nav.php:139
-msgid "Manage/edit friends and contacts"
+#: ../../mod/profile_photo.php:298
+msgid "select a photo from your photo albums"
msgstr ""
-#: ../../include/nav.php:146
-msgid "Site setup and configuration"
+#: ../../mod/profile_photo.php:312
+msgid "Crop Image"
msgstr ""
-#: ../../include/nav.php:170
-msgid "Nothing new here"
+#: ../../mod/profile_photo.php:313
+msgid "Please adjust the image cropping for optimum viewing."
msgstr ""
-#: ../../include/contact_widgets.php:6
-msgid "Add New Contact"
+#: ../../mod/profile_photo.php:315
+msgid "Done Editing"
msgstr ""
-#: ../../include/contact_widgets.php:7
-msgid "Enter address or web location"
+#: ../../mod/profile_photo.php:350
+msgid "Image uploaded successfully."
msgstr ""
-#: ../../include/contact_widgets.php:8
-msgid "Example: bob@example.com, http://example.com/barbara"
+#: ../../mod/profile_photo.php:352
+msgid "Image upload failed."
msgstr ""
-#: ../../include/contact_widgets.php:23
+#: ../../mod/profile_photo.php:361
#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/contact_widgets.php:29
-msgid "Find People"
-msgstr ""
-
-#: ../../include/contact_widgets.php:30
-msgid "Enter name or interest"
-msgstr ""
-
-#: ../../include/contact_widgets.php:31
-msgid "Connect/Follow"
-msgstr ""
-
-#: ../../include/contact_widgets.php:32
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr ""
-
-#: ../../include/contact_widgets.php:36
-msgid "Random Profile"
-msgstr ""
-
-#: ../../include/contact_widgets.php:68
-msgid "Networks"
-msgstr ""
-
-#: ../../include/contact_widgets.php:71
-msgid "All Networks"
-msgstr ""
-
-#: ../../include/contact_widgets.php:98
-msgid "Saved Folders"
+msgid "Image size reduction [%s] failed."
msgstr ""
-#: ../../include/contact_widgets.php:101 ../../include/contact_widgets.php:129
-msgid "Everything"
+#: ../../mod/editwebpage.php:88
+msgid "Edit Webpage"
msgstr ""
-#: ../../include/contact_widgets.php:126
-msgid "Categories"
+#: ../../mod/editwebpage.php:159
+msgid "Delete Webpage"
msgstr ""
-#: ../../include/auth.php:36
-msgid "Logged out."
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
msgstr ""
-#: ../../include/auth.php:115
-msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
+#: ../../mod/notifications.php:76
+msgid "System"
msgstr ""
-#: ../../include/auth.php:115
-msgid "The error message was:"
+#: ../../mod/notifications.php:96
+msgid "Introductions"
msgstr ""
-#: ../../include/datetime.php:43 ../../include/datetime.php:45
-msgid "Miscellaneous"
+#: ../../mod/notifications.php:121
+msgid "Show Ignored Requests"
msgstr ""
-#: ../../include/datetime.php:131 ../../include/datetime.php:263
-msgid "year"
+#: ../../mod/notifications.php:121
+msgid "Hide Ignored Requests"
msgstr ""
-#: ../../include/datetime.php:136 ../../include/datetime.php:264
-msgid "month"
+#: ../../mod/notifications.php:147 ../../mod/notifications.php:193
+msgid "Notification type: "
msgstr ""
-#: ../../include/datetime.php:141 ../../include/datetime.php:266
-msgid "day"
+#: ../../mod/notifications.php:148
+msgid "Friend Suggestion"
msgstr ""
-#: ../../include/datetime.php:254
-msgid "never"
+#: ../../mod/notifications.php:150
+#, php-format
+msgid "suggested by %s"
msgstr ""
-#: ../../include/datetime.php:260
-msgid "less than a second ago"
+#: ../../mod/notifications.php:179
+msgid "Claims to be known to you: "
msgstr ""
-#: ../../include/datetime.php:263
-msgid "years"
+#: ../../mod/notifications.php:179
+msgid "yes"
msgstr ""
-#: ../../include/datetime.php:264
-msgid "months"
+#: ../../mod/notifications.php:179
+msgid "no"
msgstr ""
-#: ../../include/datetime.php:265
-msgid "week"
+#: ../../mod/notifications.php:186
+msgid "Approve as: "
msgstr ""
-#: ../../include/datetime.php:265
-msgid "weeks"
+#: ../../mod/notifications.php:187
+msgid "Friend"
msgstr ""
-#: ../../include/datetime.php:266
-msgid "days"
+#: ../../mod/notifications.php:188
+msgid "Sharer"
msgstr ""
-#: ../../include/datetime.php:267
-msgid "hour"
+#: ../../mod/notifications.php:188
+msgid "Fan/Admirer"
msgstr ""
-#: ../../include/datetime.php:267
-msgid "hours"
+#: ../../mod/notifications.php:194
+msgid "Friend/Connect Request"
msgstr ""
-#: ../../include/datetime.php:268
-msgid "minute"
+#: ../../mod/notifications.php:194
+msgid "New Follower"
msgstr ""
-#: ../../include/datetime.php:268
-msgid "minutes"
+#: ../../mod/notifications.php:215
+msgid "No introductions."
msgstr ""
-#: ../../include/datetime.php:269
-msgid "second"
+#: ../../mod/notifications.php:257 ../../mod/notifications.php:382
+#: ../../mod/notifications.php:465
+#, php-format
+msgid "%s liked %s's post"
msgstr ""
-#: ../../include/datetime.php:269
-msgid "seconds"
+#: ../../mod/notifications.php:266 ../../mod/notifications.php:391
+#: ../../mod/notifications.php:474
+#, php-format
+msgid "%s disliked %s's post"
msgstr ""
-#: ../../include/datetime.php:278
+#: ../../mod/notifications.php:280 ../../mod/notifications.php:405
+#: ../../mod/notifications.php:488
#, php-format
-msgid "%1$d %2$s ago"
+msgid "%s is now friends with %s"
msgstr ""
-#: ../../include/datetime.php:450 ../../include/items.php:1460
+#: ../../mod/notifications.php:287 ../../mod/notifications.php:412
#, php-format
-msgid "%s's birthday"
+msgid "%s created a new post"
msgstr ""
-#: ../../include/datetime.php:451 ../../include/items.php:1461
+#: ../../mod/notifications.php:288 ../../mod/notifications.php:413
+#: ../../mod/notifications.php:497
#, php-format
-msgid "Happy Birthday %s"
+msgid "%s commented on %s's post"
msgstr ""
-#: ../../include/onepoll.php:399
-msgid "From: "
+#: ../../mod/notifications.php:302
+msgid "No more network notifications."
msgstr ""
-#: ../../include/bbcode.php:225 ../../include/bbcode.php:245
-msgid "$1 wrote:"
+#: ../../mod/notifications.php:306
+msgid "Network Notifications"
msgstr ""
-#: ../../include/bbcode.php:260 ../../include/bbcode.php:337
-msgid "Image/photo"
+#: ../../mod/notifications.php:332 ../../mod/notify.php:54
+msgid "No more system notifications."
msgstr ""
-#: ../../include/dba.php:41
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
+#: ../../mod/notifications.php:336 ../../mod/notify.php:58
+msgid "System Notifications"
msgstr ""
-#: ../../include/message.php:15 ../../include/message.php:171
-msgid "[no subject]"
+#: ../../mod/notifications.php:427
+msgid "No more personal notifications."
msgstr ""
-#: ../../include/acl_selectors.php:286
-msgid "Visible to everybody"
+#: ../../mod/notifications.php:431
+msgid "Personal Notifications"
msgstr ""
-#: ../../include/enotify.php:14
-msgid "Friendica Notification"
+#: ../../mod/notifications.php:504
+msgid "No more home notifications."
msgstr ""
-#: ../../include/enotify.php:17
-msgid "Thank You,"
+#: ../../mod/notifications.php:508
+msgid "Home Notifications"
msgstr ""
-#: ../../include/enotify.php:19
-#, php-format
-msgid "%s Administrator"
+#: ../../mod/oexchange.php:22
+msgid "Post successful."
msgstr ""
-#: ../../include/enotify.php:38
-#, php-format
-msgid "%s <!item_type!>"
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
msgstr ""
-#: ../../include/enotify.php:42
-#, php-format
-msgid "[Friendica:Notify] New mail received at %s"
+#: ../../mod/editpost.php:40
+msgid "Edit post"
msgstr ""
-#: ../../include/enotify.php:44
-#, php-format
-msgid "%1$s sent you a new private message at %2$s."
+#: ../../mod/profile.php:111
+msgid "Access to this profile has been restricted."
msgstr ""
-#: ../../include/enotify.php:45
-#, php-format
-msgid "%1$s sent you %2$s."
+#: ../../mod/poke.php:159
+msgid "Poke/Prod"
msgstr ""
-#: ../../include/enotify.php:45
-msgid "a private message"
+#: ../../mod/poke.php:160
+msgid "poke, prod or do other things to somebody"
msgstr ""
-#: ../../include/enotify.php:46
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
+#: ../../mod/poke.php:161
+msgid "Recipient"
msgstr ""
-#: ../../include/enotify.php:87
-#, php-format
-msgid "%1$s commented on [url=%2$s]a %3$s[/url]"
+#: ../../mod/poke.php:162
+msgid "Choose what you wish to do to recipient"
msgstr ""
-#: ../../include/enotify.php:94
-#, php-format
-msgid "%1$s commented on [url=%2$s]%3$s's %4$s[/url]"
+#: ../../mod/poke.php:165
+msgid "Make this post private"
msgstr ""
-#: ../../include/enotify.php:102
-#, php-format
-msgid "%1$s commented on [url=%2$s]your %3$s[/url]"
+#: ../../mod/wall_upload.php:41 ../../mod/item.php:1077
+msgid "Wall Photos"
msgstr ""
-#: ../../include/enotify.php:112
-#, php-format
-msgid "[Friendica:Notify] Comment to conversation #%1$d by %2$s"
+#: ../../mod/community.php:23
+msgid "Not available."
msgstr ""
-#: ../../include/enotify.php:113
-#, php-format
-msgid "%s commented on an item/conversation you have been following."
+#: ../../mod/community.php:32
+msgid "Community"
msgstr ""
-#: ../../include/enotify.php:116 ../../include/enotify.php:131
-#: ../../include/enotify.php:144 ../../include/enotify.php:157
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
+#: ../../mod/community.php:63 ../../mod/community.php:88
+msgid "No results."
msgstr ""
-#: ../../include/enotify.php:123
-#, php-format
-msgid "[Friendica:Notify] %s posted to your profile wall"
+#: ../../mod/fbrowser.php:113
+msgid "Files"
msgstr ""
-#: ../../include/enotify.php:125
-#, php-format
-msgid "%1$s posted to your profile wall at %2$s"
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
msgstr ""
-#: ../../include/enotify.php:127
-#, php-format
-msgid "%1$s posted to [url=%2s]your wall[/url]"
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
msgstr ""
-#: ../../include/enotify.php:138
+#: ../../mod/fsuggest.php:99
#, php-format
-msgid "[Friendica:Notify] %s tagged you"
+msgid "Suggest a friend for %s"
msgstr ""
-#: ../../include/enotify.php:139
-#, php-format
-msgid "%1$s tagged you at %2$s"
+#: ../../mod/editblock.php:83
+msgid "Edit Block"
msgstr ""
-#: ../../include/enotify.php:140
-#, php-format
-msgid "%1$s [url=%2$s]tagged you[/url]."
+#: ../../mod/editblock.php:154
+msgid "Delete Block"
msgstr ""
-#: ../../include/enotify.php:151
-#, php-format
-msgid "[Friendica:Notify] %s tagged your post"
+#: ../../mod/profperm.php:34 ../../mod/profperm.php:64
+msgid "Invalid profile identifier."
msgstr ""
-#: ../../include/enotify.php:152
-#, php-format
-msgid "%1$s tagged your post at %2$s"
+#: ../../mod/profperm.php:110
+msgid "Profile Visibility Editor"
msgstr ""
-#: ../../include/enotify.php:153
-#, php-format
-msgid "%1$s tagged [url=%2$s]your post[/url]"
+#: ../../mod/profperm.php:114
+msgid "Click on a contact to add or remove."
msgstr ""
-#: ../../include/enotify.php:164
-msgid "[Friendica:Notify] Introduction received"
+#: ../../mod/profperm.php:123
+msgid "Visible To"
msgstr ""
-#: ../../include/enotify.php:165
-#, php-format
-msgid "You've received an introduction from '%1$s' at %2$s"
+#: ../../mod/profperm.php:139
+msgid "All Contacts (with secure profile access)"
msgstr ""
-#: ../../include/enotify.php:166
-#, php-format
-msgid "You've received [url=%1$s]an introduction[/url] from %2$s."
+#: ../../mod/item.php:133
+msgid "Unable to locate original post."
msgstr ""
-#: ../../include/enotify.php:169 ../../include/enotify.php:187
-#, php-format
-msgid "You may visit their profile at %s"
+#: ../../mod/item.php:301
+msgid "Empty post discarded."
msgstr ""
-#: ../../include/enotify.php:171
-#, php-format
-msgid "Please visit %s to approve or reject the introduction."
+#: ../../mod/item.php:345
+msgid "Executable content type not permitted to this channel."
msgstr ""
-#: ../../include/enotify.php:178
-msgid "[Friendica:Notify] Friend suggestion received"
+#: ../../mod/item.php:792
+msgid "System error. Post not saved."
msgstr ""
-#: ../../include/enotify.php:179
+#: ../../mod/item.php:1153
#, php-format
-msgid "You've received a friend suggestion from '%1$s' at %2$s"
+msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../include/enotify.php:180
+#: ../../mod/item.php:1159
#, php-format
-msgid "You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s."
+msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
-#: ../../include/enotify.php:185
-msgid "Name:"
-msgstr ""
-
-#: ../../include/enotify.php:186
-msgid "Photo:"
-msgstr ""
-
-#: ../../include/enotify.php:189
+#: ../../mod/siteinfo.php:51
#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
+msgid "Version %s"
msgstr ""
-#: ../../include/follow.php:32
-msgid "Connect URL missing."
-msgstr ""
-
-#: ../../include/follow.php:59
-msgid ""
-"This site is not configured to allow communications with other networks."
+#: ../../mod/siteinfo.php:65
+msgid "Installed plugins/addons/apps:"
msgstr ""
-#: ../../include/follow.php:60 ../../include/follow.php:80
-msgid "No compatible communication protocols or feeds were discovered."
+#: ../../mod/siteinfo.php:78
+msgid "No installed plugins/addons/apps"
msgstr ""
-#: ../../include/follow.php:78
-msgid "The profile address specified does not provide adequate information."
+#: ../../mod/siteinfo.php:81
+msgid "Red"
msgstr ""
-#: ../../include/follow.php:82
-msgid "An author or name was not found."
+#: ../../mod/siteinfo.php:82
+msgid ""
+"This is Red - another decentralized, distributed communications project by "
+"the folks at Friendica."
msgstr ""
-#: ../../include/follow.php:84
-msgid "No browser URL could be matched to this address."
+#: ../../mod/siteinfo.php:84
+msgid "Running at web location"
msgstr ""
-#: ../../include/follow.php:86
+#: ../../mod/siteinfo.php:85
msgid ""
-"Unable to match @-style Identity Address with a known protocol or email "
-"contact."
+"Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn "
+"more about the Friendica and/or Red project."
msgstr ""
-#: ../../include/follow.php:87
-msgid "Use mailto: in front of address to force email check."
+#: ../../mod/siteinfo.php:86
+msgid "Bug reports and issues: please visit"
msgstr ""
-#: ../../include/follow.php:93
+#: ../../mod/siteinfo.php:89
msgid ""
-"The profile address specified belongs to a network which has been disabled "
-"on this site."
+"Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - "
+"dot com"
msgstr ""
-#: ../../include/follow.php:103
+#: ../../mod/suggest.php:41
msgid ""
-"Limited profile. This person will be unable to receive direct/personal "
-"notifications from you."
-msgstr ""
-
-#: ../../include/follow.php:205
-msgid "Unable to retrieve contact information."
-msgstr ""
-
-#: ../../include/follow.php:259
-msgid "following"
-msgstr ""
-
-#: ../../include/items.php:2890
-msgid "A new person is sharing with you at "
-msgstr ""
-
-#: ../../include/items.php:2890
-msgid "You have a new follower at "
-msgstr ""
-
-#: ../../include/items.php:3522
-msgid "Archives"
-msgstr ""
-
-#: ../../include/bb2diaspora.php:226 ../../include/bb2diaspora.php:236
-#: ../../include/bb2diaspora.php:237
-msgid "image/photo"
-msgstr ""
-
-#: ../../include/user.php:38
-msgid "An invitation is required."
-msgstr ""
-
-#: ../../include/user.php:43
-msgid "Invitation could not be verified."
-msgstr ""
-
-#: ../../include/user.php:51
-msgid "Invalid OpenID url"
-msgstr ""
-
-#: ../../include/user.php:66
-msgid "Please enter the required information."
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
msgstr ""
-#: ../../include/user.php:80
-msgid "Please use a shorter name."
+#: ../../mod/suggest.php:58
+msgid "Ignore/Hide"
msgstr ""
-#: ../../include/user.php:82
-msgid "Name too short."
+#: ../../mod/pubsites.php:22
+msgid "Public Sites"
msgstr ""
-#: ../../include/user.php:97
-msgid "That doesn't appear to be your full (First Last) name."
+#: ../../mod/pubsites.php:28
+msgid "Site URL"
msgstr ""
-#: ../../include/user.php:102
-msgid "Your email domain is not among those allowed on this site."
+#: ../../mod/pubsites.php:28
+msgid "Access Type"
msgstr ""
-#: ../../include/user.php:105
-msgid "Not a valid email address."
+#: ../../mod/pubsites.php:28
+msgid "Registration Policy"
msgstr ""
-#: ../../include/user.php:115
-msgid "Cannot use that email."
+#: ../../mod/register.php:35
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr ""
-#: ../../include/user.php:121
+#: ../../mod/register.php:41
msgid ""
-"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and "
-"must also begin with a letter."
+"Please indicate acceptance of the Terms of Service. Registration failed."
msgstr ""
-#: ../../include/user.php:127 ../../include/user.php:225
-msgid "Nickname is already registered. Please choose another."
+#: ../../mod/register.php:69
+msgid "Passwords do not match."
msgstr ""
-#: ../../include/user.php:137
+#: ../../mod/register.php:97
msgid ""
-"Nickname was once registered here and may not be re-used. Please choose "
-"another."
-msgstr ""
-
-#: ../../include/user.php:153
-msgid "SERIOUS ERROR: Generation of security keys failed."
-msgstr ""
-
-#: ../../include/user.php:211
-msgid "An error occurred during registration. Please try again."
-msgstr ""
-
-#: ../../include/user.php:246
-msgid "An error occurred creating your default profile. Please try again."
-msgstr ""
-
-#: ../../include/security.php:21
-msgid "Welcome "
+"Registration successful. Please check your email for validation instructions."
msgstr ""
-#: ../../include/security.php:22
-msgid "Please upload a profile photo."
+#: ../../mod/register.php:103
+msgid "Your registration is pending approval by the site owner."
msgstr ""
-#: ../../include/security.php:25
-msgid "Welcome back "
+#: ../../mod/register.php:106
+msgid "Your registration can not be processed."
msgstr ""
-#: ../../include/security.php:329
+#: ../../mod/register.php:141
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/Contact.php:111
-msgid "stopped following"
-msgstr ""
-
-#: ../../include/Contact.php:218 ../../include/conversation.php:842
-msgid "View Status"
-msgstr ""
-
-#: ../../include/Contact.php:219 ../../include/conversation.php:843
-msgid "View Profile"
-msgstr ""
-
-#: ../../include/Contact.php:220 ../../include/conversation.php:844
-msgid "View Photos"
-msgstr ""
-
-#: ../../include/Contact.php:221 ../../include/Contact.php:234
-#: ../../include/conversation.php:845
-msgid "Network Posts"
-msgstr ""
-
-#: ../../include/Contact.php:222 ../../include/Contact.php:234
-#: ../../include/conversation.php:846
-msgid "Edit Contact"
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
msgstr ""
-#: ../../include/Contact.php:223 ../../include/Contact.php:234
-#: ../../include/conversation.php:847
-msgid "Send PM"
+#: ../../mod/register.php:152
+msgid "Terms of Service"
msgstr ""
-#: ../../include/conversation.php:163
-msgid "post/item"
+#: ../../mod/register.php:158
+#, php-format
+msgid "I accept the %s for this website"
msgstr ""
-#: ../../include/conversation.php:164
+#: ../../mod/register.php:160
#, php-format
-msgid "%1$s marked %2$s's %3$s as favorite"
+msgid "I am over 13 years of age and accept the %s for this website"
msgstr ""
-#: ../../include/conversation.php:750
-msgid "Delete Selected Items"
+#: ../../mod/register.php:175
+msgid "Membership on this site is by invitation only."
msgstr ""
-#: ../../include/conversation.php:905
-#, php-format
-msgid "%s likes this."
+#: ../../mod/register.php:176
+msgid "Please enter your invitation code"
msgstr ""
-#: ../../include/conversation.php:905
-#, php-format
-msgid "%s doesn't like this."
+#: ../../mod/register.php:179
+msgid "Your email address"
msgstr ""
-#: ../../include/conversation.php:909
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
+#: ../../mod/register.php:180
+msgid "Choose a password"
msgstr ""
-#: ../../include/conversation.php:911
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
+#: ../../mod/register.php:181
+msgid "Please re-enter your password"
msgstr ""
-#: ../../include/conversation.php:917
-msgid "and"
+#: ../../mod/regmod.php:12
+msgid "Please login."
msgstr ""
-#: ../../include/conversation.php:920
-#, php-format
-msgid ", and %d other people"
+#: ../../mod/post.php:114
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please "
+"logout and retry."
msgstr ""
-#: ../../include/conversation.php:921
+#: ../../mod/post.php:127
#, php-format
-msgid "%s like this."
+msgid "Welcome %s. Remote authentication successful."
msgstr ""
-#: ../../include/conversation.php:921
-#, php-format
-msgid "%s don't like this."
+#: ../../mod/removeme.php:45 ../../mod/removeme.php:48
+msgid "Remove My Account"
msgstr ""
-#: ../../include/conversation.php:946
-msgid "Visible to <strong>everybody</strong>"
+#: ../../mod/removeme.php:46
+msgid ""
+"This will completely remove your account. Once this has been done it is not "
+"recoverable."
msgstr ""
-#: ../../include/conversation.php:948
-msgid "Please enter a video link/URL:"
+#: ../../mod/removeme.php:47
+msgid "Please enter your password for verification:"
msgstr ""
-#: ../../include/conversation.php:949
-msgid "Please enter an audio link/URL:"
+#: ../../mod/filestorage.php:22
+msgid "Permission Denied."
msgstr ""
-#: ../../include/conversation.php:950
-msgid "Tag term:"
+#: ../../mod/filestorage.php:59
+msgid "Download"
msgstr ""
-#: ../../include/conversation.php:952
-msgid "Where are you right now?"
+#: ../../mod/filestorage.php:64
+msgid "Used: "
msgstr ""
-#: ../../include/conversation.php:995
-msgid "upload photo"
+#: ../../mod/filestorage.php:66
+msgid "Limit: "
msgstr ""
-#: ../../include/conversation.php:997
-msgid "attach file"
+#: ../../mod/mood.php:133
+msgid "Mood"
msgstr ""
-#: ../../include/conversation.php:999
-msgid "web link"
+#: ../../mod/mood.php:134
+msgid "Set your current mood and tell your friends"
msgstr ""
-#: ../../include/conversation.php:1000
-msgid "Insert video link"
+#: ../../view/theme/redbasic/php/config.php:138
+#: ../../view/theme/redbasic/php/config.php:156
+#: ../../view/theme/redstrap/php/config.php:133
+msgid "Theme settings"
msgstr ""
-#: ../../include/conversation.php:1001
-msgid "video link"
+#: ../../view/theme/redbasic/php/config.php:139
+#: ../../view/theme/redbasic/php/config.php:157
+#: ../../view/theme/redstrap/php/config.php:134
+msgid "Set font-size for posts and comments"
msgstr ""
-#: ../../include/conversation.php:1002
-msgid "Insert audio link"
+#: ../../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"
msgstr ""
-#: ../../include/conversation.php:1003
-msgid "audio link"
+#: ../../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 ""
-#: ../../include/conversation.php:1005
-msgid "set location"
+#: ../../view/theme/redbasic/php/config.php:142
+#: ../../view/theme/redstrap/php/config.php:137
+msgid "Draw shadows"
msgstr ""
-#: ../../include/conversation.php:1007
-msgid "clear location"
+#: ../../view/theme/redbasic/php/config.php:143
+#: ../../view/theme/redstrap/php/config.php:138
+msgid "Navigation bar colour"
msgstr ""
-#: ../../include/conversation.php:1014
-msgid "permissions"
+#: ../../view/theme/redbasic/php/config.php:144
+#: ../../view/theme/redstrap/php/config.php:139
+msgid "Display style"
msgstr ""
-#: ../../include/plugin.php:388 ../../include/plugin.php:390
-msgid "Click here to upgrade."
+#: ../../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 #"
msgstr ""
-#: ../../include/plugin.php:396
-msgid "This action exceeds the limits set by your subscription plan."
+#: ../../view/theme/redbasic/php/config.php:146
+#: ../../view/theme/redstrap/php/config.php:141
+msgid "Icons"
msgstr ""
-#: ../../include/plugin.php:401
-msgid "This action is not available under your subscription plan."
+#: ../../view/theme/redbasic/php/config.php:147
+#: ../../view/theme/redstrap/php/config.php:142
+msgid "Shiny style"
msgstr ""
-#: ../../boot.php:563
-msgid "Delete this item?"
+#: ../../view/theme/redbasic/php/config.php:148
+msgid "Corner radius"
msgstr ""
-#: ../../boot.php:566
-msgid "show fewer"
+#: ../../view/theme/redbasic/php/config.php:148
+msgid "0-99 default: 5"
msgstr ""
-#: ../../boot.php:761
+#: ../../boot.php:1242
#, php-format
msgid "Update %s failed. See error logs."
msgstr ""
-#: ../../boot.php:763
+#: ../../boot.php:1245
#, php-format
msgid "Update Error at %s"
msgstr ""
-#: ../../boot.php:863
+#: ../../boot.php:1403
msgid "Create a New Account"
msgstr ""
-#: ../../boot.php:887
-msgid "Nickname or Email address: "
+#: ../../boot.php:1432
+msgid "Password"
msgstr ""
-#: ../../boot.php:888
-msgid "Password: "
+#: ../../boot.php:1433
+msgid "Remember me"
msgstr ""
-#: ../../boot.php:891
-msgid "Or login using OpenID: "
+#: ../../boot.php:1438
+msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:897
-msgid "Forgot your password?"
+#: ../../boot.php:1557
+msgid "Requested channel is not available."
msgstr ""
-#: ../../boot.php:1064
-msgid "Edit profile"
+#: ../../boot.php:1569
+msgid " Sorry, you don't have the permission to view this profile. "
msgstr ""
-#: ../../boot.php:1124
-msgid "Message"
+#: ../../boot.php:1716
+msgid "Profiles"
msgstr ""
-#: ../../boot.php:1240 ../../boot.php:1319
-msgid "g A l F d"
+#: ../../boot.php:1716
+msgid "Manage/edit profiles"
msgstr ""
-#: ../../boot.php:1241 ../../boot.php:1320
-msgid "F d"
+#: ../../boot.php:1720
+msgid "Edit Profile"
msgstr ""
-#: ../../boot.php:1286 ../../boot.php:1360
-msgid "[today]"
+#: ../../boot.php:1809 ../../boot.php:1889
+msgid "F d"
msgstr ""
-#: ../../boot.php:1298
+#: ../../boot.php:1866
msgid "Birthday Reminders"
msgstr ""
-#: ../../boot.php:1299
+#: ../../boot.php:1867
msgid "Birthdays this week:"
msgstr ""
-#: ../../boot.php:1353
+#: ../../boot.php:1922
msgid "[No description]"
msgstr ""
-#: ../../boot.php:1371
+#: ../../boot.php:1940
msgid "Event Reminders"
msgstr ""
-#: ../../boot.php:1372
+#: ../../boot.php:1941
msgid "Events this week:"
msgstr ""
-#: ../../boot.php:1577
+#: ../../boot.php:2175
+msgid "Channel"
+msgstr ""
+
+#: ../../boot.php:2178
msgid "Status Messages and Posts"
msgstr ""
-#: ../../boot.php:1583
+#: ../../boot.php:2182
+msgid "About"
+msgstr ""
+
+#: ../../boot.php:2185
msgid "Profile Details"
msgstr ""
-#: ../../boot.php:1598
+#: ../../boot.php:2203
msgid "Events and Calendar"
msgstr ""
-#: ../../boot.php:1604
-msgid "Only You Can See This"
+#: ../../boot.php:2208
+msgid "Webpages"
+msgstr ""
+
+#: ../../boot.php:2211
+msgid "Manage Webpages"
+msgstr ""
+
+#: ../../boot.php:2493
+msgid "toggle mobile"
msgstr ""
diff --git a/util/pconfig b/util/pconfig
new file mode 100755
index 000000000..baa786a03
--- /dev/null
+++ b/util/pconfig
@@ -0,0 +1,34 @@
+#!/usr/bin/env php
+<?php
+
+// Red pconfig utility
+
+require_once('include/cli_startup.php');
+
+cli_startup();
+
+if($argc > 4) {
+ set_pconfig($argv[1],$argv[2],$argv[3],$argv[4]);
+ echo "pconfig[{$argv[1]}][{$argv[2]}][{$argv[3]}] = " . get_pconfig($argv[1],$argv[2],$argv[3]) . "\n";
+}
+
+if($argc == 4) {
+ echo "pconfig[{$argv[1]}][{$argv[2]}][{$argv[3]}] = " . get_pconfig($argv[1],$argv[2],$argv[3]) . "\n";
+}
+
+if($argc == 3) {
+ load_pconfig($argv[1],$argv[2]);
+ foreach($a->config[$argv[1]][$argv[2]] as $k => $x) {
+ echo "pconfig[{$argv[1]}][{$argv[2]}][{$k}] = " . $x . "\n";
+ }
+}
+
+if($argc == 2) {
+ $r = q("select * from pconfig where uid = " . intval($argv[1]));
+ if($r) {
+ foreach($r as $rr) {
+ echo "pconfig[{$rr['uid']}][{$rr['cat']}][{$rr['k']}] = " . $rr['v'] . "\n";
+ }
+ }
+}
+
diff --git a/util/precompile_smarty3.php b/util/precompile_smarty3.php
new file mode 100755
index 000000000..65cb760ef
--- /dev/null
+++ b/util/precompile_smarty3.php
@@ -0,0 +1,27 @@
+<?php
+
+
+/**
+* @package util
+*/
+
+#require_once('boot.php');
+#require_once('include/cli_startup.php');
+require_once "library/Smarty/libs/Smarty.class.php";
+
+#cli_startup();
+
+$folders = array_merge(array('view/tpl/'),glob('view/theme/*/tpl/*',GLOB_ONLYDIR));
+
+$s = new Smarty();
+
+$s->setTemplateDir($folders);
+
+$s->setCompileDir('view/tpl/smarty3/compiled/');
+$s->setConfigDir('view/tpl/smarty3/config/');
+$s->setCacheDir('view/tpl/smarty3/cache/');
+
+$s->left_delimiter = "{{";
+$s->right_delimiter = "}}";
+
+$s->compileAllTemplates('.tpl',true); \ No newline at end of file
diff --git a/util/run_xgettext.sh b/util/run_xgettext.sh
index 6ea603c83..4b4e012da 100755
--- a/util/run_xgettext.sh
+++ b/util/run_xgettext.sh
@@ -1,37 +1,81 @@
#!/bin/bash
FULLPATH=$(dirname $(readlink -f "$0"))
-cd "$FULLPATH/../view/en/"
-F9KVERSION=$(sed -n "s/.*'FRIENDICA_VERSION'.*'\([0-9.]*\)'.*/\1/p" ../../boot.php);
-
-echo "Friendica version $F9KVERSION"
+ADDONMODE=
+ADDONNAME=
+if [ "$1" == "--addon" -o "$1" == "-a" ]
+then
+ ADDONMODE=1
+ if [ -z $2 ]; then echo -e "ERROR: missing addon name\n\nrun_xgettext.sh -a <addonname>"; exit 1; fi
+ ADDONNAME=$2
+ if [ ! -d "$FULLPATH/../addon/$ADDONNAME" ]; then echo "ERROR: addon '$ADDONNAME' not found"; exit 2; fi
+fi
-OPTS=
-OUTFILE="$FULLPATH/messages.po"
-if [ "" != "$1" ]
+if [ $ADDONMODE ]
then
- OUTFILE="$(readlink -f ${FULLPATH}/$1)"
- if [ -e "$OUTFILE" ]
- then
- echo "join extracted strings"
- OPTS="-j"
- fi
+ cd "$FULLPATH/../addon/$ADDONNAME"
+ mkdir -p "$FULLPATH/../addon/$ADDONNAME/lang/C"
+ OUTFILE="$FULLPATH/../addon/$ADDONNAME/lang/C/messages.po"
+ FINDSTARTDIR="."
+ FINDOPTS=
+else
+ cd "$FULLPATH/../view/en/"
+ OUTFILE="$FULLPATH/messages.po"
+ FINDSTARTDIR="../../"
+ # skip addon folder
+ FINDOPTS="-wholename */addon -prune -o"
fi
+
+F9KVERSION=$(cat ../../version.inc);
+
+echo "Red version $F9KVERSION"
+
+OPTS=
+
+#if [ "" != "$1" ]
+#then
+# OUTFILE="$(readlink -f ${FULLPATH}/$1)"
+# if [ -e "$OUTFILE" ]
+# then
+# echo "join extracted strings"
+# OPTS="-j"
+# fi
+#fi
+
KEYWORDS="-k -kt -ktt:1,2"
echo "extract strings to $OUTFILE.."
-find ../../ -name "*.php" | xargs xgettext $KEYWORDS $OPTS -o "$OUTFILE" --from-code=UTF-8
-echo "setup base info.."
-sed -i "s/SOME DESCRIPTIVE TITLE./FRIENDICA Distributed Social Network/g" "$OUTFILE"
-sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/2010, 2011 the Friendica Project/g" "$OUTFILE"
-sed -i "s/FIRST AUTHOR <EMAIL@ADDRESS>, YEAR./Mike Macgirvin, 2010/g" "$OUTFILE"
-sed -i "s/PACKAGE VERSION/$F9KVERSION/g" "$OUTFILE"
-sed -i "s/PACKAGE/Friendica/g" "$OUTFILE"
-sed -i "s/CHARSET/UTF-8/g" "$OUTFILE"
-sed -i "s/^\"Plural-Forms/#\"Plural-Forms/g" "$OUTFILE"
+echo "extract strings to $OUTFILE.."
+rm "$OUTFILE"; touch "$OUTFILE"
+for f in $(find "$FINDSTARTDIR" $FINDOPTS -name "*.php" -type f)
+do
+ if [ ! -d "$f" ]
+ then
+ xgettext $KEYWORDS $OPTS -j -o "$OUTFILE" --from-code=UTF-8 "$f" > /dev/null 2>&1
+ fi
+done
+echo "setup base info.."
+if [ $ADDONMODE ]
+then
+ sed -i "s/SOME DESCRIPTIVE TITLE./ADDON $ADDONNAME/g" "$OUTFILE"
+ sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER//g" "$OUTFILE"
+ sed -i "s/FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.//g" "$OUTFILE"
+ sed -i "s/PACKAGE VERSION//g" "$OUTFILE"
+ sed -i "s/PACKAGE/RedMatrix $ADDONNAME addon/g" "$OUTFILE"
+ sed -i "s/CHARSET/UTF-8/g" "$OUTFILE"
+ sed -i "s/^\"Plural-Forms/#\"Plural-Forms/g" "$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/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"
+fi
echo "done."
diff --git a/util/shred/FriendicaOAuth.sh b/util/shred/FriendicaOAuth.sh
new file mode 100755
index 000000000..a20da7879
--- /dev/null
+++ b/util/shred/FriendicaOAuth.sh
@@ -0,0 +1,173 @@
+#!/bin/bash
+# Copyright (c) 2012 Fabio Comuni
+# Copyright (c) 2012 Michael Nowack
+# Copyright (c) 2010, 2012 Yu-Jie Lin
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of
+# this software and associated documentation files (the "Software"), to deal in
+# the Software without restriction, including without limitation the rights to
+# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+# of the Software, and to permit persons to whom the Software is furnished to do
+# so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+FRIENDICAOAUTH_VERSION=0.1.1
+
+F_API_VERSION="1"
+
+# Friendica API endpoints
+
+F_ACCOUNF_UPDATE_PROFILE_IMAGE="${redmatrix_url}/api/account/update_profile_image"
+F_STATUSES_UPDATE="${redmatrix_url}/api/statuses/update"
+F_STATUSES_HOME_TIMELINE="${redmatrix_url}/api/statuses/home_timeline"
+
+F_REQUESF_TOKEN=${redmatrix_url}'/api/oauth/request_token'
+F_ACCESS_TOKEN=${redmatrix_url}'/api/oauth/access_token'
+F_AUTHORIZE_TOKEN=${redmatrix_url}'/api/oauth/authorize'
+
+# Source OAuth.sh
+
+OAuth_sh=$(which OAuth.sh)
+(( $? != 0 )) && echo 'Unable to locate OAuth.sh! Make sure it is in searching PATH.' && exit 1
+source "$OAuth_sh"
+
+FO_debug () {
+ # Print out all parameters, each in own line
+ [[ "$FO_DEBUG" == "" ]] && return
+ local t=$(date +%FT%T.%N)
+ while (( $# > 0 )); do
+ echo "[FO][DEBUG][$t] $1"
+ shift 1
+ done
+ }
+
+FO_extract_value () {
+ # $1 key name
+ # $2 string to find
+ egrep -o "$1=[a-zA-Z0-9-]*" <<< "$2" | cut -d\= -f 2
+ }
+
+
+FO_init() {
+ # Initialize FriendicaOAuth
+ oauth_version='1.0'
+ oauth_signature_method='HMAC-SHA1'
+ oauth_basic_params=(
+ $(OAuth_param 'oauth_consumer_key' "$oauth_consumer_key")
+ $(OAuth_param 'oauth_signature_method' "$oauth_signature_method")
+ $(OAuth_param 'oauth_version' "$oauth_version")
+ )
+ }
+
+FO_access_token_helper () {
+ # Help guide user to get access token
+
+ local resp PIN
+
+ # Request Token
+
+ local auth_header="$(_OAuth_authorization_header 'Authorization' "$redmatrix_url/" "$oauth_consumer_key" "$oauth_consumer_secret" '' '' "$oauth_signature_method" "$oauth_version" "$(OAuth_nonce)" "$(OAuth_timestamp)" 'POST' "$F_REQUESF_TOKEN" "$(OAuth_param 'oauth_callback' 'oob')"), $(OAuth_param_quote 'oauth_callback' 'oob')"
+
+# echo $auth_header
+# echo $F_REQUESF_TOKEN
+
+ resp=$(curl -s -d '' -H "$auth_header" "$F_REQUESF_TOKEN")
+ FO_rval=$?
+ (( $? != 0 )) && return $FO_rval
+
+ local _oauth_token=$(FO_extract_value 'oauth_token' "$resp")
+ local _oauth_token_secret=$(FO_extract_value 'oauth_token_secret' "$resp")
+
+ echo 'Please go to the following link to get the PIN:'
+ echo " ${F_AUTHORIZE_TOKEN}?oauth_token=$_oauth_token"
+
+ read -p 'PIN: ' PIN
+
+ # Access Token
+
+ local auth_header="$(_OAuth_authorization_header 'Authorization' "$redmatrix_url/" "$oauth_consumer_key" "$oauth_consumer_secret" "$_oauth_token" "$_oauth_token_secret" "$oauth_signature_method" "$oauth_version" "$(OAuth_nonce)" "$(OAuth_timestamp)" 'POST' "$F_ACCESS_TOKEN" "$(OAuth_param 'oauth_verifier' "$PIN")"), $(OAuth_param_quote 'oauth_verifier' "$PIN")"
+
+ resp=$(curl -s -d "" -H "$auth_header" "$F_ACCESS_TOKEN")
+ FO_rval=$?
+ (( $? != 0 )) && return $FO_rval
+
+ FO_ret=(
+ $(FO_extract_value 'oauth_token' "$resp")
+ $(FO_extract_value 'oauth_token_secret' "$resp")
+ $(FO_extract_value 'user_id' "$resp")
+ $(FO_extract_value 'screen_name' "$resp")
+ )
+ }
+
+# APIs
+######
+
+FO_statuses_update () {
+ # $1 format
+ # $2 status
+ # $3 in_reply_to_status_id
+ # The followins are not implemented yet:
+ # $4 lat
+ # $5 long
+ # $6 place_id
+ # $7 display_coordinates
+ local format="$1"
+ [[ "$format" == "" ]] && format="xml"
+
+ local params=(
+ $(OAuth_param 'status' "$2")
+ )
+
+ params[${#params[@]}]=$(OAuth_param 'source' "fcli")
+
+ [[ "$3" != "" ]] && params[${#params[@]}]=$(OAuth_param 'in_reply_to_status_id' "$3") && local in_reply_to_status_id=( '--data-urlencode' "in_reply_to_status_id=$3" )
+
+
+ local auth_header=$(OAuth_authorization_header 'Authorization' "$redmatrix_url" '' '' 'POST' "$F_STATUSES_UPDATE.$format" ${params[@]})
+
+
+ FO_ret=$(curl -s -H "$auth_header" --data-urlencode "status=$2" --data-urlencode "source=fcli" ${in_reply_to_status_id[@]} "$F_STATUSES_UPDATE.$format")
+
+ FO_rval=$?
+ return $FO_rval
+ }
+
+
+# gets the user home_timeline.
+#
+# @sets FO_ret API response
+# @returns status
+# @public
+FO_statuses_home_timeline () {
+ # $1 format
+ # $2 screen_name
+ # $3 count
+ local format="$1"
+ local screen_name="$2"
+ local count="$3"
+ [[ "$format" == "" ]] && format="xml"
+ [[ "$count" == "" ]] && count=1
+
+ local params=(
+ $(OAuth_param 'screen_name' $screen_name)
+ $(OAuth_param 'count' $count)
+ )
+g
+ local auth_header=$(OAuth_authorization_header 'Authorization' "$redmatrix_url" '' '' 'GET' "$F_STATUSES_HOME_TIMELINE.$format" ${params[@]})
+
+ convscreen=$(OAuth_PE "$screen_name");
+ FO_ret=$(curl -s --get "${F_STATUSES_HOME_TIMELINE}.${format}" --data "screen_name=${convscreen}&count=${count}" --header "${auth_header}")
+ FO_rval=$?
+
+ return $FO_rval
+ }
diff --git a/util/shred/JSON.sh b/util/shred/JSON.sh
new file mode 100755
index 000000000..65f5f1f66
--- /dev/null
+++ b/util/shred/JSON.sh
@@ -0,0 +1,129 @@
+# The MIT License
+#
+# Copyright (c) 2011 Dominic Tarr
+#
+# Permission is hereby granted, free of charge,
+# to any person obtaining a copy of this software and
+# associated documentation files (the "Software"), to
+# deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify,
+# merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom
+# the Software is furnished to do so,
+# subject to the following conditions:
+#
+# The above copyright notice and this permission notice
+# shall be included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+# ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+#
+# https://github.com/dominictarr/JSON.sh
+#
+throw () {
+ echo "$*" >&2
+ exit 1
+}
+
+tokenize () {
+ local ESCAPE='(\\[^u[:cntrl:]]|\\u[0-9a-fA-F]{4})'
+ local CHAR='[^[:cntrl:]"\\]'
+ local STRING="\"$CHAR*($ESCAPE$CHAR*)*\""
+ local NUMBER='-?(0|[1-9][0-9]*)([.][0-9]*)?([eE][+-]?[0-9]*)?'
+ local KEYWORD='null|false|true'
+ local SPACE='[[:space:]]+'
+ egrep -ao "$STRING|$NUMBER|$KEYWORD|$SPACE|." --color=never |
+ egrep -v "^$SPACE$" # eat whitespace
+}
+
+parse_array () {
+ local index=0
+ local ary=''
+ read -r token
+ case "$token" in
+ ']') ;;
+ *)
+ while :
+ do
+ parse_value "$1" "$index"
+ let index=$index+1
+ ary="$ary""$value"
+ read -r token
+ case "$token" in
+ ']') break ;;
+ ',') ary="$ary," ;;
+ *) throw "EXPECTED , or ] GOT ${token:-EOF}" ;;
+ esac
+ read -r token
+ done
+ ;;
+ esac
+ value=`printf '[%s]' "$ary"`
+}
+
+parse_object () {
+ local key
+ local obj=''
+ read -r token
+ case "$token" in
+ '}') ;;
+ *)
+ while :
+ do
+ case "$token" in
+ '"'*'"') key=$token ;;
+ *) throw "EXPECTED string GOT ${token:-EOF}" ;;
+ esac
+ read -r token
+ case "$token" in
+ ':') ;;
+ *) throw "EXPECTED : GOT ${token:-EOF}" ;;
+ esac
+ read -r token
+ parse_value "$1" "$key"
+ obj="$obj$key:$value"
+ read -r token
+ case "$token" in
+ '}') break ;;
+ ',') obj="$obj," ;;
+ *) throw "EXPECTED , or } GOT ${token:-EOF}" ;;
+ esac
+ read -r token
+ done
+ ;;
+ esac
+ value=`printf '{%s}' "$obj"`
+}
+
+parse_value () {
+ local jpath="${1:+$1,}$2"
+ case "$token" in
+ '{') parse_object "$jpath" ;;
+ '[') parse_array "$jpath" ;;
+ # At this point, the only valid single-character tokens are digits.
+ ''|[^0-9]) throw "EXPECTED value GOT ${token:-EOF}" ;;
+ *) value=$token ;;
+ esac
+ printf "[%s]\t%s\n" "$jpath" "$value"
+}
+
+parse () {
+ read -r token
+ parse_value
+ read -r token
+ case "$token" in
+ '') ;;
+ *) throw "EXPECTED EOF GOT $token" ;;
+ esac
+}
+
+if [ $0 = $BASH_SOURCE ];
+then
+ tokenize | parse
+fi
diff --git a/util/shred/OAuth.sh b/util/shred/OAuth.sh
new file mode 100755
index 000000000..4be4ed35b
--- /dev/null
+++ b/util/shred/OAuth.sh
@@ -0,0 +1,214 @@
+#!/bin/bash
+# Copyright (c) 2010, 2012 Yu-Jie Lin
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of
+# this software and associated documentation files (the "Software"), to deal in
+# the Software without restriction, including without limitation the rights to
+# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+# of the Software, and to permit persons to whom the Software is furnished to do
+# so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+BASHOAUTH_VERSION=0.1.2
+
+OAuth_debug () {
+ # Print out all parameters, each in own line
+ [[ "$OAUTH_DEBUG" == "" ]] && return
+ local t=$(date +%FT%T.%N)
+ while (( $# > 0 )); do
+ echo "[OAuth][DEBUG][$t] $1"
+ shift 1
+ done
+ }
+
+OAuth_nonce () {
+ # Return a nonce
+ md5sum <<< "$RANDOM-$(date +%s.%N)" | cut -d' ' -f 1
+ }
+
+OAuth_timestamp () {
+ # Return timestamp
+ echo "$(date +%s)"
+ }
+
+OAuth_PE () {
+ # Encode $1 using Percent-encoding as defined in
+ # http://tools.ietf.org/html/rfc5849#section-3.6
+ # Any character other than [a-zA-Z0-9-._~] is converted into format %XX
+ [ -n "$1" ] \
+ && echo -n "$1" | perl -p -e 's/([^A-Za-z0-9-._~])/sprintf("%%%02X", ord($1))/seg'
+}
+
+OAuth_PE_file () {
+ # Encode a file $1 using Percent-encoding as defined in
+ # http://tools.ietf.org/html/rfc5849#section-3.6
+ # $1 a filename, not the content of file
+ perl -p -e 's/([^A-Za-z0-9-._~])/sprintf("%%%02X", ord($1))/seg' < "$1"
+}
+
+OAuth_params_string () {
+ # Sort the paramters and join them into one-line string
+ while (( $# > 0 )); do
+ echo $1
+ shift 1
+ done | sort | tr '\n' '&' | sed 's/&$//'
+ }
+
+OAuth_base_string () {
+ # $1 method: "GET", "POST", etc
+ # $2 url
+ # $3-$N params
+ local method=$1
+ local url=$2
+ shift 2
+
+ local params_string=$(OAuth_params_string $@)
+
+ echo "$method&$(OAuth_PE "$url")&$(OAuth_PE "$params_string")"
+ }
+
+OAuth_param () {
+ # Return a percent encoded key-value pair
+ # $1 key
+ # $2 value
+ echo "$(OAuth_PE "$1")=$(OAuth_PE "$2")"
+ }
+
+OAuth_param_quote () {
+ # Return a percent encoded key-value pair, value is quoted
+ # $1 key
+ # $2 value
+ echo "$(OAuth_PE "$1")=\"$(OAuth_PE "$2")\""
+ }
+
+OAuth_param_file () {
+ # Return a percent encoded key-value pair, the value is an encoded file content
+ # $1 key
+ # $2 filename
+ echo "$(OAuth_PE "$1")=$(OAuth_PE_file "$2")"
+ }
+
+OAuth_param_raw_value () {
+ # Return a percent encoded key-value pair, only key will be encoded by this function
+ # $1 key
+ # $2 value
+ echo "$(OAuth_PE "$1")=$2"
+ }
+
+OAuth_HMAC_SHA1 () {
+ # Hash the text $1 with key $2
+ local text="$1"
+ local key="$2"
+ echo -n "$text" | openssl dgst -sha1 -binary -hmac "$key" | base64
+ }
+
+_OAuth_signature () {
+ # Return the signature, note it's necessary to pass to OAuth_PE before add to header
+ # $1 signature_method
+ # $2 base_string
+ # $3 consumer_secret
+ # $4 token_secret
+ local signature_method="OAuth_${1//-/_}"
+ local base_string=$2
+ local c_secret=$3
+ local t_secret=$4
+ $signature_method "$base_string" "$c_secret&$t_secret"
+ }
+
+OAuth_signature () {
+ # Return the signature, note it's necessary to pass to OAuth_PE before add to header
+ # $1 base_string
+ _OAuth_signature "$oauth_signature_method" "$1" "$oauth_consumer_secret" "$oauth_token_secret"
+ }
+
+_OAuth_authorization_header_params_string () {
+ while (( $# > 0 )); do
+ echo -n "$(cut -d\= -f 1 <<< "$1")=\"$(cut -d\= -f 2 <<< "$1")\""
+ shift 1
+ # Use break to prevent error code being returned
+ (( $# > 0 )) && echo -n ', ' || break
+ done
+ }
+
+_OAuth_authorization_header () {
+ # Return header string
+ # $1 header key
+ # $2 OAuth realm, can be empty string
+ # $3 OAuth consumer key
+ # $4 OAuth consumer secret
+ # $5 OAuth token
+ # $6 OAuth token secret
+ # $7 OAuth signature method
+ # $8 OAuth version
+ # $9 nonce
+ # $10 timestamp
+ # $11 method
+ # $12 url
+ # $13-$N params
+ echo -n "$1: OAuth "
+ [[ "$2" != "" ]] && echo -n "realm=\"$2\", "
+ local oauth_consumer_key="$3"
+ local oauth_consumer_secret="$4"
+ local oauth_token="$5"
+ local oauth_token_secret="$6"
+ local oauth_signature_method="$7"
+ local oauth_version="$8"
+ local oauth_nonce="$9"
+ [[ "$oauth_nonce" == "" ]] && oauth_nonce="$(OAuth_nonce)"
+ local oauth_timestamp="${10}"
+ [[ "$oauth_timestamp" == "" ]] && oauth_timestamp="$(OAuth_timestamp)"
+ local method="${11}"
+ local url="${12}"
+ shift 12
+ local params=(
+ $(OAuth_param 'oauth_consumer_key' "$oauth_consumer_key")
+ $(OAuth_param 'oauth_signature_method' "$oauth_signature_method")
+ $(OAuth_param 'oauth_version' "$oauth_version")
+ $(OAuth_param 'oauth_nonce' "$oauth_nonce")
+ $(OAuth_param 'oauth_timestamp' "$oauth_timestamp")
+ )
+ [[ "$oauth_token" != "" ]] && params[${#params[@]}]=$(OAuth_param 'oauth_token' "$oauth_token")
+ local sign_params=${params[@]}
+ while (( $# > 0 )); do
+ sign_params[${#sign_params[@]}]="$1"
+ shift 1
+ done
+ local base_string=$(OAuth_base_string "$method" "$url" ${sign_params[@]})
+ local signature=$(_OAuth_signature "$oauth_signature_method" "$base_string" "$oauth_consumer_secret" "$oauth_token_secret")
+ params[${#params[@]}]=$(OAuth_param 'oauth_signature' "$signature")
+ _OAuth_authorization_header_params_string ${params[@]}
+ }
+
+OAuth_authorization_header () {
+ # Return header string
+ # $1 header key
+ # $2 OAuth realm, can be empty string
+ # $3 OAuth nonce
+ # $4 OAuth timestamp
+ # $5 method
+ # $6 url
+ # $7-$N params
+ local header_key="$1"
+ local realm="$2"
+ local oauth_nonce="$3"
+ local oauth_timestamp="$4"
+ local method="$5"
+ local url="$6"
+ shift 6
+ local params=()
+ while (( $# > 0 )); do
+ params[${#params[@]}]="$1"
+ shift 1
+ done
+ _OAuth_authorization_header "$header_key" "$realm" "$oauth_consumer_key" "$oauth_consumer_secret" "$oauth_token" "$oauth_token_secret" "$oauth_signature_method" "$oauth_version" "$oauth_nonce" "$oauth_timestamp" "$method" "$url" ${params[@]}
+ }
diff --git a/util/shred/shred b/util/shred/shred
new file mode 100755
index 000000000..2e463ac6d
--- /dev/null
+++ b/util/shred/shred
@@ -0,0 +1,214 @@
+#!/bin/bash
+# Copyright (c) 2012 Fabio Comuni
+# Copyright (c) 2010, 2012 Yu-Jie Lin
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of
+# this software and associated documentation files (the "Software"), to deal in
+# the Software without restriction, including without limitation the rights to
+# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+# of the Software, and to permit persons to whom the Software is furnished to do
+# so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+FCLI_RC="$HOME/.shred.rc"
+
+# Source Config
+[[ -f "$FCLI_RC" ]] && . "$FCLI_RC" || show_config_help 1
+
+# Source FriendicaOAuth.sh
+OAuth_sh=$(which FriendicaOAuth.sh)
+(( $? != 0 )) && echo 'Unable to locate FriendicaOAuth.sh! Make sure it is in searching PATH.' && exit 1
+source "$OAuth_sh"
+
+# Source JSON.sh
+JSON_sh=$(which JSON.sh)
+(( $? != 0 )) && echo 'Unable to locate JSON.sh! Make sure it is in searching PATH.' && exit 1
+source "$JSON_sh"
+
+
+usage () {
+ echo "usage: $0 options
+
+OPTIONS:
+ -h Show this message
+
+ -c Command
+
+ -C Config-Filename
+
+ Valid Commands:
+ statuses_update
+ home_timeline
+
+Use -h -c command to get options for the command.
+"
+ exit $1
+ }
+
+show_config_help () {
+ echo "Please create $FCLI_RC with:
+redmatrix_url=YOR_SERVER_URL (no trailing /)
+oauth_consumer_key=YOUR_CONSUMER_KEY
+oauth_consumer_secret=YOUR_CONSUMER_SECRET
+
+You can register new app consumer key and secret at
+ http://yourserver.com/settings/oauth
+"
+ exit $1
+ }
+
+
+show_statuses_update () {
+ echo "Command statuses_update
+
+Requires:
+ -s status
+
+Optional:
+ -r in_reply_to_status_id
+"
+ exit $1
+ }
+
+show_home_timeline () {
+ echo "Command home_timeline"
+
+ exit $1
+ }
+
+#json helper
+#
+# usage:
+# echo "$parsed_json" | js key1 [key2 [key3 ...]][,]
+#
+# echoes the value of json[key1][key2][key3], without surronding quotes
+# with "," as last argument, no newline is printed
+#
+js () {
+ local arg
+ local rg='^\['
+ local ret
+ for arg in $@
+ do
+ [[ "$arg" == "," ]] && break;
+ if [[ $arg == ${arg//[0-9]/} ]]
+ then
+ rg="${rg}\"$arg\","
+ else
+ rg="${rg}$arg,"
+ fi
+ done
+ rg="${rg%?}\]"
+ ret=$(grep $rg | cut -f 2 | sed 's/^"\(.*\)"$/\1/' | sed "s/\\\\\//\//g" )
+ if [[ "$arg" == "," ]]
+ then
+ echo -e "$ret" | tr -d '\012\015'
+ else
+ echo -e "$ret"
+ fi
+}
+
+
+load_config () {
+
+ [[ "$oauth_consumer_key" == "" ]] && show_config_help 1
+ [[ "$oauth_consumer_secret" == "" ]] && show_config_help 1
+
+
+ FO_init
+
+ if [[ "$oauth_token" == "" ]] || [[ "$oauth_token_secret" == "" ]]; then
+ FO_access_token_helper
+ if (( $? == 0 )); then
+ oauth_token=${FO_ret[0]}
+ oauth_token_secret=${FO_ret[1]}
+ echo "oauth_token='${FO_ret[0]}'" >> "$FCLI_RC"
+ echo "oauth_token_secret='${FO_ret[1]}'" >> "$FCLI_RC"
+ echo "Token saved."
+ else
+ echo 'Unable to get access token'
+ exit 1
+ fi
+ fi
+ }
+
+main () {
+
+ fcli_command=
+ fcli_status=
+ fcli_in_reply_to_status_id=
+ fcli_file=
+ fcli_help_flag=
+ while getopts "c:s:r:f:h" name
+ do
+ case $name in
+ c) fcli_command="$OPTARG";;
+ C) FCLI_RC="$OPTARG";;
+ s) fcli_status="$OPTARG";;
+ r) fcli_in_reply_to_status_id="$OPTARG";;
+ f) fcli_file="$OPTARG";;
+ h) fcli_help_flag="1";;
+ ?) usage
+ exit 2;;
+ esac
+ done
+ load_config
+
+ if [[ "$fcli_help_flag" == "1" ]]; then case $fcli_command in
+ statuses_update)
+ show_statuses_update 0
+ ;;
+ home_timeline)
+ show_home_timeline 0
+ ;;
+ *)
+ [[ "$fcli_command" == "" ]] && usage 0
+ usage 1
+ esac ; fi
+
+ case $fcli_command in
+ home_timeline)
+ FO_statuses_home_timeline 'json' '' 5
+ JS_Parsed=$(echo "$FO_ret" | tokenize | parse)
+ for id in 0 1 2 3 4
+ do
+ echo "$JS_Parsed" | js $id "user" "name" ,
+ echo -n " - "
+ echo "$JS_Parsed" | js $id "created_at"
+ echo "$JS_Parsed" | js $id "text"
+ echo ""
+ echo "------------------------------------------------------------------------------"
+ done
+
+ return $FO_rval
+ ;;
+ statuses_update)
+ [[ "$fcli_status" == "" ]] && show_statuses_update 1
+ FO_statuses_update 'json' "$fcli_status" "$fcli_in_reply_to_status_id"
+ JS_Parsed=$(echo "$FO_ret" | tokenize | parse)
+ echo "$JS_Parsed" | js "user" "name" ,
+ echo -n " - "
+ echo "$JS_Parsed" | js "created_at"
+ echo "$JS_Parsed" | js "text"
+ echo ""
+ echo "------------------------------------------------------------------------------"
+ return $FO_rval
+ ;;
+ *)
+ usage 1
+ ;;
+ esac
+ return 0
+ }
+
+main "$@"
diff --git a/util/strings.php b/util/strings.php
index e70766d86..2614d7fc2 100644
--- a/util/strings.php
+++ b/util/strings.php
@@ -1,213 +1,717 @@
<?php
;
-$a->strings["Post successful."] = "";
-$a->strings["[Embedded content - reload page to view]"] = "";
-$a->strings["Contact settings applied."] = "";
-$a->strings["Contact update failed."] = "";
-$a->strings["Permission denied."] = "";
-$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["Name"] = "";
-$a->strings["Account Nickname"] = "";
-$a->strings["@Tagname - overrides Name/Nickname"] = "";
-$a->strings["Account 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"] = "";
-$a->strings["Submit"] = "";
-$a->strings["Help:"] = "";
+$a->strings["Visible to everybody"] = "";
+$a->strings["show"] = "";
+$a->strings["don't show"] = "";
+$a->strings[" and "] = "";
+$a->strings["public profile"] = "";
+$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "";
+$a->strings["Visit %1\$s's %2\$s"] = "";
+$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "";
+$a->strings["Public Timeline"] = "";
+$a->strings["Red Matrix Notification"] = "";
+$a->strings["Thank You,"] = "";
+$a->strings["%s Administrator"] = "";
+$a->strings["%s <!item_type!>"] = "";
+$a->strings["[Red:Notify] New mail received at %s"] = "";
+$a->strings["%1\$s sent you a new private message at %2\$s."] = "";
+$a->strings["%1\$s sent you %2\$s."] = "";
+$a->strings["a private message"] = "";
+$a->strings["Please visit %s to view and/or reply to your private messages."] = "";
+$a->strings["%1\$s commented on [zrl=%2\$s]a %3\$s[/zrl]"] = "";
+$a->strings["%1\$s commented on [zrl=%2\$s]%3\$s's %4\$s[/zrl]"] = "";
+$a->strings["%1\$s commented on [zrl=%2\$s]your %3\$s[/zrl]"] = "";
+$a->strings["[Red:Notify] Comment to conversation #%1\$d by %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."] = "";
+$a->strings["[Red:Notify] %s posted to your profile wall"] = "";
+$a->strings["%1\$s posted to your profile wall at %2\$s"] = "";
+$a->strings["%1\$s posted to [zrl=%2\$s]your wall[/zrl]"] = "";
+$a->strings["[Red:Notify] %s tagged you"] = "";
+$a->strings["%1\$s tagged you at %2\$s"] = "";
+$a->strings["%1\$s [zrl=%2\$s]tagged you[/zrl]."] = "";
+$a->strings["[Red:Notify] %1\$s poked you"] = "";
+$a->strings["%1\$s poked you at %2\$s"] = "";
+$a->strings["%1\$s [zrl=%2\$s]poked you[/zrl]."] = "";
+$a->strings["[Red:Notify] %s tagged your post"] = "";
+$a->strings["%1\$s tagged your post at %2\$s"] = "";
+$a->strings["%1\$s tagged [zrl=%2\$s]your post[/zrl]"] = "";
+$a->strings["[Red:Notify] Introduction received"] = "";
+$a->strings["You've received an introduction from '%1\$s' at %2\$s"] = "";
+$a->strings["You've received [zrl=%1\$s]an introduction[/zrl] from %2\$s."] = "";
+$a->strings["You may visit their profile at %s"] = "";
+$a->strings["Please visit %s to approve or reject the introduction."] = "";
+$a->strings["[Red:Notify] Friend suggestion received"] = "";
+$a->strings["You've received a friend suggestion from '%1\$s' at %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["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["Unknown | Not categorised"] = "";
+$a->strings["Block immediately"] = "";
+$a->strings["Shady, spammer, self-marketer"] = "";
+$a->strings["Known to me, but no opinion"] = "";
+$a->strings["OK, probably harmless"] = "";
+$a->strings["Reputable, has my trust"] = "";
+$a->strings["Frequently"] = "";
+$a->strings["Hourly"] = "";
+$a->strings["Twice daily"] = "";
+$a->strings["Daily"] = "";
+$a->strings["Weekly"] = "";
+$a->strings["Monthly"] = "";
+$a->strings["Friendica"] = "";
+$a->strings["OStatus"] = "";
+$a->strings["RSS/Atom"] = "";
+$a->strings["Email"] = "";
+$a->strings["Diaspora"] = "";
+$a->strings["Facebook"] = "";
+$a->strings["Zot!"] = "";
+$a->strings["LinkedIn"] = "";
+$a->strings["XMPP/IM"] = "";
+$a->strings["MySpace"] = "";
+$a->strings["Add New Connection"] = "";
+$a->strings["Enter the channel address"] = "";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "";
+$a->strings["%d invitation available"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["Find Channels"] = "";
+$a->strings["Enter name or interest"] = "";
+$a->strings["Connect/Follow"] = "";
+$a->strings["Examples: Robert Morgenstein, Fishing"] = "";
+$a->strings["Find"] = "";
+$a->strings["Channel Suggestions"] = "";
+$a->strings["Similar Interests"] = "";
+$a->strings["Random Profile"] = "";
+$a->strings["Invite Friends"] = "";
+$a->strings["Saved Folders"] = "";
+$a->strings["Everything"] = "";
+$a->strings["Categories"] = "";
+$a->strings["%d connection in common"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["show more"] = "";
+$a->strings["Miscellaneous"] = "";
+$a->strings["year"] = "";
+$a->strings["month"] = "";
+$a->strings["day"] = "";
+$a->strings["never"] = "";
+$a->strings["less than a second ago"] = "";
+$a->strings["years"] = "";
+$a->strings["months"] = "";
+$a->strings["week"] = "";
+$a->strings["weeks"] = "";
+$a->strings["days"] = "";
+$a->strings["hour"] = "";
+$a->strings["hours"] = "";
+$a->strings["minute"] = "";
+$a->strings["minutes"] = "";
+$a->strings["second"] = "";
+$a->strings["seconds"] = "";
+$a->strings["%1\$d %2\$s ago"] = "";
+$a->strings["Cannot locate DNS info for database server '%s'"] = "";
+$a->strings["l F d, Y \\@ g:i A"] = "";
+$a->strings["Starts:"] = "";
+$a->strings["Finishes:"] = "";
+$a->strings["Location:"] = "";
+$a->strings["General Features"] = "";
+$a->strings["Content Expiration"] = "";
+$a->strings["Remove old posts/comments after a period of 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["Extended Identity Sharing"] = "";
+$a->strings[" "] = "";
+$a->strings["Expert Mode"] = "";
+$a->strings["Enable Expert Mode to provide advanced configuration options"] = "";
+$a->strings["Post Composition Features"] = "";
+$a->strings["Richtext Editor"] = "";
+$a->strings["Enable richtext editor"] = "";
+$a->strings["Post Preview"] = "";
+$a->strings["Allow previewing posts and comments before publishing them"] = "";
+$a->strings["Network and Stream Filtering"] = "";
+$a->strings["Search by Date"] = "";
+$a->strings["Ability to select posts by date ranges"] = "";
+$a->strings["Collections Filter"] = "";
+$a->strings["Enable widget to display Network posts only from selected collections"] = "";
+$a->strings["Saved Searches"] = "";
+$a->strings["Save search terms for re-use"] = "";
+$a->strings["Network Personal Tab"] = "";
+$a->strings["Enable tab to display only Network posts that you've interacted on"] = "";
+$a->strings["Network New Tab"] = "";
+$a->strings["Enable tab to display all new Network activity"] = "";
+$a->strings["Affinity Tool"] = "";
+$a->strings["Filter stream activity by depth of relationships"] = "";
+$a->strings["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["Ability to file posts under folders"] = "";
+$a->strings["Dislike Posts"] = "";
+$a->strings["Ability to dislike posts/comments"] = "";
+$a->strings["Star Posts"] = "";
+$a->strings["Ability to mark special posts with a star indicator"] = "";
+$a->strings["Tag Cloud"] = "";
+$a->strings["Provide a personal tag cloud on your channel page"] = "";
+$a->strings["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 fewer"] = "";
+$a->strings["Password too short"] = "";
+$a->strings["Passwords do not match"] = "";
+$a->strings["everybody"] = "";
+$a->strings["timeago.prefixAgo"] = "";
+$a->strings["timeago.suffixAgo"] = "";
+$a->strings["ago"] = "";
+$a->strings["from now"] = "";
+$a->strings["less than a minute"] = "";
+$a->strings["about a minute"] = "";
+$a->strings["%d minutes"] = "";
+$a->strings["about an hour"] = "";
+$a->strings["about %d hours"] = "";
+$a->strings["a day"] = "";
+$a->strings["%d days"] = "";
+$a->strings["about a month"] = "";
+$a->strings["%d months"] = "";
+$a->strings["about a year"] = "";
+$a->strings["%d years"] = "";
+$a->strings["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"] = "";
+$a->strings["j F"] = "";
+$a->strings["Birthday:"] = "";
+$a->strings["Age:"] = "";
+$a->strings["Status:"] = "";
+$a->strings["for %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["Welcome "] = "";
+$a->strings["Please upload a profile photo."] = "";
+$a->strings["Welcome back "] = "";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "";
+$a->strings["Logout"] = "";
+$a->strings["End this session"] = "";
+$a->strings["Home"] = "";
+$a->strings["Your posts and conversations"] = "";
+$a->strings["Your profile page"] = "";
+$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"] = "";
+$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["Not Found"] = "";
-$a->strings["Page not found."] = "";
-$a->strings["File exceeds size limit of %d"] = "";
-$a->strings["File upload failed."] = "";
-$a->strings["Friend suggestion sent."] = "";
-$a->strings["Suggest Friends"] = "";
-$a->strings["Suggest a friend for %s"] = "";
-$a->strings["Event description and start time are required."] = "";
-$a->strings["l, F j"] = "";
-$a->strings["Edit event"] = "";
-$a->strings["link to source"] = "";
+$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["Create New Event"] = "";
-$a->strings["Previous"] = "";
-$a->strings["Next"] = "";
-$a->strings["hour:minute"] = "";
-$a->strings["Event details"] = "";
-$a->strings["Format is %s %s. Starting date and Description are required."] = "";
-$a->strings["Event Starts:"] = "";
-$a->strings["Finish date/time is not known or not relevant"] = "";
-$a->strings["Event Finishes:"] = "";
-$a->strings["Adjust for viewer timezone"] = "";
-$a->strings["Description:"] = "";
-$a->strings["Location:"] = "";
-$a->strings["Share this event"] = "";
-$a->strings["Cancel"] = "";
-$a->strings["Tag removed"] = "";
-$a->strings["Remove Item Tag"] = "";
-$a->strings["Select a tag to remove: "] = "";
-$a->strings["Remove"] = "";
-$a->strings["%s welcomes %s"] = "";
-$a->strings["Authorize application connection"] = "";
-$a->strings["Return to your app and insert this Securty Code:"] = "";
-$a->strings["Please login to continue."] = "";
-$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "";
-$a->strings["Yes"] = "";
-$a->strings["No"] = "";
+$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["created a new post"] = "";
+$a->strings["commented on %s's post"] = "";
+$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["Contact Photos"] = "";
$a->strings["Upload New Photos"] = "";
-$a->strings["everybody"] = "";
-$a->strings["Contact information unavailable"] = "";
-$a->strings["Profile Photos"] = "";
-$a->strings["Album not found."] = "";
-$a->strings["Delete Album"] = "";
-$a->strings["Delete Photo"] = "";
-$a->strings["was tagged in a"] = "";
+$a->strings["Male"] = "";
+$a->strings["Female"] = "";
+$a->strings["Currently Male"] = "";
+$a->strings["Currently Female"] = "";
+$a->strings["Mostly Male"] = "";
+$a->strings["Mostly Female"] = "";
+$a->strings["Transgender"] = "";
+$a->strings["Intersex"] = "";
+$a->strings["Transsexual"] = "";
+$a->strings["Hermaphrodite"] = "";
+$a->strings["Neuter"] = "";
+$a->strings["Non-specific"] = "";
+$a->strings["Other"] = "";
+$a->strings["Undecided"] = "";
+$a->strings["Males"] = "";
+$a->strings["Females"] = "";
+$a->strings["Gay"] = "";
+$a->strings["Lesbian"] = "";
+$a->strings["No Preference"] = "";
+$a->strings["Bisexual"] = "";
+$a->strings["Autosexual"] = "";
+$a->strings["Abstinent"] = "";
+$a->strings["Virgin"] = "";
+$a->strings["Deviant"] = "";
+$a->strings["Fetish"] = "";
+$a->strings["Oodles"] = "";
+$a->strings["Nonsexual"] = "";
+$a->strings["Single"] = "";
+$a->strings["Lonely"] = "";
+$a->strings["Available"] = "";
+$a->strings["Unavailable"] = "";
+$a->strings["Has crush"] = "";
+$a->strings["Infatuated"] = "";
+$a->strings["Dating"] = "";
+$a->strings["Unfaithful"] = "";
+$a->strings["Sex Addict"] = "";
+$a->strings["Friends"] = "";
+$a->strings["Friends/Benefits"] = "";
+$a->strings["Casual"] = "";
+$a->strings["Engaged"] = "";
+$a->strings["Married"] = "";
+$a->strings["Imaginarily married"] = "";
+$a->strings["Partners"] = "";
+$a->strings["Cohabiting"] = "";
+$a->strings["Common law"] = "";
+$a->strings["Happy"] = "";
+$a->strings["Not looking"] = "";
+$a->strings["Swinger"] = "";
+$a->strings["Betrayed"] = "";
+$a->strings["Separated"] = "";
+$a->strings["Unstable"] = "";
+$a->strings["Divorced"] = "";
+$a->strings["Imaginarily divorced"] = "";
+$a->strings["Widowed"] = "";
+$a->strings["Uncertain"] = "";
+$a->strings["It's complicated"] = "";
+$a->strings["Don't care"] = "";
+$a->strings["Ask me"] = "";
+$a->strings["Not a valid email address"] = "";
+$a->strings["Your email domain is not among those allowed on this site"] = "";
+$a->strings["Your email address is already registered at this site."] = "";
+$a->strings["An invitation is required."] = "";
+$a->strings["Invitation could not be verified."] = "";
+$a->strings["Please enter the required information."] = "";
+$a->strings["Failed to store account information."] = "";
+$a->strings["Registration request at %s"] = "";
+$a->strings["Administrator"] = "";
+$a->strings["your registration password"] = "";
+$a->strings["Registration details for %s"] = "";
+$a->strings["Account approved."] = "";
+$a->strings["Registration revoked for %s"] = "";
+$a->strings["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["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["Invalid data packet"] = "";
+$a->strings["Unable to verify channel signature"] = "";
+$a->strings["Unable to verify site signature for %s"] = "";
+$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 => "",
+ 1 => "",
+);
+$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["default"] = "";
+$a->strings["Select an alternate language"] = "";
$a->strings["photo"] = "";
-$a->strings["by"] = "";
-$a->strings["Image exceeds size limit of "] = "";
-$a->strings["Image file is empty."] = "";
-$a->strings["Unable to process image."] = "";
-$a->strings["Image upload failed."] = "";
-$a->strings["Public access denied."] = "";
-$a->strings["No photos selected"] = "";
-$a->strings["Access to this item is restricted."] = "";
-$a->strings["Upload Photos"] = "";
-$a->strings["New album name: "] = "";
-$a->strings["or existing album name: "] = "";
-$a->strings["Do not show a status post for this upload"] = "";
-$a->strings["Permissions"] = "";
-$a->strings["Edit Album"] = "";
-$a->strings["View Photo"] = "";
-$a->strings["Permission denied. Access to this item may be restricted."] = "";
-$a->strings["Photo not available"] = "";
-$a->strings["View photo"] = "";
-$a->strings["Edit photo"] = "";
-$a->strings["Use as profile photo"] = "";
+$a->strings["event"] = "";
+$a->strings["status"] = "";
+$a->strings["comment"] = "";
+$a->strings["activity"] = "";
+$a->strings["Logged out."] = "";
+$a->strings["Failed authentication"] = "";
+$a->strings["Login failed."] = "";
+$a->strings["Channel is blocked on this site."] = "";
+$a->strings["Channel location missing."] = "";
+$a->strings["Channel discovery failed. Website may be down or misconfigured."] = "";
+$a->strings["Response from remote channel was not understood."] = "";
+$a->strings["Response from remote channel was incomplete."] = "";
+$a->strings["local account not found."] = "";
+$a->strings["Cannot connect to yourself."] = "";
+$a->strings["Can view my \"public\" stream and posts"] = "";
+$a->strings["Can view my \"public\" channel profile"] = "";
+$a->strings["Can view my \"public\" photo albums"] = "";
+$a->strings["Can view my \"public\" address book"] = "";
+$a->strings["Can view my \"public\" file storage"] = "";
+$a->strings["Can view my \"public\" pages"] = "";
+$a->strings["Can send me their channel stream and posts"] = "";
+$a->strings["Can post on my channel page (\"wall\")"] = "";
+$a->strings["Can comment on my posts"] = "";
+$a->strings["Can send me private mail messages"] = "";
+$a->strings["Can post photos to my photo albums"] = "";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "";
+$a->strings["Advanced - useful for creating group forum channels"] = "";
+$a->strings["Can chat with me (when available)"] = "";
+$a->strings["Requires compatible chat plugin"] = "";
+$a->strings["Can write to my \"public\" file storage"] = "";
+$a->strings["Can edit my \"public\" pages"] = "";
+$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["Item was not found."] = "";
+$a->strings["No source file."] = "";
+$a->strings["Cannot locate file to replace"] = "";
+$a->strings["Cannot locate file to revise/update"] = "";
+$a->strings["File exceeds size limit of %d"] = "";
+$a->strings["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["Private Message"] = "";
-$a->strings["View Full Size"] = "";
-$a->strings["Tags: "] = "";
-$a->strings["[Remove any tag]"] = "";
-$a->strings["New album name"] = "";
-$a->strings["Caption"] = "";
-$a->strings["Add a Tag"] = "";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "";
+$a->strings["Edit"] = "";
+$a->strings["Delete"] = "";
+$a->strings["Select"] = "";
+$a->strings["save to folder"] = "";
+$a->strings["add star"] = "";
+$a->strings["remove star"] = "";
+$a->strings["toggle star status"] = "";
+$a->strings["starred"] = "";
+$a->strings["add tag"] = "";
$a->strings["I like this (toggle)"] = "";
$a->strings["I don't like this (toggle)"] = "";
-$a->strings["Share"] = "";
+$a->strings["Share this"] = "";
+$a->strings["share"] = "";
+$a->strings["View %s's profile - %s"] = "";
+$a->strings["to"] = "";
+$a->strings["Wall-to-Wall"] = "";
+$a->strings["via Wall-To-Wall:"] = "";
+$a->strings[" from %s"] = "";
$a->strings["Please wait"] = "";
+$a->strings["%d comment"] = array(
+ 0 => "",
+ 1 => "",
+);
$a->strings["This is you"] = "";
-$a->strings["Comment"] = "";
+$a->strings["Submit"] = "";
+$a->strings["Bold"] = "";
+$a->strings["Italic"] = "";
+$a->strings["Underline"] = "";
+$a->strings["Quote"] = "";
+$a->strings["Code"] = "";
+$a->strings["Image"] = "";
+$a->strings["Link"] = "";
+$a->strings["Video"] = "";
$a->strings["Preview"] = "";
-$a->strings["Delete"] = "";
-$a->strings["View Album"] = "";
-$a->strings["Recent Photos"] = "";
-$a->strings["Not available."] = "";
-$a->strings["Community"] = "";
-$a->strings["No results."] = "";
-$a->strings["This is Friendica, version"] = "";
-$a->strings["running at web location"] = "";
-$a->strings["Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn more about the Friendica project."] = "";
-$a->strings["Bug reports and issues: please visit"] = "";
-$a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - dot com"] = "";
-$a->strings["Installed plugins/addons/apps"] = "";
-$a->strings["No installed plugins/addons/apps"] = "";
-$a->strings["Item not found"] = "";
-$a->strings["Edit post"] = "";
-$a->strings["Post to Email"] = "";
-$a->strings["Edit"] = "";
+$a->strings["channel"] = "";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "";
+$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "";
+$a->strings["%1\$s is now connected with %2\$s"] = "";
+$a->strings["%1\$s poked %2\$s"] = "";
+$a->strings["%1\$s is currently %2\$s"] = "";
+$a->strings["View %s's profile @ %s"] = "";
+$a->strings["View in context"] = "";
+$a->strings["Loading..."] = "";
+$a->strings["Delete Selected Items"] = "";
+$a->strings["Follow Thread"] = "";
+$a->strings["%s likes this."] = "";
+$a->strings["%s doesn't like this."] = "";
+$a->strings["<span %1\$s>%2\$d people</span> like this."] = "";
+$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = "";
+$a->strings["and"] = "";
+$a->strings[", and %d other people"] = "";
+$a->strings["%s like this."] = "";
+$a->strings["%s don't like this."] = "";
+$a->strings["Visible to <strong>everybody</strong>"] = "";
+$a->strings["Please enter a link URL:"] = "";
+$a->strings["Please enter a video link/URL:"] = "";
+$a->strings["Please enter an audio link/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["Insert YouTube video"] = "";
-$a->strings["Insert Vorbis [.ogg] video"] = "";
-$a->strings["Insert Vorbis [.ogg] audio"] = "";
+$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["CC: email addresses"] = "";
+$a->strings["permissions"] = "";
$a->strings["Public post"] = "";
-$a->strings["Set title"] = "";
$a->strings["Example: bob@example.com, mary@example.com"] = "";
-$a->strings["This introduction has already been accepted."] = "";
-$a->strings["Profile location is not valid or does not contain profile information."] = "";
-$a->strings["Warning: profile location has no identifiable owner name."] = "";
-$a->strings["Warning: profile location has no profile photo."] = "";
-$a->strings["%d required parameter was not found at the given location"] = array(
+$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["Image/photo"] = "";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "";
+$a->strings["post"] = "";
+$a->strings["$1 wrote:"] = "";
+$a->strings["Encrypted content"] = "";
+$a->strings["No channel."] = "";
+$a->strings["Common connections"] = "";
+$a->strings["No connections in common."] = "";
+$a->strings["Event title and start time are required."] = "";
+$a->strings["l, F j"] = "";
+$a->strings["Edit event"] = "";
+$a->strings["Create New Event"] = "";
+$a->strings["Previous"] = "";
+$a->strings["Next"] = "";
+$a->strings["hour:minute"] = "";
+$a->strings["Event details"] = "";
+$a->strings["Format is %s %s. Starting date and Title are required."] = "";
+$a->strings["Event Starts:"] = "";
+$a->strings["Required"] = "";
+$a->strings["Finish date/time is not known or not relevant"] = "";
+$a->strings["Event Finishes:"] = "";
+$a->strings["Adjust for viewer timezone"] = "";
+$a->strings["Description:"] = "";
+$a->strings["Title:"] = "";
+$a->strings["Share this event"] = "";
+$a->strings["Object store: failed"] = "";
+$a->strings["thing/stuff added"] = "";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "";
+$a->strings["not yet implemented."] = "";
+$a->strings["Add Stuff to your Profile"] = "";
+$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["Total invitation limit exceeded."] = "";
+$a->strings["%s : Not a valid email address."] = "";
+$a->strings["Please join us on Red"] = "";
+$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "";
+$a->strings["%s : Message delivery failed."] = "";
+$a->strings["%d message sent."] = array(
0 => "",
1 => "",
);
-$a->strings["Introduction complete."] = "";
-$a->strings["Unrecoverable protocol error."] = "";
-$a->strings["Profile unavailable."] = "";
-$a->strings["%s has received too many connection requests today."] = "";
-$a->strings["Spam protection measures have been invoked."] = "";
-$a->strings["Friends are advised to please try again in 24 hours."] = "";
-$a->strings["Invalid locator"] = "";
-$a->strings["Unable to resolve your name at the provided location."] = "";
-$a->strings["You have already introduced yourself here."] = "";
-$a->strings["Apparently you are already friends with %s."] = "";
-$a->strings["Invalid profile URL."] = "";
-$a->strings["Disallowed profile URL."] = "";
-$a->strings["Failed to update contact record."] = "";
-$a->strings["Your introduction has been sent."] = "";
-$a->strings["Please login to confirm introduction."] = "";
-$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "";
-$a->strings["Welcome home %s."] = "";
-$a->strings["Please confirm your introduction/connection request to %s."] = "";
-$a->strings["Confirm"] = "";
-$a->strings["[Name Withheld]"] = "";
-$a->strings["Diaspora members: Please do not use this form. Instead, enter \"%s\" into your Diaspora search bar."] = "";
-$a->strings["Please enter your 'Identity Address' from one of the following supported social networks:"] = "";
-$a->strings["Friend/Connection Request"] = "";
-$a->strings["Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"] = "";
-$a->strings["Please answer the following:"] = "";
-$a->strings["Does %s know you?"] = "";
-$a->strings["Add a personal note:"] = "";
-$a->strings["Friendica"] = "";
-$a->strings["StatusNet/Federated Social Web"] = "";
-$a->strings["Diaspora"] = "";
-$a->strings["- please share from your own site as noted above"] = "";
-$a->strings["Your Identity Address:"] = "";
-$a->strings["Submit Request"] = "";
-$a->strings["Friendica Social Communications Server - Setup"] = "";
-$a->strings["Database connection"] = "";
+$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 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["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"] = "";
+$a->strings["No friends to display."] = "";
+$a->strings["Requested profile is not available."] = "";
+$a->strings["View"] = "";
+$a->strings["Authorize application connection"] = "";
+$a->strings["Return to your app and insert this Securty Code:"] = "";
+$a->strings["Please login to continue."] = "";
+$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "";
+$a->strings["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["Item not available."] = "";
+$a->strings["Red Matrix Server - Setup"] = "";
$a->strings["Could not connect to database."] = "";
+$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "";
$a->strings["Could not create table."] = "";
-$a->strings["Your Friendica site database has been installed."] = "";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "";
-$a->strings["Please see the file \"INSTALL.txt\"."] = "";
-$a->strings["Proceed to registration"] = "";
-$a->strings["Proceed with Installation"] = "";
-$a->strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = "";
-$a->strings["Database import failed."] = "";
+$a->strings["Your site database has been installed."] = "";
+$a->strings["You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."] = "";
+$a->strings["Please see the file \"install/INSTALL.txt\"."] = "";
$a->strings["System check"] = "";
$a->strings["Check again"] = "";
-$a->strings["In order to install Friendica we need to know how to connect to your database."] = "";
+$a->strings["Database connection"] = "";
+$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "";
$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "";
$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "";
$a->strings["Database Server Name"] = "";
+$a->strings["Default is localhost"] = "";
+$a->strings["Database Port"] = "";
+$a->strings["Communication port number - use 0 for default"] = "";
$a->strings["Database Login Name"] = "";
$a->strings["Database Login Password"] = "";
$a->strings["Database Name"] = "";
$a->strings["Site administrator email address"] = "";
$a->strings["Your account email address must match this in order to use the web admin panel."] = "";
+$a->strings["Website URL"] = "";
+$a->strings["Please use SSL (https) URL if available."] = "";
$a->strings["Please select a default timezone for your website"] = "";
$a->strings["Site settings"] = "";
$a->strings["Could not find a command line version of PHP in the web server PATH."] = "";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "";
$a->strings["PHP executable path"] = "";
-$a->strings["Enter full path to php executable"] = "";
+$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "";
$a->strings["Command line PHP"] = "";
$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "";
$a->strings["This is required for message delivery to work."] = "";
-$a->strings["PHP \"register_argc_argv\""] = "";
+$a->strings["PHP register_argc_argv"] = "";
$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "";
$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "";
$a->strings["Generate encryption keys"] = "";
@@ -216,168 +720,60 @@ $a->strings["GD graphics PHP module"] = "";
$a->strings["OpenSSL PHP module"] = "";
$a->strings["mysqli PHP module"] = "";
$a->strings["mb_string PHP module"] = "";
-$a->strings["Apace mod_rewrite module"] = "";
+$a->strings["mcrypt PHP module"] = "";
+$a->strings["Apache mod_rewrite module"] = "";
$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "";
+$a->strings["proc_open"] = "";
+$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "";
$a->strings["Error: libCURL PHP module required but not installed."] = "";
$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "";
$a->strings["Error: openssl PHP module required but not installed."] = "";
$a->strings["Error: mysqli PHP module required but not installed."] = "";
$a->strings["Error: mb_string PHP module required but not installed."] = "";
+$a->strings["Error: mcrypt PHP module required but not installed."] = "";
$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "";
$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "";
-$a->strings["Please check with your site documentation or support people to see if this situation can be corrected."] = "";
-$a->strings["If not, you may be required to perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "";
+$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "";
+$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "";
$a->strings[".htconfig.php is writable"] = "";
+$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "";
+$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory view/tpl/smarty3/ under the Red top level folder."] = "";
+$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "";
+$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"] = "";
+$a->strings["SSL certificate validation"] = "";
+$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."] = "";
+$a->strings["Url rewrite is working"] = "";
$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "";
$a->strings["Errors encountered creating database tables."] = "";
-$a->strings["l F d, Y \\@ g:i A"] = "";
-$a->strings["Time Conversion"] = "";
-$a->strings["Friendika provides this service for sharing events with other networks and friends in unknown timezones."] = "";
-$a->strings["UTC time: %s"] = "";
-$a->strings["Current timezone: %s"] = "";
-$a->strings["Converted localtime: %s"] = "";
-$a->strings["Please select your timezone:"] = "";
-$a->strings["Profile Match"] = "";
-$a->strings["No keywords to match. Please add keywords to your default profile."] = "";
-$a->strings["is interested in:"] = "";
-$a->strings["Connect"] = "";
-$a->strings["No matches"] = "";
-$a->strings["Remote privacy information not available."] = "";
-$a->strings["Visible to:"] = "";
-$a->strings["Welcome to %s"] = "";
-$a->strings["Invalid request identifier."] = "";
-$a->strings["Discard"] = "";
-$a->strings["Ignore"] = "";
-$a->strings["System"] = "";
-$a->strings["Network"] = "";
-$a->strings["Personal"] = "";
-$a->strings["Home"] = "";
-$a->strings["Introductions"] = "";
-$a->strings["Messages"] = "";
-$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["Hide this contact from others"] = "";
-$a->strings["Post a new friend activity"] = "";
-$a->strings["if applicable"] = "";
-$a->strings["Approve"] = "";
-$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["Notifications"] = "";
-$a->strings["%s liked %s's post"] = "";
-$a->strings["%s disliked %s's post"] = "";
-$a->strings["%s is now friends with %s"] = "";
-$a->strings["%s created a new post"] = "";
-$a->strings["%s commented on %s's post"] = "";
-$a->strings["No more network notifications."] = "";
-$a->strings["Network Notifications"] = "";
-$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["Could not access contact record."] = "";
-$a->strings["Could not locate selected profile."] = "";
-$a->strings["Contact updated."] = "";
-$a->strings["Contact has been blocked"] = "";
-$a->strings["Contact has been unblocked"] = "";
-$a->strings["Contact has been ignored"] = "";
-$a->strings["Contact has been unignored"] = "";
-$a->strings["stopped following"] = "";
-$a->strings["Contact has been removed."] = "";
-$a->strings["You are mutual friends with %s"] = "";
-$a->strings["You are sharing with %s"] = "";
-$a->strings["%s is sharing with you"] = "";
-$a->strings["Private communications are not available for this contact."] = "";
-$a->strings["Never"] = "";
-$a->strings["(Update was successful)"] = "";
-$a->strings["(Update was not successful)"] = "";
-$a->strings["Suggest friends"] = "";
-$a->strings["Network type: %s"] = "";
-$a->strings["%d contact in common"] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["View all contacts"] = "";
-$a->strings["Unblock"] = "";
-$a->strings["Block"] = "";
-$a->strings["Unignore"] = "";
-$a->strings["Repair"] = "";
-$a->strings["Contact Editor"] = "";
-$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["Visit %s's profile [%s]"] = "";
-$a->strings["Block/Unblock contact"] = "";
-$a->strings["Ignore contact"] = "";
-$a->strings["Repair URL settings"] = "";
-$a->strings["View conversations"] = "";
-$a->strings["Delete contact"] = "";
-$a->strings["Last update:"] = "";
-$a->strings["Update public posts"] = "";
-$a->strings["Update now"] = "";
-$a->strings["Currently blocked"] = "";
-$a->strings["Currently ignored"] = "";
-$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "";
-$a->strings["All Contacts"] = "";
-$a->strings["Unblocked Contacts"] = "";
-$a->strings["Blocked Contacts"] = "";
-$a->strings["Ignored Contacts"] = "";
-$a->strings["Hidden Contacts"] = "";
-$a->strings["Mutual Friendship"] = "";
-$a->strings["is a fan of yours"] = "";
-$a->strings["you are a fan of"] = "";
-$a->strings["Edit contact"] = "";
-$a->strings["Contacts"] = "";
-$a->strings["Search your contacts"] = "";
-$a->strings["Finding: "] = "";
-$a->strings["Find"] = "";
-$a->strings["No valid account found."] = "";
-$a->strings["Password reset request issued. Check your email."] = "";
-$a->strings["Password reset requested at %s"] = "";
-$a->strings["Administrator"] = "";
-$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "";
-$a->strings["Password Reset"] = "";
-$a->strings["Your password has been reset as requested."] = "";
-$a->strings["Your new password is"] = "";
-$a->strings["Save or copy your new password - and then"] = "";
-$a->strings["click here to login"] = "";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "";
-$a->strings["Forgot your Password?"] = "";
-$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "";
-$a->strings["Nickname or Email: "] = "";
-$a->strings["Reset"] = "";
+$a->strings["<h1>What next</h1>"] = "";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "";
+$a->strings["%1\$s is following %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["Missing some important data!"] = "";
$a->strings["Update"] = "";
-$a->strings["Failed to connect with email account using the settings provided."] = "";
-$a->strings["Email settings updated."] = "";
$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[" Please use a shorter name."] = "";
-$a->strings[" Name too short."] = "";
-$a->strings[" Not valid email."] = "";
-$a->strings[" Cannot change to that email."] = "";
+$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["Account settings"] = "";
-$a->strings["Connector settings"] = "";
-$a->strings["Plugin settings"] = "";
-$a->strings["Connections"] = "";
-$a->strings["Export personal data"] = "";
$a->strings["Add application"] = "";
+$a->strings["Cancel"] = "";
+$a->strings["Name"] = "";
$a->strings["Consumer Key"] = "";
$a->strings["Consumer Secret"] = "";
$a->strings["Redirect"] = "";
@@ -387,73 +783,69 @@ $a->strings["Connected Apps"] = "";
$a->strings["Client key starts with"] = "";
$a->strings["No name"] = "";
$a->strings["Remove authorization"] = "";
-$a->strings["No Plugin settings configured"] = "";
-$a->strings["Plugin Settings"] = "";
-$a->strings["Built-in support for %s connectivity is %s"] = "";
-$a->strings["enabled"] = "";
-$a->strings["disabled"] = "";
-$a->strings["StatusNet"] = "";
+$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["Email/Mailbox Setup"] = "";
-$a->strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = "";
-$a->strings["Last successful email check:"] = "";
-$a->strings["Email access is disabled on this site."] = "";
-$a->strings["IMAP server name:"] = "";
-$a->strings["IMAP port:"] = "";
-$a->strings["Security:"] = "";
-$a->strings["None"] = "";
-$a->strings["Email login name:"] = "";
-$a->strings["Email password:"] = "";
-$a->strings["Reply-to address:"] = "";
-$a->strings["Send public posts to all email contacts:"] = "";
-$a->strings["Normal Account"] = "";
-$a->strings["This account is a normal personal profile"] = "";
-$a->strings["Soapbox Account"] = "";
-$a->strings["Automatically approve all connection/friend requests as read-only fans"] = "";
-$a->strings["Community/Celebrity Account"] = "";
-$a->strings["Automatically approve all connection/friend requests as read-write fans"] = "";
-$a->strings["Automatic Friend Account"] = "";
-$a->strings["Automatically approve all connection/friend requests as friends"] = "";
-$a->strings["OpenID:"] = "";
-$a->strings["(Optional) Allow this OpenID to login to this account."] = "";
-$a->strings["Publish your default profile in your local site directory?"] = "";
-$a->strings["Publish your default profile in the global social directory?"] = "";
-$a->strings["Hide your contact/friend list from viewers of your default profile?"] = "";
-$a->strings["Hide your profile details from unknown viewers?"] = "";
-$a->strings["Allow friends to post to your profile page?"] = "";
-$a->strings["Allow friends to tag your posts?"] = "";
+$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"] = "";
+$a->strings["Maximum number of conversations to load at any time:"] = "";
+$a->strings["Maximum of 100 items"] = "";
+$a->strings["Don't show emoticons"] = "";
+$a->strings["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["Profile is <strong>not published</strong>."] = "";
$a->strings["or"] = "";
-$a->strings["Your Identity Address is"] = "";
+$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 personal notes:"] = "";
$a->strings["Expire starred posts:"] = "";
$a->strings["Expire photos:"] = "";
-$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["Only expire posts by others:"] = "";
+$a->strings["Channel Settings"] = "";
$a->strings["Basic Settings"] = "";
-$a->strings["Full Name:"] = "";
-$a->strings["Email Address:"] = "";
$a->strings["Your Timezone:"] = "";
$a->strings["Default Post Location:"] = "";
$a->strings["Use Browser Location:"] = "";
-$a->strings["Display Theme:"] = "";
-$a->strings["Update browser every xx seconds"] = "";
-$a->strings["Minimum of 10 seconds, no maximum"] = "";
$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["(to prevent spam abuse)"] = "";
+$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"] = "";
@@ -462,167 +854,150 @@ $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["Advanced Page Settings"] = "";
-$a->strings["Manage Identities and/or Pages"] = "";
-$a->strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = "";
-$a->strings["Select an identity to manage: "] = "";
-$a->strings["Search Results For:"] = "";
-$a->strings["Remove term"] = "";
-$a->strings["Saved Searches"] = "";
-$a->strings["add"] = "";
-$a->strings["Commented Order"] = "";
-$a->strings["Posted Order"] = "";
-$a->strings["New"] = "";
-$a->strings["Starred"] = "";
-$a->strings["Bookmarks"] = "";
-$a->strings["Warning: This group contains %s member from an insecure network."] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["Private messages to this group are at risk of public disclosure."] = "";
-$a->strings["No such group"] = "";
-$a->strings["Group is empty"] = "";
-$a->strings["Group: "] = "";
-$a->strings["Contact: "] = "";
-$a->strings["Private messages to this person are at risk of public disclosure."] = "";
-$a->strings["Invalid contact."] = "";
-$a->strings["Personal Notes"] = "";
-$a->strings["Save"] = "";
-$a->strings["Welcome to Friendica"] = "";
-$a->strings["New Member Checklist"] = "";
-$a->strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page. A link to this page will be visible from your home page for two weeks after your initial registration and then will quietly disappear."] = "";
-$a->strings["On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web."] = "";
-$a->strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = "";
-$a->strings["Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not."] = "";
-$a->strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = "";
-$a->strings["<em>If</em> this is your own personal server, installing the Facebook addon may ease your transition to the free social web."] = "";
-$a->strings["Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = "";
-$a->strings["Edit your <strong>default</strong> profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors."] = "";
-$a->strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = "";
-$a->strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Add New Contact</em> dialog."] = "";
-$a->strings["The Directory page lets you find other people in this network or other federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on their profile page. Provide your own Identity Address if requested."] = "";
-$a->strings["On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours."] = "";
-$a->strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = "";
-$a->strings["Our <strong>help</strong> pages may be consulted for detail on other program features and resources."] = "";
-$a->strings["Item not available."] = "";
-$a->strings["Item was not found."] = "";
-$a->strings["Group created."] = "";
-$a->strings["Could not create group."] = "";
-$a->strings["Group not found."] = "";
-$a->strings["Group name changed."] = "";
-$a->strings["Permission denied"] = "";
-$a->strings["Create a group of contacts/friends."] = "";
-$a->strings["Group Name: "] = "";
-$a->strings["Group removed."] = "";
-$a->strings["Unable to remove group."] = "";
-$a->strings["Click on a contact to add or remove."] = "";
-$a->strings["Group Editor"] = "";
-$a->strings["Members"] = "";
-$a->strings["Invalid profile identifier."] = "";
-$a->strings["Profile Visibility Editor"] = "";
-$a->strings["Profile"] = "";
-$a->strings["Visible To"] = "";
-$a->strings["All Contacts (with secure profile access)"] = "";
-$a->strings["No contacts."] = "";
-$a->strings["View Contacts"] = "";
-$a->strings["An invitation is required."] = "";
-$a->strings["Invitation could not be verified."] = "";
-$a->strings["Invalid OpenID url"] = "";
-$a->strings["Please enter the required information."] = "";
-$a->strings["Please use a shorter name."] = "";
-$a->strings["Name too short."] = "";
-$a->strings["That doesn't appear to be your full (First Last) name."] = "";
-$a->strings["Your email domain is not among those allowed on this site."] = "";
-$a->strings["Not a valid email address."] = "";
-$a->strings["Cannot use that email."] = "";
-$a->strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "";
-$a->strings["Nickname is already registered. Please choose another."] = "";
-$a->strings["SERIOUS ERROR: Generation of security keys failed."] = "";
-$a->strings["An error occurred during registration. Please try again."] = "";
-$a->strings["An error occurred creating your default profile. Please try again."] = "";
-$a->strings["Registration details for %s"] = "";
-$a->strings["Registration successful. Please check your email for further instructions."] = "";
-$a->strings["Failed to send email message. Here is the message that failed."] = "";
-$a->strings["Your registration can not be processed."] = "";
-$a->strings["Registration request at %s"] = "";
-$a->strings["Your registration is pending approval by the site owner."] = "";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "";
-$a->strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "";
-$a->strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "";
-$a->strings["Your OpenID (optional): "] = "";
-$a->strings["Include your profile in member directory?"] = "";
-$a->strings["Membership on this site is by invitation only."] = "";
-$a->strings["Your invitation ID: "] = "";
-$a->strings["Registration"] = "";
-$a->strings["Your Full Name (e.g. Joe Smith): "] = "";
-$a->strings["Your Email Address: "] = "";
-$a->strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@\$sitename</strong>'."] = "";
-$a->strings["Choose a nickname: "] = "";
-$a->strings["Register"] = "";
+$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]"] = "";
+$a->strings["View Connnections"] = "";
+$a->strings["Tag removed"] = "";
+$a->strings["Remove Item Tag"] = "";
+$a->strings["Select a tag to remove: "] = "";
+$a->strings["Remove"] = "";
+$a->strings["No potential page delegates located."] = "";
+$a->strings["Delegate Page Management"] = "";
+$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "";
+$a->strings["Existing Page Managers"] = "";
+$a->strings["Existing Page Delegates"] = "";
+$a->strings["Potential Delegates"] = "";
+$a->strings["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["status"] = "";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "";
-$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "";
-$a->strings["Item not found."] = "";
-$a->strings["Access denied."] = "";
-$a->strings["Account approved."] = "";
-$a->strings["Registration revoked for %s"] = "";
-$a->strings["Please login."] = "";
-$a->strings["Unable to locate original post."] = "";
-$a->strings["Empty post discarded."] = "";
-$a->strings["Wall Photos"] = "";
-$a->strings["System error. Post not saved."] = "";
-$a->strings["This message was sent to you by %s, a member of the Friendica social network."] = "";
-$a->strings["You may visit them online at %s"] = "";
-$a->strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = "";
-$a->strings["%s posted an update."] = "";
-$a->strings["Image uploaded but image cropping failed."] = "";
-$a->strings["Image size reduction [%s] failed."] = "";
-$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "";
-$a->strings["Unable to process image"] = "";
-$a->strings["Image exceeds size limit of %d"] = "";
-$a->strings["Upload File:"] = "";
-$a->strings["Upload Profile Photo"] = "";
-$a->strings["Upload"] = "";
-$a->strings["skip this step"] = "";
-$a->strings["select a photo from your photo albums"] = "";
-$a->strings["Crop Image"] = "";
-$a->strings["Please adjust the image cropping for optimum viewing."] = "";
-$a->strings["Done Editing"] = "";
-$a->strings["Image uploaded successfully."] = "";
-$a->strings["No profile"] = "";
-$a->strings["Remove My Account"] = "";
-$a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "";
-$a->strings["Please enter your password for verification:"] = "";
-$a->strings["No recipient selected."] = "";
-$a->strings["Unable to locate contact information."] = "";
-$a->strings["Message could not be sent."] = "";
-$a->strings["Message collection failure."] = "";
-$a->strings["Message sent."] = "";
-$a->strings["Inbox"] = "";
-$a->strings["Outbox"] = "";
-$a->strings["New Message"] = "";
+$a->strings["No matches"] = "";
+$a->strings["Collection created."] = "";
+$a->strings["Could not create collection."] = "";
+$a->strings["Collection name changed."] = "";
+$a->strings["Create a collection of channels."] = "";
+$a->strings["Collection Name: "] = "";
+$a->strings["Members are visible to other channels"] = "";
+$a->strings["Collection removed."] = "";
+$a->strings["Unable to remove collection."] = "";
+$a->strings["Collection Editor"] = "";
+$a->strings["Members"] = "";
+$a->strings["All Connected Channels"] = "";
+$a->strings["Click on a channel to add or remove."] = "";
+$a->strings["Page owner information could not be retrieved."] = "";
+$a->strings["Album not found."] = "";
+$a->strings["Delete Album"] = "";
+$a->strings["Delete Photo"] = "";
+$a->strings["%1\$s was tagged in %2\$s by %3\$s"] = "";
+$a->strings["a photo"] = "";
+$a->strings["No photos selected"] = "";
+$a->strings["Access to this item is restricted."] = "";
+$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "";
+$a->strings["You have used %1$.2f Mbytes of photo storage."] = "";
+$a->strings["Upload Photos"] = "";
+$a->strings["New album name: "] = "";
+$a->strings["or existing album name: "] = "";
+$a->strings["Do not show a status post for this upload"] = "";
+$a->strings["Permissions"] = "";
+$a->strings["Contact Photos"] = "";
+$a->strings["Edit Album"] = "";
+$a->strings["Show Newest First"] = "";
+$a->strings["Show Oldest First"] = "";
+$a->strings["View Photo"] = "";
+$a->strings["Permission denied. Access to this item may be restricted."] = "";
+$a->strings["Photo not available"] = "";
+$a->strings["Use as profile photo"] = "";
+$a->strings["View Full Size"] = "";
+$a->strings["Edit photo"] = "";
+$a->strings["Rotate CW (right)"] = "";
+$a->strings["Rotate CCW (left)"] = "";
+$a->strings["New album name"] = "";
+$a->strings["Caption"] = "";
+$a->strings["Add a Tag"] = "";
+$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "";
+$a->strings["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"] = "";
+$a->strings["[today]"] = "";
+$a->strings["posted an event"] = "";
+$a->strings["Not found."] = "";
+$a->strings["- select -"] = "";
+$a->strings["Welcome to %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["Please enter a link URL:"] = "";
$a->strings["Send Private Message"] = "";
$a->strings["To:"] = "";
$a->strings["Subject:"] = "";
-$a->strings["Your message:"] = "";
$a->strings["No messages."] = "";
-$a->strings["Delete conversation"] = "";
-$a->strings["D, d M Y - g:i A"] = "";
-$a->strings["Message not available."] = "";
$a->strings["Delete message"] = "";
+$a->strings["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["Friends of %s"] = "";
-$a->strings["No friends to display."] = "";
+$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)"] = "";
+$a->strings["Authenticate"] = "";
+$a->strings["Unable to locate original post."] = "";
+$a->strings["Empty post discarded."] = "";
+$a->strings["System error. Post not saved."] = "";
+$a->strings["Wall Photos"] = "";
+$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["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["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["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"] = "";
@@ -630,9 +1005,16 @@ $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["No SSL policy, links will track page SSL state"] = "";
+$a->strings["Force all links to use SSL"] = "";
+$a->strings["Registration"] = "";
$a->strings["File upload"] = "";
$a->strings["Policies"] = "";
$a->strings["Advanced"] = "";
@@ -640,30 +1022,51 @@ $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["SSL link policy"] = "";
+$a->strings["Determines whether generated links should be forced to use SSL"] = "";
$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["Global directory update URL"] = "";
-$a->strings["Block multiple registrations"] = "";
-$a->strings["OpenID support"] = "";
-$a->strings["Gravatar support"] = "";
-$a->strings["Fullname check"] = "";
-$a->strings["UTF-8 Regular expressions"] = "";
-$a->strings["Show Community Page"] = "";
-$a->strings["Enable OStatus support"] = "";
-$a->strings["Enable Diaspora support"] = "";
-$a->strings["Only allow Friendica contacts"] = "";
-$a->strings["Verify SSL"] = "";
+$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "";
$a->strings["Proxy user"] = "";
$a->strings["Proxy URL"] = "";
$a->strings["Network timeout"] = "";
-$a->strings["%s user blocked"] = array(
+$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 => "",
);
@@ -671,19 +1074,25 @@ $a->strings["%s user deleted"] = array(
0 => "",
1 => "",
);
+$a->strings["Account not found"] = "";
$a->strings["User '%s' deleted"] = "";
$a->strings["User '%s' unblocked"] = "";
$a->strings["User '%s' blocked"] = "";
+$a->strings["Normal Account"] = "";
+$a->strings["Soapbox Account"] = "";
+$a->strings["Community/Celebrity Account"] = "";
+$a->strings["Automatic Friend Account"] = "";
$a->strings["select all"] = "";
$a->strings["User registrations waiting for confirm"] = "";
$a->strings["Request date"] = "";
-$a->strings["Email"] = "";
$a->strings["No registrations."] = "";
+$a->strings["Approve"] = "";
$a->strings["Deny"] = "";
+$a->strings["Block"] = "";
+$a->strings["Unblock"] = "";
$a->strings["Register date"] = "";
$a->strings["Last login"] = "";
-$a->strings["Last item"] = "";
-$a->strings["Account"] = "";
+$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."] = "";
@@ -691,59 +1100,145 @@ $a->strings["Plugin %s enabled."] = "";
$a->strings["Disable"] = "";
$a->strings["Enable"] = "";
$a->strings["Toggle"] = "";
-$a->strings["Settings"] = "";
+$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 Friendica top-level directory."] = "";
+$a->strings["Must be writable by web server. Relative to your Red top-level directory."] = "";
$a->strings["Log level"] = "";
-$a->strings["Close"] = "";
-$a->strings["FTP Host"] = "";
-$a->strings["FTP Path"] = "";
-$a->strings["FTP User"] = "";
-$a->strings["FTP Password"] = "";
-$a->strings["Requested profile is not available."] = "";
-$a->strings["Access to this profile has been restricted."] = "";
-$a->strings["Tips for New Members"] = "";
-$a->strings["{0} wants to be your friend"] = "";
-$a->strings["{0} sent you a message"] = "";
-$a->strings["{0} requested registration"] = "";
-$a->strings["{0} commented %s's post"] = "";
-$a->strings["{0} liked %s's post"] = "";
-$a->strings["{0} disliked %s's post"] = "";
-$a->strings["{0} is now friends with %s"] = "";
-$a->strings["{0} posted"] = "";
-$a->strings["{0} tagged %s's post with #%s"] = "";
-$a->strings["{0} mentioned you in a post"] = "";
-$a->strings["Login failed."] = "";
-$a->strings["Connect URL missing."] = "";
-$a->strings["This site is not configured to allow communications with other networks."] = "";
-$a->strings["No compatible communication protocols or feeds were discovered."] = "";
-$a->strings["The profile address specified does not provide adequate information."] = "";
-$a->strings["An author or name was not found."] = "";
-$a->strings["No browser URL could be matched to this address."] = "";
-$a->strings["The profile address specified belongs to a network which has been disabled on this site."] = "";
-$a->strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "";
-$a->strings["Unable to retrieve contact information."] = "";
-$a->strings["following"] = "";
-$a->strings["Common Friends"] = "";
-$a->strings["No friends in common."] = "";
-$a->strings["Item has been removed."] = "";
-$a->strings["Applications"] = "";
-$a->strings["No installed applications."] = "";
-$a->strings["Search This Site"] = "";
+$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"] = "";
+$a->strings["Refresh Permissions"] = "";
+$a->strings["Fetch updated permissions"] = "";
+$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"] = "";
+$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"] = "";
+$a->strings["Block/Unblock contact"] = "";
+$a->strings["Ignore contact"] = "";
+$a->strings["Repair URL settings"] = "";
+$a->strings["View conversations"] = "";
+$a->strings["Delete contact"] = "";
+$a->strings["Last update:"] = "";
+$a->strings["Update public posts"] = "";
+$a->strings["Update now"] = "";
+$a->strings["Currently blocked"] = "";
+$a->strings["Currently ignored"] = "";
+$a->strings["Currently archived"] = "";
+$a->strings["Currently pending"] = "";
+$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "";
+$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"] = "";
+$a->strings["Show all connections"] = "";
+$a->strings["Unblocked"] = "";
+$a->strings["Only show unblocked connections"] = "";
+$a->strings["Only show blocked connections"] = "";
+$a->strings["Only show ignored connections"] = "";
+$a->strings["Only show archived connections"] = "";
+$a->strings["Only show hidden connections"] = "";
+$a->strings["%1\$s [%2\$s]"] = "";
+$a->strings["Edit contact"] = "";
+$a->strings["Search your connections"] = "";
+$a->strings["Finding: "] = "";
+$a->strings["This site is not a directory server"] = "";
+$a->strings["Remote privacy information not available."] = "";
+$a->strings["Visible to:"] = "";
+$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["Profile not found."] = "";
-$a->strings["Profile Name is required."] = "";
-$a->strings["Profile updated."] = "";
$a->strings["Profile deleted."] = "";
$a->strings["Profile-"] = "";
$a->strings["New profile created."] = "";
$a->strings["Profile unavailable to clone."] = "";
+$a->strings["Profile Name is required."] = "";
+$a->strings["Marital Status"] = "";
+$a->strings["Romantic Partner"] = "";
+$a->strings["Likes"] = "";
+$a->strings["Dislikes"] = "";
+$a->strings["Work/Employment"] = "";
+$a->strings["Religion"] = "";
+$a->strings["Political Views"] = "";
+$a->strings["Gender"] = "";
+$a->strings["Sexual Preference"] = "";
+$a->strings["Homepage"] = "";
+$a->strings["Interests"] = "";
+$a->strings["Address"] = "";
+$a->strings["Location"] = "";
+$a->strings["Profile updated."] = "";
$a->strings["Hide your contact/friend list from viewers of this profile?"] = "";
$a->strings["Edit Profile Details"] = "";
$a->strings["View this profile"] = "";
+$a->strings["Change Profile Photo"] = "";
$a->strings["Create a new profile using these settings"] = "";
$a->strings["Clone this profile"] = "";
$a->strings["Delete this profile"] = "";
@@ -760,18 +1255,16 @@ $a->strings["Region/State:"] = "";
$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "";
$a->strings["Who: (if applicable)"] = "";
$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "";
-$a->strings["Sexual Preference:"] = "";
+$a->strings["Since [date]:"] = "";
$a->strings["Homepage URL:"] = "";
-$a->strings["Political Views:"] = "";
$a->strings["Religious Views:"] = "";
-$a->strings["Public Keywords:"] = "";
-$a->strings["Private Keywords:"] = "";
+$a->strings["Keywords:"] = "";
$a->strings["Example: fishing photography software"] = "";
-$a->strings["(Used for suggesting potential friends, can be seen by others)"] = "";
-$a->strings["(Used for searching profiles, never shown to others)"] = "";
+$a->strings["Used in directory listings"] = "";
$a->strings["Tell us about yourself..."] = "";
$a->strings["Hobbies/Interests"] = "";
$a->strings["Contact information and Social Networks"] = "";
+$a->strings["My other channels"] = "";
$a->strings["Musical interests"] = "";
$a->strings["Books, literature"] = "";
$a->strings["Television"] = "";
@@ -780,583 +1273,219 @@ $a->strings["Love/romance"] = "";
$a->strings["Work/employment"] = "";
$a->strings["School/education"] = "";
$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "";
-$a->strings["Age: "] = "";
$a->strings["Edit/Manage Profiles"] = "";
$a->strings["Change profile photo"] = "";
$a->strings["Create New Profile"] = "";
$a->strings["Profile Image"] = "";
$a->strings["visible to everybody"] = "";
$a->strings["Edit visibility"] = "";
-$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "";
-$a->strings["No potential page delegates located."] = "";
-$a->strings["Delegate Page Management"] = "";
-$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "";
-$a->strings["Existing Page Managers"] = "";
-$a->strings["Existing Page Delegates"] = "";
-$a->strings["Potential Delegates"] = "";
-$a->strings["Add"] = "";
-$a->strings["No entries."] = "";
-$a->strings["Friend Suggestions"] = "";
+$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["Create"] = "";
+$a->strings["No valid account found."] = "";
+$a->strings["Password reset request issued. Check your email."] = "";
+$a->strings["Site Member (%s)"] = "";
+$a->strings["Password reset requested at %s"] = "";
+$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "";
+$a->strings["Password Reset"] = "";
+$a->strings["Your password has been reset as requested."] = "";
+$a->strings["Your new password is"] = "";
+$a->strings["Save or copy your new password - and then"] = "";
+$a->strings["click here to login"] = "";
+$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "";
+$a->strings["Your password has changed at %s"] = "";
+$a->strings["Forgot your Password?"] = "";
+$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "";
+$a->strings["Email Address"] = "";
+$a->strings["Reset"] = "";
+$a->strings["Nothing to import."] = "";
+$a->strings["Unable to download data from old server"] = "";
+$a->strings["Imported file is empty."] = "";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "";
+$a->strings["Channel clone failed. Import failed."] = "";
+$a->strings["Cloned channel not found. Import failed."] = "";
+$a->strings["Import completed."] = "";
+$a->strings["You must be logged in to use this feature."] = "";
+$a->strings["Import Channel"] = "";
+$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "";
+$a->strings["File to Upload"] = "";
+$a->strings["Or provide the old server/hub details"] = "";
+$a->strings["Your old identity address (xyz@example.com)"] = "";
+$a->strings["Your old login email address"] = "";
+$a->strings["Your old login password"] = "";
+$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "";
+$a->strings["Make this hub my primary location"] = "";
+$a->strings["Create a new channel"] = "";
+$a->strings["Channel Manager"] = "";
+$a->strings["Current Channel"] = "";
+$a->strings["Attach to one of your channels by selecting it."] = "";
+$a->strings["Default Channel"] = "";
+$a->strings["Make Default"] = "";
+$a->strings["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"] = "";
+$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"] = "";
+$a->strings["invalid target signature"] = "";
+$a->strings["Channel added."] = "";
+$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."] = "";
+$a->strings["Image exceeds size limit of %d"] = "";
+$a->strings["Unable to process image."] = "";
+$a->strings["Photo not available."] = "";
+$a->strings["Upload File:"] = "";
+$a->strings["Select a profile:"] = "";
+$a->strings["Upload Profile Photo"] = "";
+$a->strings["Upload"] = "";
+$a->strings["skip this step"] = "";
+$a->strings["select a photo from your photo albums"] = "";
+$a->strings["Crop Image"] = "";
+$a->strings["Please adjust the image cropping for optimum viewing."] = "";
+$a->strings["Done Editing"] = "";
+$a->strings["Image uploaded successfully."] = "";
+$a->strings["Image upload failed."] = "";
+$a->strings["Image size reduction [%s] failed."] = "";
+$a->strings["Item not found"] = "";
+$a->strings["Edit post"] = "";
+$a->strings["Insert YouTube video"] = "";
+$a->strings["Insert Vorbis [.ogg] video"] = "";
+$a->strings["Insert Vorbis [.ogg] audio"] = "";
+$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"] = "";
+$a->strings["%s disliked %s's post"] = "";
+$a->strings["%s is now friends with %s"] = "";
+$a->strings["%s created a new post"] = "";
+$a->strings["%s commented on %s's post"] = "";
+$a->strings["No more network notifications."] = "";
+$a->strings["Network Notifications"] = "";
+$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["Post successful."] = "";
+$a->strings["Item is not editable"] = "";
+$a->strings["Access to this profile has been restricted."] = "";
+$a->strings["Poke/Prod"] = "";
+$a->strings["poke, prod or do other things to somebody"] = "";
+$a->strings["Recipient"] = "";
+$a->strings["Choose what you wish to do to recipient"] = "";
+$a->strings["Make this post private"] = "";
+$a->strings["Not available."] = "";
+$a->strings["Community"] = "";
+$a->strings["No results."] = "";
+$a->strings["Files"] = "";
+$a->strings["Friend suggestion sent."] = "";
+$a->strings["Suggest Friends"] = "";
+$a->strings["Suggest a friend for %s"] = "";
+$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["Version %s"] = "";
+$a->strings["Installed plugins/addons/apps:"] = "";
+$a->strings["No installed plugins/addons/apps"] = "";
+$a->strings["Red"] = "";
+$a->strings["This is Red - another decentralized, distributed communications project by the folks at Friendica."] = "";
+$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["Bug reports and issues: please visit"] = "";
+$a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - 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["Global Directory"] = "";
-$a->strings["Normal site view"] = "";
-$a->strings["Admin - View all site entries"] = "";
-$a->strings["Find on this site"] = "";
-$a->strings["Site Directory"] = "";
-$a->strings["Gender: "] = "";
-$a->strings["No entries (some entries may be hidden)."] = "";
-$a->strings["%s : Not a valid email address."] = "";
-$a->strings["Please join my network on %s"] = "";
-$a->strings["%s : Message delivery failed."] = "";
-$a->strings["%d message sent."] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["You have no more invitations available"] = "";
-$a->strings["Send invitations"] = "";
-$a->strings["Enter email addresses, one per line:"] = "";
-$a->strings["Please join my social network on %s"] = "";
-$a->strings["To accept this invitation, please visit:"] = "";
-$a->strings["You will need to supply this invitation code: \$invite_code"] = "";
-$a->strings["Once you have registered, please connect with me via my profile page at:"] = "";
-$a->strings["Response from remote site was not understood."] = "";
-$a->strings["Unexpected response from remote site: "] = "";
-$a->strings["Confirmation completed successfully."] = "";
-$a->strings["Remote site reported: "] = "";
-$a->strings["Temporary failure. Please wait and try again."] = "";
-$a->strings["Introduction failed or was revoked."] = "";
-$a->strings["Unable to set contact photo."] = "";
-$a->strings["%1\$s is now friends with %2\$s"] = "";
-$a->strings["No user record found for '%s' "] = "";
-$a->strings["Our site encryption key is apparently messed up."] = "";
-$a->strings["Empty site URL was provided or URL could not be decrypted by us."] = "";
-$a->strings["Contact record was not found for you on our site."] = "";
-$a->strings["Site public key not available in contact record for URL %s."] = "";
-$a->strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = "";
-$a->strings["Unable to set your contact credentials on our system."] = "";
-$a->strings["Unable to update your contact profile details on our system"] = "";
-$a->strings["Connection accepted at %s"] = "";
-$a->strings["Facebook disabled"] = "";
-$a->strings["Updating contacts"] = "";
-$a->strings["Facebook API key is missing."] = "";
-$a->strings["Facebook Connect"] = "";
-$a->strings["Install Facebook connector for this account."] = "";
-$a->strings["Remove Facebook connector"] = "";
-$a->strings["Re-authenticate [This is necessary whenever your Facebook password is changed.]"] = "";
-$a->strings["Post to Facebook by default"] = "";
-$a->strings["Link all your Facebook friends and conversations on this website"] = "";
-$a->strings["Facebook conversations consist of your <em>profile wall</em> and your friend <em>stream</em>."] = "";
-$a->strings["On this website, your Facebook friend stream is only visible to you."] = "";
-$a->strings["The following settings determine the privacy of your Facebook profile wall on this website."] = "";
-$a->strings["On this website your Facebook profile wall conversations will only be visible to you"] = "";
-$a->strings["Do not import your Facebook profile wall conversations"] = "";
-$a->strings["If you choose to link conversations and leave both of these boxes unchecked, your Facebook profile wall will be merged with your profile wall on this website and your privacy settings on this website will be used to determine who may see the conversations."] = "";
-$a->strings["Comma separated applications to ignore"] = "";
-$a->strings["Facebook"] = "";
-$a->strings["Facebook Connector Settings"] = "";
-$a->strings["Post to Facebook"] = "";
-$a->strings["Post to Facebook cancelled because of multi-network access permission conflict."] = "";
-$a->strings["Image: "] = "";
-$a->strings["View on Friendica"] = "";
-$a->strings["Facebook post failed. Queued for retry."] = "";
-$a->strings["link"] = "";
-$a->strings["%d person likes this"] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["%d person doesn't like this"] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["Generate new key"] = "";
-$a->strings["Widgets key"] = "";
-$a->strings["Widgets available"] = "";
-$a->strings["Connect on Friendica!"] = "";
-$a->strings["YourLS Settings"] = "";
-$a->strings["URL: http://"] = "";
-$a->strings["Username:"] = "";
-$a->strings["Password:"] = "";
-$a->strings["Use SSL "] = "";
-$a->strings["yourls Settings saved."] = "";
-$a->strings["\"Not Safe For Work\" Settings"] = "";
-$a->strings["Enable NSFW filter"] = "";
-$a->strings["Comma separated words to treat as NSFW"] = "";
-$a->strings["Use /expression/ to provide regular expressions"] = "";
-$a->strings["NSFW Settings saved."] = "";
-$a->strings["%s - Click to open/close"] = "";
-$a->strings["Login"] = "";
-$a->strings["OpenID"] = "";
-$a->strings["Last users"] = "";
-$a->strings["Most active users"] = "";
-$a->strings["Last photos"] = "";
-$a->strings["Last likes"] = "";
-$a->strings["event"] = "";
-$a->strings["Allow to use your friendica id (%s) to connecto to external unhosted-enabled storage (like ownCloud). See <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>"] = "";
-$a->strings["Template URL (with {category})"] = "";
-$a->strings["OAuth end-point"] = "";
-$a->strings["Api"] = "";
-$a->strings["Member since:"] = "";
-$a->strings["Three Dimensional Tic-Tac-Toe"] = "";
-$a->strings["3D Tic-Tac-Toe"] = "";
-$a->strings["New game"] = "";
-$a->strings["New game with handicap"] = "";
-$a->strings["Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "] = "";
-$a->strings["In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."] = "";
-$a->strings["The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."] = "";
-$a->strings["You go first..."] = "";
-$a->strings["I'm going first this time..."] = "";
-$a->strings["You won!"] = "";
-$a->strings["\"Cat\" game!"] = "";
-$a->strings["I won!"] = "";
-$a->strings["Randplace Settings"] = "";
-$a->strings["Enable Randplace Plugin"] = "";
-$a->strings["Post to Drupal"] = "";
-$a->strings["Drupal Post Settings"] = "";
-$a->strings["Enable Drupal Post Plugin"] = "";
-$a->strings["Drupal username"] = "";
-$a->strings["Drupal password"] = "";
-$a->strings["Post Type - article,page,or blog"] = "";
-$a->strings["Drupal site URL"] = "";
-$a->strings["Drupal site uses clean URLS"] = "";
-$a->strings["Post to Drupal by default"] = "";
-$a->strings["Post from Friendica"] = "";
-$a->strings["Geonames settings updated."] = "";
-$a->strings["Geonames Settings"] = "";
-$a->strings["Enable Geonames Plugin"] = "";
-$a->strings["Upload a file"] = "";
-$a->strings["Drop files here to upload"] = "";
-$a->strings["Failed"] = "";
-$a->strings["No files were uploaded."] = "";
-$a->strings["Uploaded file is empty"] = "";
-$a->strings["File has an invalid extension, it should be one of "] = "";
-$a->strings["Upload was cancelled, or server error encountered"] = "";
-$a->strings["OEmbed settings updated"] = "";
-$a->strings["Use OEmbed for YouTube videos"] = "";
-$a->strings["URL to embed:"] = "";
-$a->strings["Impressum"] = "";
-$a->strings["Site Owner"] = "";
-$a->strings["Email Address"] = "";
-$a->strings["Postal Address"] = "";
-$a->strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = "";
-$a->strings["Site Owners Profile"] = "";
-$a->strings["Notes"] = "";
-$a->strings["Report Bug"] = "";
-$a->strings["\"Blockem\" Settings"] = "";
-$a->strings["Comma separated profile URLS to block"] = "";
-$a->strings["BLOCKEM Settings saved."] = "";
-$a->strings["Blocked %s - Click to open/close"] = "";
-$a->strings["Unblock Author"] = "";
-$a->strings["Block Author"] = "";
-$a->strings["blockem settings updated"] = "";
-$a->strings[":-)"] = "";
-$a->strings[":-("] = "";
-$a->strings["lol"] = "";
-$a->strings["Quick Comment Settings"] = "";
-$a->strings["Enter quick comments, one per line"] = "";
-$a->strings["Quick Comment settings saved."] = "";
-$a->strings["Tile Server URL"] = "";
-$a->strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "";
-$a->strings["Default zoom"] = "";
-$a->strings["The default zoom level. (1:world, 18:highest)"] = "";
-$a->strings["Editplain settings updated."] = "";
-$a->strings["Editplain Settings"] = "";
-$a->strings["Disable richtext status editor"] = "";
-$a->strings["\"pageheader\" Settings"] = "";
-$a->strings["pageheader Settings saved."] = "";
-$a->strings["View Source"] = "";
-$a->strings["Post to StatusNet"] = "";
-$a->strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "";
-$a->strings["We could not contact the StatusNet API with the Path you entered."] = "";
-$a->strings["StatusNet settings updated."] = "";
-$a->strings["StatusNet Posting Settings"] = "";
-$a->strings["Globally Available StatusNet OAuthKeys"] = "";
-$a->strings["There are preconfigured OAuth key pairs for some StatusNet servers available. If you are useing one of them, please use these credentials. If not feel free to connect to any other StatusNet instance (see below)."] = "";
-$a->strings["Provide your own OAuth Credentials"] = "";
-$a->strings["No consumer key pair for StatusNet found. Register your Friendica Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendica installation at your favorited StatusNet installation."] = "";
-$a->strings["OAuth Consumer Key"] = "";
-$a->strings["OAuth Consumer Secret"] = "";
-$a->strings["Base API Path (remember the trailing /)"] = "";
-$a->strings["To connect to your StatusNet account click the button below to get a security code from StatusNet which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to StatusNet."] = "";
-$a->strings["Log in with StatusNet"] = "";
-$a->strings["Copy the security code from StatusNet here"] = "";
-$a->strings["Cancel Connection Process"] = "";
-$a->strings["Current StatusNet API is"] = "";
-$a->strings["Cancel StatusNet Connection"] = "";
-$a->strings["Currently connected to: "] = "";
-$a->strings["If enabled all your <strong>public</strong> postings can be posted to the associated StatusNet account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "";
-$a->strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to StatusNet will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "";
-$a->strings["Allow posting to StatusNet"] = "";
-$a->strings["Send public postings to StatusNet by default"] = "";
-$a->strings["Clear OAuth configuration"] = "";
-$a->strings["API URL"] = "";
-$a->strings["Post to Tumblr"] = "";
-$a->strings["Tumblr Post Settings"] = "";
-$a->strings["Enable Tumblr Post Plugin"] = "";
-$a->strings["Tumblr login"] = "";
-$a->strings["Tumblr password"] = "";
-$a->strings["Post to Tumblr by default"] = "";
-$a->strings["Numfriends settings updated."] = "";
-$a->strings["Numfriends Settings"] = "";
-$a->strings["How many contacts to display on profile sidebar"] = "";
-$a->strings["Post to Wordpress"] = "";
-$a->strings["WordPress Post Settings"] = "";
-$a->strings["Enable WordPress Post Plugin"] = "";
-$a->strings["WordPress username"] = "";
-$a->strings["WordPress password"] = "";
-$a->strings["WordPress API URL"] = "";
-$a->strings["Post to WordPress by default"] = "";
-$a->strings["\"Show more\" Settings"] = "";
-$a->strings["Enable Show More"] = "";
-$a->strings["Cutting posts after how much characters"] = "";
-$a->strings["Show More Settings saved."] = "";
-$a->strings["Show More"] = "";
-$a->strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "";
-$a->strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "";
-$a->strings["Piwik Base URL"] = "";
-$a->strings["Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)"] = "";
-$a->strings["Site ID"] = "";
-$a->strings["Show opt-out cookie link?"] = "";
-$a->strings["Asynchronous tracking"] = "";
-$a->strings["Post to Twitter"] = "";
-$a->strings["Twitter settings updated."] = "";
-$a->strings["Twitter Posting Settings"] = "";
-$a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "";
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "";
-$a->strings["Log in with Twitter"] = "";
-$a->strings["Copy the PIN from Twitter here"] = "";
-$a->strings["If enabled all your <strong>public</strong> postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "";
-$a->strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "";
-$a->strings["Allow posting to Twitter"] = "";
-$a->strings["Send public postings to Twitter by default"] = "";
-$a->strings["Consumer key"] = "";
-$a->strings["Consumer secret"] = "";
-$a->strings["Post to Posterous"] = "";
-$a->strings["Posterous Post Settings"] = "";
-$a->strings["Enable Posterous Post Plugin"] = "";
-$a->strings["Posterous login"] = "";
-$a->strings["Posterous password"] = "";
-$a->strings["Post to Posterous by default"] = "";
-$a->strings["Gender:"] = "";
-$a->strings["j F, Y"] = "";
-$a->strings["j F"] = "";
-$a->strings["Birthday:"] = "";
-$a->strings["Age:"] = "";
-$a->strings["Status:"] = "";
-$a->strings["Homepage:"] = "";
-$a->strings["Tags:"] = "";
-$a->strings["Religion:"] = "";
-$a->strings["About:"] = "";
-$a->strings["Hobbies/Interests:"] = "";
-$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["Unknown | Not categorised"] = "";
-$a->strings["Block immediately"] = "";
-$a->strings["Shady, spammer, self-marketer"] = "";
-$a->strings["Known to me, but no opinion"] = "";
-$a->strings["OK, probably harmless"] = "";
-$a->strings["Reputable, has my trust"] = "";
-$a->strings["Frequently"] = "";
-$a->strings["Hourly"] = "";
-$a->strings["Twice daily"] = "";
-$a->strings["Daily"] = "";
-$a->strings["Weekly"] = "";
-$a->strings["Monthly"] = "";
-$a->strings["OStatus"] = "";
-$a->strings["RSS/Atom"] = "";
-$a->strings["Zot!"] = "";
-$a->strings["LinkedIn"] = "";
-$a->strings["XMPP/IM"] = "";
-$a->strings["MySpace"] = "";
-$a->strings["Male"] = "";
-$a->strings["Female"] = "";
-$a->strings["Currently Male"] = "";
-$a->strings["Currently Female"] = "";
-$a->strings["Mostly Male"] = "";
-$a->strings["Mostly Female"] = "";
-$a->strings["Transgender"] = "";
-$a->strings["Intersex"] = "";
-$a->strings["Transsexual"] = "";
-$a->strings["Hermaphrodite"] = "";
-$a->strings["Neuter"] = "";
-$a->strings["Non-specific"] = "";
-$a->strings["Other"] = "";
-$a->strings["Undecided"] = "";
-$a->strings["Males"] = "";
-$a->strings["Females"] = "";
-$a->strings["Gay"] = "";
-$a->strings["Lesbian"] = "";
-$a->strings["No Preference"] = "";
-$a->strings["Bisexual"] = "";
-$a->strings["Autosexual"] = "";
-$a->strings["Abstinent"] = "";
-$a->strings["Virgin"] = "";
-$a->strings["Deviant"] = "";
-$a->strings["Fetish"] = "";
-$a->strings["Oodles"] = "";
-$a->strings["Nonsexual"] = "";
-$a->strings["Single"] = "";
-$a->strings["Lonely"] = "";
-$a->strings["Available"] = "";
-$a->strings["Unavailable"] = "";
-$a->strings["Dating"] = "";
-$a->strings["Unfaithful"] = "";
-$a->strings["Sex Addict"] = "";
-$a->strings["Friends"] = "";
-$a->strings["Friends/Benefits"] = "";
-$a->strings["Casual"] = "";
-$a->strings["Engaged"] = "";
-$a->strings["Married"] = "";
-$a->strings["Partners"] = "";
-$a->strings["Cohabiting"] = "";
-$a->strings["Happy"] = "";
-$a->strings["Not Looking"] = "";
-$a->strings["Swinger"] = "";
-$a->strings["Betrayed"] = "";
-$a->strings["Separated"] = "";
-$a->strings["Unstable"] = "";
-$a->strings["Divorced"] = "";
-$a->strings["Widowed"] = "";
-$a->strings["Uncertain"] = "";
-$a->strings["Complicated"] = "";
-$a->strings["Don't care"] = "";
-$a->strings["Ask me"] = "";
-$a->strings["Starts:"] = "";
-$a->strings["Finishes:"] = "";
-$a->strings["(no subject)"] = "";
-$a->strings["noreply"] = "";
-$a->strings["prev"] = "";
-$a->strings["first"] = "";
-$a->strings["last"] = "";
-$a->strings["next"] = "";
-$a->strings["No contacts"] = "";
-$a->strings["%d Contact"] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["Search"] = "";
-$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["bytes"] = "";
-$a->strings["Select an alternate language"] = "";
-$a->strings["default"] = "";
-$a->strings["Sharing notification from Diaspora network"] = "";
-$a->strings["Attachments:"] = "";
-$a->strings["[Relayed] Comment authored by %s from network %s"] = "";
-$a->strings["Embedded content"] = "";
-$a->strings["Embedding disabled"] = "";
-$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["Everybody"] = "";
-$a->strings["edit"] = "";
-$a->strings["Groups"] = "";
-$a->strings["Edit group"] = "";
-$a->strings["Create a new group"] = "";
-$a->strings["Logout"] = "";
-$a->strings["End this session"] = "";
-$a->strings["Status"] = "";
-$a->strings["Your posts and conversations"] = "";
-$a->strings["Your profile page"] = "";
-$a->strings["Photos"] = "";
-$a->strings["Your photos"] = "";
-$a->strings["Your events"] = "";
-$a->strings["Personal notes"] = "";
-$a->strings["Your personal photos"] = "";
-$a->strings["Sign in"] = "";
-$a->strings["Home Page"] = "";
-$a->strings["Create an account"] = "";
-$a->strings["Help and documentation"] = "";
-$a->strings["Apps"] = "";
-$a->strings["Addon applications, utilities, games"] = "";
-$a->strings["Search site content"] = "";
-$a->strings["Conversations on this site"] = "";
-$a->strings["Directory"] = "";
-$a->strings["People directory"] = "";
-$a->strings["Conversations from your friends"] = "";
-$a->strings["Friend Requests"] = "";
-$a->strings["See all notifications"] = "";
-$a->strings["Mark all system notifications seen"] = "";
-$a->strings["Private mail"] = "";
-$a->strings["Manage"] = "";
-$a->strings["Manage other pages"] = "";
-$a->strings["Profiles"] = "";
-$a->strings["Manage/edit profiles"] = "";
-$a->strings["Manage/edit friends and contacts"] = "";
-$a->strings["Admin"] = "";
-$a->strings["Site setup and configuration"] = "";
-$a->strings["Nothing new here"] = "";
-$a->strings["Add New Contact"] = "";
-$a->strings["Enter address or web location"] = "";
-$a->strings["Example: bob@example.com, http://example.com/barbara"] = "";
-$a->strings["Invite Friends"] = "";
-$a->strings["%d invitation available"] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["Find People"] = "";
-$a->strings["Enter name or interest"] = "";
-$a->strings["Connect/Follow"] = "";
-$a->strings["Examples: Robert Morgenstein, Fishing"] = "";
-$a->strings["Similar Interests"] = "";
-$a->strings["Networks"] = "";
-$a->strings["All Networks"] = "";
-$a->strings["Logged out."] = "";
-$a->strings["Miscellaneous"] = "";
-$a->strings["year"] = "";
-$a->strings["month"] = "";
-$a->strings["day"] = "";
-$a->strings["never"] = "";
-$a->strings["less than a second ago"] = "";
-$a->strings["years"] = "";
-$a->strings["months"] = "";
-$a->strings["week"] = "";
-$a->strings["weeks"] = "";
-$a->strings["days"] = "";
-$a->strings["hour"] = "";
-$a->strings["hours"] = "";
-$a->strings["minute"] = "";
-$a->strings["minutes"] = "";
-$a->strings["second"] = "";
-$a->strings["seconds"] = "";
-$a->strings["%1\$d %2\$s ago"] = "";
-$a->strings["From: "] = "";
-$a->strings["$1 wrote:"] = "";
-$a->strings["Image/photo"] = "";
-$a->strings["Cannot locate DNS info for database server '%s'"] = "";
-$a->strings["[no subject]"] = "";
-$a->strings["Visible to everybody"] = "";
-$a->strings["show"] = "";
-$a->strings["don't show"] = "";
-$a->strings["Friendica Notification"] = "";
-$a->strings["Thank You,"] = "";
-$a->strings["%s Administrator"] = "";
-$a->strings["New mail received at %s"] = "";
-$a->strings["%s sent you a new private message at %s."] = "";
-$a->strings["%s sent you %s."] = "";
-$a->strings["a private message"] = "";
-$a->strings["Please visit %s to view and/or reply to your private messages."] = "";
-$a->strings["%s commented on an item at %s"] = "";
-$a->strings["%s commented on an item/conversation you have been following."] = "";
-$a->strings["%s commented in %s."] = "";
-$a->strings["a watched conversation"] = "";
-$a->strings["Please visit %s to view and/or reply to the conversation."] = "";
-$a->strings["%s posted to your profile wall at %s"] = "";
-$a->strings["%s posted to %s"] = "";
-$a->strings["your profile wall."] = "";
-$a->strings["%s tagged you at %s"] = "";
-$a->strings["%s %s."] = "";
-$a->strings["tagged you"] = "";
-$a->strings["%s tagged your post at %s"] = "";
-$a->strings["%s tagged %s"] = "";
-$a->strings["your post"] = "";
-$a->strings["Introduction received at %s"] = "";
-$a->strings["You've received an introduction from '%s' at %s"] = "";
-$a->strings["You've received %s from %s."] = "";
-$a->strings["an introduction"] = "";
-$a->strings["You may visit their profile at %s"] = "";
-$a->strings["Please visit %s to approve or reject the introduction."] = "";
-$a->strings["Friend suggestion received at %s"] = "";
-$a->strings["You've received a friend suggestion from '%s' at %s"] = "";
-$a->strings["You've received %s for %s from %s."] = "";
-$a->strings["a friend suggestion"] = "";
-$a->strings["Name:"] = "";
-$a->strings["Photo:"] = "";
-$a->strings["Please visit %s to approve or reject the suggestion."] = "";
-$a->strings["A new person is sharing with you at "] = "";
-$a->strings["You have a new follower at "] = "";
-$a->strings["view full size"] = "";
-$a->strings["image/photo"] = "";
-$a->strings["Welcome "] = "";
-$a->strings["Please upload a profile photo."] = "";
-$a->strings["Welcome back "] = "";
-$a->strings["View status"] = "";
-$a->strings["View profile"] = "";
-$a->strings["View photos"] = "";
-$a->strings["View recent"] = "";
-$a->strings["Send PM"] = "";
-$a->strings["post/item"] = "";
-$a->strings["%1\$s marked %2\$s's %3\$s as favorite"] = "";
-$a->strings["Select"] = "";
-$a->strings["View %s's profile @ %s"] = "";
-$a->strings["%s from %s"] = "";
-$a->strings["View in context"] = "";
-$a->strings["%d comment"] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["show more"] = "";
-$a->strings["like"] = "";
-$a->strings["dislike"] = "";
-$a->strings["Share this"] = "";
-$a->strings["share"] = "";
-$a->strings["add star"] = "";
-$a->strings["remove star"] = "";
-$a->strings["toggle star status"] = "";
-$a->strings["starred"] = "";
-$a->strings["add tag"] = "";
-$a->strings["to"] = "";
-$a->strings["Wall-to-Wall"] = "";
-$a->strings["via Wall-To-Wall:"] = "";
-$a->strings["Delete Selected Items"] = "";
-$a->strings["%s likes this."] = "";
-$a->strings["%s doesn't like this."] = "";
-$a->strings["<span %1\$s>%2\$d people</span> like this."] = "";
-$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = "";
-$a->strings["and"] = "";
-$a->strings[", and %d other people"] = "";
-$a->strings["%s like this."] = "";
-$a->strings["%s don't like this."] = "";
-$a->strings["Visible to <strong>everybody</strong>"] = "";
-$a->strings["Please enter a video link/URL:"] = "";
-$a->strings["Please enter an audio link/URL:"] = "";
-$a->strings["Tag term:"] = "";
-$a->strings["Where are you right now?"] = "";
-$a->strings["Enter a title for this item"] = "";
-$a->strings["upload photo"] = "";
-$a->strings["attach file"] = "";
-$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 location"] = "";
-$a->strings["clear location"] = "";
-$a->strings["permissions"] = "";
-$a->strings["Delete this item?"] = "";
-$a->strings["show fewer"] = "";
+$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["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["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "";
+$a->strings["Terms of Service"] = "";
+$a->strings["I accept the %s for this website"] = "";
+$a->strings["I am over 13 years of age and accept the %s for this website"] = "";
+$a->strings["Membership on this site is by invitation only."] = "";
+$a->strings["Please enter your invitation code"] = "";
+$a->strings["Your email address"] = "";
+$a->strings["Choose a password"] = "";
+$a->strings["Please re-enter your password"] = "";
+$a->strings["Please login."] = "";
+$a->strings["Remove My Account"] = "";
+$a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "";
+$a->strings["Please enter your password for verification:"] = "";
+$a->strings["Mood"] = "";
+$a->strings["Set your current mood and tell your friends"] = "";
+$a->strings["Theme settings"] = "";
+$a->strings["Set font-size for posts and comments"] = "";
+$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"] = "";
+$a->strings["Update %s failed. See error logs."] = "";
+$a->strings["Update Error at %s"] = "";
$a->strings["Create a New Account"] = "";
-$a->strings["Nickname or Email address: "] = "";
-$a->strings["Password: "] = "";
-$a->strings["Or login using OpenID: "] = "";
+$a->strings["Password"] = "";
+$a->strings["Remember me"] = "";
$a->strings["Forgot your password?"] = "";
-$a->strings["Edit profile"] = "";
-$a->strings["g A l F d"] = "";
+$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"] = "";
$a->strings["Birthday Reminders"] = "";
$a->strings["Birthdays this week:"] = "";
-$a->strings["[today]"] = "";
+$a->strings["[No description]"] = "";
$a->strings["Event Reminders"] = "";
$a->strings["Events this week:"] = "";
-$a->strings["[No description]"] = "";
+$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["toggle mobile"] = "";
diff --git a/util/tpldebug.php b/util/tpldebug.php
new file mode 100644
index 000000000..80da410dc
--- /dev/null
+++ b/util/tpldebug.php
@@ -0,0 +1,43 @@
+<?php
+
+// Tool to assist with figuring out what variables are passed to templates.
+// It will take a source php file and print all the template calls it finds, including the passed args.
+// With no args it will enumerate all templates in boot.php, include/* and mod/*
+// This is a quick hack and far from perfect (there's a template call in boot.php that buggers the regex from the get-go)
+// but is one step towards template documentation.
+
+
+if($argc > 1) {
+ echo "{$argv[1]}: templates\n";
+ print_template($argv[1]);
+}
+else {
+
+
+ echo 'boot.php: templates' . "\n";
+ print_template('boot.php');
+
+ $files = glob('include/*.php');
+ foreach($files as $file) {
+ echo $file . ': templates'. "\n";
+ print_template($file);
+ }
+
+ $files = glob('mod/*.php');
+ foreach($files as $file) {
+ echo $file . ': templates'. "\n";
+ print_template($file);
+ }
+}
+
+function print_template($s) {
+ $x = file_get_contents($s);
+
+ $cnt = preg_match_all('/replace_macros(.*?)\)\;/ism',$x,$matches);
+
+ if($cnt) {
+ print_r($matches[0]);
+
+ }
+
+} \ No newline at end of file
diff --git a/util/typo.php b/util/typo.php
index c4d038ce8..6c846696d 100644
--- a/util/typo.php
+++ b/util/typo.php
@@ -19,6 +19,20 @@
include_once($file);
}
+ echo "Directory: include/dba\n";
+ $files = glob('include/dba/*.php');
+ foreach($files as $file) {
+ echo $file . "\n";
+ include_once($file);
+ }
+
+ echo "Directory: include/photo\n";
+ $files = glob('include/photo/*.php');
+ foreach($files as $file) {
+ echo $file . "\n";
+ include_once($file);
+ }
+
echo "Directory: mod\n";
$files = glob('mod/*.php');
foreach($files as $file) {
@@ -38,8 +52,8 @@
}
}
- if(x($a->config,'php_path'))
- $phpath = $a->config['php_path'];
+ if(x($a->config,'system') && x($a->config['system'],'php_path'))
+ $phpath = $a->config['system']['php_path'];
else
$phpath = 'php';
diff --git a/version.inc b/version.inc
index c07f843b6..44ebbfe27 100644
--- a/version.inc
+++ b/version.inc
@@ -1 +1 @@
-2013-02-19.229
+2013-09-17.439
diff --git a/view/cs/follow_notify_eml.tpl b/view/cs/follow_notify_eml.tpl
index 440ba9ca4..ba07b19da 100644
--- a/view/cs/follow_notify_eml.tpl
+++ b/view/cs/follow_notify_eml.tpl
@@ -1,14 +1,14 @@
-Milý/Milá $username,
+Dear {{$myname}},
-Máte nového následovatele na $sitename - '$requestor'.
+You have a new follower at {{$sitename}} - '{{$requestor}}'.
-Můžete si prohlédnout jeho/její profil na $url.
+You may visit their profile at {{$url}}.
-Přihlaste se na váš server k odsouhlasení nebo ignorování/zrušení žádosti.
+Please login to your site to approve or ignore/cancel the request.
-$siteurl
+{{$siteurl}}
-S pozdravem,
+Regards,
- $sitename administrátor
+ {{$sitename}} administrator
diff --git a/view/cs/friend_complete_eml.tpl b/view/cs/friend_complete_eml.tpl
index 50bb7e105..1c647b994 100644
--- a/view/cs/friend_complete_eml.tpl
+++ b/view/cs/friend_complete_eml.tpl
@@ -1,17 +1,22 @@
-Milý/Milá $username,
+Dear {{$username}},
- Skvělé zprávy... '$fn' na '$dfrn_url' odsouhlasil Váš požadavek na spojení na '$sitename'.
+ Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
-Jste nyní přátelé a můžete si vyměňovat aktualizace statusu, fotek a e-mailů bez omezení.
+You are now mutual friends and may exchange status updates, photos, and email
+without restriction.
-Pokud budete chtít tento vztah jakkoliv upravit, navštivte Vaši stránku "Kontakty" na $sitename.
+Please visit your 'Connnections' page at {{$sitename}} if you wish to make
+any changes to this relationship.
-$siteurl
+{{$siteurl}}
-(Nyní můžete například vytvořit separátní profil s informacemi, které nebudou viditelné veřejně, a nastavit právo pro zobrazení tohoto profilu pro '$fn').
+[For instance, you may create a separate profile with information that is not
+available to the general public - and assign viewing rights to '{{$fn}}'].
-S pozdravem,
+Sincerely,
- $sitename administrátor
+ {{$sitename}} Administrator
+
diff --git a/view/cs/htconfig.tpl b/view/cs/htconfig.tpl
new file mode 100644
index 000000000..493cb5d00
--- /dev/null
+++ b/view/cs/htconfig.tpl
@@ -0,0 +1,70 @@
+<?php
+
+// Set the following for your MySQL installation
+// Copy or rename this file to .htconfig.php
+
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
+
+/*
+ * Notice: Many of the following settings will be available in the admin panel
+ * after a successful site install. Once they are set in the admin panel, they
+ * are stored in the DB - and the DB setting will over-ride any corresponding
+ * setting in this file
+ *
+ * The command-line tool util/config is able to query and set the DB items
+ * directly if for some reason the admin panel is not available and a system
+ * setting requires modification.
+ *
+ */
+
+
+// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
+// It can be changed later and only applies to timestamps for anonymous viewers.
+
+$default_timezone = '{{$timezone}}';
+
+// What is your site name?
+
+$a->config['system']['baseurl'] = '{{$siteurl}}';
+$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['location_hash'] = '{{$site_id}}';
+
+// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
+// Be certain to create your own personal account before setting
+// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
+// the registration page. REGISTER_APPROVE requires you set 'admin_email'
+// to the email address of an already registered person who can authorise
+// and/or approve/deny the request.
+
+$a->config['system']['register_policy'] = REGISTER_OPEN;
+$a->config['system']['register_text'] = '';
+$a->config['system']['admin_email'] = '{{$adminmail}}';
+
+// Maximum size of an imported message, 0 is unlimited
+
+$a->config['system']['max_import_size'] = 200000;
+
+// maximum size of uploaded photos
+
+$a->config['system']['maximagesize'] = 800000;
+
+// Location of PHP command line processor
+
+$a->config['system']['php_path'] = '{{$phpath}}';
+
+// Configure how we communicate with directory servers.
+// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
+// DIRECTORY_MODE_SECONDARY = caching directory or mirror
+// DIRECTORY_MODE_PRIMARY = main directory server
+// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
+
+$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
+
+// default system theme
+
+$a->config['system']['theme'] = 'redbasic';
+
diff --git a/view/cs/intro_complete_eml.tpl b/view/cs/intro_complete_eml.tpl
index 91753f35d..2c2428d68 100644
--- a/view/cs/intro_complete_eml.tpl
+++ b/view/cs/intro_complete_eml.tpl
@@ -1,17 +1,22 @@
-Milý/Milá $username,
+Dear {{$username}},
+ '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
- '$fn' na '$dfrn_url' odsouhlasil Váš požadavek na spojení na '$sitename'.
+ '{{$fn}}' has chosen to accept you a "fan", which restricts
+some forms of communication - such as private messaging and some profile
+interactions. If this is a celebrity or community page, these settings were
+applied automatically.
- '$fn' Vás oznaÄil za svého "fanouÅ¡ka", což jistým způsobem omezuje komunikaci (například v oblasti soukromých zpráv a nÄ›kterých profilových interakcí. Pokud je toto celebritní nebo komunitní stránka, bylo toto nastavení byla pÅ™ijato automaticky.
+ '{{$fn}}' may choose to extend this into a two-way or more permissive
+relationship in the future.
- '$fn' může v budoucnu rozšířit toto spojení na oboustranné nebo jinak méně restriktivní.
+ You will start receiving public status updates from '{{$fn}}',
+which will appear on your 'Matrix' page at
- Nyní zaÄnete dostávat veÅ™ejné aktualizace statusu od '$fn', které se objeví ve Vaší stránce "Síť" na webu
+{{$siteurl}}
-$siteurl
+Sincerely,
-S pozdravem,
-
- $sitename administrátor
+ {{$sitename}} Administrator
diff --git a/view/cs/lostpass_eml.tpl b/view/cs/lostpass_eml.tpl
index 05042ddce..3b79d2791 100644
--- a/view/cs/lostpass_eml.tpl
+++ b/view/cs/lostpass_eml.tpl
@@ -1,23 +1,32 @@
-Milý/Milá $username,
- Na webu $sitename byl zaregistrován požadavek na znovunastavení hesla k VaÅ¡emu úÄtu. Pro potvrzení této žádosti prosím kliknÄ›te na potvrzovací odkaz níže, nebo si tento odkaz zkopírujte do adresního řádku prohlížeÄe.
-Pokud jste o znovunastavení hesla NEŽÃDALI, prosím NEKLIKEJTE na tento odkaz a ignorujte tento e-mail nebo ho rovnou smažte.
+Dear {{$username}},
+ A request was recently received at {{$sitename}} to reset your account
+password. In order to confirm this request, please select the verification link
+below or paste it into your web browser address bar.
-Vaše heslo nebude změněno, dokud nebudeme mít potvrzení, že jste o tento požadavek zažádali právě Vy.
+If you did NOT request this change, please DO NOT follow the link
+provided and ignore and/or delete this email.
-Klikněte na tento odkaz pro prověření Vaší identity:
+Your password will not be changed unless we can verify that you
+issued this request.
-$reset_link
+Follow this link to verify your identity:
-Poté obdržíte další zprávu obsahující nové heslo.
+{{$reset_link}}
-NáslednÄ› si toto heslo můžete zmÄ›nit z vaÅ¡eho úÄtu na stránce Nastavení.
+You will then receive a follow-up message containing the new password.
-Přihlašovací údaje jsou tato:
+You may change that password from your account settings page after logging in.
-Adresa webu: $siteurl
-Přihlašovací jméno: $email
+The login details are as follows:
-S pozdravem,
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
- $sitename administrátor
+
+
+
+Sincerely,
+ {{$sitename}} Administrator
+
+
diff --git a/view/cs/passchanged_eml.tpl b/view/cs/passchanged_eml.tpl
index 5447d2e80..0d94be3c2 100644
--- a/view/cs/passchanged_eml.tpl
+++ b/view/cs/passchanged_eml.tpl
@@ -1,14 +1,20 @@
-Milý/Milá $username,
- Vaše heslo bylo na Vaši žádost změněno. Prosím zaznamenejte si tuto informaci (nebo si Vaše heslo změňte na nějaké, které si budete pamatovat).
-
-Vaše přihlašovací údaje jsou tato:
+Dear {{$username}},
+ Your password has been changed as requested. Please retain this
+information for your records (or change your password immediately to
+something that you will remember).
+
+
+Your login details are as follows:
-Adresa webu: $siteurl
-Přihlašovací jméno: $email
-Heslo: $new_password
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+Password: {{$new_password}}
-Toto heslo si můžete zmÄ›nit z vaÅ¡eho úÄtu na stránce Nastavení poté, co se pÅ™ihlásíte.
+You may change that password from your account settings page after logging in.
-S pozdravem,
- $sitename administrátor
+
+Sincerely,
+ {{$sitename}} Administrator
+
+
diff --git a/view/cs/register_open_eml.tpl b/view/cs/register_open_eml.tpl
index f8e42678b..4b397201c 100644
--- a/view/cs/register_open_eml.tpl
+++ b/view/cs/register_open_eml.tpl
@@ -1,23 +1,19 @@
-Milý/milá $username,
- Díky za registraci na $sitename. Váš úÄet byl vytvoÅ™en.
-Vaše přihlašovací údaje jsou tato:
-Adresa webu: $siteurl
-Přihlašovací jméno: $email
-Heslo: $password
+An account has been created at {{$sitename}} for this email address.
+The login details are as follows:
-Toto heslo si můžete zmÄ›nit z vaÅ¡eho úÄtu na stránce "Nastavení" poté, co se pÅ™ihlásíte.
+Site Location: {{$siteurl}}
+Login: {{$email}}
+Password: (the password which was provided during registration)
-VÄ›nujte prosím chvíli revizi dalších nastavení VaÅ¡eho úÄtu na této stránce.
+If this account was created without your knowledge and is not desired, you may
+visit this site and reset the password. This will allow you to remove the
+account from the links on the Settings page, and we
+apologise for any inconvenience.
-Můžete také pÅ™idat nÄ›které základní informace do VaÅ¡eho defaultního profilu (na stránce "Profily"), Äímž umožníte jiným lidem Vás snadnÄ›ji nalézt.
+Thank you and welcome to {{$sitename}}.
-DoporuÄujeme nastavit celé jméno, pÅ™idat profilové foto, pÅ™idat nÄ›jaká profilová "klíÄová slova" (což je velmi užiteÄné pro hledání nových přátel) a zemi, ve které žijete. Nemusíte zadávat víc informací.
+Sincerely,
+ {{$sitename}} Administrator
-Plně respektujeme Vaše právo na soukromí a žádná z výše uvedených položek není povinná.
-Pokud jste nový a neznáte na tomto webu nikoho jiného, zadáním těchto položek můžete získat nové a zajímavé přátele.
-
-Díky a vítejte na $sitename.
-
-S pozdravem,
- $sitename administrátor
+
diff --git a/view/cs/register_verify_eml.tpl b/view/cs/register_verify_eml.tpl
index 4b34c6b6d..85d9a12d3 100644
--- a/view/cs/register_verify_eml.tpl
+++ b/view/cs/register_verify_eml.tpl
@@ -1,22 +1,25 @@
-Na webu $sitename byla vytvořena nová uživatelská registrace, která vyžaduje Vaše schválení.
+A new user registration request was received at {{$sitename}} which requires
+your approval.
-Přihlašovací údaje jsou tato:
-Celé jméno: $username
-Adresa webu: $siteurl
-Přihlašovací jméno: $email
+The login details are as follows:
-Pro odsouhlasení tohoto požadavku prosím klikněte na následující odkaz:
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+IP Address: {{$details}}
+To approve this request please visit the following link:
-$siteurl/regmod/allow/$hash
+{{$siteurl}}/regmod/allow/{{$hash}}
-Pro zamítnutí žádosti a odstranÄ›ní úÄtu prosím kliknÄ›te na tento odkaz:
+To deny the request and remove the account, please visit:
-$siteurl/regmod/deny/$hash
+{{$siteurl}}/regmod/deny/{{$hash}}
+
+
+Thank you.
-Díky.
diff --git a/view/cs/request_notify_eml.tpl b/view/cs/request_notify_eml.tpl
index 74010c79c..d01b8ff27 100644
--- a/view/cs/request_notify_eml.tpl
+++ b/view/cs/request_notify_eml.tpl
@@ -1,15 +1,17 @@
-Milý/Milá $username,
+Dear {{$myname}},
-Právě jste obdržel/obdržela požadavek na spojení na webu $sitename
+You have just received a connection request at {{$sitename}}
-od '$requestor'.
+from '{{$requestor}}'.
-Můžete navštívit jeho/její profil na následujícím odkazu $url.
+You may visit their profile at {{$url}}.
-Přihlaste se na Váš web k zobrazení kompletní žádosti a odsouhlaste nebo ignorujte/zrušte tuto žádost.
+Please login to your site to view the complete introduction
+and approve or ignore/cancel the request.
-$siteurl
+{{$siteurl}}
-S pozdravem,
- $sitename administrátor
+Regards,
+
+ {{$sitename}} administrator
diff --git a/view/cs/update_fail_eml.tpl b/view/cs/update_fail_eml.tpl
new file mode 100644
index 000000000..a7df8fc2f
--- /dev/null
+++ b/view/cs/update_fail_eml.tpl
@@ -0,0 +1,13 @@
+Hey,
+I'm the web server at {{$sitename}};
+
+The Red Matrix developers released update {{$update}} recently,
+but when I tried to install it, something went terribly wrong.
+This needs to be fixed soon and it requires human intervention.
+Please contact a Red developer if you can not figure out how to
+fix it on your own. My database might be invalid.
+
+The error message is '{{$error}}'.
+
+Apologies for the inconvenience,
+ your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/css/default.css b/view/css/default.css
index f3b34a86d..9abb69588 100644
--- a/view/css/default.css
+++ b/view/css/default.css
@@ -1,7 +1,11 @@
nav {
- height: 94px;
+ height: 24px;
display: block;
+ position: fixed;
+ width: 100%;
+ z-index: 100;
+ background-color: #ff0000;
}
aside {
diff --git a/view/css/mod_admin.css b/view/css/mod_admin.css
new file mode 100644
index 000000000..6ceec3ac5
--- /dev/null
+++ b/view/css/mod_admin.css
@@ -0,0 +1,63 @@
+
+
+/**
+ * ADMIN
+ */
+#pending-update {
+ float:right;
+ color: #ffffff;
+ font-weight: bold;
+ background-color: #FF0000;
+ padding: 0em 0.3em;
+
+}
+#adminpage dl {
+ clear: left;
+ margin-bottom: 2px;
+ padding-bottom: 2px;
+ border-bottom: 1px solid black;
+}
+#adminpage dt {
+ width: 200px;
+ float: left;
+ font-weight: bold;
+}
+#adminpage dd {
+ margin-left: 200px;
+}
+
+#adminpage h3 {
+ border-bottom: 1px solid #cccccc;
+}
+#adminpage .field label {
+ font-weight: bold;
+}
+#adminpage .submit {
+ clear:left;
+ text-align: right;
+}
+
+#adminpage #pluginslist {
+ margin: 0px; padding: 0px;
+}
+#adminpage .plugin {
+ list-style: none;
+ display: block;
+ border: 1px solid #888888;
+ padding: 1em;
+ margin-bottom: 5px;
+ clear: left;
+}
+#adminpage .plugin .desc { margin-left: 2.5em;}
+#adminpage .toggleplugin {
+ float:left;
+ margin-right: 1em;
+}
+
+#adminpage table {width:100%; border-bottom: 1px solid #000000; margin: 5px 0px;}
+#adminpage table th { text-align: left;}
+#adminpage td .icon { float: left;}
+#adminpage table#users img { width: 16px; height: 16px; }
+#adminpage table tr:hover { background-color: #bbc7d7; }
+#adminpage .selectall { text-align: right; }
+
diff --git a/view/css/mod_connect.css b/view/css/mod_connect.css
new file mode 100644
index 000000000..d1a46ec48
--- /dev/null
+++ b/view/css/mod_connect.css
@@ -0,0 +1,11 @@
+.sellpage-body {
+ margin-top: 25px;
+}
+
+.sellpage-final {
+ margin-top: 25px;
+}
+
+#sellpage-edit label{
+ width: 300px;
+} \ No newline at end of file
diff --git a/view/css/mod_group.css b/view/css/mod_group.css
new file mode 100644
index 000000000..cc5f15843
--- /dev/null
+++ b/view/css/mod_group.css
@@ -0,0 +1,66 @@
+
+#group-new-submit-wrapper {
+ margin-top: 30px;
+}
+
+#group-edit-form label {
+ float: left;
+ width: 300px;
+}
+
+#group-edit-form input {
+ float: left;
+ width: 175px;
+}
+
+#group-edit-form .field {
+ clear: both;
+}
+
+#group-edit-submit-wrapper input {
+ clear: both;
+ width: 100px;
+}
+
+#group-edit-select-end {
+ clear: both;
+}
+
+#group-edit-name-label {
+ float: left;
+ width: 175px;
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+#group-edit-name {
+ float: left;
+ width: 225px;
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+#group-edit-name-wrapper {
+
+
+}
+
+
+#group_members_select_label {
+ display: block;
+ float: left;
+ width: 175px;
+}
+
+.group_members_select {
+ float: left;
+ width: 230px;
+ overflow: auto;
+}
+
+#group_members_select_end {
+ clear: both;
+}
+#group-edit-name-end {
+ clear: both;
+}
diff --git a/view/css/mod_manage.css b/view/css/mod_manage.css
index 51f5062ae..58f9d3159 100644
--- a/view/css/mod_manage.css
+++ b/view/css/mod_manage.css
@@ -1,8 +1,8 @@
#channels-selected {
color: #666666;
font-size: 1.2em;
- margin-top: 20px;
- margin-bottom: 10px;
+ width: 120px;
+ margin: 20px auto 10px auto;
}
#channels-desc {
@@ -12,12 +12,23 @@
margin-bottom: 20px;
}
+#selected-channel {
+ width: 200px;
+ margin: 0px auto 0px auto;
+}
+
+#selected-channel .channel-selection {
+ clear: both;
+ width: 120px;
+ margin: 0px auto 0px auto;
+}
+
.channel-selection-default {
font-size: 0.8em;
margin-bottom: 10px;
}
-.channel-selection {
+#all-channels .channel-selection {
width: 120px;
float: left;
}
diff --git a/view/css/mod_setup.css b/view/css/mod_setup.css
new file mode 100644
index 000000000..ee725d055
--- /dev/null
+++ b/view/css/mod_setup.css
@@ -0,0 +1,34 @@
+#install-dbhost-label,
+#install-dbuser-label,
+#install-dbpass-label,
+#install-dbdata-label,
+#install-tz-desc {
+ float: left;
+ width: 250px;
+ margin-top: 10px;
+ margin-bottom: 10px;
+
+}
+
+#install-dbhost,
+#install-dbuser,
+#install-dbpass,
+#install-dbdata {
+ float: left;
+ width: 200px;
+ margin-left: 20px;
+}
+
+#install-dbhost-end,
+#install-dbuser-end,
+#install-dbpass-end,
+#install-dbdata-end,
+#install-tz-end {
+ clear: both;
+}
+
+#install-form select#timezone_select {
+ float: left;
+ margin-top: 18px;
+ margin-left: 20px;
+}
diff --git a/view/css/mod_thing.css b/view/css/mod_thing.css
new file mode 100644
index 000000000..2a2ba7c92
--- /dev/null
+++ b/view/css/mod_thing.css
@@ -0,0 +1,27 @@
+
+
+.thing-profile #contact-profile-selector {
+ margin-left: 0;
+}
+
+.thing-verb-label {
+ margin-top: 15px;
+}
+
+.thing-verb {
+ margin-bottom: 15px;
+}
+
+.thing-label {
+ float: left;
+ width: 250px;
+}
+
+.thing-input {
+ float: left;
+ margin-bottom: 15px;
+}
+
+.thing-field-end {
+ clear: both;
+} \ No newline at end of file
diff --git a/view/de/follow_notify_eml.tpl b/view/de/follow_notify_eml.tpl
index a866a08a2..ba07b19da 100644
--- a/view/de/follow_notify_eml.tpl
+++ b/view/de/follow_notify_eml.tpl
@@ -1,14 +1,14 @@
-Hallo $[myname],
+Dear {{$myname}},
-Du hast einen neuen Anhänger auf $[sitename] - '$[requestor]'.
+You have a new follower at {{$sitename}} - '{{$requestor}}'.
-Du kannst das Profil unter $[url] besuchen.
+You may visit their profile at {{$url}}.
-Bitte melde dich an um die Anfrage zu bestätigen oder sie zu ignorieren bzw. abzulehnen.
+Please login to your site to approve or ignore/cancel the request.
-$[siteurl]
+{{$siteurl}}
-beste Grüße,
+Regards,
- $[sitename] Administrator \ No newline at end of file
+ {{$sitename}} administrator
diff --git a/view/de/friend_complete_eml.tpl b/view/de/friend_complete_eml.tpl
index 39f2725ea..1c647b994 100644
--- a/view/de/friend_complete_eml.tpl
+++ b/view/de/friend_complete_eml.tpl
@@ -1,22 +1,22 @@
-Hallo $[username],
+Dear {{$username}},
- Großartige Neuigkeiten... '$[fn]' auf '$[dfrn_url]' hat
-deine Kontaktanfrage auf '$[sitename]' bestätigt.
+ Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
-Ihr seid nun beidseitige Freunde und könnt Statusmitteilungen, Bilder und Emails
-ohne Einschränkungen austauschen.
+You are now mutual friends and may exchange status updates, photos, and email
+without restriction.
-Rufe deine 'Kontakte' Seite auf $[sitename] auf, wenn du
-Änderungen an diesem Kontakt vornehmen willst.
+Please visit your 'Connnections' page at {{$sitename}} if you wish to make
+any changes to this relationship.
-$[siteurl]
+{{$siteurl}}
-[Du könntest z.B. ein spezielles Profil anlegen, das Informationen enthält,
-die nicht für die breite Öffentlichkeit sichtbar sein sollen und es für '$[fn]' zum Betrachten freigeben].
+[For instance, you may create a separate profile with information that is not
+available to the general public - and assign viewing rights to '{{$fn}}'].
-Beste Grüße,
+Sincerely,
- $[sitename] Administrator
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/de/htconfig.tpl b/view/de/htconfig.tpl
new file mode 100644
index 000000000..493cb5d00
--- /dev/null
+++ b/view/de/htconfig.tpl
@@ -0,0 +1,70 @@
+<?php
+
+// Set the following for your MySQL installation
+// Copy or rename this file to .htconfig.php
+
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
+
+/*
+ * Notice: Many of the following settings will be available in the admin panel
+ * after a successful site install. Once they are set in the admin panel, they
+ * are stored in the DB - and the DB setting will over-ride any corresponding
+ * setting in this file
+ *
+ * The command-line tool util/config is able to query and set the DB items
+ * directly if for some reason the admin panel is not available and a system
+ * setting requires modification.
+ *
+ */
+
+
+// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
+// It can be changed later and only applies to timestamps for anonymous viewers.
+
+$default_timezone = '{{$timezone}}';
+
+// What is your site name?
+
+$a->config['system']['baseurl'] = '{{$siteurl}}';
+$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['location_hash'] = '{{$site_id}}';
+
+// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
+// Be certain to create your own personal account before setting
+// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
+// the registration page. REGISTER_APPROVE requires you set 'admin_email'
+// to the email address of an already registered person who can authorise
+// and/or approve/deny the request.
+
+$a->config['system']['register_policy'] = REGISTER_OPEN;
+$a->config['system']['register_text'] = '';
+$a->config['system']['admin_email'] = '{{$adminmail}}';
+
+// Maximum size of an imported message, 0 is unlimited
+
+$a->config['system']['max_import_size'] = 200000;
+
+// maximum size of uploaded photos
+
+$a->config['system']['maximagesize'] = 800000;
+
+// Location of PHP command line processor
+
+$a->config['system']['php_path'] = '{{$phpath}}';
+
+// Configure how we communicate with directory servers.
+// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
+// DIRECTORY_MODE_SECONDARY = caching directory or mirror
+// DIRECTORY_MODE_PRIMARY = main directory server
+// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
+
+$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
+
+// default system theme
+
+$a->config['system']['theme'] = 'redbasic';
+
diff --git a/view/de/intro_complete_eml.tpl b/view/de/intro_complete_eml.tpl
index 9d47a6fb1..2c2428d68 100644
--- a/view/de/intro_complete_eml.tpl
+++ b/view/de/intro_complete_eml.tpl
@@ -1,22 +1,22 @@
-Hallo $[username],
+Dear {{$username}},
- '$[fn]' auf '$[dfrn_url]' hat deine Verbindungsanfrage
-auf '$[sitename]' akzeptiert.
+ '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
- '$[fn]' hat entschieden Dich als "Fan" zu akzeptieren, was zu einigen
-Einschränkungen bei der Kommunikation führt - wie zB das Schreiben von privaten Nachrichten und einige Profil
-Interaktionen. Sollte dies ein Promi-Konto oder eine Forum-Seite sein, werden die Einstellungen
-automatisch angewandt.
+ '{{$fn}}' has chosen to accept you a "fan", which restricts
+some forms of communication - such as private messaging and some profile
+interactions. If this is a celebrity or community page, these settings were
+applied automatically.
- '$[fn]' kann wählen, ob die Freundschaft in eine beidseitige oder alles erlaubende
-Beziehung in der Zukunft erweitert wird.
+ '{{$fn}}' may choose to extend this into a two-way or more permissive
+relationship in the future.
- Du empfängst ab sofort die öffentlichen Beiträge von '$[fn]',
-auf deiner "Netzwerk" Seite.
+ You will start receiving public status updates from '{{$fn}}',
+which will appear on your 'Matrix' page at
-$[siteurl]
+{{$siteurl}}
-Beste Grüße,
+Sincerely,
- $[sitename] Administrator \ No newline at end of file
+ {{$sitename}} Administrator
diff --git a/view/de/lostpass_eml.tpl b/view/de/lostpass_eml.tpl
index 9f71bbfb1..3b79d2791 100644
--- a/view/de/lostpass_eml.tpl
+++ b/view/de/lostpass_eml.tpl
@@ -1,32 +1,32 @@
-Hallo $[username],
- Auf $[sitename] wurde eine Anfrage zum Zurücksetzen deines
-Passworts empfangen. Um diese zu bestätigen folge bitte dem Link
-weiter unten oder kopiere ihn in die Adressleiste deines Browsers.
+Dear {{$username}},
+ A request was recently received at {{$sitename}} to reset your account
+password. In order to confirm this request, please select the verification link
+below or paste it into your web browser address bar.
-Wenn du die Anfrage NICHT gesendet haben solltest, dann IGNORIERE
-bitte diese Mail und den Link.
+If you did NOT request this change, please DO NOT follow the link
+provided and ignore and/or delete this email.
-Dein Passwort wird nicht geändert werden solange wir nicht überprüfen
-konnten, dass du die Anfrage gestellt hast.
+Your password will not be changed unless we can verify that you
+issued this request.
-Folge diesem Link um deine Identität zu verifizieren:
+Follow this link to verify your identity:
-$[reset_link]
+{{$reset_link}}
-Du wirst eine weitere Email erhalten mit dem neuen Passwort.
+You will then receive a follow-up message containing the new password.
-Das Passwort kannst du anschließend wie gewohnt in deinen Account Einstellungen ändern.
+You may change that password from your account settings page after logging in.
-Die Login-Details sind die folgenden:
+The login details are as follows:
-Adresse der Seite: $[siteurl]
-Login Name: $[email]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
-Grüße,
- $[sitename] Administrator
+Sincerely,
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/de/passchanged_eml.tpl b/view/de/passchanged_eml.tpl
index dcabbbe49..0d94be3c2 100644
--- a/view/de/passchanged_eml.tpl
+++ b/view/de/passchanged_eml.tpl
@@ -1,20 +1,20 @@
-Hallo $[username],
- Dein Passwort wurde wie gewünscht geändert. Bitte bewahre diese
-Informationen in deinen Unterlagen auf (oder ändere dein Passwort sofort
-in etwas, was du dir merken kannst).
+Dear {{$username}},
+ Your password has been changed as requested. Please retain this
+information for your records (or change your password immediately to
+something that you will remember).
-Deine Login Daten wurden wie folgt geändert:
+Your login details are as follows:
-Adresse der Seite: $[siteurl]
-Login Name: $[email]
-Passwort: $[new_password]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+Password: {{$new_password}}
-Du kannst dein Passwort unter deinen Account-Einstellungen ändern, wenn du angemeldet bist.
+You may change that password from your account settings page after logging in.
-Beste Grüße,
- $[sitename] Administrator
+Sincerely,
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/de/register_open_eml.tpl b/view/de/register_open_eml.tpl
index 4392e8da2..4b397201c 100644
--- a/view/de/register_open_eml.tpl
+++ b/view/de/register_open_eml.tpl
@@ -1,34 +1,19 @@
-Hallo $[username],
- Danke für deine Anmeldung auf $[sitename]. Dein Account wurde angelegt.
-Hier die Login Details:
+An account has been created at {{$sitename}} for this email address.
+The login details are as follows:
+Site Location: {{$siteurl}}
+Login: {{$email}}
+Password: (the password which was provided during registration)
-Adresse der Seite: $[siteurl]
-Login Name: $[email]
-Passwort: $[password]
+If this account was created without your knowledge and is not desired, you may
+visit this site and reset the password. This will allow you to remove the
+account from the links on the Settings page, and we
+apologise for any inconvenience.
-Du kannst und solltest das Passwort in den "Einstellungen" zu deinem Account ändern,
-nachdem du dich erstmalig eingeloggt hast.
+Thank you and welcome to {{$sitename}}.
-Bitte nimm dir einige Augenblicke Zeit, um die anderen Einstellungen auf der Seite kennenzulernen und zu überprüfen.
+Sincerely,
+ {{$sitename}} Administrator
-Eventuell möchtest du außerdem einige grundlegende Informationen in deinem Standardprofil (auf der "Profile" Seite) eintragen,
-damit andere Leute dich einfacher finden können.
-
-Wir empfehlen den kompletten Namen anzugeben, ein eigenes Profilbild hochzuladen,
-sowie ein paar "Profil-Schlüsselwörter" einzutragen (um leichter Menschen mit gleichen Interessen zu finden) - und
-vielleicht auch in welchen Land du lebst; falls du nicht konkreter
-werden möchtest.
-
-Wir respektieren dein Recht auf Privatsphäre und keine dieser Angaben ist notwendig.
-Wenn du ganz neu bei Friendica bist und niemanden kennst, werden sie dir aber helfen
-ein paar neue und interessante Freunde zu finden.
-
-
-Danke und willkommen auf $[sitename].
-
-Beste Grüße,
- $[sitename] Administrator
-
- \ No newline at end of file
+
diff --git a/view/de/register_verify_eml.tpl b/view/de/register_verify_eml.tpl
index 8f25f5c36..85d9a12d3 100644
--- a/view/de/register_verify_eml.tpl
+++ b/view/de/register_verify_eml.tpl
@@ -1,25 +1,25 @@
-Eine Neuanmeldung auf $[sitename] benötigt
-deine Aufmerksamkeit.
+A new user registration request was received at {{$sitename}} which requires
+your approval.
-Die Login-Einzelheiten sind die folgenden:
+The login details are as follows:
-Kompletter Name: $[username]
-Adresse der Seite: $[siteurl]
-Login Name: $[email]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+IP Address: {{$details}}
+To approve this request please visit the following link:
-Um die Anfrage zu bestätigen besuche bitte:
+{{$siteurl}}/regmod/allow/{{$hash}}
-$[siteurl]/regmod/allow/$[hash]
+To deny the request and remove the account, please visit:
-Um die Anfrage abzulehnen und den Account zu löschen besuche bitte:
+{{$siteurl}}/regmod/deny/{{$hash}}
-$[siteurl]/regmod/deny/$[hash]
+Thank you.
-Danke!
diff --git a/view/de/request_notify_eml.tpl b/view/de/request_notify_eml.tpl
index 057044e8c..d01b8ff27 100644
--- a/view/de/request_notify_eml.tpl
+++ b/view/de/request_notify_eml.tpl
@@ -1,17 +1,17 @@
-Hallo $[myname],
+Dear {{$myname}},
-du hast eine Kontaktanfrage von '$[requestor]' auf $[sitename]
+You have just received a connection request at {{$sitename}}
-erhalten.
+from '{{$requestor}}'.
-Du kannst sein/ihr Profil unter $[url] finden.
+You may visit their profile at {{$url}}.
-Bitte melde dich an um die komplette Vorstellung einzusehen
-und die Anfrage zu bestätigen oder zu ignorieren oder abzulehnen.
+Please login to your site to view the complete introduction
+and approve or ignore/cancel the request.
-$[siteurl]
+{{$siteurl}}
-Beste Grüße,
+Regards,
- $[sitename] Administrator \ No newline at end of file
+ {{$sitename}} administrator
diff --git a/view/de/update_fail_eml.tpl b/view/de/update_fail_eml.tpl
index cfb55e240..a7df8fc2f 100644
--- a/view/de/update_fail_eml.tpl
+++ b/view/de/update_fail_eml.tpl
@@ -1,11 +1,13 @@
-Hi,
-ich bin $sitename.
-Die friendica Entwickler haben jüngst Update $update veröffentlicht,
-aber als ich versucht habe es zu installieren ist etwas schrecklich schief gegangen.
-Das sollte schnellst möglichst behoben werden und ich kann das nicht alleine machen.
-Bitte wende dich an einen friendica Entwickler, falls du mir nicht alleine helfen kannst. Meine Datenbank könnte unbrauchbar sein.
+Hey,
+I'm the web server at {{$sitename}};
+
+The Red Matrix developers released update {{$update}} recently,
+but when I tried to install it, something went terribly wrong.
+This needs to be fixed soon and it requires human intervention.
+Please contact a Red developer if you can not figure out how to
+fix it on your own. My database might be invalid.
-Die Fehlermeldung lautet '$error'.
+The error message is '{{$error}}'.
-Tut mir Leid!
-Deine friendica Instanz auf $siteurl \ No newline at end of file
+Apologies for the inconvenience,
+ your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/en/follow_notify_eml.tpl b/view/en/follow_notify_eml.tpl
index 917024b84..ba07b19da 100644
--- a/view/en/follow_notify_eml.tpl
+++ b/view/en/follow_notify_eml.tpl
@@ -1,14 +1,14 @@
-Dear $[myname],
+Dear {{$myname}},
-You have a new follower at $[sitename] - '$[requestor]'.
+You have a new follower at {{$sitename}} - '{{$requestor}}'.
-You may visit their profile at $[url].
+You may visit their profile at {{$url}}.
Please login to your site to approve or ignore/cancel the request.
-$[siteurl]
+{{$siteurl}}
Regards,
- $[sitename] administrator
+ {{$sitename}} administrator
diff --git a/view/en/friend_complete_eml.tpl b/view/en/friend_complete_eml.tpl
index 89f578388..1c647b994 100644
--- a/view/en/friend_complete_eml.tpl
+++ b/view/en/friend_complete_eml.tpl
@@ -1,22 +1,22 @@
-Dear $[username],
+Dear {{$username}},
- Great news... '$[fn]' at '$[dfrn_url]' has accepted
-your connection request at '$[sitename]'.
+ Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
You are now mutual friends and may exchange status updates, photos, and email
without restriction.
-Please visit your 'Contacts' page at $[sitename] if you wish to make
+Please visit your 'Connnections' page at {{$sitename}} if you wish to make
any changes to this relationship.
-$[siteurl]
+{{$siteurl}}
[For instance, you may create a separate profile with information that is not
-available to the general public - and assign viewing rights to '$[fn]'].
+available to the general public - and assign viewing rights to '{{$fn}}'].
Sincerely,
- $[sitename] Administrator
+ {{$sitename}} Administrator
diff --git a/view/en/htconfig.tpl b/view/en/htconfig.tpl
index 6f22f8476..3e1269441 100644
--- a/view/en/htconfig.tpl
+++ b/view/en/htconfig.tpl
@@ -3,10 +3,11 @@
// Set the following for your MySQL installation
// Copy or rename this file to .htconfig.php
-$db_host = '$dbhost';
-$db_user = '$dbuser';
-$db_pass = '$dbpass';
-$db_data = '$dbdata';
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
/*
* Notice: Many of the following settings will be available in the admin panel
@@ -24,13 +25,14 @@ $db_data = '$dbdata';
// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
// It can be changed later and only applies to timestamps for anonymous viewers.
-$default_timezone = '$timezone';
+$default_timezone = '{{$timezone}}';
// What is your site name?
-$a->config['system']['baseurl'] = '$siteurl';
+$a->config['system']['baseurl'] = '{{$siteurl}}';
$a->config['system']['sitename'] = "Red Matrix";
-$a->config['system']['location_hash'] = '$site_id';
+$a->config['system']['location_hash'] = '{{$site_id}}';
+
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
// Be certain to create your own personal account before setting
@@ -41,7 +43,20 @@ $a->config['system']['location_hash'] = '$site_id';
$a->config['system']['register_policy'] = REGISTER_OPEN;
$a->config['system']['register_text'] = '';
-$a->config['system']['admin_email'] = '$adminmail';
+$a->config['system']['admin_email'] = '{{$adminmail}}';
+
+
+// Site access restrictions. By default we will create private sites.
+// Your choices are ACCESS_PRIVATE, ACCESS_PAID, and ACCESS_FREE.
+// If you leave REGISTER_OPEN above, anybody may register on your
+// site, however your site will not be listed anywhere as an open
+// registration hub. We will use the system access policy (below)
+// to determine whether or not to list your site in the directory
+// as an open hub where anybody may create accounts. Your choice of
+// paid or free determines how these listings will be presented.
+
+$a->config['system']['access_policy'] = ACCESS_PRIVATE;
+
// Maximum size of an imported message, 0 is unlimited
@@ -49,11 +64,11 @@ $a->config['system']['max_import_size'] = 200000;
// maximum size of uploaded photos
-$a->config['system']['maximagesize'] = 800000;
+$a->config['system']['maximagesize'] = 3000000;
// Location of PHP command line processor
-$a->config['system']['php_path'] = '$phpath';
+$a->config['system']['php_path'] = '{{$phpath}}';
// Configure how we communicate with directory servers.
// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
diff --git a/view/en/intro_complete_eml.tpl b/view/en/intro_complete_eml.tpl
index cd78b2a15..2c2428d68 100644
--- a/view/en/intro_complete_eml.tpl
+++ b/view/en/intro_complete_eml.tpl
@@ -1,22 +1,22 @@
-Dear $[username],
+Dear {{$username}},
- '$[fn]' at '$[dfrn_url]' has accepted
-your connection request at '$[sitename]'.
+ '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
- '$[fn]' has chosen to accept you a "fan", which restricts
+ '{{$fn}}' has chosen to accept you a "fan", which restricts
some forms of communication - such as private messaging and some profile
interactions. If this is a celebrity or community page, these settings were
applied automatically.
- '$[fn]' may choose to extend this into a two-way or more permissive
+ '{{$fn}}' may choose to extend this into a two-way or more permissive
relationship in the future.
- You will start receiving public status updates from '$[fn]',
-which will appear on your 'Network' page at
+ You will start receiving public status updates from '{{$fn}}',
+which will appear on your 'Matrix' page at
-$[siteurl]
+{{$siteurl}}
Sincerely,
- $[sitename] Administrator
+ {{$sitename}} Administrator
diff --git a/view/en/lostpass_eml.tpl b/view/en/lostpass_eml.tpl
index 1330caa12..3b79d2791 100644
--- a/view/en/lostpass_eml.tpl
+++ b/view/en/lostpass_eml.tpl
@@ -1,6 +1,6 @@
-Dear $[username],
- A request was recently received at $[sitename] to reset your account
+Dear {{$username}},
+ A request was recently received at {{$sitename}} to reset your account
password. In order to confirm this request, please select the verification link
below or paste it into your web browser address bar.
@@ -12,7 +12,7 @@ issued this request.
Follow this link to verify your identity:
-$[reset_link]
+{{$reset_link}}
You will then receive a follow-up message containing the new password.
@@ -20,13 +20,13 @@ You may change that password from your account settings page after logging in.
The login details are as follows:
-Site Location: $[siteurl]
-Login Name: $[email]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
Sincerely,
- $[sitename] Administrator
+ {{$sitename}} Administrator
diff --git a/view/en/passchanged_eml.tpl b/view/en/passchanged_eml.tpl
index e7cc0e2dc..0d94be3c2 100644
--- a/view/en/passchanged_eml.tpl
+++ b/view/en/passchanged_eml.tpl
@@ -1,5 +1,5 @@
-Dear $[username],
+Dear {{$username}},
Your password has been changed as requested. Please retain this
information for your records (or change your password immediately to
something that you will remember).
@@ -7,14 +7,14 @@ something that you will remember).
Your login details are as follows:
-Site Location: $[siteurl]
-Login Name: $[email]
-Password: $[new_password]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+Password: {{$new_password}}
You may change that password from your account settings page after logging in.
Sincerely,
- $[sitename] Administrator
+ {{$sitename}} Administrator
diff --git a/view/en/register_open_eml.tpl b/view/en/register_open_eml.tpl
index 4191f803b..4b397201c 100644
--- a/view/en/register_open_eml.tpl
+++ b/view/en/register_open_eml.tpl
@@ -1,9 +1,9 @@
-An account has been created at $[sitename] for this email address.
+An account has been created at {{$sitename}} for this email address.
The login details are as follows:
-Site Location: $[siteurl]
-Login: $[email]
+Site Location: {{$siteurl}}
+Login: {{$email}}
Password: (the password which was provided during registration)
If this account was created without your knowledge and is not desired, you may
@@ -11,9 +11,9 @@ visit this site and reset the password. This will allow you to remove the
account from the links on the Settings page, and we
apologise for any inconvenience.
-Thank you and welcome to $[sitename].
+Thank you and welcome to {{$sitename}}.
Sincerely,
- $[sitename] Administrator
+ {{$sitename}} Administrator
diff --git a/view/en/register_verify_eml.tpl b/view/en/register_verify_eml.tpl
index c23de6a2a..85d9a12d3 100644
--- a/view/en/register_verify_eml.tpl
+++ b/view/en/register_verify_eml.tpl
@@ -1,24 +1,24 @@
-A new user registration request was received at $[sitename] which requires
+A new user registration request was received at {{$sitename}} which requires
your approval.
The login details are as follows:
-Site Location: $[siteurl]
-Login Name: $[email]
-IP Address: $[details]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+IP Address: {{$details}}
To approve this request please visit the following link:
-$[siteurl]/regmod/allow/$[hash]
+{{$siteurl}}/regmod/allow/{{$hash}}
To deny the request and remove the account, please visit:
-$[siteurl]/regmod/deny/$[hash]
+{{$siteurl}}/regmod/deny/{{$hash}}
Thank you.
diff --git a/view/en/request_notify_eml.tpl b/view/en/request_notify_eml.tpl
index ad118a673..d01b8ff27 100644
--- a/view/en/request_notify_eml.tpl
+++ b/view/en/request_notify_eml.tpl
@@ -1,17 +1,17 @@
-Dear $[myname],
+Dear {{$myname}},
-You have just received a connection request at $[sitename]
+You have just received a connection request at {{$sitename}}
-from '$[requestor]'.
+from '{{$requestor}}'.
-You may visit their profile at $[url].
+You may visit their profile at {{$url}}.
Please login to your site to view the complete introduction
and approve or ignore/cancel the request.
-$[siteurl]
+{{$siteurl}}
Regards,
- $[sitename] administrator
+ {{$sitename}} administrator
diff --git a/view/en/update_fail_eml.tpl b/view/en/update_fail_eml.tpl
index 548e1a0df..a7df8fc2f 100644
--- a/view/en/update_fail_eml.tpl
+++ b/view/en/update_fail_eml.tpl
@@ -1,11 +1,13 @@
Hey,
-I'm $sitename;
-The friendica developers released update $update recently,
+I'm the web server at {{$sitename}};
+
+The Red Matrix developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong.
-This needs to be fixed soon and I can't do it alone. Please contact a
-friendica developer if you can not help me on your own. My database might be invalid.
+This needs to be fixed soon and it requires human intervention.
+Please contact a Red developer if you can not figure out how to
+fix it on your own. My database might be invalid.
-The error message is '$error'.
+The error message is '{{$error}}'.
-I'm sorry,
-your friendica server at $siteurl \ No newline at end of file
+Apologies for the inconvenience,
+ your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/eo/follow_notify_eml.tpl b/view/eo/follow_notify_eml.tpl
index e76453ac1..ba07b19da 100644
--- a/view/eo/follow_notify_eml.tpl
+++ b/view/eo/follow_notify_eml.tpl
@@ -1,14 +1,14 @@
-Kara $[myname],
+Dear {{$myname}},
-Vi havas novan abonanton ĉe $[sitename] - '$[requestor]'.
+You have a new follower at {{$sitename}} - '{{$requestor}}'.
-Vi povas viziti ilian profilon ĉe $[url].
+You may visit their profile at {{$url}}.
-Bonvolu ensaluti en vian retejon por aprobi au malaprobi/nuligi la peton.
+Please login to your site to approve or ignore/cancel the request.
-$[siteurl]
+{{$siteurl}}
-Salutoj,
+Regards,
- [$sitename] administranto \ No newline at end of file
+ {{$sitename}} administrator
diff --git a/view/eo/friend_complete_eml.tpl b/view/eo/friend_complete_eml.tpl
index f429ca450..1c647b994 100644
--- a/view/eo/friend_complete_eml.tpl
+++ b/view/eo/friend_complete_eml.tpl
@@ -1,22 +1,22 @@
-Kara $[username],
+Dear {{$username}},
- Boegaj novaĵoj.... '$[fn]' ĉe '$[dfrn_url]' aprobis
-vian kontaktpeton ĉe '$[sitename]'.
+ Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
-Vi nun estas reciprokaj amikoj kaj povas interÅanÄi afiÅojn, bildojn kaj mesaÄojn
-senkatene.
+You are now mutual friends and may exchange status updates, photos, and email
+without restriction.
-Bonvolu viziti vian 'Kontaktoj' paÄon ĉe $[sitename] se vi volas
-Åangi la rilaton.
+Please visit your 'Connnections' page at {{$sitename}} if you wish to make
+any changes to this relationship.
-$[siteurl]
+{{$siteurl}}
-[Ekzempe, vi eble volas krei disiÄintan profilon kun informoj kiu ne
-haveblas al la komuna publiko - kaj rajtigi '$[fn]' al Äi]'
+[For instance, you may create a separate profile with information that is not
+available to the general public - and assign viewing rights to '{{$fn}}'].
-Salutoj,
+Sincerely,
- $[sitename] administranto
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/eo/htconfig.tpl b/view/eo/htconfig.tpl
new file mode 100644
index 000000000..493cb5d00
--- /dev/null
+++ b/view/eo/htconfig.tpl
@@ -0,0 +1,70 @@
+<?php
+
+// Set the following for your MySQL installation
+// Copy or rename this file to .htconfig.php
+
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
+
+/*
+ * Notice: Many of the following settings will be available in the admin panel
+ * after a successful site install. Once they are set in the admin panel, they
+ * are stored in the DB - and the DB setting will over-ride any corresponding
+ * setting in this file
+ *
+ * The command-line tool util/config is able to query and set the DB items
+ * directly if for some reason the admin panel is not available and a system
+ * setting requires modification.
+ *
+ */
+
+
+// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
+// It can be changed later and only applies to timestamps for anonymous viewers.
+
+$default_timezone = '{{$timezone}}';
+
+// What is your site name?
+
+$a->config['system']['baseurl'] = '{{$siteurl}}';
+$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['location_hash'] = '{{$site_id}}';
+
+// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
+// Be certain to create your own personal account before setting
+// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
+// the registration page. REGISTER_APPROVE requires you set 'admin_email'
+// to the email address of an already registered person who can authorise
+// and/or approve/deny the request.
+
+$a->config['system']['register_policy'] = REGISTER_OPEN;
+$a->config['system']['register_text'] = '';
+$a->config['system']['admin_email'] = '{{$adminmail}}';
+
+// Maximum size of an imported message, 0 is unlimited
+
+$a->config['system']['max_import_size'] = 200000;
+
+// maximum size of uploaded photos
+
+$a->config['system']['maximagesize'] = 800000;
+
+// Location of PHP command line processor
+
+$a->config['system']['php_path'] = '{{$phpath}}';
+
+// Configure how we communicate with directory servers.
+// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
+// DIRECTORY_MODE_SECONDARY = caching directory or mirror
+// DIRECTORY_MODE_PRIMARY = main directory server
+// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
+
+$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
+
+// default system theme
+
+$a->config['system']['theme'] = 'redbasic';
+
diff --git a/view/eo/intro_complete_eml.tpl b/view/eo/intro_complete_eml.tpl
index 56a4fd880..2c2428d68 100644
--- a/view/eo/intro_complete_eml.tpl
+++ b/view/eo/intro_complete_eml.tpl
@@ -1,22 +1,22 @@
-Kara $[username],
+Dear {{$username}},
- '$[fn]' ĉe '$[dfrn_url]' akceptis
-vian kontaktpeton ĉe '$[sitename]'.
+ '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
- '$[fn]' elektis vin kiel "admiranto", kio malpermesas
-kelkajn komunikilojn - ekzemple privataj mesaÄoj kaj kelkaj profilrilataj
-agoj. Se tio estas konto de komunumo aÅ­ de eminentulo, tiaj agordoj
-aÅ­tomate aktiviÄis.
+ '{{$fn}}' has chosen to accept you a "fan", which restricts
+some forms of communication - such as private messaging and some profile
+interactions. If this is a celebrity or community page, these settings were
+applied automatically.
- '$[fn]' eblas konverti la rilaton al ambaÅ­direkta rilato
-aÅ­ apliki pli da permesoj.
+ '{{$fn}}' may choose to extend this into a two-way or more permissive
+relationship in the future.
- Vi ekricevos publikajn afiÅojn de '$[fn]',
-kiuj aperos sur via 'Reto' paÄo ĉe
+ You will start receiving public status updates from '{{$fn}}',
+which will appear on your 'Matrix' page at
-$[siteurl]
+{{$siteurl}}
-Salutoj,
+Sincerely,
- $[sitename] administranto \ No newline at end of file
+ {{$sitename}} Administrator
diff --git a/view/eo/lostpass_eml.tpl b/view/eo/lostpass_eml.tpl
index 26d1a3c23..3b79d2791 100644
--- a/view/eo/lostpass_eml.tpl
+++ b/view/eo/lostpass_eml.tpl
@@ -1,32 +1,32 @@
-Kara $[username],
- $[sitename] ricevis peton por rekomencigi vian pasvorton.
-Por konfirmi la peton, bonvolu klaki la sekvantan konfirmligilon
-aÅ­ alglui Äin en la adreskampo de via retumilo.
+Dear {{$username}},
+ A request was recently received at {{$sitename}} to reset your account
+password. In order to confirm this request, please select the verification link
+below or paste it into your web browser address bar.
-Se vi NE petis tiun ÅanÄon, bonvolu NE KLAKU la
-sekvantan ligilon kaj ignoru aÅ­ forvisu ĉi-mesaÄon.
+If you did NOT request this change, please DO NOT follow the link
+provided and ignore and/or delete this email.
-Ni ne ÅanÄu vian pasvorton se ni ne povas kontroli ĉu estas vi
-kiu petis la ÅanÄon.
+Your password will not be changed unless we can verify that you
+issued this request.
-Sekvu ĉi tion ligilon por konfirmi vian identecon:
+Follow this link to verify your identity:
-$[reset_link]
+{{$reset_link}}
-Poste, vi ricevos mesaÄon enhavonte la novan pasvorton.
+You will then receive a follow-up message containing the new password.
-Vi eblas Åangi la pasvorton ĉe viaj kontdoagordoj paÄo post ensaluti.
+You may change that password from your account settings page after logging in.
-La akreditaĵoj estas:
+The login details are as follows:
-Retejo:»$[siteurl]
-Salutnomo:»$[email]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
-Salutoj,
- $[sitename] administranto
+Sincerely,
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/eo/passchanged_eml.tpl b/view/eo/passchanged_eml.tpl
index ee775d5dd..0d94be3c2 100644
--- a/view/eo/passchanged_eml.tpl
+++ b/view/eo/passchanged_eml.tpl
@@ -1,20 +1,20 @@
-Kara $[username],
- Via pasvorto estas ÅanÄita laÅ­ via peto. Bonvolu konservi ĉi tiun
-informon (aÅ­ tuj ÅanÄu vian pasvorton al
-iu kiun vi povas memori).
+Dear {{$username}},
+ Your password has been changed as requested. Please retain this
+information for your records (or change your password immediately to
+something that you will remember).
-Jen viaj legitimaĵoj:
+Your login details are as follows:
-Retejo:»$[siteurl]
-Salutnomo:»$[email]
-Pasvorto:»$[new_password]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+Password: {{$new_password}}
-Vi eblas ÅanÄi la pasvorton ĉe la paÄo Agordoj -> Konto kiam vi estas ensalutita.
+You may change that password from your account settings page after logging in.
-Salutoj,
- $[sitename] administranto
+Sincerely,
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/eo/register_open_eml.tpl b/view/eo/register_open_eml.tpl
index 735ea9a4b..4b397201c 100644
--- a/view/eo/register_open_eml.tpl
+++ b/view/eo/register_open_eml.tpl
@@ -1,34 +1,19 @@
-Kara $[username],
- Dankon pro via registrado ĉe $[sitename]. Vian konton estas kreita.
-Jen viaj legitimaĵoj:
+An account has been created at {{$sitename}} for this email address.
+The login details are as follows:
+Site Location: {{$siteurl}}
+Login: {{$email}}
+Password: (the password which was provided during registration)
-Retejo:»$[siteurl]
-Salutnomo:»$[email]
-Pasvorto:»$[password]
+If this account was created without your knowledge and is not desired, you may
+visit this site and reset the password. This will allow you to remove the
+account from the links on the Settings page, and we
+apologise for any inconvenience.
-Vi eblas ÅanÄi la pasvorton ĉe la paÄo Agordoj -> Konto kiam vi estas
-ensalutita.
+Thank you and welcome to {{$sitename}}.
-Bonvolu preni kelkajn momentoj por kontroli la aliajn kontaktagordojn.
+Sincerely,
+ {{$sitename}} Administrator
-Eble vi volas aldoni kelkajn bazajn informojn al via profilo
-(ĉe la paÄo "Profiloj"), tial vi troveblas al aliaj uzantoj.
-
-Ni rekomendas agordi vian plenan noman, aldoni profilbildon,
-kaj aldojo kelkajn Ålosilvortojn (tre utila por trovi novajn amikojn) - kaj
-eble en kiu lando vi loÄas, se vi ne volas pli specifa
-ol tio.
-
-Ni tute respektas vian privatecon, kaj neniu de tiuj agordoj necesas.
-Se vi novas kaj ne konas iun ĉi tie, ili eble helpas
-vin trovi novajn kaj interesajn amikojn.
-
-
-Dankon kaj bonvenon ĉe $[sitename].
-
-Salutoj,
- $[sitename] administranto
-
- \ No newline at end of file
+
diff --git a/view/eo/register_verify_eml.tpl b/view/eo/register_verify_eml.tpl
index cc99ab4b6..85d9a12d3 100644
--- a/view/eo/register_verify_eml.tpl
+++ b/view/eo/register_verify_eml.tpl
@@ -1,25 +1,25 @@
-Nova peto por registrado atendas ĉe $[sitename]
-kaj bezonas vian aprobon.
+A new user registration request was received at {{$sitename}} which requires
+your approval.
-Jen la detaloj de la peto:
+The login details are as follows:
-Plena Nomo:»$[username]
-Retejo:»$[siteurl]
-Salutnomo:»$[email]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+IP Address: {{$details}}
+To approve this request please visit the following link:
-Aprobonte la peton, bonvolu klaki tiun ligilon:
+{{$siteurl}}/regmod/allow/{{$hash}}
-$[siteurl]/regmod/allow/$[hash]
+To deny the request and remove the account, please visit:
-Malaprobonte kaj forviÅonte la konton, bonvolu klaki:
+{{$siteurl}}/regmod/deny/{{$hash}}
-$[siteurl]/regmod/deny/$[hash]
+Thank you.
-Dankon!
diff --git a/view/eo/request_notify_eml.tpl b/view/eo/request_notify_eml.tpl
index eb91414b9..d01b8ff27 100644
--- a/view/eo/request_notify_eml.tpl
+++ b/view/eo/request_notify_eml.tpl
@@ -1,17 +1,17 @@
-Kara $[myname],
+Dear {{$myname}},
-Vi ĵus ricevis kontaktpeton ĉe $[sitename]
+You have just received a connection request at {{$sitename}}
-de '$[requestor]'.
+from '{{$requestor}}'.
-Vi eblas viziti la profilon de la petanto ĉe $[url].
+You may visit their profile at {{$url}}.
-Bonvolu ensaluti en la retejo por vidi la plenan prezenton
-kaj aprobi aÅ­ ignori/nuligi la peton.
+Please login to your site to view the complete introduction
+and approve or ignore/cancel the request.
-$[siteurl]
+{{$siteurl}}
-Salutoj,
+Regards,
- $[sitename] administranto \ No newline at end of file
+ {{$sitename}} administrator
diff --git a/view/eo/update_fail_eml.tpl b/view/eo/update_fail_eml.tpl
index f7e0d8bce..a7df8fc2f 100644
--- a/view/eo/update_fail_eml.tpl
+++ b/view/eo/update_fail_eml.tpl
@@ -1,11 +1,13 @@
-Saluton!
-Mi estas $sitename.
-La programistoj de Frienda eldonis Äisdatigon $update antaÅ­ ne longe,
-sed kiam mi provis instali Äin, io terure malsukcesis.
-Tio tuj bezonas riparon kaj mi ne povas fari Äin sole. Bonvolu kontakti
-Friendica programistion se vi ne povas helpi vin mem. Mia datumbazo eble ne plu validas.
+Hey,
+I'm the web server at {{$sitename}};
+
+The Red Matrix developers released update {{$update}} recently,
+but when I tried to install it, something went terribly wrong.
+This needs to be fixed soon and it requires human intervention.
+Please contact a Red developer if you can not figure out how to
+fix it on your own. My database might be invalid.
-La erarmesaÄo estas '$error'.
+The error message is '{{$error}}'.
-Mi bedaÅ­ras,
-via Friendica servilo ĉe $siteurl \ No newline at end of file
+Apologies for the inconvenience,
+ your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/es/follow_notify_eml.tpl b/view/es/follow_notify_eml.tpl
index 17bd2c01c..ba07b19da 100644
--- a/view/es/follow_notify_eml.tpl
+++ b/view/es/follow_notify_eml.tpl
@@ -1,13 +1,14 @@
-Estimado/a $myname,
+Dear {{$myname}},
-Tienes un nuevo seguidor en $sitename - '$requestor'.
+You have a new follower at {{$sitename}} - '{{$requestor}}'.
-Puedes visitar su perfil en $url.
+You may visit their profile at {{$url}}.
-Inicie sesión en su sitio para aprobar o rechazar/cancelar la solicitud.
+Please login to your site to approve or ignore/cancel the request.
-$siteurl
+{{$siteurl}}
+Regards,
- $sitename
+ {{$sitename}} administrator
diff --git a/view/es/friend_complete_eml.tpl b/view/es/friend_complete_eml.tpl
index 0dc867efd..1c647b994 100644
--- a/view/es/friend_complete_eml.tpl
+++ b/view/es/friend_complete_eml.tpl
@@ -1,19 +1,22 @@
-Estimado/a $username,
+Dear {{$username}},
- Grandes noticias... '$fn' a '$dfrn_url' ha aceptado tu solicitud de conexión en '$sitename'.
+ Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
-Ahora sois amigos mutuos y podreis intercambiar actualizaciones de estado, fotos, y correo electrónico
-sin restricción alguna.
+You are now mutual friends and may exchange status updates, photos, and email
+without restriction.
-Visita tu página de 'Contactos' en $sitename si desear realizar cualquier cambio en esta relación.
+Please visit your 'Connnections' page at {{$sitename}} if you wish to make
+any changes to this relationship.
-$siteurl
+{{$siteurl}}
-[Por ejemplo, puedes crear un perfil independiente con información que no está disponible al público en general
-- y asignar derechos de visualización a '$fn'].
+[For instance, you may create a separate profile with information that is not
+available to the general public - and assign viewing rights to '{{$fn}}'].
+Sincerely,
- $sitename
+ {{$sitename}} Administrator
diff --git a/view/es/htconfig.tpl b/view/es/htconfig.tpl
new file mode 100644
index 000000000..493cb5d00
--- /dev/null
+++ b/view/es/htconfig.tpl
@@ -0,0 +1,70 @@
+<?php
+
+// Set the following for your MySQL installation
+// Copy or rename this file to .htconfig.php
+
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
+
+/*
+ * Notice: Many of the following settings will be available in the admin panel
+ * after a successful site install. Once they are set in the admin panel, they
+ * are stored in the DB - and the DB setting will over-ride any corresponding
+ * setting in this file
+ *
+ * The command-line tool util/config is able to query and set the DB items
+ * directly if for some reason the admin panel is not available and a system
+ * setting requires modification.
+ *
+ */
+
+
+// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
+// It can be changed later and only applies to timestamps for anonymous viewers.
+
+$default_timezone = '{{$timezone}}';
+
+// What is your site name?
+
+$a->config['system']['baseurl'] = '{{$siteurl}}';
+$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['location_hash'] = '{{$site_id}}';
+
+// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
+// Be certain to create your own personal account before setting
+// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
+// the registration page. REGISTER_APPROVE requires you set 'admin_email'
+// to the email address of an already registered person who can authorise
+// and/or approve/deny the request.
+
+$a->config['system']['register_policy'] = REGISTER_OPEN;
+$a->config['system']['register_text'] = '';
+$a->config['system']['admin_email'] = '{{$adminmail}}';
+
+// Maximum size of an imported message, 0 is unlimited
+
+$a->config['system']['max_import_size'] = 200000;
+
+// maximum size of uploaded photos
+
+$a->config['system']['maximagesize'] = 800000;
+
+// Location of PHP command line processor
+
+$a->config['system']['php_path'] = '{{$phpath}}';
+
+// Configure how we communicate with directory servers.
+// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
+// DIRECTORY_MODE_SECONDARY = caching directory or mirror
+// DIRECTORY_MODE_PRIMARY = main directory server
+// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
+
+$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
+
+// default system theme
+
+$a->config['system']['theme'] = 'redbasic';
+
diff --git a/view/es/intro_complete_eml.tpl b/view/es/intro_complete_eml.tpl
index a2964808c..2c2428d68 100644
--- a/view/es/intro_complete_eml.tpl
+++ b/view/es/intro_complete_eml.tpl
@@ -1,21 +1,22 @@
-Estimado/a $username,
+Dear {{$username}},
- '$fn' en '$dfrn_url' ha aceptado tu petición
-conexión a '$sitename'.
+ '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
- '$fn' ha optado por aceptarte come "fan", que restringe ciertas
-formas de comunicación, como mensajes privados y algunas interacciones
-con el perfil. Si eres una "celebridad" o una página de comunidad,
-estos ajustes se aplican automáticamente
+ '{{$fn}}' has chosen to accept you a "fan", which restricts
+some forms of communication - such as private messaging and some profile
+interactions. If this is a celebrity or community page, these settings were
+applied automatically.
- '$fn' puede optar por extender esto en una relación más permisiva
-en el futuro.
+ '{{$fn}}' may choose to extend this into a two-way or more permissive
+relationship in the future.
- Empezarás a recibir las actualizaciones públicas de estado de '$fn',
-que aparecerán en tu página "Red" en
+ You will start receiving public status updates from '{{$fn}}',
+which will appear on your 'Matrix' page at
-$siteurl
+{{$siteurl}}
+Sincerely,
- $sitename
+ {{$sitename}} Administrator
diff --git a/view/es/lostpass_eml.tpl b/view/es/lostpass_eml.tpl
index 607744bfe..3b79d2791 100644
--- a/view/es/lostpass_eml.tpl
+++ b/view/es/lostpass_eml.tpl
@@ -1,34 +1,32 @@
-Estimado/a $username,
-
- Se ha recibido una solicitud en $sitename recientemente para restablecer
-tu contraseña. Para confirmar esta solicitud, por favor seleccione el enlace de
-verificación debajo o cópialo y pégalo en la barra de direcciones de tu navegador.
+Dear {{$username}},
+ A request was recently received at {{$sitename}} to reset your account
+password. In order to confirm this request, please select the verification link
+below or paste it into your web browser address bar.
-Se NO has solicitado este cambio, por favor NO sigas el enlace indicado e ignora
-y/o elimina este mensaje.
+If you did NOT request this change, please DO NOT follow the link
+provided and ignore and/or delete this email.
-Tu contraseña no se cambiará a menos que podamos verificar que eres tu quien
-emitió esta solicitud.
+Your password will not be changed unless we can verify that you
+issued this request.
-Sigue este enlace para verificar tu identidad:
+Follow this link to verify your identity:
-$reset_link
+{{$reset_link}}
-A continuación recibirás un mensaje con la nueva contraseña.
+You will then receive a follow-up message containing the new password.
-Despues de accceder, podrás cambiar la contraseña de tu cuenta en la página de
-configuración.
+You may change that password from your account settings page after logging in.
-Los datos de acceso son los siguientes:
+The login details are as follows:
-Sitio: $siteurl
-Nombre: $email
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
-Saludos,
- La administración de $sitename
+Sincerely,
+ {{$sitename}} Administrator
diff --git a/view/es/passchanged_eml.tpl b/view/es/passchanged_eml.tpl
index 7959846b7..0d94be3c2 100644
--- a/view/es/passchanged_eml.tpl
+++ b/view/es/passchanged_eml.tpl
@@ -1,19 +1,20 @@
-Estimado/a $username,
+Dear {{$username}},
+ Your password has been changed as requested. Please retain this
+information for your records (or change your password immediately to
+something that you will remember).
- Tu contraseña ha sido modificada como has solicitado. Anota esta información
-(o cambia inmediatamente la contraseña con algo que recuerdes).
+Your login details are as follows:
-Tus datos de acceso son los siguientes:
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+Password: {{$new_password}}
-Sitio: $siteurl
-Nombre: $email
-Contraseña: $new_password
+You may change that password from your account settings page after logging in.
-Después de acceder puedes cambiar la contraseña desde la página de configuración de tu perfil.
-
- $sitename
+Sincerely,
+ {{$sitename}} Administrator
diff --git a/view/es/register_open_eml.tpl b/view/es/register_open_eml.tpl
index 7c7a90b40..4b397201c 100644
--- a/view/es/register_open_eml.tpl
+++ b/view/es/register_open_eml.tpl
@@ -1,21 +1,19 @@
-Estimado/a $username,
+An account has been created at {{$sitename}} for this email address.
+The login details are as follows:
- Gracias por registrarte en $sitename. Tu cuenta ha sido creada.
+Site Location: {{$siteurl}}
+Login: {{$email}}
+Password: (the password which was provided during registration)
+If this account was created without your knowledge and is not desired, you may
+visit this site and reset the password. This will allow you to remove the
+account from the links on the Settings page, and we
+apologise for any inconvenience.
-Los datos de acceso son los siguientes:
+Thank you and welcome to {{$sitename}}.
-Sitio: $siteurl
-Nombre: $email
-Contraseña: $password
-
-
-Después de acceder puedes cambiar tu contraseña en la página de "Configuración".
-
-Toma un momento para revisar las otras configuraciones de la cuenta en esa página.
-
-
-Gracias y bienvenido/a $sitename.
+Sincerely,
+ {{$sitename}} Administrator
diff --git a/view/es/register_verify_eml.tpl b/view/es/register_verify_eml.tpl
index 9f2cc4d9b..85d9a12d3 100644
--- a/view/es/register_verify_eml.tpl
+++ b/view/es/register_verify_eml.tpl
@@ -1,22 +1,25 @@
-Se ha recibido la solicitud de registro de un nuevo usuario en
-$sitename que requiere tu aprobación.
+A new user registration request was received at {{$sitename}} which requires
+your approval.
-Los datos de acceso son los siguientes:
-Nombre Completo: $username
-Sitio: $siteurl
-Nombre: $email
+The login details are as follows:
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+IP Address: {{$details}}
-Para aprobar esta solicitud, visita el siguiente enlace:
+To approve this request please visit the following link:
-$siteurl/regmod/allow/$hash
-Para denegar la solicitud y eliminar la cuenta, por favor visita:
+{{$siteurl}}/regmod/allow/{{$hash}}
-$siteurl/regmod/deny/$hash
+To deny the request and remove the account, please visit:
-Gracias.
+
+{{$siteurl}}/regmod/deny/{{$hash}}
+
+
+Thank you.
diff --git a/view/es/request_notify_eml.tpl b/view/es/request_notify_eml.tpl
index 6161c45c1..d01b8ff27 100644
--- a/view/es/request_notify_eml.tpl
+++ b/view/es/request_notify_eml.tpl
@@ -1,13 +1,17 @@
-Estimado/a $myname,
+Dear {{$myname}},
-Acabas de recibir una solicitud de conexión de '$requestor' en $sitename.
+You have just received a connection request at {{$sitename}}
-Puedes visitar su perfil en $url.
+from '{{$requestor}}'.
-Accede a tu sitio para ver la presentación completa y aceptar o ignorar/cancelar la solicitud.
+You may visit their profile at {{$url}}.
-$siteurl
+Please login to your site to view the complete introduction
+and approve or ignore/cancel the request.
+{{$siteurl}}
- $sitename
+Regards,
+
+ {{$sitename}} administrator
diff --git a/view/es/update_fail_eml.tpl b/view/es/update_fail_eml.tpl
new file mode 100644
index 000000000..a7df8fc2f
--- /dev/null
+++ b/view/es/update_fail_eml.tpl
@@ -0,0 +1,13 @@
+Hey,
+I'm the web server at {{$sitename}};
+
+The Red Matrix developers released update {{$update}} recently,
+but when I tried to install it, something went terribly wrong.
+This needs to be fixed soon and it requires human intervention.
+Please contact a Red developer if you can not figure out how to
+fix it on your own. My database might be invalid.
+
+The error message is '{{$error}}'.
+
+Apologies for the inconvenience,
+ your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/fr/follow_notify_eml.tpl b/view/fr/follow_notify_eml.tpl
index 10d0b343b..ba07b19da 100644
--- a/view/fr/follow_notify_eml.tpl
+++ b/view/fr/follow_notify_eml.tpl
@@ -1,14 +1,14 @@
-Cher(e) $myname,
+Dear {{$myname}},
-Une nouvelle personne - $requestor - vous suit désormais sur $sitename.
+You have a new follower at {{$sitename}} - '{{$requestor}}'.
-Vous pouvez consulter son profil sur $url.
+You may visit their profile at {{$url}}.
-Merci de vous connecter à votre site pour approuver ou ignorer/annuler cette demande.
+Please login to your site to approve or ignore/cancel the request.
-$siteurl
+{{$siteurl}}
-Cordialement,
+Regards,
- l'administrateur de $sitename
+ {{$sitename}} administrator
diff --git a/view/fr/friend_complete_eml.tpl b/view/fr/friend_complete_eml.tpl
index 1f2553b5e..1c647b994 100644
--- a/view/fr/friend_complete_eml.tpl
+++ b/view/fr/friend_complete_eml.tpl
@@ -1,23 +1,22 @@
-Cher(e) $username,
+Dear {{$username}},
- Grande nouvelle… « $fn » (de « $dfrn_url ») a accepté votre
-demande de connexion à « $sitename ».
+ Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
-Vous êtes désormais dans une relation réciproque et pouvez échanger des
-photos, des humeurs et des messages sans restriction.
+You are now mutual friends and may exchange status updates, photos, and email
+without restriction.
-Merci de visiter votre page « Contacts » sur $sitename pour toute
-modification que vous souhaiteriez apporter à cette relation.
+Please visit your 'Connnections' page at {{$sitename}} if you wish to make
+any changes to this relationship.
-$siteurl
+{{$siteurl}}
-[Par exemple, vous pouvez créer un profil spécifique avec des informations
-cachées au grand public - et ainsi assigner des droits privilégiés à
-« $fn »]/
+[For instance, you may create a separate profile with information that is not
+available to the general public - and assign viewing rights to '{{$fn}}'].
-Sincèremment,
+Sincerely,
- l'administrateur de $sitename
+ {{$sitename}} Administrator
diff --git a/view/fr/htconfig.tpl b/view/fr/htconfig.tpl
new file mode 100644
index 000000000..493cb5d00
--- /dev/null
+++ b/view/fr/htconfig.tpl
@@ -0,0 +1,70 @@
+<?php
+
+// Set the following for your MySQL installation
+// Copy or rename this file to .htconfig.php
+
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
+
+/*
+ * Notice: Many of the following settings will be available in the admin panel
+ * after a successful site install. Once they are set in the admin panel, they
+ * are stored in the DB - and the DB setting will over-ride any corresponding
+ * setting in this file
+ *
+ * The command-line tool util/config is able to query and set the DB items
+ * directly if for some reason the admin panel is not available and a system
+ * setting requires modification.
+ *
+ */
+
+
+// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
+// It can be changed later and only applies to timestamps for anonymous viewers.
+
+$default_timezone = '{{$timezone}}';
+
+// What is your site name?
+
+$a->config['system']['baseurl'] = '{{$siteurl}}';
+$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['location_hash'] = '{{$site_id}}';
+
+// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
+// Be certain to create your own personal account before setting
+// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
+// the registration page. REGISTER_APPROVE requires you set 'admin_email'
+// to the email address of an already registered person who can authorise
+// and/or approve/deny the request.
+
+$a->config['system']['register_policy'] = REGISTER_OPEN;
+$a->config['system']['register_text'] = '';
+$a->config['system']['admin_email'] = '{{$adminmail}}';
+
+// Maximum size of an imported message, 0 is unlimited
+
+$a->config['system']['max_import_size'] = 200000;
+
+// maximum size of uploaded photos
+
+$a->config['system']['maximagesize'] = 800000;
+
+// Location of PHP command line processor
+
+$a->config['system']['php_path'] = '{{$phpath}}';
+
+// Configure how we communicate with directory servers.
+// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
+// DIRECTORY_MODE_SECONDARY = caching directory or mirror
+// DIRECTORY_MODE_PRIMARY = main directory server
+// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
+
+$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
+
+// default system theme
+
+$a->config['system']['theme'] = 'redbasic';
+
diff --git a/view/fr/intro_complete_eml.tpl b/view/fr/intro_complete_eml.tpl
index f698cfeb7..2c2428d68 100644
--- a/view/fr/intro_complete_eml.tpl
+++ b/view/fr/intro_complete_eml.tpl
@@ -1,22 +1,22 @@
-Cher(e) $username,
+Dear {{$username}},
- « $fn » du site « $dfrn_url » a accepté votre
-demande de mise en relation sur « $sitename ».
+ '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
- « $fn » a décidé de vous accepter comme « fan », ce qui restreint
-certains de vos moyens de communication - tels que les messages privés et
-certaines interactions avec son profil. S'il s'agit de la page d'une
-célébrité et/ou communauté, ces réglages ont été définis automatiquement.
+ '{{$fn}}' has chosen to accept you a "fan", which restricts
+some forms of communication - such as private messaging and some profile
+interactions. If this is a celebrity or community page, these settings were
+applied automatically.
- « $fn » pourra choisir d'étendre votre relation à quelque chose de
-plus permissif dans l'avenir.
+ '{{$fn}}' may choose to extend this into a two-way or more permissive
+relationship in the future.
- Vous allez commencer à recevoir les mises à jour publiques du
-statut de « $fn », lesquelles apparaîtront sur votre page « Réseau » sur
+ You will start receiving public status updates from '{{$fn}}',
+which will appear on your 'Matrix' page at
-$siteurl
+{{$siteurl}}
-Sincèrement votre,
+Sincerely,
- l'administrateur de $sitename
+ {{$sitename}} Administrator
diff --git a/view/fr/lostpass_eml.tpl b/view/fr/lostpass_eml.tpl
index 96c11d723..3b79d2791 100644
--- a/view/fr/lostpass_eml.tpl
+++ b/view/fr/lostpass_eml.tpl
@@ -1,34 +1,32 @@
-Cher(e) $username,
+Dear {{$username}},
+ A request was recently received at {{$sitename}} to reset your account
+password. In order to confirm this request, please select the verification link
+below or paste it into your web browser address bar.
- Nous avons récemment reçu, chez $sitename, une demande de remise
-à zéro du mot de passe protégeant votre compte. Pour confirmer cette
-demande, merci de cliquer sur le lien de vérification suivant, ou de le
-coller dans la barre d'adresse de votre navigateur web.
+If you did NOT request this change, please DO NOT follow the link
+provided and ignore and/or delete this email.
-Si vous n'êtes PAS à l'origine de cette demande, merci de NE PAS suivre
-le lien en question, et d'ignorer/supprimer ce courriel.
+Your password will not be changed unless we can verify that you
+issued this request.
-Votre mot de passe ne sera réinitialisé qu'une fois que nous aurons pu
-nous assurer que vous êtes bien à l'origine de cette demande.
+Follow this link to verify your identity:
-Merci de suivre le lien suivant pour confirmer votre identité :
+{{$reset_link}}
-$reset_link
+You will then receive a follow-up message containing the new password.
-Vous recevrez en retour un message avec votre nouveau mot de passe.
+You may change that password from your account settings page after logging in.
-Vous pourrez ensuite changer ce mot de passe, après connexion, dans la
-page des réglages du compte.
+The login details are as follows:
-Les informations du compte concerné sont :
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
-Site : $siteurl
-Pseudo/Courriel : $email
-Sincèrement votre,
- l'administrateur de $sitename
+Sincerely,
+ {{$sitename}} Administrator
diff --git a/view/fr/passchanged_eml.tpl b/view/fr/passchanged_eml.tpl
index 4ea8899fc..0d94be3c2 100644
--- a/view/fr/passchanged_eml.tpl
+++ b/view/fr/passchanged_eml.tpl
@@ -1,20 +1,20 @@
-Cher(e) $username,
+Dear {{$username}},
+ Your password has been changed as requested. Please retain this
+information for your records (or change your password immediately to
+something that you will remember).
- Votre mot de passe a été modifié comme demandé. Merci de conserver
-cette information pour un usage ultérieur (ou bien de changer votre mot de
-passe immédiatement en quelque chose dont vous vous souviendrez).
-Vos informations de connexion sont désormais :
+Your login details are as follows:
-Site : $siteurl
-Pseudo/Courriel : $email
-Mot de passe : $new_password
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+Password: {{$new_password}}
-Vous pouvez changer ce mot de passe depuis la page des « réglages » de votre compte,
-après connexion
+You may change that password from your account settings page after logging in.
-Sincèrement votre,
- l'administrateur de $sitename
+
+Sincerely,
+ {{$sitename}} Administrator
diff --git a/view/fr/register_open_eml.tpl b/view/fr/register_open_eml.tpl
index 5d9e737c3..4b397201c 100644
--- a/view/fr/register_open_eml.tpl
+++ b/view/fr/register_open_eml.tpl
@@ -1,22 +1,19 @@
-Cher(e) $username,
+An account has been created at {{$sitename}} for this email address.
+The login details are as follows:
- Merci de votre inscription à $sitename. Votre compte a été créé.
-Les informations de connexion sont les suivantes :
+Site Location: {{$siteurl}}
+Login: {{$email}}
+Password: (the password which was provided during registration)
-Site : $siteurl
-Pseudo/Courriel : $email
-Mot de passe : $password
+If this account was created without your knowledge and is not desired, you may
+visit this site and reset the password. This will allow you to remove the
+account from the links on the Settings page, and we
+apologise for any inconvenience.
-Vous pouvez changer de mot de passe dans la page des « Réglages » de votre compte,
-après connexion.
+Thank you and welcome to {{$sitename}}.
-Merci de prendre quelques minutes pour découvrir les autres réglages disponibles
-sur cette page.
-
-Merci, et bienvenue sur $sitename.
-
-Sincèrement votre,
- l'administrateur de $sitename
+Sincerely,
+ {{$sitename}} Administrator
diff --git a/view/fr/register_verify_eml.tpl b/view/fr/register_verify_eml.tpl
index 9cb31a6a8..85d9a12d3 100644
--- a/view/fr/register_verify_eml.tpl
+++ b/view/fr/register_verify_eml.tpl
@@ -1,27 +1,25 @@
-Une nouvelle demande d'inscription a été reçue sur $sitename, et elle
-nécessite votre approbation.
+A new user registration request was received at {{$sitename}} which requires
+your approval.
-Les informations de connexion sont les suivantes :
+The login details are as follows:
-Nom complet : $username
-Site : $siteurl
-Pseudo/Courriel : $email
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+IP Address: {{$details}}
+To approve this request please visit the following link:
-Pour approuver cette demande, merci de suivre le lien :
+{{$siteurl}}/regmod/allow/{{$hash}}
-$siteurl/regmod/allow/$hash
+To deny the request and remove the account, please visit:
-Pour rejeter cette demande et supprimer le compte associé,
-merci de suivre le lien :
+{{$siteurl}}/regmod/deny/{{$hash}}
-$siteurl/regmod/deny/$hash
-
-En vous remerçiant.
+Thank you.
diff --git a/view/fr/request_notify_eml.tpl b/view/fr/request_notify_eml.tpl
index 9234ceaaa..d01b8ff27 100644
--- a/view/fr/request_notify_eml.tpl
+++ b/view/fr/request_notify_eml.tpl
@@ -1,17 +1,17 @@
-Cher(e) $myname,
+Dear {{$myname}},
-Vous venez de recevoir une demande de mise en relation sur $sitename
+You have just received a connection request at {{$sitename}}
-venant de « $requestor ».
+from '{{$requestor}}'.
-Vous pouvez visiter son profil sur $url.
+You may visit their profile at {{$url}}.
-Vous pouvez vous connecter à votre site pour voir la demande
-complète et l'approuver ou l'ignorer/annuler.
+Please login to your site to view the complete introduction
+and approve or ignore/cancel the request.
-$siteurl
+{{$siteurl}}
-Cordialement,
+Regards,
- l'administrateur de $sitename
+ {{$sitename}} administrator
diff --git a/view/fr/update_fail_eml.tpl b/view/fr/update_fail_eml.tpl
new file mode 100644
index 000000000..a7df8fc2f
--- /dev/null
+++ b/view/fr/update_fail_eml.tpl
@@ -0,0 +1,13 @@
+Hey,
+I'm the web server at {{$sitename}};
+
+The Red Matrix developers released update {{$update}} recently,
+but when I tried to install it, something went terribly wrong.
+This needs to be fixed soon and it requires human intervention.
+Please contact a Red developer if you can not figure out how to
+fix it on your own. My database might be invalid.
+
+The error message is '{{$error}}'.
+
+Apologies for the inconvenience,
+ your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/it/follow_notify_eml.tpl b/view/it/follow_notify_eml.tpl
index c85a0cdc9..ba07b19da 100644
--- a/view/it/follow_notify_eml.tpl
+++ b/view/it/follow_notify_eml.tpl
@@ -1,14 +1,14 @@
-Ciao $[myname],
+Dear {{$myname}},
-Un nuovo utente ha iniziato a seguirti su $[sitename] - '$[requestor]'.
+You have a new follower at {{$sitename}} - '{{$requestor}}'.
-Puoi vedere il suo profilo su $[url].
+You may visit their profile at {{$url}}.
-Accedi sul tuo sito per approvare o ignorare la richiesta.
+Please login to your site to approve or ignore/cancel the request.
-$[siteurl]
+{{$siteurl}}
-Saluti,
+Regards,
- L'amministratore di $[sitename] \ No newline at end of file
+ {{$sitename}} administrator
diff --git a/view/it/friend_complete_eml.tpl b/view/it/friend_complete_eml.tpl
index 890b0148c..1c647b994 100644
--- a/view/it/friend_complete_eml.tpl
+++ b/view/it/friend_complete_eml.tpl
@@ -1,22 +1,22 @@
-Ciao $[username],
+Dear {{$username}},
- Ottime notizie... '$[fn]' di '$[dfrn_url]' ha accettato
-la tua richiesta di connessione su '$[sitename]'.
+ Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
-Adesso siete amici reciproci e potete scambiarvi aggiornamenti di stato, foto ed email
-senza restrizioni.
+You are now mutual friends and may exchange status updates, photos, and email
+without restriction.
-Vai nella pagina 'Contatti' di $[sitename] se vuoi effettuare
-qualche modifica riguardo questa relazione
+Please visit your 'Connnections' page at {{$sitename}} if you wish to make
+any changes to this relationship.
-$[siteurl]
+{{$siteurl}}
-[Ad esempio, potresti creare un profilo separato con le informazioni che non
-sono disponibili pubblicamente - ed permettere di vederlo a '$[fn]'].
+[For instance, you may create a separate profile with information that is not
+available to the general public - and assign viewing rights to '{{$fn}}'].
-Saluti,
+Sincerely,
- l'amministratore di $[sitename]
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/it/htconfig.tpl b/view/it/htconfig.tpl
new file mode 100644
index 000000000..493cb5d00
--- /dev/null
+++ b/view/it/htconfig.tpl
@@ -0,0 +1,70 @@
+<?php
+
+// Set the following for your MySQL installation
+// Copy or rename this file to .htconfig.php
+
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
+
+/*
+ * Notice: Many of the following settings will be available in the admin panel
+ * after a successful site install. Once they are set in the admin panel, they
+ * are stored in the DB - and the DB setting will over-ride any corresponding
+ * setting in this file
+ *
+ * The command-line tool util/config is able to query and set the DB items
+ * directly if for some reason the admin panel is not available and a system
+ * setting requires modification.
+ *
+ */
+
+
+// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
+// It can be changed later and only applies to timestamps for anonymous viewers.
+
+$default_timezone = '{{$timezone}}';
+
+// What is your site name?
+
+$a->config['system']['baseurl'] = '{{$siteurl}}';
+$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['location_hash'] = '{{$site_id}}';
+
+// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
+// Be certain to create your own personal account before setting
+// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
+// the registration page. REGISTER_APPROVE requires you set 'admin_email'
+// to the email address of an already registered person who can authorise
+// and/or approve/deny the request.
+
+$a->config['system']['register_policy'] = REGISTER_OPEN;
+$a->config['system']['register_text'] = '';
+$a->config['system']['admin_email'] = '{{$adminmail}}';
+
+// Maximum size of an imported message, 0 is unlimited
+
+$a->config['system']['max_import_size'] = 200000;
+
+// maximum size of uploaded photos
+
+$a->config['system']['maximagesize'] = 800000;
+
+// Location of PHP command line processor
+
+$a->config['system']['php_path'] = '{{$phpath}}';
+
+// Configure how we communicate with directory servers.
+// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
+// DIRECTORY_MODE_SECONDARY = caching directory or mirror
+// DIRECTORY_MODE_PRIMARY = main directory server
+// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
+
+$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
+
+// default system theme
+
+$a->config['system']['theme'] = 'redbasic';
+
diff --git a/view/it/intro_complete_eml.tpl b/view/it/intro_complete_eml.tpl
index 46fe7018b..2c2428d68 100644
--- a/view/it/intro_complete_eml.tpl
+++ b/view/it/intro_complete_eml.tpl
@@ -1,22 +1,22 @@
-Ciao $[username],
+Dear {{$username}},
- '$[fn]' di '$[dfrn_url]' ha accettato
-la tua richiesta di connessione a '$[sitename]'.
+ '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
- '$[fn]' ha deciso di accettarti come "fan", il che restringe
-alcune forme di comunicazione - come i messaggi privati e alcune
-interazioni. Se è la pagina di una persona famosa o di una comunità, queste impostazioni saranno
-applicate automaticamente.
+ '{{$fn}}' has chosen to accept you a "fan", which restricts
+some forms of communication - such as private messaging and some profile
+interactions. If this is a celebrity or community page, these settings were
+applied automatically.
- '$[fn]' potrebbe decidere di estendere questa relazione in una comunicazione bidirezionale o ancora più permissiva
-.
+ '{{$fn}}' may choose to extend this into a two-way or more permissive
+relationship in the future.
- Inizierai a ricevere gli aggiornamenti di stato pubblici da '$[fn]',
-che apparirà nella tua pagina 'Rete'
+ You will start receiving public status updates from '{{$fn}}',
+which will appear on your 'Matrix' page at
-$[siteurl]
+{{$siteurl}}
-Saluti,
+Sincerely,
- l'amministratore di $[sitename] \ No newline at end of file
+ {{$sitename}} Administrator
diff --git a/view/it/lostpass_eml.tpl b/view/it/lostpass_eml.tpl
index 26d3d6817..3b79d2791 100644
--- a/view/it/lostpass_eml.tpl
+++ b/view/it/lostpass_eml.tpl
@@ -1,32 +1,32 @@
-Ciao $[username],
- Su $[sitename] è stata ricevuta una richiesta di azzeramento di password per un account.
-Per confermare la richiesta, clicca sul link di verifica
-qui in fondo oppure copialo nella barra degli indirizzi del tuo browser.
+Dear {{$username}},
+ A request was recently received at {{$sitename}} to reset your account
+password. In order to confirm this request, please select the verification link
+below or paste it into your web browser address bar.
-Se NON hai richiesto l'azzeramento, NON seguire il link
-e ignora e/o cancella questa email.
+If you did NOT request this change, please DO NOT follow the link
+provided and ignore and/or delete this email.
-La tua password non sarà modificata finché non avremo verificato che
-hai fatto questa richiesta.
+Your password will not be changed unless we can verify that you
+issued this request.
-Per verificare la tua identità clicca su:
+Follow this link to verify your identity:
-$[reset_link]
+{{$reset_link}}
-Dopo la verifica riceverai un messaggio di risposta con la nuova password.
+You will then receive a follow-up message containing the new password.
-Potrai cambiare la password dalla pagina delle impostazioni dopo aver effettuato l'accesso.
+You may change that password from your account settings page after logging in.
-I dati di accesso sono i seguenti:
+The login details are as follows:
-Sito:»$[siteurl]
-Nome utente:»$[email]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
-Saluti,
- l'amministratore di $[sitename]
+Sincerely,
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/it/messages.po b/view/it/messages.po
index 99002d909..112b9b8b0 100644
--- a/view/it/messages.po
+++ b/view/it/messages.po
@@ -1,4421 +1,3754 @@
-# FRIENDICA Distributed Social Network
-# Copyright (C) 2010, 2011 the Friendica Project
-# This file is distributed under the same license as the Friendica package.
+# Red Communications Project
+# Copyright (C) 2013 the Red Matrix Project
+# This file is distributed under the same license as the Red package.
#
# Translators:
-# fabrixxm <fabrix.xm@gmail.com>, 2011.
-# <fabrix.xm@gmail.com>, 2011, 2012.
-# Francesco Apruzzese <cescoap@gmail.com>, 2012.
-# <marco@carnazzo.it>, 2012.
-# Paolo Pa <pynolo@tarine.net>, 2012.
-msgid ""
-msgstr ""
-"Project-Id-Version: friendica\n"
-"Report-Msgid-Bugs-To: http://bugs.friendica.com/\n"
-"POT-Creation-Date: 2012-09-27 10:00-0700\n"
-"PO-Revision-Date: 2012-09-28 08:27+0000\n"
-"Last-Translator: ufic <marco@carnazzo.it>\n"
-"Language-Team: Italian (http://www.transifex.com/projects/p/friendica/language/it/)\n"
+# fabrixxm <fabrix.xm@gmail.com>, 2011
+# fabrixxm <fabrix.xm@gmail.com>, 2011-2012
+# Francesco Apruzzese <cescoap@gmail.com>, 2012
+# ufic <marco@carnazzo.it>, 2012
+# tuscanhobbit Pa <pynolo@tarine.net>, 2012
+# tuscanhobbit Pa <pynolo@tarine.net>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: Red Matrix\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-08-30 00:01-0700\n"
+"PO-Revision-Date: 2013-09-02 08:10+0000\n"
+"Last-Translator: tuscanhobbit Pa <pynolo@tarine.net>\n"
+"Language-Team: Italian (http://www.transifex.com/projects/p/red-matrix/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../mod/oexchange.php:25
-msgid "Post successful."
-msgstr "Inviato!"
-
-#: ../../mod/update_notes.php:41 ../../mod/update_community.php:18
-#: ../../mod/update_network.php:22 ../../mod/update_profile.php:41
-msgid "[Embedded content - reload page to view]"
-msgstr "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]"
-
-#: ../../mod/crepair.php:102
-msgid "Contact settings applied."
-msgstr "Contatto modificato."
-
-#: ../../mod/crepair.php:104
-msgid "Contact update failed."
-msgstr "Le modifiche al contatto non sono state salvate."
-
-#: ../../mod/crepair.php:115 ../../mod/wall_attach.php:55
-#: ../../mod/fsuggest.php:78 ../../mod/events.php:140 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/photos.php:128 ../../mod/photos.php:972
-#: ../../mod/editpost.php:10 ../../mod/install.php:151 ../../mod/poke.php:135
-#: ../../mod/notifications.php:66 ../../mod/contacts.php:146
-#: ../../mod/settings.php:86 ../../mod/settings.php:525
-#: ../../mod/settings.php:530 ../../mod/manage.php:87 ../../mod/network.php:6
-#: ../../mod/notes.php:20 ../../mod/wallmessage.php:9
-#: ../../mod/wallmessage.php:33 ../../mod/wallmessage.php:79
-#: ../../mod/wallmessage.php:103 ../../mod/attach.php:33
-#: ../../mod/group.php:19 ../../mod/viewconnections.php:22
-#: ../../mod/register.php:38 ../../mod/regmod.php:116 ../../mod/item.php:126
-#: ../../mod/item.php:142 ../../mod/mood.php:114
-#: ../../mod/profile_photo.php:19 ../../mod/profile_photo.php:169
-#: ../../mod/profile_photo.php:180 ../../mod/profile_photo.php:193
-#: ../../mod/message.php:38 ../../mod/message.php:168
-#: ../../mod/allfriends.php:9 ../../mod/nogroup.php:25
-#: ../../mod/wall_upload.php:64 ../../mod/follow.php:9
-#: ../../mod/display.php:141 ../../mod/profiles.php:7
-#: ../../mod/profiles.php:413 ../../mod/delegate.php:6
-#: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81
-#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:510
-#: ../../addon/facebook/facebook.php:516 ../../addon/fbpost/fbpost.php:159
-#: ../../addon/fbpost/fbpost.php:165
-#: ../../addon/dav/friendica/layout.fnk.php:354 ../../include/items.php:3913
-#: ../../index.php:317
-msgid "Permission denied."
-msgstr "Permesso negato."
-
-#: ../../mod/crepair.php:129 ../../mod/fsuggest.php:20
-#: ../../mod/fsuggest.php:92 ../../mod/dfrn_confirm.php:118
-msgid "Contact not found."
-msgstr "Contatto non trovato."
-
-#: ../../mod/crepair.php:135
-msgid "Repair Contact Settings"
-msgstr "Ripara il contatto"
-
-#: ../../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>ATTENZIONE: Queste sono impostazioni avanzate</strong> e se inserisci informazioni errate le tue comunicazioni con questo contatto potrebbero non funzionare più"
-
-#: ../../mod/crepair.php:138
-msgid ""
-"Please use your browser 'Back' button <strong>now</strong> if you are "
-"uncertain what to do on this page."
-msgstr "Usa <strong>ora</strong> il tasto 'Indietro' del tuo browser se non sei sicuro di cosa fare in questa pagina."
-
-#: ../../mod/crepair.php:144
-msgid "Return to contact editor"
-msgstr "Ritorna alla modifica contatto"
-
-#: ../../mod/crepair.php:148 ../../mod/settings.php:545
-#: ../../mod/settings.php:571 ../../mod/admin.php:692 ../../mod/admin.php:702
-msgid "Name"
-msgstr "Nome"
-
-#: ../../mod/crepair.php:149
-msgid "Account Nickname"
-msgstr "Nome utente"
-
-#: ../../mod/crepair.php:150
-msgid "@Tagname - overrides Name/Nickname"
-msgstr "@TagName - al posto del nome utente"
-
-#: ../../mod/crepair.php:151
-msgid "Account URL"
-msgstr "URL dell'utente"
+#: ../../include/acl_selectors.php:235
+msgid "Visible to everybody"
+msgstr "Archiviato come:"
-#: ../../mod/crepair.php:152
-msgid "Friend Request URL"
-msgstr "URL Richiesta Amicizia"
+#: ../../include/acl_selectors.php:236
+msgid "show"
+msgstr "mostra"
-#: ../../mod/crepair.php:153
-msgid "Friend Confirm URL"
-msgstr "URL Conferma Amicizia"
+#: ../../include/acl_selectors.php:237
+msgid "don't show"
+msgstr "non mostrare"
-#: ../../mod/crepair.php:154
-msgid "Notification Endpoint URL"
-msgstr "URL Notifiche"
+#: ../../include/activities.php:37
+msgid " and "
+msgstr "e"
-#: ../../mod/crepair.php:155
-msgid "Poll/Feed URL"
-msgstr "URL Feed"
+#: ../../include/activities.php:45
+msgid "public profile"
+msgstr "profilo pubblico"
-#: ../../mod/crepair.php:156
-msgid "New photo from this URL"
-msgstr "Nuova foto da questo URL"
+#: ../../include/activities.php:50
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s ha cambiato %2$s in &ldquo;%3$s&rdquo;"
-#: ../../mod/crepair.php:166 ../../mod/fsuggest.php:107
-#: ../../mod/events.php:455 ../../mod/photos.php:1005
-#: ../../mod/photos.php:1081 ../../mod/photos.php:1338
-#: ../../mod/photos.php:1378 ../../mod/photos.php:1419
-#: ../../mod/photos.php:1451 ../../mod/install.php:246
-#: ../../mod/install.php:284 ../../mod/localtime.php:45 ../../mod/poke.php:199
-#: ../../mod/content.php:693 ../../mod/contacts.php:348
-#: ../../mod/settings.php:543 ../../mod/settings.php:697
-#: ../../mod/settings.php:769 ../../mod/settings.php:976
-#: ../../mod/group.php:85 ../../mod/mood.php:137 ../../mod/message.php:294
-#: ../../mod/message.php:480 ../../mod/admin.php:443 ../../mod/admin.php:689
-#: ../../mod/admin.php:826 ../../mod/admin.php:1025 ../../mod/admin.php:1112
-#: ../../mod/profiles.php:583 ../../mod/invite.php:119
-#: ../../addon/fromgplus/fromgplus.php:40
-#: ../../addon/facebook/facebook.php:619
-#: ../../addon/snautofollow/snautofollow.php:64 ../../addon/bg/bg.php:90
-#: ../../addon/fbpost/fbpost.php:226 ../../addon/yourls/yourls.php:76
-#: ../../addon/ljpost/ljpost.php:93 ../../addon/nsfw/nsfw.php:88
-#: ../../addon/page/page.php:210 ../../addon/planets/planets.php:158
-#: ../../addon/uhremotestorage/uhremotestorage.php:89
-#: ../../addon/randplace/randplace.php:177 ../../addon/dwpost/dwpost.php:93
-#: ../../addon/drpost/drpost.php:110 ../../addon/startpage/startpage.php:92
-#: ../../addon/geonames/geonames.php:187 ../../addon/oembed.old/oembed.php:41
-#: ../../addon/forumlist/forumlist.php:163
-#: ../../addon/impressum/impressum.php:83
-#: ../../addon/notimeline/notimeline.php:64 ../../addon/blockem/blockem.php:57
-#: ../../addon/qcomment/qcomment.php:61
-#: ../../addon/openstreetmap/openstreetmap.php:70
-#: ../../addon/group_text/group_text.php:84
-#: ../../addon/libravatar/libravatar.php:99
-#: ../../addon/libertree/libertree.php:90 ../../addon/altpager/altpager.php:87
-#: ../../addon/mathjax/mathjax.php:42 ../../addon/editplain/editplain.php:84
-#: ../../addon/blackout/blackout.php:98 ../../addon/gravatar/gravatar.php:95
-#: ../../addon/pageheader/pageheader.php:55 ../../addon/ijpost/ijpost.php:93
-#: ../../addon/jappixmini/jappixmini.php:307
-#: ../../addon/statusnet/statusnet.php:278
-#: ../../addon/statusnet/statusnet.php:292
-#: ../../addon/statusnet/statusnet.php:318
-#: ../../addon/statusnet/statusnet.php:325
-#: ../../addon/statusnet/statusnet.php:353
-#: ../../addon/statusnet/statusnet.php:576 ../../addon/tumblr/tumblr.php:90
-#: ../../addon/numfriends/numfriends.php:85 ../../addon/gnot/gnot.php:88
-#: ../../addon/wppost/wppost.php:110 ../../addon/showmore/showmore.php:48
-#: ../../addon/piwik/piwik.php:89 ../../addon/twitter/twitter.php:180
-#: ../../addon/twitter/twitter.php:209 ../../addon/twitter/twitter.php:394
-#: ../../addon/irc/irc.php:55 ../../addon/fromapp/fromapp.php:77
-#: ../../addon/blogger/blogger.php:102 ../../addon/posterous/posterous.php:103
-#: ../../view/theme/cleanzero/config.php:80
-#: ../../view/theme/diabook/theme.php:757
-#: ../../view/theme/diabook/config.php:190
-#: ../../view/theme/quattro/config.php:53 ../../view/theme/dispy/config.php:70
-#: ../../object/Item.php:560
-msgid "Submit"
-msgstr "Invia"
+#: ../../include/activities.php:51
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Guarda %2$s di %1$s "
-#: ../../mod/help.php:30
-msgid "Help:"
-msgstr "Guida:"
+#: ../../include/activities.php:54
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s ha aggiornato %2$s cambiando %3$s."
-#: ../../mod/help.php:34 ../../addon/dav/friendica/layout.fnk.php:225
-#: ../../include/nav.php:86
-msgid "Help"
-msgstr "Guida"
+#: ../../include/api.php:968
+msgid "Public Timeline"
+msgstr "Diario pubblico"
-#: ../../mod/help.php:38 ../../index.php:226
-msgid "Not Found"
-msgstr "Non trovato"
+#: ../../include/enotify.php:36
+msgid "Red Matrix Notification"
+msgstr "Notifica di Red Matrix"
-#: ../../mod/help.php:41 ../../index.php:229
-msgid "Page not found."
-msgstr "Pagina non trovata."
+#: ../../include/enotify.php:39
+msgid "Thank You,"
+msgstr "Grazie,"
-#: ../../mod/wall_attach.php:69
+#: ../../include/enotify.php:41
#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Il file supera la dimensione massima di %d"
-
-#: ../../mod/wall_attach.php:110 ../../mod/wall_attach.php:121
-msgid "File upload failed."
-msgstr "Caricamento del file non riuscito."
-
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Suggerimento di amicizia inviato."
+msgid "%s Administrator"
+msgstr "Amministratore %s"
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Suggerisci amici"
+#: ../../include/enotify.php:75
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
-#: ../../mod/fsuggest.php:99
+#: ../../include/enotify.php:79
#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Suggerisci un amico a %s"
+msgid "[Red:Notify] New mail received at %s"
+msgstr "[Red:Notifica] Nuovo messaggio ricevuto alle %s"
-#: ../../mod/events.php:66
-msgid "Event title and start time are required."
-msgstr ""
+#: ../../include/enotify.php:81
+#, php-format
+msgid "%1$s sent you a new private message at %2$s."
+msgstr "%1$s ti ha mandato un messaggio privato alle %2$s."
-#: ../../mod/events.php:279
-msgid "l, F j"
-msgstr "l j F"
+#: ../../include/enotify.php:82
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s ti ha mandato %2$s."
-#: ../../mod/events.php:301
-msgid "Edit event"
-msgstr "Modifca l'evento"
+#: ../../include/enotify.php:82
+msgid "a private message"
+msgstr "un messaggio privato"
-#: ../../mod/events.php:323 ../../include/text.php:1187
-msgid "link to source"
-msgstr "Collegamento all'originale"
+#: ../../include/enotify.php:83
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Visita %s per leggere i tuoi messaggi privati e rispondere."
-#: ../../mod/events.php:347 ../../view/theme/diabook/theme.php:131
-#: ../../include/nav.php:52 ../../boot.php:1689
-msgid "Events"
-msgstr "Eventi"
+#: ../../include/enotify.php:129
+#, php-format
+msgid "%1$s commented on [zrl=%2$s]a %3$s[/zrl]"
+msgstr "%1$s ha commentato [zrl=%2$s]%3$s[/zrl]"
-#: ../../mod/events.php:348
-msgid "Create New Event"
-msgstr "Crea un nuovo evento"
+#: ../../include/enotify.php:136
+#, php-format
+msgid "%1$s commented on [zrl=%2$s]%3$s's %4$s[/zrl]"
+msgstr "%1$s ha commentato [zrl=%2$s]%4$s di %3$s[/zrl]"
-#: ../../mod/events.php:349 ../../addon/dav/friendica/layout.fnk.php:263
-msgid "Previous"
-msgstr "Precendente"
+#: ../../include/enotify.php:144
+#, php-format
+msgid "%1$s commented on [zrl=%2$s]your %3$s[/zrl]"
+msgstr "%1$s ha commentato [zrl=%2$s]%3$s[/zrl] che hai creato"
-#: ../../mod/events.php:350 ../../mod/install.php:205
-#: ../../addon/dav/friendica/layout.fnk.php:266
-msgid "Next"
-msgstr "Successivo"
+#: ../../include/enotify.php:154
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Red:Notifica] Nuovo commento di %2$s alla conversazione #%1$d"
-#: ../../mod/events.php:423
-msgid "hour:minute"
-msgstr "ora:minuti"
+#: ../../include/enotify.php:155
+#, php-format
+msgid "%s commented on an item/conversation you have been following."
+msgstr "%s ha commentato una conversazione che stai seguendo."
-#: ../../mod/events.php:433
-msgid "Event details"
-msgstr "Dettagli dell'evento"
+#: ../../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 "Visita %s per leggere o commentare la conversazione."
-#: ../../mod/events.php:434
+#: ../../include/enotify.php:165
#, php-format
-msgid "Format is %s %s. Starting date and Title are required."
-msgstr ""
+msgid "[Red:Notify] %s posted to your profile wall"
+msgstr "[Red:Notifica] %s ha scritto sulla tua bacheca"
-#: ../../mod/events.php:436
-msgid "Event Starts:"
-msgstr "L'evento inizia:"
+#: ../../include/enotify.php:167
+#, php-format
+msgid "%1$s posted to your profile wall at %2$s"
+msgstr "%1$s ha scritto sulla tua bacheca alle %2$s"
-#: ../../mod/events.php:436 ../../mod/events.php:450
-msgid "Required"
-msgstr ""
+#: ../../include/enotify.php:169
+#, php-format
+msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]"
+msgstr "%1$s ha scritto sulla [zrl=%2$s]tua bacheca[/zrl]"
-#: ../../mod/events.php:439
-msgid "Finish date/time is not known or not relevant"
-msgstr "La data/ora di fine non è definita"
+#: ../../include/enotify.php:195
+#, php-format
+msgid "[Red:Notify] %s tagged you"
+msgstr "[Red:Notifica] %s ti ha taggato"
-#: ../../mod/events.php:441
-msgid "Event Finishes:"
-msgstr "L'evento finisce:"
+#: ../../include/enotify.php:196
+#, php-format
+msgid "%1$s tagged you at %2$s"
+msgstr "%1$s ti ha taggato alle %2$s"
-#: ../../mod/events.php:444
-msgid "Adjust for viewer timezone"
-msgstr "Visualizza con il fuso orario di chi legge"
+#: ../../include/enotify.php:197
+#, php-format
+msgid "%1$s [zrl=%2$s]tagged you[/zrl]."
+msgstr "%1$s [zrl=%2$s]ti ha taggato[/zrl]."
-#: ../../mod/events.php:446
-msgid "Description:"
-msgstr "Descrizione:"
+#: ../../include/enotify.php:209
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
+msgstr "[Red:Notifica] %1$s ti ha mandato un poke"
-#: ../../mod/events.php:448 ../../mod/directory.php:134
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:412
-#: ../../boot.php:1226
-msgid "Location:"
-msgstr "Posizione:"
+#: ../../include/enotify.php:210
+#, php-format
+msgid "%1$s poked you at %2$s"
+msgstr "%1$s ti ha mandato un poke alle %2$s"
-#: ../../mod/events.php:450
-msgid "Title:"
-msgstr ""
+#: ../../include/enotify.php:211
+#, php-format
+msgid "%1$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s [zrl=%2$s]ti ha mandato un poke[/zrl]."
-#: ../../mod/events.php:452
-msgid "Share this event"
-msgstr "Condividi questo evento"
+#: ../../include/enotify.php:226
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
+msgstr "[Red:Notifica] %s ha taggato il tuo articolo"
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 ../../mod/editpost.php:136
-#: ../../mod/dfrn_request.php:847 ../../mod/settings.php:544
-#: ../../mod/settings.php:570 ../../addon/js_upload/js_upload.php:45
-#: ../../include/conversation.php:935
-msgid "Cancel"
-msgstr "Annulla"
+#: ../../include/enotify.php:227
+#, php-format
+msgid "%1$s tagged your post at %2$s"
+msgstr "%1$s ha taggato il tuo articolo alle %2$s"
-#: ../../mod/tagrm.php:41
-msgid "Tag removed"
-msgstr "Tag rimosso"
+#: ../../include/enotify.php:228
+#, php-format
+msgid "%1$s tagged [zrl=%2$s]your post[/zrl]"
+msgstr "%1$s ha taggato [zrl=%2$s]il tuo articolo[/zrl]"
-#: ../../mod/tagrm.php:79
-msgid "Remove Item Tag"
-msgstr "Rimuovi il tag"
+#: ../../include/enotify.php:239
+msgid "[Red:Notify] Introduction received"
+msgstr "[Red:Notifica] Hai una richiesta di amicizia"
-#: ../../mod/tagrm.php:81
-msgid "Select a tag to remove: "
-msgstr "Seleziona un tag da rimuovere: "
+#: ../../include/enotify.php:240
+#, php-format
+msgid "You've received an introduction from '%1$s' at %2$s"
+msgstr "Hai ricevuto una richiesta di amicizia da '%1$s' alle %2$s"
-#: ../../mod/tagrm.php:93 ../../mod/delegate.php:130
-#: ../../addon/dav/common/wdcal_edit.inc.php:468
-msgid "Remove"
-msgstr "Rimuovi"
+#: ../../include/enotify.php:241
+#, php-format
+msgid "You've received [zrl=%1$s]an introduction[/zrl] from %2$s."
+msgstr "Hai ricevuto [zrl=%1$s]una richiesta di amicizia[/zrl] da %2$s."
-#: ../../mod/dfrn_poll.php:99 ../../mod/dfrn_poll.php:530
+#: ../../include/enotify.php:244 ../../include/enotify.php:262
#, php-format
-msgid "%s welcomes %s"
-msgstr "%s dà il benvenuto a %s"
+msgid "You may visit their profile at %s"
+msgstr "Puoi visitare il suo profilo su %s"
-#: ../../mod/api.php:76 ../../mod/api.php:102
-msgid "Authorize application connection"
-msgstr "Autorizza la connessione dell'applicazione"
+#: ../../include/enotify.php:246
+#, php-format
+msgid "Please visit %s to approve or reject the introduction."
+msgstr "Visita %s per approvare o rifiutare la richiesta."
-#: ../../mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Torna alla tua applicazione e inserisci questo codice di sicurezza:"
+#: ../../include/enotify.php:253
+msgid "[Red:Notify] Friend suggestion received"
+msgstr "[Red:Notifica] Ti è stato suggerito un amico"
-#: ../../mod/api.php:89
-msgid "Please login to continue."
-msgstr "Effettua il login per continuare."
+#: ../../include/enotify.php:254
+#, php-format
+msgid "You've received a friend suggestion from '%1$s' at %2$s"
+msgstr "Ti è stato suggerito un amico da '%1$s' alle %2$s"
-#: ../../mod/api.php:104
+#: ../../include/enotify.php:255
+#, php-format
msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Vuoi autorizzare questa applicazione per accedere ai messaggi e ai contatti, e / o creare nuovi messaggi per te?"
-
-#: ../../mod/api.php:105 ../../mod/dfrn_request.php:835
-#: ../../mod/settings.php:892 ../../mod/settings.php:898
-#: ../../mod/settings.php:906 ../../mod/settings.php:910
-#: ../../mod/settings.php:915 ../../mod/settings.php:921
-#: ../../mod/settings.php:927 ../../mod/settings.php:933
-#: ../../mod/settings.php:963 ../../mod/settings.php:964
-#: ../../mod/settings.php:965 ../../mod/settings.php:966
-#: ../../mod/settings.php:967 ../../mod/register.php:236
-#: ../../mod/profiles.php:563
-msgid "Yes"
-msgstr "Si"
-
-#: ../../mod/api.php:106 ../../mod/dfrn_request.php:836
-#: ../../mod/settings.php:892 ../../mod/settings.php:898
-#: ../../mod/settings.php:906 ../../mod/settings.php:910
-#: ../../mod/settings.php:915 ../../mod/settings.php:921
-#: ../../mod/settings.php:927 ../../mod/settings.php:933
-#: ../../mod/settings.php:963 ../../mod/settings.php:964
-#: ../../mod/settings.php:965 ../../mod/settings.php:966
-#: ../../mod/settings.php:967 ../../mod/register.php:237
-#: ../../mod/profiles.php:564
-msgid "No"
-msgstr "No"
-
-#: ../../mod/photos.php:46 ../../boot.php:1682
-msgid "Photo Albums"
-msgstr "Album foto"
-
-#: ../../mod/photos.php:54 ../../mod/photos.php:149 ../../mod/photos.php:986
-#: ../../mod/photos.php:1073 ../../mod/photos.php:1088
-#: ../../mod/photos.php:1530 ../../mod/photos.php:1542
-#: ../../addon/communityhome/communityhome.php:110
-#: ../../view/theme/diabook/theme.php:598
-msgid "Contact Photos"
-msgstr "Foto dei contatti"
+"You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s."
+msgstr "%3$s ti ha [zrl=%1$s]suggerito %2$s[/zrl] come amico."
-#: ../../mod/photos.php:61 ../../mod/photos.php:1104 ../../mod/photos.php:1580
-msgid "Upload New Photos"
-msgstr "Carica nuove foto"
-
-#: ../../mod/photos.php:74 ../../mod/settings.php:23
-msgid "everybody"
-msgstr "tutti"
-
-#: ../../mod/photos.php:138
-msgid "Contact information unavailable"
-msgstr "I dati di questo contatto non sono disponibili"
-
-#: ../../mod/photos.php:149 ../../mod/photos.php:653 ../../mod/photos.php:1073
-#: ../../mod/photos.php:1088 ../../mod/profile_photo.php:74
-#: ../../mod/profile_photo.php:81 ../../mod/profile_photo.php:88
-#: ../../mod/profile_photo.php:204 ../../mod/profile_photo.php:296
-#: ../../mod/profile_photo.php:305
-#: ../../addon/communityhome/communityhome.php:111
-#: ../../view/theme/diabook/theme.php:599 ../../include/user.php:324
-#: ../../include/user.php:331 ../../include/user.php:338
-msgid "Profile Photos"
-msgstr "Foto del profilo"
-
-#: ../../mod/photos.php:159
-msgid "Album not found."
-msgstr "Album non trovato."
-
-#: ../../mod/photos.php:177 ../../mod/photos.php:1082
-msgid "Delete Album"
-msgstr "Rimuovi album"
-
-#: ../../mod/photos.php:240 ../../mod/photos.php:1339
-msgid "Delete Photo"
-msgstr "Rimuovi foto"
-
-#: ../../mod/photos.php:584
-msgid "was tagged in a"
-msgstr "è stato taggato in una"
-
-#: ../../mod/photos.php:584 ../../mod/like.php:145 ../../mod/tagger.php:62
-#: ../../addon/communityhome/communityhome.php:163
-#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1439
-#: ../../include/diaspora.php:1824 ../../include/conversation.php:125
-#: ../../include/conversation.php:253
-msgid "photo"
-msgstr "foto"
-
-#: ../../mod/photos.php:584
-msgid "by"
-msgstr "da"
-
-#: ../../mod/photos.php:689 ../../addon/js_upload/js_upload.php:315
-msgid "Image exceeds size limit of "
-msgstr "L'immagine supera il limite di"
-
-#: ../../mod/photos.php:697
-msgid "Image file is empty."
-msgstr "Il file dell'immagine è vuoto."
-
-#: ../../mod/photos.php:729 ../../mod/profile_photo.php:153
-#: ../../mod/wall_upload.php:110
-msgid "Unable to process image."
-msgstr "Impossibile caricare l'immagine."
-
-#: ../../mod/photos.php:756 ../../mod/profile_photo.php:301
-#: ../../mod/wall_upload.php:136
-msgid "Image upload failed."
-msgstr "Caricamento immagine fallito."
-
-#: ../../mod/photos.php:842 ../../mod/community.php:18
-#: ../../mod/dfrn_request.php:760 ../../mod/viewconnections.php:17
-#: ../../mod/display.php:7 ../../mod/search.php:73 ../../mod/directory.php:31
-msgid "Public access denied."
-msgstr "Accesso negato."
-
-#: ../../mod/photos.php:852
-msgid "No photos selected"
-msgstr "Nessuna foto selezionata"
-
-#: ../../mod/photos.php:953
-msgid "Access to this item is restricted."
-msgstr "Questo oggetto non è visibile a tutti."
+#: ../../include/enotify.php:260
+msgid "Name:"
+msgstr "Nome:"
-#: ../../mod/photos.php:1015
-#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
-msgstr ""
+#: ../../include/enotify.php:261
+msgid "Photo:"
+msgstr "Foto:"
-#: ../../mod/photos.php:1018
+#: ../../include/enotify.php:264
#, php-format
-msgid "You have used %1$.2f Mbytes of photo storage."
-msgstr ""
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Visita %s per approvare o rifiutare il suggerimento."
-#: ../../mod/photos.php:1024
-msgid "Upload Photos"
-msgstr "Carica foto"
+#: ../../include/comanche.php:39
+msgid "Default"
+msgstr "Valore predefinito"
-#: ../../mod/photos.php:1028 ../../mod/photos.php:1077
-msgid "New album name: "
-msgstr "Nome nuovo album: "
+#: ../../include/Contact.php:87 ../../include/contact_widgets.php:9
+#: ../../mod/directory.php:163 ../../mod/match.php:58 ../../mod/suggest.php:56
+#: ../../boot.php:1686
+msgid "Connect"
+msgstr "Connetti"
-#: ../../mod/photos.php:1029
-msgid "or existing album name: "
-msgstr "o nome di un album esistente: "
+#: ../../include/Contact.php:103
+msgid "New window"
+msgstr "Nuova finestra"
-#: ../../mod/photos.php:1030
-msgid "Do not show a status post for this upload"
-msgstr "Non creare un post per questo upload"
+#: ../../include/Contact.php:104
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
-#: ../../mod/photos.php:1032 ../../mod/photos.php:1334
-msgid "Permissions"
-msgstr "Permessi"
-
-#: ../../mod/photos.php:1092
-msgid "Edit Album"
-msgstr "Modifica album"
-
-#: ../../mod/photos.php:1098
-msgid "Show Newest First"
-msgstr ""
+#: ../../include/Contact.php:462 ../../include/conversation.php:914
+msgid "Poke"
+msgstr "Poke"
-#: ../../mod/photos.php:1100
-msgid "Show Oldest First"
-msgstr ""
+#: ../../include/Contact.php:463 ../../include/conversation.php:908
+msgid "View Status"
+msgstr "Guarda il messaggio di stato"
-#: ../../mod/photos.php:1124 ../../mod/photos.php:1563
-msgid "View Photo"
-msgstr "Vedi foto"
+#: ../../include/Contact.php:464 ../../include/nav.php:75
+#: ../../include/conversation.php:909 ../../mod/connections.php:304
+#: ../../mod/connections.php:411
+msgid "View Profile"
+msgstr "Profilo"
-#: ../../mod/photos.php:1159
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Permesso negato. L'accesso a questo elemento può essere limitato."
+#: ../../include/Contact.php:465 ../../include/conversation.php:910
+msgid "View Photos"
+msgstr "Guarda le foto"
-#: ../../mod/photos.php:1161
-msgid "Photo not available"
-msgstr "Foto non disponibile"
+#: ../../include/Contact.php:466 ../../include/conversation.php:911
+msgid "Network Posts"
+msgstr "Articoli dalla tua rete"
-#: ../../mod/photos.php:1217
-msgid "View photo"
-msgstr "Vedi foto"
+#: ../../include/Contact.php:467 ../../include/conversation.php:912
+msgid "Edit Contact"
+msgstr "Modifica il contatto"
-#: ../../mod/photos.php:1217
-msgid "Edit photo"
-msgstr "Modifica foto"
+#: ../../include/Contact.php:468 ../../include/conversation.php:913
+msgid "Send PM"
+msgstr "Invia messaggio privato"
-#: ../../mod/photos.php:1218
-msgid "Use as profile photo"
-msgstr "Usa come foto del profilo"
+#: ../../include/contact_selectors.php:30
+msgid "Unknown | Not categorised"
+msgstr "Sconosciuto | Senza categoria"
-#: ../../mod/photos.php:1224 ../../mod/content.php:603
-#: ../../object/Item.php:103
-msgid "Private Message"
-msgstr "Messaggio privato"
+#: ../../include/contact_selectors.php:31
+msgid "Block immediately"
+msgstr "Blocca subito"
-#: ../../mod/photos.php:1243
-msgid "View Full Size"
-msgstr "Vedi dimensione intera"
+#: ../../include/contact_selectors.php:32
+msgid "Shady, spammer, self-marketer"
+msgstr "Spammer o dedito al marketing"
-#: ../../mod/photos.php:1311
-msgid "Tags: "
-msgstr "Tag: "
+#: ../../include/contact_selectors.php:33
+msgid "Known to me, but no opinion"
+msgstr "Lo conosco, ma non ho un'opinione particolare"
-#: ../../mod/photos.php:1314
-msgid "[Remove any tag]"
-msgstr "[Rimuovi tutti i tag]"
+#: ../../include/contact_selectors.php:34
+msgid "OK, probably harmless"
+msgstr "È ok, probabilmente innocuo"
-#: ../../mod/photos.php:1324
-msgid "Rotate CW (right)"
-msgstr ""
+#: ../../include/contact_selectors.php:35
+msgid "Reputable, has my trust"
+msgstr "Affidabile, ha la mia fiducia"
-#: ../../mod/photos.php:1325
-msgid "Rotate CCW (left)"
-msgstr ""
+#: ../../include/contact_selectors.php:54
+msgid "Frequently"
+msgstr "Frequentemente"
-#: ../../mod/photos.php:1327
-msgid "New album name"
-msgstr "Nuovo nome dell'album"
+#: ../../include/contact_selectors.php:55
+msgid "Hourly"
+msgstr "Ogni ora"
-#: ../../mod/photos.php:1330
-msgid "Caption"
-msgstr "Titolo"
+#: ../../include/contact_selectors.php:56
+msgid "Twice daily"
+msgstr "Due volte al giorno"
-#: ../../mod/photos.php:1332
-msgid "Add a Tag"
-msgstr "Aggiungi tag"
+#: ../../include/contact_selectors.php:57
+msgid "Daily"
+msgstr "Ogni giorno"
-#: ../../mod/photos.php:1336
-msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr "Esempio: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
+#: ../../include/contact_selectors.php:58
+msgid "Weekly"
+msgstr "Ogni settimana"
-#: ../../mod/photos.php:1356 ../../mod/content.php:667
-#: ../../object/Item.php:196
-msgid "I like this (toggle)"
-msgstr "Mi piace (clic per cambiare)"
+#: ../../include/contact_selectors.php:59
+msgid "Monthly"
+msgstr "Ogni mese"
-#: ../../mod/photos.php:1357 ../../mod/content.php:668
-#: ../../object/Item.php:197
-msgid "I don't like this (toggle)"
-msgstr "Non mi piace (clic per cambiare)"
+#: ../../include/contact_selectors.php:74
+msgid "Friendica"
+msgstr "Friendica"
-#: ../../mod/photos.php:1358 ../../include/conversation.php:896
-msgid "Share"
-msgstr "Condividi"
+#: ../../include/contact_selectors.php:75
+msgid "OStatus"
+msgstr "OStatus"
-#: ../../mod/photos.php:1359 ../../mod/editpost.php:112
-#: ../../mod/content.php:482 ../../mod/content.php:845
-#: ../../mod/wallmessage.php:152 ../../mod/message.php:293
-#: ../../mod/message.php:481 ../../include/conversation.php:570
-#: ../../include/conversation.php:915 ../../object/Item.php:258
-msgid "Please wait"
-msgstr "Attendi"
+#: ../../include/contact_selectors.php:76
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
-#: ../../mod/photos.php:1375 ../../mod/photos.php:1416
-#: ../../mod/photos.php:1448 ../../mod/content.php:690
-#: ../../object/Item.php:557
-msgid "This is you"
-msgstr "Questo sei tu"
+#: ../../include/contact_selectors.php:77 ../../mod/admin.php:636
+#: ../../mod/admin.php:645 ../../boot.php:1421
+msgid "Email"
+msgstr "Email"
-#: ../../mod/photos.php:1377 ../../mod/photos.php:1418
-#: ../../mod/photos.php:1450 ../../mod/content.php:692 ../../boot.php:574
-#: ../../object/Item.php:559
-msgid "Comment"
-msgstr "Commento"
+#: ../../include/contact_selectors.php:78
+msgid "Diaspora"
+msgstr "Diaspora"
-#: ../../mod/photos.php:1379 ../../mod/editpost.php:133
-#: ../../mod/content.php:702 ../../include/conversation.php:933
-#: ../../object/Item.php:569
-msgid "Preview"
-msgstr "Anteprima"
+#: ../../include/contact_selectors.php:79
+msgid "Facebook"
+msgstr "Facebook"
-#: ../../mod/photos.php:1479 ../../mod/content.php:439
-#: ../../mod/content.php:723 ../../mod/settings.php:606
-#: ../../mod/settings.php:695 ../../mod/group.php:168 ../../mod/admin.php:696
-#: ../../include/conversation.php:515 ../../object/Item.php:117
-msgid "Delete"
-msgstr "Rimuovi"
+#: ../../include/contact_selectors.php:80
+msgid "Zot!"
+msgstr "Zot!"
-#: ../../mod/photos.php:1569
-msgid "View Album"
-msgstr "Sfoglia l'album"
+#: ../../include/contact_selectors.php:81
+msgid "LinkedIn"
+msgstr "LinkedIn"
-#: ../../mod/photos.php:1578
-msgid "Recent Photos"
-msgstr "Foto recenti"
+#: ../../include/contact_selectors.php:82
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
-#: ../../mod/community.php:23
-msgid "Not available."
-msgstr "Non disponibile."
+#: ../../include/contact_selectors.php:83
+msgid "MySpace"
+msgstr "MySpace"
-#: ../../mod/community.php:32 ../../view/theme/diabook/theme.php:133
-#: ../../include/nav.php:101
-msgid "Community"
-msgstr "Comunità"
+#: ../../include/contact_widgets.php:6
+msgid "Add New Connection"
+msgstr "Aggiungi un contatto"
-#: ../../mod/community.php:63 ../../mod/community.php:88
-#: ../../mod/search.php:148 ../../mod/search.php:174
-msgid "No results."
-msgstr "Nessun risultato."
+#: ../../include/contact_widgets.php:7
+msgid "Enter the channel address"
+msgstr "Scrivi l'indirizzo del canale"
-#: ../../mod/friendica.php:55
-msgid "This is Friendica, version"
-msgstr "Questo è Friendica, versione"
+#: ../../include/contact_widgets.php:8
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Per esempio: mario@pippo.it oppure http://pluto.com/barbara"
-#: ../../mod/friendica.php:56
-msgid "running at web location"
-msgstr "in esecuzione sull'indirizzo web"
+#: ../../include/contact_widgets.php:23
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d invito disponibile"
+msgstr[1] "%d inviti disponibili"
-#: ../../mod/friendica.php:58
-msgid ""
-"Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn "
-"more about the Friendica project."
-msgstr "Visita <a href=\"http://friendica.com\">Friendica.com</a> per saperne di più sul progetto Friendica."
+#: ../../include/contact_widgets.php:29
+msgid "Find Channels"
+msgstr "Ricerca canali"
-#: ../../mod/friendica.php:60
-msgid "Bug reports and issues: please visit"
-msgstr "Segnalazioni di bug e problemi: visita"
+#: ../../include/contact_widgets.php:30
+msgid "Enter name or interest"
+msgstr "Scrivi un nome o un interesse"
-#: ../../mod/friendica.php:61
-msgid ""
-"Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - "
-"dot com"
-msgstr "Suggerimenti, lodi, donazioni, ecc - e-mail a \"Info\" at Friendica punto com"
+#: ../../include/contact_widgets.php:31
+msgid "Connect/Follow"
+msgstr "Segui"
-#: ../../mod/friendica.php:75
-msgid "Installed plugins/addons/apps:"
-msgstr "Plugin/addon/applicazioni instalate"
+#: ../../include/contact_widgets.php:32
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Per esempio: Mario Rossi, Pesca"
-#: ../../mod/friendica.php:88
-msgid "No installed plugins/addons/apps"
-msgstr "Nessun plugin/addons/applicazione installata"
+#: ../../include/contact_widgets.php:33 ../../mod/directory.php:182
+#: ../../mod/directory.php:187 ../../mod/connections.php:666
+msgid "Find"
+msgstr "Cerca"
-#: ../../mod/editpost.php:17 ../../mod/editpost.php:27
-msgid "Item not found"
-msgstr "Oggetto non trovato"
+#: ../../include/contact_widgets.php:34 ../../mod/suggest.php:64
+msgid "Channel Suggestions"
+msgstr "Canali suggeriti"
-#: ../../mod/editpost.php:36
-msgid "Edit post"
-msgstr "Modifica messaggio"
+#: ../../include/contact_widgets.php:35
+msgid "Similar Interests"
+msgstr "Interessi simili"
-#: ../../mod/editpost.php:88 ../../include/conversation.php:882
-msgid "Post to Email"
-msgstr "Invia a email"
+#: ../../include/contact_widgets.php:36
+msgid "Random Profile"
+msgstr "Profilo casuale"
-#: ../../mod/editpost.php:103 ../../mod/content.php:710
-#: ../../mod/settings.php:605 ../../object/Item.php:107
-msgid "Edit"
-msgstr "Modifica"
+#: ../../include/contact_widgets.php:37
+msgid "Invite Friends"
+msgstr "Invita amici"
-#: ../../mod/editpost.php:104 ../../mod/wallmessage.php:150
-#: ../../mod/message.php:291 ../../mod/message.php:478
-#: ../../include/conversation.php:897
-msgid "Upload photo"
-msgstr "Carica foto"
+#: ../../include/contact_widgets.php:61 ../../include/features.php:58
+msgid "Saved Folders"
+msgstr "Cartelle salvate"
-#: ../../mod/editpost.php:105 ../../include/conversation.php:899
-msgid "Attach file"
-msgstr "Allega file"
+#: ../../include/contact_widgets.php:64 ../../include/contact_widgets.php:91
+msgid "Everything"
+msgstr "Tutto"
-#: ../../mod/editpost.php:106 ../../mod/wallmessage.php:151
-#: ../../mod/message.php:292 ../../mod/message.php:479
-#: ../../include/conversation.php:901
-msgid "Insert web link"
-msgstr "Inserisci link"
+#: ../../include/contact_widgets.php:88
+msgid "Categories"
+msgstr "Categorie"
-#: ../../mod/editpost.php:107
-msgid "Insert YouTube video"
-msgstr "Inserisci video da YouTube"
+#: ../../include/contact_widgets.php:121
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d contatto in comune"
+msgstr[1] "%d contatti in comune"
-#: ../../mod/editpost.php:108
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Inserisci video Vorbis [.ogg]"
+#: ../../include/contact_widgets.php:126 ../../include/js_strings.php:7
+#: ../../include/ItemObject.php:255
+msgid "show more"
+msgstr "mostra tutti"
-#: ../../mod/editpost.php:109
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Inserisci audio Vorbis [.ogg]"
+#: ../../include/datetime.php:43 ../../include/datetime.php:45
+msgid "Miscellaneous"
+msgstr "Altro"
-#: ../../mod/editpost.php:110 ../../include/conversation.php:907
-msgid "Set your location"
-msgstr "La tua posizione"
+#: ../../include/datetime.php:152 ../../include/datetime.php:284
+msgid "year"
+msgstr "anno"
-#: ../../mod/editpost.php:111 ../../include/conversation.php:909
-msgid "Clear browser location"
-msgstr "Rimuovi la localizzazione data dal browser"
+#: ../../include/datetime.php:157 ../../include/datetime.php:285
+msgid "month"
+msgstr "mese"
-#: ../../mod/editpost.php:113 ../../include/conversation.php:916
-msgid "Permission settings"
-msgstr "Impostazioni permessi"
+#: ../../include/datetime.php:162 ../../include/datetime.php:287
+msgid "day"
+msgstr "giorno"
-#: ../../mod/editpost.php:121 ../../include/conversation.php:925
-msgid "CC: email addresses"
-msgstr "CC: indirizzi email"
+#: ../../include/datetime.php:275
+msgid "never"
+msgstr "mai"
-#: ../../mod/editpost.php:122 ../../include/conversation.php:926
-msgid "Public post"
-msgstr "Messaggio pubblico"
+#: ../../include/datetime.php:281
+msgid "less than a second ago"
+msgstr "meno di un secondo fa"
-#: ../../mod/editpost.php:125 ../../include/conversation.php:912
-msgid "Set title"
-msgstr "Scegli un titolo"
+#: ../../include/datetime.php:284
+msgid "years"
+msgstr "anni"
-#: ../../mod/editpost.php:127 ../../include/conversation.php:914
-msgid "Categories (comma-separated list)"
-msgstr "Categorie (lista separata da virgola)"
+#: ../../include/datetime.php:285
+msgid "months"
+msgstr "mesi"
-#: ../../mod/editpost.php:128 ../../include/conversation.php:928
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Esempio: bob@example.com, mary@example.com"
+#: ../../include/datetime.php:286
+msgid "week"
+msgstr "settimana"
-#: ../../mod/dfrn_request.php:93
-msgid "This introduction has already been accepted."
-msgstr "Questa presentazione è già stata accettata."
+#: ../../include/datetime.php:286
+msgid "weeks"
+msgstr "settimane"
-#: ../../mod/dfrn_request.php:118 ../../mod/dfrn_request.php:512
-msgid "Profile location is not valid or does not contain profile information."
-msgstr "L'indirizzo del profilo non è valido o non contiene un profilo."
+#: ../../include/datetime.php:287
+msgid "days"
+msgstr "giorni"
-#: ../../mod/dfrn_request.php:123 ../../mod/dfrn_request.php:517
-msgid "Warning: profile location has no identifiable owner name."
-msgstr "Attenzione: l'indirizzo del profilo non riporta il nome del proprietario."
+#: ../../include/datetime.php:288
+msgid "hour"
+msgstr "ora"
-#: ../../mod/dfrn_request.php:125 ../../mod/dfrn_request.php:519
-msgid "Warning: profile location has no profile photo."
-msgstr "Attenzione: l'indirizzo del profilo non ha una foto."
+#: ../../include/datetime.php:288
+msgid "hours"
+msgstr "ore"
-#: ../../mod/dfrn_request.php:128 ../../mod/dfrn_request.php:522
-#, php-format
-msgid "%d required parameter was not found at the given location"
-msgid_plural "%d required parameters were not found at the given location"
-msgstr[0] "%d parametro richiesto non è stato trovato all'indirizzo dato"
-msgstr[1] "%d parametri richiesti non sono stati trovati all'indirizzo dato"
+#: ../../include/datetime.php:289
+msgid "minute"
+msgstr "minuto"
-#: ../../mod/dfrn_request.php:170
-msgid "Introduction complete."
-msgstr "Presentazione completa."
+#: ../../include/datetime.php:289
+msgid "minutes"
+msgstr "minuti"
-#: ../../mod/dfrn_request.php:209
-msgid "Unrecoverable protocol error."
-msgstr "Errore di comunicazione."
+#: ../../include/datetime.php:290
+msgid "second"
+msgstr "secondo"
-#: ../../mod/dfrn_request.php:237
-msgid "Profile unavailable."
-msgstr "Profilo non disponibile."
+#: ../../include/datetime.php:290
+msgid "seconds"
+msgstr "secondi"
-#: ../../mod/dfrn_request.php:262
+#: ../../include/datetime.php:299
#, php-format
-msgid "%s has received too many connection requests today."
-msgstr "%s ha ricevuto troppe richieste di connessione per oggi."
-
-#: ../../mod/dfrn_request.php:263
-msgid "Spam protection measures have been invoked."
-msgstr "Sono state attivate le misure di protezione contro lo spam."
-
-#: ../../mod/dfrn_request.php:264
-msgid "Friends are advised to please try again in 24 hours."
-msgstr "Gli amici sono pregati di riprovare tra 24 ore."
-
-#: ../../mod/dfrn_request.php:326
-msgid "Invalid locator"
-msgstr "Invalid locator"
-
-#: ../../mod/dfrn_request.php:335
-msgid "Invalid email address."
-msgstr "Indirizzo email non valido."
-
-#: ../../mod/dfrn_request.php:361
-msgid "This account has not been configured for email. Request failed."
-msgstr ""
-
-#: ../../mod/dfrn_request.php:457
-msgid "Unable to resolve your name at the provided location."
-msgstr "Impossibile risolvere il tuo nome nella posizione indicata."
-
-#: ../../mod/dfrn_request.php:470
-msgid "You have already introduced yourself here."
-msgstr "Ti sei già presentato qui."
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s fa"
-#: ../../mod/dfrn_request.php:474
+#: ../../include/dba/dba_driver.php:50
#, php-format
-msgid "Apparently you are already friends with %s."
-msgstr "Pare che tu e %s siate già amici."
-
-#: ../../mod/dfrn_request.php:495
-msgid "Invalid profile URL."
-msgstr "Indirizzo profilo non valido."
-
-#: ../../mod/dfrn_request.php:501 ../../include/follow.php:27
-msgid "Disallowed profile URL."
-msgstr "Indirizzo profilo non permesso."
-
-#: ../../mod/dfrn_request.php:570 ../../mod/contacts.php:123
-msgid "Failed to update contact record."
-msgstr "Errore nell'aggiornamento del contatto."
-
-#: ../../mod/dfrn_request.php:591
-msgid "Your introduction has been sent."
-msgstr "La tua presentazione è stata inviata."
-
-#: ../../mod/dfrn_request.php:644
-msgid "Please login to confirm introduction."
-msgstr "Accedi per confermare la presentazione."
-
-#: ../../mod/dfrn_request.php:658
-msgid ""
-"Incorrect identity currently logged in. Please login to "
-"<strong>this</strong> profile."
-msgstr "Non hai fatto accesso con l'identità corretta. Accedi a <strong>questo</strong> profilo."
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "Non trovo le informazioni DNS per il database server '%s'"
-#: ../../mod/dfrn_request.php:669
-msgid "Hide this contact"
-msgstr ""
+#: ../../include/event.php:11 ../../include/bb2diaspora.php:433
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\@ G:i"
-#: ../../mod/dfrn_request.php:672
-#, php-format
-msgid "Welcome home %s."
-msgstr "Bentornato a casa %s."
+#: ../../include/event.php:20 ../../include/bb2diaspora.php:439
+msgid "Starts:"
+msgstr "Inizio:"
-#: ../../mod/dfrn_request.php:673
-#, php-format
-msgid "Please confirm your introduction/connection request to %s."
-msgstr "Conferma la tua richiesta di connessione con %s."
+#: ../../include/event.php:30 ../../include/bb2diaspora.php:447
+msgid "Finishes:"
+msgstr "Fine:"
-#: ../../mod/dfrn_request.php:674
-msgid "Confirm"
-msgstr "Conferma"
+#: ../../include/event.php:40 ../../include/bb2diaspora.php:455
+#: ../../mod/events.php:450 ../../mod/directory.php:138 ../../boot.php:1736
+msgid "Location:"
+msgstr "Luogo:"
-#: ../../mod/dfrn_request.php:715 ../../include/items.php:3292
-msgid "[Name Withheld]"
-msgstr "[Nome Nascosto]"
+#: ../../include/features.php:21
+msgid "General Features"
+msgstr "Funzionalità generali"
-#: ../../mod/dfrn_request.php:810
-msgid ""
-"Please enter your 'Identity Address' from one of the following supported "
-"communications networks:"
-msgstr "Inserisci il tuo 'Indirizzo Identità' da uno dei seguenti network supportati:"
+#: ../../include/features.php:24
+msgid "Multiple Profiles"
+msgstr "Profili multipli"
-#: ../../mod/dfrn_request.php:826
-msgid "<strike>Connect as an email follower</strike> (Coming soon)"
-msgstr "<strike>Connetti un email come follower</strike> (in arrivo)"
+#: ../../include/features.php:24
+msgid "Ability to create multiple profiles"
+msgstr "Abilitazione a creare profili multipli"
-#: ../../mod/dfrn_request.php:828
-msgid ""
-"If you are not yet a member of the free social web, <a "
-"href=\"http://dir.friendica.com/siteinfo\">follow this link to find a public"
-" Friendica site and join us today</a>."
-msgstr "Se non sei un membro del web sociale libero, <a href=\"http://dir.friendica.com/siteinfo\">segui questo link per trovare un sito Friendica pubblico e unisciti a noi oggi</a>"
+#: ../../include/features.php:25
+msgid "Web Pages"
+msgstr "Pagine web"
-#: ../../mod/dfrn_request.php:831
-msgid "Friend/Connection Request"
-msgstr "Richieste di amicizia/connessione"
+#: ../../include/features.php:25
+msgid "Provide managed web pages on your channel"
+msgstr "Attiva la creazione di pagine web sul tuo canale"
-#: ../../mod/dfrn_request.php:832
-msgid ""
-"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
-"testuser@identi.ca"
-msgstr "Esempi: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"
+#: ../../include/features.php:26
+msgid "Enhanced Photo Albums"
+msgstr "Album fotografici avanzati"
-#: ../../mod/dfrn_request.php:833
-msgid "Please answer the following:"
-msgstr "Rispondi:"
+#: ../../include/features.php:26
+msgid "Enable photo album with enhanced features"
+msgstr "Abilita gli album fotografici con funzionalità avanzate"
-#: ../../mod/dfrn_request.php:834
-#, php-format
-msgid "Does %s know you?"
-msgstr "%s ti conosce?"
+#: ../../include/features.php:28
+msgid "Extended Identity Sharing"
+msgstr "Condivisione avanzata dell'identità"
-#: ../../mod/dfrn_request.php:837
-msgid "Add a personal note:"
-msgstr "Aggiungi una nota personale:"
+#: ../../include/features.php:28 ../../include/js_strings.php:28
+msgid " "
+msgstr " "
-#: ../../mod/dfrn_request.php:839 ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
+#: ../../include/features.php:29
+msgid "Expert Mode"
+msgstr "Modalità esperto"
-#: ../../mod/dfrn_request.php:840
-msgid "StatusNet/Federated Social Web"
-msgstr "StatusNet/Federated Social Web"
+#: ../../include/features.php:29
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate"
-#: ../../mod/dfrn_request.php:841 ../../mod/settings.php:640
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
+#: ../../include/features.php:30
+msgid "Premium Channel"
+msgstr "Canale premium"
-#: ../../mod/dfrn_request.php:842
-#, php-format
+#: ../../include/features.php:30
msgid ""
-" - please do not use this form. Instead, enter %s into your Diaspora search"
-" bar."
-msgstr " - per favore non usare questa form. Invece, inserisci %s nella tua barra di ricerca su Diaspora."
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Ti permette di imporre delle restrizioni e dei termini d'uso a chi segue il canale"
-#: ../../mod/dfrn_request.php:843
-msgid "Your Identity Address:"
-msgstr "L'indirizzo della tua identità:"
+#: ../../include/features.php:35
+msgid "Post Composition Features"
+msgstr "Modalità di scrittura articoli"
-#: ../../mod/dfrn_request.php:846
-msgid "Submit Request"
-msgstr "Invia richiesta"
+#: ../../include/features.php:36
+msgid "Richtext Editor"
+msgstr "Editor grafico"
-#: ../../mod/install.php:117
-msgid "Friendica Social Communications Server - Setup"
-msgstr "Friendica Social Communications Server - Setup"
+#: ../../include/features.php:36
+msgid "Enable richtext editor"
+msgstr "Abilita l'editor grafico"
-#: ../../mod/install.php:123
-msgid "Could not connect to database."
-msgstr " Impossibile collegarsi con il database."
+#: ../../include/features.php:37
+msgid "Post Preview"
+msgstr "Anteprima articolo"
-#: ../../mod/install.php:127
-msgid "Could not create table."
-msgstr "Impossibile creare le tabelle."
+#: ../../include/features.php:37
+msgid "Allow previewing posts and comments before publishing them"
+msgstr "Abilita l'anteprima degli articoli e dei commenti prima di pubblicarli"
-#: ../../mod/install.php:133
-msgid "Your Friendica site database has been installed."
-msgstr "Il tuo Friendica è stato installato."
+#: ../../include/features.php:42
+msgid "Network and Stream Filtering"
+msgstr "Filtraggio dei contenuti"
-#: ../../mod/install.php:138
-msgid ""
-"You may need to import the file \"database.sql\" manually using phpmyadmin "
-"or mysql."
-msgstr "Potresti dover importare il file \"database.sql\" manualmente con phpmyadmin o mysql"
+#: ../../include/features.php:43
+msgid "Search by Date"
+msgstr "Ricerca per data"
-#: ../../mod/install.php:139 ../../mod/install.php:204
-#: ../../mod/install.php:488
-msgid "Please see the file \"INSTALL.txt\"."
-msgstr "Leggi il file \"INSTALL.txt\"."
+#: ../../include/features.php:43
+msgid "Ability to select posts by date ranges"
+msgstr "Per selezionare gli articoli in un intervallo tra date"
-#: ../../mod/install.php:201
-msgid "System check"
-msgstr "Controllo sistema"
+#: ../../include/features.php:44
+msgid "Collections Filter"
+msgstr "Filtra per insiemi di canali"
-#: ../../mod/install.php:206
-msgid "Check again"
-msgstr "Controlla ancora"
+#: ../../include/features.php:44
+msgid "Enable widget to display Network posts only from selected collections"
+msgstr "Mostra il riquadro per filtrare gli articoli di certi insiemi di canali"
-#: ../../mod/install.php:225
-msgid "Database connection"
-msgstr "Connessione al database"
+#: ../../include/features.php:45 ../../mod/network.php:150
+#: ../../mod/search.php:17
+msgid "Saved Searches"
+msgstr "Ricerche salvate"
-#: ../../mod/install.php:226
-msgid ""
-"In order to install Friendica we need to know how to connect to your "
-"database."
-msgstr "Per installare Friendica dobbiamo sapere come collegarci al tuo database."
+#: ../../include/features.php:45
+msgid "Save search terms for re-use"
+msgstr "Salva i termini delle ricerche per poterle ripetere"
-#: ../../mod/install.php:227
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
+#: ../../include/features.php:46
+msgid "Network Personal Tab"
+msgstr "Attività personale"
-#: ../../mod/install.php:228
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "Il database dovrà già esistere. Se non esiste, crealo prima di continuare."
+#: ../../include/features.php:46
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Abilita il link per mostrare solamente i contenuti con cui hai interagito"
-#: ../../mod/install.php:232
-msgid "Database Server Name"
-msgstr "Nome del database server"
+#: ../../include/features.php:47
+msgid "Network New Tab"
+msgstr "Contenuti nuovi"
-#: ../../mod/install.php:233
-msgid "Database Login Name"
-msgstr "Nome utente database"
+#: ../../include/features.php:47
+msgid "Enable tab to display all new Network activity"
+msgstr "Abilita il link per visualizzare solo i nuovi contenuti"
-#: ../../mod/install.php:234
-msgid "Database Login Password"
-msgstr "Password utente database"
+#: ../../include/features.php:48
+msgid "Affinity Tool"
+msgstr "Filtro per affinità"
-#: ../../mod/install.php:235
-msgid "Database Name"
-msgstr "Nome database"
+#: ../../include/features.php:48
+msgid "Filter stream activity by depth of relationships"
+msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
-#: ../../mod/install.php:236 ../../mod/install.php:275
-msgid "Site administrator email address"
-msgstr "Indirizzo email dell'amministratore del sito"
+#: ../../include/features.php:53
+msgid "Post/Comment Tools"
+msgstr "Gestione articoli e commenti"
-#: ../../mod/install.php:236 ../../mod/install.php:275
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web."
+#: ../../include/features.php:54
+msgid "Multiple Deletion"
+msgstr "Eliminazione multipla"
-#: ../../mod/install.php:240 ../../mod/install.php:278
-msgid "Please select a default timezone for your website"
-msgstr "Seleziona il fuso orario predefinito per il tuo sito web"
+#: ../../include/features.php:54
+msgid "Select and delete multiple posts/comments at once"
+msgstr "Rendi possibile l'eliminazione di molti articoli o commenti con un solo comando"
-#: ../../mod/install.php:265
-msgid "Site settings"
-msgstr "Impostazioni sito"
+#: ../../include/features.php:55
+msgid "Edit Sent Posts"
+msgstr "Modifica gli articoli già inviati"
-#: ../../mod/install.php:318
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Non riesco a trovare la versione di PHP da riga di comando nel PATH del server web"
+#: ../../include/features.php:55
+msgid "Edit and correct posts and comments after sending"
+msgstr "Modifica e correggi gli articoli o i commenti anche dopo l'invio"
-#: ../../mod/install.php:319
-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. See <a "
-"href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"
-msgstr ""
+#: ../../include/features.php:56
+msgid "Tagging"
+msgstr "Tag"
-#: ../../mod/install.php:323
-msgid "PHP executable path"
-msgstr "Percorso eseguibile PHP"
+#: ../../include/features.php:56
+msgid "Ability to tag existing posts"
+msgstr "Permetti l'aggiunta di tag su articoli già esistenti"
-#: ../../mod/install.php:323
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr ""
+#: ../../include/features.php:57
+msgid "Post Categories"
+msgstr "Categorie degli articoli"
-#: ../../mod/install.php:328
-msgid "Command line PHP"
-msgstr "PHP da riga di comando"
+#: ../../include/features.php:57
+msgid "Add categories to your posts"
+msgstr "Abilita le categorie per i tuoi articoli"
-#: ../../mod/install.php:337
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
+#: ../../include/features.php:58
+msgid "Ability to file posts under folders"
+msgstr "Abilita la raccolta dei tuoi articoli in cartelle"
-#: ../../mod/install.php:338
-msgid "This is required for message delivery to work."
-msgstr "E' obbligatorio per far funzionare la consegna dei messaggi."
+#: ../../include/features.php:59
+msgid "Dislike Posts"
+msgstr "Non mi piace"
-#: ../../mod/install.php:340
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
+#: ../../include/features.php:59
+msgid "Ability to dislike posts/comments"
+msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi articoli"
-#: ../../mod/install.php:361
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Errore: la funzione \"openssl_pkey_new\" in questo sistema non è in grado di generare le chiavi di criptazione"
+#: ../../include/features.php:60
+msgid "Star Posts"
+msgstr "Articoli stella (preferiti)"
-#: ../../mod/install.php:362
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Se stai eseguendo friendika su windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
+#: ../../include/features.php:60
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Mostra la stella per scegliere gli articoli preferiti"
-#: ../../mod/install.php:364
-msgid "Generate encryption keys"
-msgstr "Genera chiavi di criptazione"
+#: ../../include/features.php:61
+msgid "Tag Cloud"
+msgstr "Nuvola di tag"
-#: ../../mod/install.php:371
-msgid "libCurl PHP module"
-msgstr "modulo PHP libCurl"
+#: ../../include/features.php:61
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
-#: ../../mod/install.php:372
-msgid "GD graphics PHP module"
-msgstr "modulo PHP GD graphics"
+#: ../../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 "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso."
-#: ../../mod/install.php:373
-msgid "OpenSSL PHP module"
-msgstr "modulo PHP OpenSSL"
+#: ../../include/group.php:223
+msgid "Default privacy group for new contacts"
+msgstr "Insieme predefinito per i nuovi canali che aggiungi"
-#: ../../mod/install.php:374
-msgid "mysqli PHP module"
-msgstr "modulo PHP mysqli"
+#: ../../include/group.php:242
+msgid "All Channels"
+msgstr "Tutti i canali"
-#: ../../mod/install.php:375
-msgid "mb_string PHP module"
-msgstr "modulo PHP mb_string"
+#: ../../include/group.php:264 ../../include/page_widgets.php:8
+msgid "edit"
+msgstr "modifica"
-#: ../../mod/install.php:380 ../../mod/install.php:382
-msgid "Apache mod_rewrite module"
-msgstr ""
+#: ../../include/group.php:285
+msgid "Collections"
+msgstr "Insiemi di canali"
-#: ../../mod/install.php:380
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
+#: ../../include/group.php:286
+msgid "Edit collection"
+msgstr "Modifica l'insieme di canali"
-#: ../../mod/install.php:388
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
+#: ../../include/group.php:287
+msgid "Create a new collection"
+msgstr "Crea un nuovo insieme"
-#: ../../mod/install.php:392
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
+#: ../../include/group.php:288
+msgid "Channels not in any collection"
+msgstr "Canali che non sono in un insieme"
-#: ../../mod/install.php:396
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
+#: ../../include/group.php:290 ../../mod/network.php:151
+msgid "add"
+msgstr "aggiungi"
-#: ../../mod/install.php:400
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Errore: il modulo mysqli di PHP è richiesto ma non installato"
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "Eliminare questo elemento?"
-#: ../../mod/install.php:404
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
+#: ../../include/js_strings.php:6 ../../include/ItemObject.php:504
+#: ../../mod/photos.php:1073 ../../mod/photos.php:1157
+msgid "Comment"
+msgstr "Commento"
-#: ../../mod/install.php:421
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella principale del tuo web server ma non è in grado di farlo."
+#: ../../include/js_strings.php:8
+msgid "show fewer"
+msgstr "riduci"
-#: ../../mod/install.php:422
-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 "Ciò è dovuto spesso a impostazioni di permessi, dato che il web server puo' scrivere il file nella tua cartella, anche se tu puoi."
+#: ../../include/js_strings.php:9
+msgid "Password too short"
+msgstr "Password troppo corta"
-#: ../../mod/install.php:423
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Friendica top folder."
-msgstr ""
+#: ../../include/js_strings.php:10
+msgid "Passwords do not match"
+msgstr "Le password non corrispondono"
-#: ../../mod/install.php:424
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"INSTALL.txt\" for instructions."
-msgstr ""
+#: ../../include/js_strings.php:11 ../../mod/photos.php:45
+msgid "everybody"
+msgstr "tutti"
-#: ../../mod/install.php:427
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php è scrivibile"
+#: ../../include/js_strings.php:13
+msgid "timeago.prefixAgo"
+msgstr "timeago.prefixAgo"
-#: ../../mod/install.php:439
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-msgstr ""
+#: ../../include/js_strings.php:14
+msgid "timeago.suffixAgo"
+msgstr "timeago.suffixAgo"
-#: ../../mod/install.php:441
-msgid "Url rewrite is working"
-msgstr ""
+#: ../../include/js_strings.php:15
+msgid "ago"
+msgstr "fa"
-#: ../../mod/install.php:451
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare un file di configurazione nella cartella principale del tuo sito."
+#: ../../include/js_strings.php:16
+msgid "from now"
+msgstr "da adesso"
-#: ../../mod/install.php:475
-msgid "Errors encountered creating database tables."
-msgstr "La creazione delle tabelle del database ha generato errori."
+#: ../../include/js_strings.php:17
+msgid "less than a minute"
+msgstr "meno di un minuto"
-#: ../../mod/install.php:486
-msgid "<h1>What next</h1>"
-msgstr ""
+#: ../../include/js_strings.php:18
+msgid "about a minute"
+msgstr "circa un minuto"
-#: ../../mod/install.php:487
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "IMPORTANTE: Devi impostare [manualmente] la pianificazione del poller."
+#: ../../include/js_strings.php:19
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuti"
-#: ../../mod/localtime.php:12 ../../include/event.php:11
-#: ../../include/bb2diaspora.php:390
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\@ G:i"
+#: ../../include/js_strings.php:20
+msgid "about an hour"
+msgstr "circa un’ora"
-#: ../../mod/localtime.php:24
-msgid "Time Conversion"
-msgstr "Conversione Ora"
+#: ../../include/js_strings.php:21
+#, php-format
+msgid "about %d hours"
+msgstr "circa %d ore"
-#: ../../mod/localtime.php:26
-msgid ""
-"Friendika provides this service for sharing events with other networks and "
-"friends in unknown timezones."
-msgstr "Friendika fornisce questo servizio per la condivisione di eventi con altre reti e contatti in fusi orari sconosciuti."
+#: ../../include/js_strings.php:22
+msgid "a day"
+msgstr "un giorno"
-#: ../../mod/localtime.php:30
+#: ../../include/js_strings.php:23
#, php-format
-msgid "UTC time: %s"
-msgstr "Ora UTC: %s"
+msgid "%d days"
+msgstr "%d giorni"
-#: ../../mod/localtime.php:33
-#, php-format
-msgid "Current timezone: %s"
-msgstr "Fuso orario corrente: %s"
+#: ../../include/js_strings.php:24
+msgid "about a month"
+msgstr "circa un mese"
-#: ../../mod/localtime.php:36
+#: ../../include/js_strings.php:25
#, php-format
-msgid "Converted localtime: %s"
-msgstr "Ora locale convertita: %s"
+msgid "%d months"
+msgstr "%d mesi"
-#: ../../mod/localtime.php:41
-msgid "Please select your timezone:"
-msgstr "Selezionare il tuo fuso orario:"
+#: ../../include/js_strings.php:26
+msgid "about a year"
+msgstr "circa un anno"
-#: ../../mod/poke.php:192
-msgid "Poke/Prod"
-msgstr ""
+#: ../../include/js_strings.php:27
+#, php-format
+msgid "%d years"
+msgstr "%d anni"
-#: ../../mod/poke.php:193
-msgid "poke, prod or do other things to somebody"
-msgstr ""
+#: ../../include/js_strings.php:29
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
-#: ../../mod/poke.php:194
-msgid "Recipient"
-msgstr ""
+#: ../../include/message.php:18
+msgid "No recipient provided."
+msgstr "Devi scegliere un destinatario."
-#: ../../mod/poke.php:195
-msgid "Choose what you wish to do to recipient"
-msgstr ""
-
-#: ../../mod/poke.php:198
-msgid "Make this post private"
-msgstr ""
+#: ../../include/message.php:23
+msgid "[no subject]"
+msgstr "[nessun titolo]"
-#: ../../mod/match.php:12
-msgid "Profile Match"
-msgstr "Profili corrispondenti"
+#: ../../include/message.php:38
+msgid "Unable to determine sender."
+msgstr "Impossibile determinare il mittente."
-#: ../../mod/match.php:20
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Nessuna parola chiave per l'abbinamento. Aggiungi parole chiave al tuo profilo predefinito."
+#: ../../include/message.php:138
+msgid "Stored post could not be verified."
+msgstr "Non è stato possibile verificare l'articolo inserito."
-#: ../../mod/match.php:57
-msgid "is interested in:"
-msgstr "è interessato a:"
+#: ../../include/network.php:1103
+msgid "view full size"
+msgstr "guarda nelle dimensioni reali"
-#: ../../mod/match.php:58 ../../mod/suggest.php:59
-#: ../../include/contact_widgets.php:9 ../../boot.php:1164
-msgid "Connect"
-msgstr "Connetti"
+#: ../../include/photo/photo_driver.php:609 ../../include/photos.php:51
+#: ../../mod/photos.php:97 ../../mod/photos.php:755 ../../mod/photos.php:777
+#: ../../mod/profile_photo.php:88 ../../mod/profile_photo.php:235
+#: ../../mod/profile_photo.php:346
+msgid "Profile Photos"
+msgstr "Foto del profilo"
-#: ../../mod/match.php:65 ../../mod/dirfind.php:60
-msgid "No matches"
-msgstr "Nessun risultato"
+#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:118
+#: ../../mod/profperm.php:112
+msgid "Profile"
+msgstr "Profilo"
-#: ../../mod/lockview.php:39
-msgid "Remote privacy information not available."
-msgstr "Informazioni remote sulla privacy non disponibili."
+#: ../../include/profile_advanced.php:15 ../../mod/settings.php:1031
+msgid "Full Name:"
+msgstr "Nome completo:"
-#: ../../mod/lockview.php:43
-msgid "Visible to:"
-msgstr "Visibile a:"
+#: ../../include/profile_advanced.php:17 ../../mod/directory.php:140
+#: ../../boot.php:1738
+msgid "Gender:"
+msgstr "Sesso:"
-#: ../../mod/content.php:119 ../../mod/network.php:436
-msgid "No such group"
-msgstr "Nessun gruppo"
+#: ../../include/profile_advanced.php:22
+msgid "j F, Y"
+msgstr "j F Y"
-#: ../../mod/content.php:130 ../../mod/network.php:447
-msgid "Group is empty"
-msgstr "Il gruppo è vuoto"
+#: ../../include/profile_advanced.php:23
+msgid "j F"
+msgstr "j F"
-#: ../../mod/content.php:134 ../../mod/network.php:451
-msgid "Group: "
-msgstr "Gruppo: "
+#: ../../include/profile_advanced.php:30
+msgid "Birthday:"
+msgstr "Compleanno:"
-#: ../../mod/content.php:438 ../../mod/content.php:722
-#: ../../include/conversation.php:514 ../../object/Item.php:116
-msgid "Select"
-msgstr "Seleziona"
+#: ../../include/profile_advanced.php:34
+msgid "Age:"
+msgstr "Età:"
-#: ../../mod/content.php:455 ../../mod/content.php:815
-#: ../../mod/content.php:816 ../../include/conversation.php:533
-#: ../../object/Item.php:227 ../../object/Item.php:228
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Vedi il profilo di %s @ %s"
+#: ../../include/profile_advanced.php:37 ../../mod/directory.php:142
+#: ../../boot.php:1739
+msgid "Status:"
+msgstr "Stato:"
-#: ../../mod/content.php:465 ../../mod/content.php:827
-#: ../../include/conversation.php:553 ../../object/Item.php:240
+#: ../../include/profile_advanced.php:43
#, php-format
-msgid "%s from %s"
-msgstr "%s da %s"
-
-#: ../../mod/content.php:480 ../../include/conversation.php:568
-msgid "View in context"
-msgstr "Vedi nel contesto"
+msgid "for %1$d %2$s"
+msgstr "per %1$d %2$s"
-#: ../../mod/content.php:586 ../../object/Item.php:277
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d commento"
-msgstr[1] "%d commenti"
+#: ../../include/profile_advanced.php:46 ../../mod/profiles.php:549
+msgid "Sexual Preference:"
+msgstr "Preferenze sessuali:"
-#: ../../mod/content.php:588 ../../include/text.php:1443
-#: ../../object/Item.php:279 ../../object/Item.php:292
-msgid "comment"
-msgid_plural "comments"
-msgstr[0] ""
-msgstr[1] "commento"
-
-#: ../../mod/content.php:589 ../../addon/page/page.php:76
-#: ../../addon/page/page.php:110 ../../addon/showmore/showmore.php:119
-#: ../../include/contact_widgets.php:195 ../../boot.php:575
-#: ../../object/Item.php:280
-msgid "show more"
-msgstr "mostra di più"
+#: ../../include/profile_advanced.php:48 ../../mod/directory.php:144
+#: ../../boot.php:1740
+msgid "Homepage:"
+msgstr "Homepage:"
-#: ../../mod/content.php:667 ../../object/Item.php:196
-msgid "like"
-msgstr "mi piace"
+#: ../../include/profile_advanced.php:50 ../../mod/profiles.php:551
+msgid "Hometown:"
+msgstr "Città dove vivo:"
-#: ../../mod/content.php:668 ../../object/Item.php:197
-msgid "dislike"
-msgstr "non mi piace"
+#: ../../include/profile_advanced.php:52
+msgid "Tags:"
+msgstr "Tag:"
-#: ../../mod/content.php:670 ../../object/Item.php:199
-msgid "Share this"
-msgstr "Condividi questo"
+#: ../../include/profile_advanced.php:54 ../../mod/profiles.php:552
+msgid "Political Views:"
+msgstr "Orientamento politico:"
-#: ../../mod/content.php:670 ../../object/Item.php:199
-msgid "share"
-msgstr "condividi"
+#: ../../include/profile_advanced.php:56
+msgid "Religion:"
+msgstr "Religione:"
-#: ../../mod/content.php:694 ../../object/Item.php:561
-msgid "Bold"
-msgstr ""
+#: ../../include/profile_advanced.php:58 ../../mod/directory.php:146
+msgid "About:"
+msgstr "Informazioni:"
-#: ../../mod/content.php:695 ../../object/Item.php:562
-msgid "Italic"
-msgstr ""
+#: ../../include/profile_advanced.php:60
+msgid "Hobbies/Interests:"
+msgstr "Interessi e hobby:"
-#: ../../mod/content.php:696 ../../object/Item.php:563
-msgid "Underline"
-msgstr ""
+#: ../../include/profile_advanced.php:62 ../../mod/profiles.php:555
+msgid "Likes:"
+msgstr "Mi piace:"
-#: ../../mod/content.php:697 ../../object/Item.php:564
-msgid "Quote"
-msgstr ""
+#: ../../include/profile_advanced.php:64 ../../mod/profiles.php:556
+msgid "Dislikes:"
+msgstr "Non mi piace:"
-#: ../../mod/content.php:698 ../../object/Item.php:565
-msgid "Code"
-msgstr ""
+#: ../../include/profile_advanced.php:67
+msgid "Contact information and Social Networks:"
+msgstr "Contatti e social network:"
-#: ../../mod/content.php:699 ../../object/Item.php:566
-msgid "Image"
-msgstr ""
+#: ../../include/profile_advanced.php:69
+msgid "Musical interests:"
+msgstr "Gusti musicali:"
-#: ../../mod/content.php:700 ../../object/Item.php:567
-msgid "Link"
-msgstr ""
+#: ../../include/profile_advanced.php:71
+msgid "Books, literature:"
+msgstr "Libri, letteratura:"
-#: ../../mod/content.php:701 ../../object/Item.php:568
-msgid "Video"
-msgstr ""
+#: ../../include/profile_advanced.php:73
+msgid "Television:"
+msgstr "Televisione:"
-#: ../../mod/content.php:735 ../../object/Item.php:180
-msgid "add star"
-msgstr "aggiungi a speciali"
+#: ../../include/profile_advanced.php:75
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film, danza, cultura, intrattenimento:"
-#: ../../mod/content.php:736 ../../object/Item.php:181
-msgid "remove star"
-msgstr "rimuovi da speciali"
+#: ../../include/profile_advanced.php:77
+msgid "Love/Romance:"
+msgstr "Amore:"
-#: ../../mod/content.php:737 ../../object/Item.php:182
-msgid "toggle star status"
-msgstr "Inverti stato preferito"
+#: ../../include/profile_advanced.php:79
+msgid "Work/employment:"
+msgstr "Lavoro:"
-#: ../../mod/content.php:740 ../../object/Item.php:185
-msgid "starred"
-msgstr "preferito"
+#: ../../include/profile_advanced.php:81
+msgid "School/education:"
+msgstr "Scuola:"
-#: ../../mod/content.php:741 ../../object/Item.php:186
-msgid "add tag"
-msgstr "aggiungi tag"
+#: ../../include/nav.php:71 ../../include/nav.php:86 ../../boot.php:1418
+msgid "Logout"
+msgstr "Esci"
-#: ../../mod/content.php:745 ../../object/Item.php:120
-msgid "save to folder"
-msgstr "salva nella cartella"
+#: ../../include/nav.php:71 ../../include/nav.php:86
+msgid "End this session"
+msgstr "Chiudi questa sessione"
-#: ../../mod/content.php:817 ../../object/Item.php:229
-msgid "to"
-msgstr "a"
+#: ../../include/nav.php:74 ../../include/nav.php:116
+#: ../../include/nav.php:148
+msgid "Home"
+msgstr "Bacheca"
-#: ../../mod/content.php:818 ../../object/Item.php:230
-msgid "Wall-to-Wall"
-msgstr "Da bacheca a bacheca"
+#: ../../include/nav.php:74 ../../include/nav.php:148
+msgid "Your posts and conversations"
+msgstr "I tuoi articoli e conversazioni"
-#: ../../mod/content.php:819 ../../object/Item.php:231
-msgid "via Wall-To-Wall:"
-msgstr "da bacheca a bacheca"
+#: ../../include/nav.php:75
+msgid "Your profile page"
+msgstr "Il tuo profilo"
-#: ../../mod/home.php:28 ../../addon/communityhome/communityhome.php:179
-#, php-format
-msgid "Welcome to %s"
-msgstr "Benvenuto su %s"
+#: ../../include/nav.php:77
+msgid "Edit Profiles"
+msgstr "Modifica i profili"
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "L'identificativo della richiesta non è valido."
+#: ../../include/nav.php:77
+msgid "Manage/Edit Profiles"
+msgstr "Gestisci e modifica i profili"
-#: ../../mod/notifications.php:35 ../../mod/notifications.php:161
-#: ../../mod/notifications.php:207
-msgid "Discard"
-msgstr "Scarta"
+#: ../../include/nav.php:78 ../../mod/fbrowser.php:25 ../../boot.php:2176
+msgid "Photos"
+msgstr "Foto"
-#: ../../mod/notifications.php:51 ../../mod/notifications.php:160
-#: ../../mod/notifications.php:206 ../../mod/contacts.php:321
-#: ../../mod/contacts.php:375
-msgid "Ignore"
-msgstr "Ignora"
+#: ../../include/nav.php:78
+msgid "Your photos"
+msgstr "Le tue foto"
-#: ../../mod/notifications.php:75
-msgid "System"
-msgstr "Sistema"
+#: ../../include/nav.php:84 ../../boot.php:1419
+msgid "Login"
+msgstr "Accedi"
-#: ../../mod/notifications.php:80 ../../include/nav.php:113
-msgid "Network"
-msgstr "Rete"
+#: ../../include/nav.php:84
+msgid "Sign in"
+msgstr "Entra"
-#: ../../mod/notifications.php:85 ../../mod/network.php:300
-msgid "Personal"
-msgstr "Personale"
+#: ../../include/nav.php:100
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - clicca per uscire"
-#: ../../mod/notifications.php:90 ../../view/theme/diabook/theme.php:127
-#: ../../include/nav.php:77 ../../include/nav.php:115
-msgid "Home"
-msgstr "Home"
+#: ../../include/nav.php:103
+msgid "Click to authenticate to your home hub"
+msgstr "Clicca per autenticarti sul tuo server principale"
-#: ../../mod/notifications.php:95 ../../include/nav.php:121
-msgid "Introductions"
-msgstr "Presentazioni"
+#: ../../include/nav.php:116
+msgid "Home Page"
+msgstr "Bacheca"
-#: ../../mod/notifications.php:100 ../../mod/message.php:176
-#: ../../include/nav.php:128
-msgid "Messages"
-msgstr "Messaggi"
+#: ../../include/nav.php:120 ../../mod/register.php:181 ../../boot.php:1394
+msgid "Register"
+msgstr "Iscriviti"
-#: ../../mod/notifications.php:119
-msgid "Show Ignored Requests"
-msgstr "Mostra richieste ignorate"
+#: ../../include/nav.php:120
+msgid "Create an account"
+msgstr "Crea un account"
-#: ../../mod/notifications.php:119
-msgid "Hide Ignored Requests"
-msgstr "Nascondi richieste ignorate"
+#: ../../include/nav.php:125 ../../mod/help.php:34
+msgid "Help"
+msgstr "Guida"
-#: ../../mod/notifications.php:145 ../../mod/notifications.php:191
-msgid "Notification type: "
-msgstr "Tipo di notifica: "
+#: ../../include/nav.php:125
+msgid "Help and documentation"
+msgstr "Guida e documentazione"
-#: ../../mod/notifications.php:146
-msgid "Friend Suggestion"
-msgstr "Amico suggerito"
+#: ../../include/nav.php:128
+msgid "Apps"
+msgstr "Apps"
-#: ../../mod/notifications.php:148
-#, php-format
-msgid "suggested by %s"
-msgstr "sugerito da %s"
+#: ../../include/nav.php:128
+msgid "Addon applications, utilities, games"
+msgstr "App, strumenti e giochi aggiuntivi"
-#: ../../mod/notifications.php:153 ../../mod/notifications.php:200
-#: ../../mod/contacts.php:381
-msgid "Hide this contact from others"
-msgstr "Nascondi questo contatto agli altri"
+#: ../../include/nav.php:130 ../../include/text.php:701
+#: ../../include/text.php:702 ../../mod/search.php:96
+msgid "Search"
+msgstr "Cerca"
-#: ../../mod/notifications.php:154 ../../mod/notifications.php:201
-msgid "Post a new friend activity"
-msgstr "Invia una attività \"è ora amico con\""
+#: ../../include/nav.php:130
+msgid "Search site content"
+msgstr "Cerca nel sito"
-#: ../../mod/notifications.php:154 ../../mod/notifications.php:201
-msgid "if applicable"
-msgstr "se applicabile"
+#: ../../include/nav.php:133 ../../mod/directory.php:186
+msgid "Directory"
+msgstr "Tutti i canali"
-#: ../../mod/notifications.php:157 ../../mod/notifications.php:204
-#: ../../mod/admin.php:694
-msgid "Approve"
-msgstr "Approva"
+#: ../../include/nav.php:133
+msgid "Channel Locator"
+msgstr "Ricerca canali"
-#: ../../mod/notifications.php:177
-msgid "Claims to be known to you: "
-msgstr "Dice di conoscerti: "
+#: ../../include/nav.php:144
+msgid "Matrix"
+msgstr "Matrix"
-#: ../../mod/notifications.php:177
-msgid "yes"
-msgstr "si"
+#: ../../include/nav.php:144
+msgid "Conversations from your grid"
+msgstr "Le conversazioni dalla tua rete di contatti"
-#: ../../mod/notifications.php:177
-msgid "no"
-msgstr "no"
+#: ../../include/nav.php:145
+msgid "See all matrix notifications"
+msgstr "Guarda le notifiche della tua rete di contatti"
-#: ../../mod/notifications.php:184
-msgid "Approve as: "
-msgstr "Approva come: "
+#: ../../include/nav.php:146
+msgid "Mark all matrix notifications seen"
+msgstr "Segna come lette le notifiche della tua rete"
-#: ../../mod/notifications.php:185
-msgid "Friend"
-msgstr "Amico"
+#: ../../include/nav.php:149
+msgid "See all channel notifications"
+msgstr "Guarda le notifiche dei canali"
-#: ../../mod/notifications.php:186
-msgid "Sharer"
-msgstr "Condivisore"
+#: ../../include/nav.php:150
+msgid "Mark all channel notifications seen"
+msgstr "Segna come lette le notifiche dei canali"
-#: ../../mod/notifications.php:186
-msgid "Fan/Admirer"
-msgstr "Fan/Ammiratore"
+#: ../../include/nav.php:153
+msgid "Intros"
+msgstr "Richieste"
-#: ../../mod/notifications.php:192
-msgid "Friend/Connect Request"
-msgstr "Richiesta amicizia/connessione"
+#: ../../include/nav.php:153 ../../mod/connections.php:554
+msgid "New Connections"
+msgstr "Nuovi contatti"
-#: ../../mod/notifications.php:192
-msgid "New Follower"
-msgstr "Qualcuno inizia a seguirti"
+#: ../../include/nav.php:154
+msgid "See all channel introductions"
+msgstr "Guarda tutte le richieste di amicizia"
-#: ../../mod/notifications.php:213
-msgid "No introductions."
-msgstr "Nessuna presentazione."
+#: ../../include/nav.php:157
+msgid "Notices"
+msgstr "Notifiche"
-#: ../../mod/notifications.php:216 ../../include/nav.php:122
+#: ../../include/nav.php:157 ../../mod/notifications.php:218
msgid "Notifications"
msgstr "Notifiche"
-#: ../../mod/notifications.php:253 ../../mod/notifications.php:378
-#: ../../mod/notifications.php:465
-#, php-format
-msgid "%s liked %s's post"
-msgstr "a %s è piaciuto il messaggio di %s"
-
-#: ../../mod/notifications.php:262 ../../mod/notifications.php:387
-#: ../../mod/notifications.php:474
-#, php-format
-msgid "%s disliked %s's post"
-msgstr "a %s non è piaciuto il messaggio di %s"
+#: ../../include/nav.php:158
+msgid "See all notifications"
+msgstr "Vedi tutte le notifiche"
-#: ../../mod/notifications.php:276 ../../mod/notifications.php:401
-#: ../../mod/notifications.php:488
-#, php-format
-msgid "%s is now friends with %s"
-msgstr "%s è ora amico di %s"
+#: ../../include/nav.php:159
+msgid "Mark all system notifications seen"
+msgstr "Segna come lette le notifiche di sistema"
-#: ../../mod/notifications.php:283 ../../mod/notifications.php:408
-#, php-format
-msgid "%s created a new post"
-msgstr "%s a creato un nuovo messaggio"
+#: ../../include/nav.php:161
+msgid "Mail"
+msgstr "Messaggi"
-#: ../../mod/notifications.php:284 ../../mod/notifications.php:409
-#: ../../mod/notifications.php:497
-#, php-format
-msgid "%s commented on %s's post"
-msgstr "%s ha commentato il messaggio di %s"
+#: ../../include/nav.php:161
+msgid "Private mail"
+msgstr "Messaggi privati"
-#: ../../mod/notifications.php:298
-msgid "No more network notifications."
-msgstr "Nessuna nuova."
+#: ../../include/nav.php:162
+msgid "See all private messages"
+msgstr "Guarda tutti i messaggi privati"
-#: ../../mod/notifications.php:302
-msgid "Network Notifications"
-msgstr "Notifiche dalla rete"
+#: ../../include/nav.php:163
+msgid "Mark all private messages seen"
+msgstr "Segna come letti tutti i messaggi privati"
-#: ../../mod/notifications.php:328 ../../mod/notify.php:61
-msgid "No more system notifications."
-msgstr "Nessuna nuova notifica di sistema."
+#: ../../include/nav.php:164
+msgid "Inbox"
+msgstr "In arrivo"
-#: ../../mod/notifications.php:332 ../../mod/notify.php:65
-msgid "System Notifications"
-msgstr "Notifiche di sistema"
+#: ../../include/nav.php:165
+msgid "Outbox"
+msgstr "Inviati"
-#: ../../mod/notifications.php:423
-msgid "No more personal notifications."
-msgstr "Nessuna nuova."
+#: ../../include/nav.php:166 ../../mod/message.php:21
+msgid "New Message"
+msgstr "Nuovo messaggio"
-#: ../../mod/notifications.php:427
-msgid "Personal Notifications"
-msgstr "Notifiche personali"
+#: ../../include/nav.php:169 ../../mod/events.php:348 ../../boot.php:2187
+msgid "Events"
+msgstr "Eventi"
-#: ../../mod/notifications.php:504
-msgid "No more home notifications."
-msgstr "Nessuna nuova."
+#: ../../include/nav.php:169
+msgid "Event Calendar"
+msgstr "Calendario"
-#: ../../mod/notifications.php:508
-msgid "Home Notifications"
-msgstr "Notifiche bacheca"
+#: ../../include/nav.php:170
+msgid "See all events"
+msgstr "Guarda tutti gli eventi"
-#: ../../mod/contacts.php:84 ../../mod/contacts.php:164
-msgid "Could not access contact record."
-msgstr "Non è possibile accedere al contatto."
+#: ../../include/nav.php:171
+msgid "Mark all events seen"
+msgstr "Marca come letti tutti gli eventi"
-#: ../../mod/contacts.php:98
-msgid "Could not locate selected profile."
-msgstr "Non riesco a trovare il profilo selezionato."
+#: ../../include/nav.php:173
+msgid "Channel Select"
+msgstr "Gestisci i canali"
-#: ../../mod/contacts.php:121
-msgid "Contact updated."
-msgstr "Contatto aggiornato."
+#: ../../include/nav.php:173
+msgid "Manage Your Channels"
+msgstr "Gestisci i contatti dei tuoi canali"
-#: ../../mod/contacts.php:186
-msgid "Contact has been blocked"
-msgstr "Il contatto è stato bloccato"
+#: ../../include/nav.php:175 ../../mod/settings.php:120
+#: ../../mod/admin.php:728 ../../mod/admin.php:933
+msgid "Settings"
+msgstr "Impostazioni"
-#: ../../mod/contacts.php:186
-msgid "Contact has been unblocked"
-msgstr "Il contatto è stato sbloccato"
+#: ../../include/nav.php:175
+msgid "Account/Channel Settings"
+msgstr "Impostazioni account e canali"
-#: ../../mod/contacts.php:200
-msgid "Contact has been ignored"
-msgstr "Il contatto è ignorato"
+#: ../../include/nav.php:177 ../../mod/connections.php:660
+msgid "Connections"
+msgstr "Contatti"
-#: ../../mod/contacts.php:200
-msgid "Contact has been unignored"
-msgstr "Il contatto non è più ignorato"
+#: ../../include/nav.php:177
+msgid "Manage/Edit Friends and Connections"
+msgstr "Modifica amici e contatti"
-#: ../../mod/contacts.php:216
-msgid "Contact has been archived"
-msgstr ""
+#: ../../include/nav.php:184 ../../mod/admin.php:106
+msgid "Admin"
+msgstr "Amministrazione"
-#: ../../mod/contacts.php:216
-msgid "Contact has been unarchived"
-msgstr ""
+#: ../../include/nav.php:184
+msgid "Site Setup and Configuration"
+msgstr "Configurazione del sito"
-#: ../../mod/contacts.php:229
-msgid "Contact has been removed."
-msgstr "Il contatto è stato rimosso."
+#: ../../include/nav.php:207
+msgid "Nothing new here"
+msgstr "Niente di nuovo qui"
-#: ../../mod/contacts.php:263
-#, php-format
-msgid "You are mutual friends with %s"
-msgstr "Sei amico reciproco con %s"
+#: ../../include/nav.php:212
+msgid "Please wait..."
+msgstr "Attendere..."
-#: ../../mod/contacts.php:267
-#, php-format
-msgid "You are sharing with %s"
-msgstr "Stai condividendo con %s"
+#: ../../include/notify.php:23
+msgid "created a new post"
+msgstr "Ha creato un nuovo articolo"
-#: ../../mod/contacts.php:272
+#: ../../include/notify.php:24
#, php-format
-msgid "%s is sharing with you"
-msgstr "%s sta condividendo con te"
-
-#: ../../mod/contacts.php:289
-msgid "Private communications are not available for this contact."
-msgstr "Le comunicazioni private non sono disponibili per questo contatto."
-
-#: ../../mod/contacts.php:292
-msgid "Never"
-msgstr "Mai"
-
-#: ../../mod/contacts.php:296
-msgid "(Update was successful)"
-msgstr "(L'aggiornamento è stato completato)"
-
-#: ../../mod/contacts.php:296
-msgid "(Update was not successful)"
-msgstr "(L'aggiornamento non è stato completato)"
+msgid "commented on %s's post"
+msgstr "ha commentato l'articolo di %s"
-#: ../../mod/contacts.php:298
-msgid "Suggest friends"
-msgstr "Suggerisci amici"
+#: ../../include/oembed.php:148
+msgid "Embedded content"
+msgstr "Contenuti incorporati"
-#: ../../mod/contacts.php:302
-#, php-format
-msgid "Network type: %s"
-msgstr "Tipo di rete: %s"
+#: ../../include/oembed.php:157
+msgid "Embedding disabled"
+msgstr "Contenuti incorporati - funzione disabilitata"
+
+#: ../../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:3316
+#: ../../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:645 ../../mod/viewsrc.php:12 ../../mod/menu.php:40
+#: ../../mod/message.php:204 ../../mod/item.php:152 ../../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/nogroup.php:25
+#: ../../mod/profile_photo.php:197 ../../mod/profile_photo.php:210
+#: ../../mod/editwebpage.php:49 ../../mod/notifications.php:66
+#: ../../mod/editpost.php:11 ../../mod/poke.php:128 ../../mod/channel.php:115
+#: ../../mod/fsuggest.php:78 ../../mod/suggest.php:32
+#: ../../mod/register.php:60 ../../mod/regmod.php:18 ../../mod/mood.php:112
+#: ../../index.php:178 ../../index.php:340
+msgid "Permission denied."
+msgstr "Permesso negato."
-#: ../../mod/contacts.php:305 ../../include/contact_widgets.php:190
+#: ../../include/photos.php:88
#, php-format
-msgid "%d contact in common"
-msgid_plural "%d contacts in common"
-msgstr[0] "%d contatto in comune"
-msgstr[1] "%d contatti in comune"
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "L'immagine supera il limite massimo di %lu bytes"
-#: ../../mod/contacts.php:310
-msgid "View all contacts"
-msgstr "Vedi tutti i contatti"
+#: ../../include/photos.php:95
+msgid "Image file is empty."
+msgstr "Il file dell'immagine è vuoto."
-#: ../../mod/contacts.php:315 ../../mod/contacts.php:374
-#: ../../mod/admin.php:698
-msgid "Unblock"
-msgstr "Sblocca"
+#: ../../include/photos.php:124 ../../mod/profile_photo.php:157
+msgid "Unable to process image"
+msgstr "Impossibile elaborare l'immagine"
-#: ../../mod/contacts.php:315 ../../mod/contacts.php:374
-#: ../../mod/admin.php:697
-msgid "Block"
-msgstr "Blocca"
+#: ../../include/photos.php:186
+msgid "Photo storage failed."
+msgstr "Impossibile caricare la foto."
-#: ../../mod/contacts.php:318
-msgid "Toggle Blocked status"
-msgstr ""
+#: ../../include/photos.php:287 ../../boot.php:2179
+msgid "Photo Albums"
+msgstr "Album foto"
-#: ../../mod/contacts.php:321 ../../mod/contacts.php:375
-msgid "Unignore"
-msgstr "Non ignorare"
+#: ../../include/photos.php:291 ../../mod/photos.php:793
+#: ../../mod/photos.php:1267
+msgid "Upload New Photos"
+msgstr "Carica nuove foto"
-#: ../../mod/contacts.php:324
-msgid "Toggle Ignored status"
-msgstr ""
+#: ../../include/profile_selectors.php:6
+msgid "Male"
+msgstr "Maschio"
-#: ../../mod/contacts.php:328
-msgid "Unarchive"
-msgstr ""
+#: ../../include/profile_selectors.php:6
+msgid "Female"
+msgstr "Femmina"
-#: ../../mod/contacts.php:328
-msgid "Archive"
-msgstr ""
+#: ../../include/profile_selectors.php:6
+msgid "Currently Male"
+msgstr "Al momento maschio"
-#: ../../mod/contacts.php:331
-msgid "Toggle Archive status"
-msgstr ""
+#: ../../include/profile_selectors.php:6
+msgid "Currently Female"
+msgstr "Al momento femmina"
-#: ../../mod/contacts.php:334
-msgid "Repair"
-msgstr "Ripara"
+#: ../../include/profile_selectors.php:6
+msgid "Mostly Male"
+msgstr "Prevalentemente maschio"
-#: ../../mod/contacts.php:337
-msgid "Advanced Contact Settings"
-msgstr ""
+#: ../../include/profile_selectors.php:6
+msgid "Mostly Female"
+msgstr "Prevalentemente femmina"
-#: ../../mod/contacts.php:343
-msgid "Communications lost with this contact!"
-msgstr ""
+#: ../../include/profile_selectors.php:6
+msgid "Transgender"
+msgstr "Transgender"
-#: ../../mod/contacts.php:346
-msgid "Contact Editor"
-msgstr "Editor dei Contatti"
+#: ../../include/profile_selectors.php:6
+msgid "Intersex"
+msgstr "Intersex"
-#: ../../mod/contacts.php:349
-msgid "Profile Visibility"
-msgstr "Visibilità del profilo"
+#: ../../include/profile_selectors.php:6
+msgid "Transsexual"
+msgstr "Transessuale"
-#: ../../mod/contacts.php:350
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro."
+#: ../../include/profile_selectors.php:6
+msgid "Hermaphrodite"
+msgstr "Ermafrodito"
-#: ../../mod/contacts.php:351
-msgid "Contact Information / Notes"
-msgstr "Informazioni / Note sul contatto"
+#: ../../include/profile_selectors.php:6
+msgid "Neuter"
+msgstr "Neutro"
-#: ../../mod/contacts.php:352
-msgid "Edit contact notes"
-msgstr "Modifica note contatto"
+#: ../../include/profile_selectors.php:6
+msgid "Non-specific"
+msgstr "Non specificato"
-#: ../../mod/contacts.php:357 ../../mod/contacts.php:549
-#: ../../mod/viewconnections.php:62 ../../mod/nogroup.php:40
-#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Visita il profilo di %s [%s]"
+#: ../../include/profile_selectors.php:6
+msgid "Other"
+msgstr "Altro"
-#: ../../mod/contacts.php:358
-msgid "Block/Unblock contact"
-msgstr "Blocca/Sblocca contatto"
+#: ../../include/profile_selectors.php:6
+msgid "Undecided"
+msgstr "Indeciso"
-#: ../../mod/contacts.php:359
-msgid "Ignore contact"
-msgstr "Ignora il contatto"
+#: ../../include/profile_selectors.php:23
+msgid "Males"
+msgstr "Maschi"
-#: ../../mod/contacts.php:360
-msgid "Repair URL settings"
-msgstr "Impostazioni riparazione URL"
+#: ../../include/profile_selectors.php:23
+msgid "Females"
+msgstr "Femmine"
-#: ../../mod/contacts.php:361
-msgid "View conversations"
-msgstr "Vedi conversazioni"
+#: ../../include/profile_selectors.php:23
+msgid "Gay"
+msgstr "Gay"
-#: ../../mod/contacts.php:363
-msgid "Delete contact"
-msgstr "Rimuovi contatto"
+#: ../../include/profile_selectors.php:23
+msgid "Lesbian"
+msgstr "Lesbica"
-#: ../../mod/contacts.php:367
-msgid "Last update:"
-msgstr "Ultimo aggiornamento:"
+#: ../../include/profile_selectors.php:23
+msgid "No Preference"
+msgstr "Senza preferenza"
-#: ../../mod/contacts.php:369
-msgid "Update public posts"
-msgstr "Aggiorna messaggi pubblici"
+#: ../../include/profile_selectors.php:23
+msgid "Bisexual"
+msgstr "Bisessuale"
-#: ../../mod/contacts.php:371 ../../mod/admin.php:1170
-msgid "Update now"
-msgstr "Aggiorna adesso"
+#: ../../include/profile_selectors.php:23
+msgid "Autosexual"
+msgstr "Autosessuale"
-#: ../../mod/contacts.php:378
-msgid "Currently blocked"
-msgstr "Bloccato"
+#: ../../include/profile_selectors.php:23
+msgid "Abstinent"
+msgstr "Astinente"
-#: ../../mod/contacts.php:379
-msgid "Currently ignored"
-msgstr "Ignorato"
+#: ../../include/profile_selectors.php:23
+msgid "Virgin"
+msgstr "Vergine"
-#: ../../mod/contacts.php:380
-msgid "Currently archived"
-msgstr ""
+#: ../../include/profile_selectors.php:23
+msgid "Deviant"
+msgstr "Deviato"
-#: ../../mod/contacts.php:381
-msgid ""
-"Replies/likes to your public posts <strong>may</strong> still be visible"
-msgstr "Risposte ai tuoi post pubblici <strong>possono</strong> essere comunque visibili"
+#: ../../include/profile_selectors.php:23
+msgid "Fetish"
+msgstr "Feticista"
-#: ../../mod/contacts.php:434
-msgid "Suggestions"
-msgstr "Suggerimenti"
+#: ../../include/profile_selectors.php:23
+msgid "Oodles"
+msgstr "Un sacco"
-#: ../../mod/contacts.php:437
-msgid "Suggest potential friends"
-msgstr ""
+#: ../../include/profile_selectors.php:23
+msgid "Nonsexual"
+msgstr "Asessuato"
-#: ../../mod/contacts.php:440 ../../mod/group.php:191
-msgid "All Contacts"
-msgstr "Tutti i contatti"
+#: ../../include/profile_selectors.php:42
+msgid "Single"
+msgstr "Single"
-#: ../../mod/contacts.php:443
-msgid "Show all contacts"
-msgstr ""
+#: ../../include/profile_selectors.php:42
+msgid "Lonely"
+msgstr "Da solo"
-#: ../../mod/contacts.php:446
-msgid "Unblocked"
-msgstr ""
+#: ../../include/profile_selectors.php:42
+msgid "Available"
+msgstr "Disponibile"
-#: ../../mod/contacts.php:449
-msgid "Only show unblocked contacts"
-msgstr ""
+#: ../../include/profile_selectors.php:42
+msgid "Unavailable"
+msgstr "Non disponibile"
-#: ../../mod/contacts.php:453
-msgid "Blocked"
-msgstr ""
+#: ../../include/profile_selectors.php:42
+msgid "Has crush"
+msgstr "Ha una cotta"
-#: ../../mod/contacts.php:456
-msgid "Only show blocked contacts"
-msgstr ""
+#: ../../include/profile_selectors.php:42
+msgid "Infatuated"
+msgstr "Infatuato/a"
-#: ../../mod/contacts.php:460
-msgid "Ignored"
-msgstr ""
+#: ../../include/profile_selectors.php:42
+msgid "Dating"
+msgstr "Disponibile a un incontro"
-#: ../../mod/contacts.php:463
-msgid "Only show ignored contacts"
-msgstr ""
+#: ../../include/profile_selectors.php:42
+msgid "Unfaithful"
+msgstr "Infedele"
-#: ../../mod/contacts.php:467
-msgid "Archived"
-msgstr ""
+#: ../../include/profile_selectors.php:42
+msgid "Sex Addict"
+msgstr "Sesso-dipendente"
-#: ../../mod/contacts.php:470
-msgid "Only show archived contacts"
-msgstr ""
+#: ../../include/profile_selectors.php:42 ../../include/identity.php:236
+#: ../../mod/network.php:364 ../../mod/connections.php:377
+msgid "Friends"
+msgstr "Amici"
-#: ../../mod/contacts.php:474
-msgid "Hidden"
-msgstr ""
+#: ../../include/profile_selectors.php:42
+msgid "Friends/Benefits"
+msgstr "Amici piccanti"
-#: ../../mod/contacts.php:477
-msgid "Only show hidden contacts"
-msgstr ""
+#: ../../include/profile_selectors.php:42
+msgid "Casual"
+msgstr "Casual"
-#: ../../mod/contacts.php:525
-msgid "Mutual Friendship"
-msgstr "Amicizia reciproca"
+#: ../../include/profile_selectors.php:42
+msgid "Engaged"
+msgstr "Impegnato"
-#: ../../mod/contacts.php:529
-msgid "is a fan of yours"
-msgstr "è un tuo fan"
+#: ../../include/profile_selectors.php:42
+msgid "Married"
+msgstr "Sposato/a"
-#: ../../mod/contacts.php:533
-msgid "you are a fan of"
-msgstr "sei un fan di"
+#: ../../include/profile_selectors.php:42
+msgid "Imaginarily married"
+msgstr "Sogna il matrimonio"
-#: ../../mod/contacts.php:550 ../../mod/nogroup.php:41
-msgid "Edit contact"
-msgstr "Modifca contatto"
+#: ../../include/profile_selectors.php:42
+msgid "Partners"
+msgstr "Partner"
-#: ../../mod/contacts.php:571 ../../view/theme/diabook/theme.php:129
-#: ../../include/nav.php:139
-msgid "Contacts"
-msgstr "Contatti"
+#: ../../include/profile_selectors.php:42
+msgid "Cohabiting"
+msgstr "Convivente"
-#: ../../mod/contacts.php:575
-msgid "Search your contacts"
-msgstr "Cerca nei tuoi contatti"
+#: ../../include/profile_selectors.php:42
+msgid "Common law"
+msgstr "Matrimonio regolare"
-#: ../../mod/contacts.php:576 ../../mod/directory.php:59
-msgid "Finding: "
-msgstr "Ricerca: "
+#: ../../include/profile_selectors.php:42
+msgid "Happy"
+msgstr "Felice"
-#: ../../mod/contacts.php:577 ../../mod/directory.php:61
-#: ../../include/contact_widgets.php:33
-msgid "Find"
-msgstr "Trova"
+#: ../../include/profile_selectors.php:42
+msgid "Not looking"
+msgstr "Non in cerca"
-#: ../../mod/lostpass.php:16
-msgid "No valid account found."
-msgstr "Nessun account valido trovato."
+#: ../../include/profile_selectors.php:42
+msgid "Swinger"
+msgstr "Scambista"
-#: ../../mod/lostpass.php:32
-msgid "Password reset request issued. Check your email."
-msgstr "La richiesta per reimpostare la password è stata inviata. Controlla la tua email."
+#: ../../include/profile_selectors.php:42
+msgid "Betrayed"
+msgstr "Tradito/a"
-#: ../../mod/lostpass.php:43
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Richiesta reimpostazione password su %s"
-
-#: ../../mod/lostpass.php:45 ../../mod/lostpass.php:107
-#: ../../mod/register.php:90 ../../mod/register.php:144
-#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752
-#: ../../addon/facebook/facebook.php:702
-#: ../../addon/facebook/facebook.php:1200 ../../addon/fbpost/fbpost.php:661
-#: ../../addon/public_server/public_server.php:62
-#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:3301
-#: ../../boot.php:788
-msgid "Administrator"
-msgstr "Amministratore"
+#: ../../include/profile_selectors.php:42
+msgid "Separated"
+msgstr "Separato/a"
-#: ../../mod/lostpass.php:65
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "La richiesta non può essere verificata. (Puoi averla già richiesta precendentemente). Reimpostazione password fallita."
+#: ../../include/profile_selectors.php:42
+msgid "Unstable"
+msgstr "Instabile"
-#: ../../mod/lostpass.php:83 ../../boot.php:925
-msgid "Password Reset"
-msgstr "Reimpostazione password"
+#: ../../include/profile_selectors.php:42
+msgid "Divorced"
+msgstr "Divorziato/a"
-#: ../../mod/lostpass.php:84
-msgid "Your password has been reset as requested."
-msgstr "La tua password è stata reimpostata come richiesto."
+#: ../../include/profile_selectors.php:42
+msgid "Imaginarily divorced"
+msgstr "Sogna il divorzio"
-#: ../../mod/lostpass.php:85
-msgid "Your new password is"
-msgstr "La tua nuova password è"
+#: ../../include/profile_selectors.php:42
+msgid "Widowed"
+msgstr "Vedovo/a"
-#: ../../mod/lostpass.php:86
-msgid "Save or copy your new password - and then"
-msgstr "Salva o copia la tua nuova password, quindi"
+#: ../../include/profile_selectors.php:42
+msgid "Uncertain"
+msgstr "Incerto/a"
-#: ../../mod/lostpass.php:87
-msgid "click here to login"
-msgstr "clicca qui per entrare"
+#: ../../include/profile_selectors.php:42
+msgid "It's complicated"
+msgstr "Relazione complicata"
-#: ../../mod/lostpass.php:88
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Puoi cambiare la tua password dalla pagina <em>Impostazioni</em> dopo aver effettuato l'accesso."
+#: ../../include/profile_selectors.php:42
+msgid "Don't care"
+msgstr "Chi se ne frega"
-#: ../../mod/lostpass.php:119
-msgid "Forgot your Password?"
-msgstr "Hai dimenticato la password?"
+#: ../../include/profile_selectors.php:42
+msgid "Ask me"
+msgstr "Chiedimelo"
-#: ../../mod/lostpass.php:120
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Inserisci il tuo indirizzo email per reimpostare la password."
+#: ../../include/identity.php:14
+msgid "Unable to obtain identity information from database"
+msgstr "Impossibile ottenere le informazioni di identificazione dal database"
-#: ../../mod/lostpass.php:121
-msgid "Nickname or Email: "
-msgstr "Nome utente o email: "
+#: ../../include/identity.php:36
+msgid "Empty name"
+msgstr "Nome vuoto"
-#: ../../mod/lostpass.php:122
-msgid "Reset"
-msgstr "Reimposta"
+#: ../../include/identity.php:38
+msgid "Name too long"
+msgstr "Nome troppo lungo"
-#: ../../mod/settings.php:30 ../../include/nav.php:137
-msgid "Account settings"
-msgstr "Parametri account"
+#: ../../include/identity.php:80
+msgid "No account identifier"
+msgstr "Account senza identificativo"
-#: ../../mod/settings.php:35
-msgid "Display settings"
-msgstr "Impostazioni grafiche"
+#: ../../include/identity.php:95
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."
-#: ../../mod/settings.php:41
-msgid "Connector settings"
-msgstr "Impostazioni connettori"
+#: ../../include/identity.php:154
+msgid "Unable to retrieve created identity"
+msgstr "Impossibile caricare l'identità creata"
-#: ../../mod/settings.php:46
-msgid "Plugin settings"
-msgstr "Impostazioni plugin"
+#: ../../include/identity.php:211
+msgid "Default Profile"
+msgstr "Profilo predefinito"
-#: ../../mod/settings.php:51
-msgid "Connected apps"
-msgstr ""
+#: ../../include/plugin.php:435 ../../include/plugin.php:437
+msgid "Click here to upgrade."
+msgstr "Clicca qui per aggiornare."
-#: ../../mod/settings.php:56
-msgid "Export personal data"
-msgstr "Esporta dati personali"
+#: ../../include/plugin.php:443
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Questa operazione esce dai termini del tuo abbonamento."
-#: ../../mod/settings.php:61
-msgid "Remove account"
-msgstr ""
+#: ../../include/plugin.php:448
+msgid "This action is not available under your subscription plan."
+msgstr "Questa operazione non è prevista dal tuo abbonamento."
-#: ../../mod/settings.php:69 ../../mod/newmember.php:22
-#: ../../mod/admin.php:785 ../../mod/admin.php:990
-#: ../../addon/dav/friendica/layout.fnk.php:225
-#: ../../addon/mathjax/mathjax.php:36 ../../view/theme/diabook/theme.php:643
-#: ../../view/theme/diabook/theme.php:773 ../../include/nav.php:137
-msgid "Settings"
-msgstr "Impostazioni"
+#: ../../include/zot.php:423
+msgid "Invalid data packet"
+msgstr "Dati non validi"
-#: ../../mod/settings.php:113
-msgid "Missing some important data!"
-msgstr "Mancano alcuni dati importanti!"
+#: ../../include/zot.php:433
+msgid "Unable to verify channel signature"
+msgstr "Impossibile verificare la firma elettronica del canale"
-#: ../../mod/settings.php:116 ../../mod/settings.php:569
-msgid "Update"
-msgstr "Aggiorna"
+#: ../../include/zot.php:572
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Impossibile verificare la firma elettronica del sito %s"
-#: ../../mod/settings.php:221
-msgid "Failed to connect with email account using the settings provided."
-msgstr "Impossibile collegarsi all'account email con i parametri forniti."
+#: ../../include/account.php:23
+msgid "Not a valid email address"
+msgstr "Email non valida"
-#: ../../mod/settings.php:226
-msgid "Email settings updated."
-msgstr "Impostazioni e-mail aggiornate."
+#: ../../include/account.php:25
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Il dominio della tua email attualmente non è permesso su questo sito"
-#: ../../mod/settings.php:290
-msgid "Passwords do not match. Password unchanged."
-msgstr "Le password non corrispondono. Password non cambiata."
+#: ../../include/account.php:31
+msgid "Your email address is already registered at this site."
+msgstr "La tua email è già registrata su questo sito."
-#: ../../mod/settings.php:295
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Le password non possono essere vuote. Password non cambiata."
+#: ../../include/account.php:64
+msgid "An invitation is required."
+msgstr "È necessario un invito."
-#: ../../mod/settings.php:306
-msgid "Password changed."
-msgstr "Password cambiata."
+#: ../../include/account.php:68
+msgid "Invitation could not be verified."
+msgstr "L'invito non può essere verificato."
-#: ../../mod/settings.php:308
-msgid "Password update failed. Please try again."
-msgstr "Aggiornamento password fallito. Prova ancora."
+#: ../../include/account.php:118
+msgid "Please enter the required information."
+msgstr "Inserisci le informazioni richieste."
-#: ../../mod/settings.php:373
-msgid " Please use a shorter name."
-msgstr " Usa un nome più corto."
+#: ../../include/account.php:186
+msgid "Failed to store account information."
+msgstr "Non è stato possibile salvare le informazioni del tuo account."
-#: ../../mod/settings.php:375
-msgid " Name too short."
-msgstr " Nome troppo corto."
+#: ../../include/account.php:272
+#, php-format
+msgid "Registration request at %s"
+msgstr "Richiesta di registrazione su %s"
-#: ../../mod/settings.php:381
-msgid " Not valid email."
-msgstr " Email non valida."
+#: ../../include/account.php:274 ../../include/account.php:301
+#: ../../include/account.php:358 ../../boot.php:1240
+msgid "Administrator"
+msgstr "Amministratore"
-#: ../../mod/settings.php:383
-msgid " Cannot change to that email."
-msgstr "Non puoi usare quella email."
+#: ../../include/account.php:296
+msgid "your registration password"
+msgstr "la password di registrazione"
-#: ../../mod/settings.php:437
-msgid "Private forum has no privacy permissions. Using default privacy group."
-msgstr ""
+#: ../../include/account.php:299 ../../include/account.php:356
+#, php-format
+msgid "Registration details for %s"
+msgstr "Dettagli della registrazione di %s"
-#: ../../mod/settings.php:441
-msgid "Private forum has no privacy permissions and no default privacy group."
-msgstr ""
+#: ../../include/account.php:365
+msgid "Account approved."
+msgstr "Account approvato."
-#: ../../mod/settings.php:471 ../../addon/facebook/facebook.php:495
-#: ../../addon/fbpost/fbpost.php:144 ../../addon/impressum/impressum.php:78
-#: ../../addon/openstreetmap/openstreetmap.php:80
-#: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105
-#: ../../addon/twitter/twitter.php:389
-msgid "Settings updated."
-msgstr "Impostazioni aggiornate."
+#: ../../include/account.php:399
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrazione revocata per %s"
-#: ../../mod/settings.php:542 ../../mod/settings.php:568
-#: ../../mod/settings.php:604
-msgid "Add application"
-msgstr "Aggiungi applicazione"
+#: ../../include/bbcode.php:94 ../../include/bbcode.php:443
+#: ../../include/bbcode.php:446
+msgid "Image/photo"
+msgstr "Immagine"
-#: ../../mod/settings.php:546 ../../mod/settings.php:572
-#: ../../addon/statusnet/statusnet.php:570
-msgid "Consumer Key"
-msgstr "Consumer Key"
+#: ../../include/bbcode.php:161
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s ha scritto %2$s seguente %3$s"
-#: ../../mod/settings.php:547 ../../mod/settings.php:573
-#: ../../addon/statusnet/statusnet.php:569
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
+#: ../../include/bbcode.php:163
+msgid "post"
+msgstr "l'articolo"
-#: ../../mod/settings.php:548 ../../mod/settings.php:574
-msgid "Redirect"
-msgstr "Redirect"
+#: ../../include/bbcode.php:403 ../../include/bbcode.php:423
+msgid "$1 wrote:"
+msgstr "$1 ha scritto:"
-#: ../../mod/settings.php:549 ../../mod/settings.php:575
-msgid "Icon url"
-msgstr "Url icona"
+#: ../../include/bbcode.php:450 ../../include/bbcode.php:451
+msgid "Encrypted content"
+msgstr "Contenuto crittografato"
-#: ../../mod/settings.php:560
-msgid "You can't edit this application."
-msgstr "Non puoi modificare questa applicazione."
+#: ../../include/text.php:281
+msgid "prev"
+msgstr "prec"
-#: ../../mod/settings.php:603
-msgid "Connected Apps"
-msgstr "Applicazioni Collegate"
+#: ../../include/text.php:283
+msgid "first"
+msgstr "inizio"
-#: ../../mod/settings.php:607
-msgid "Client key starts with"
-msgstr "Chiave del client inizia con"
+#: ../../include/text.php:312
+msgid "last"
+msgstr "fine"
-#: ../../mod/settings.php:608
-msgid "No name"
-msgstr "Nessun nome"
+#: ../../include/text.php:315
+msgid "next"
+msgstr "succ"
-#: ../../mod/settings.php:609
-msgid "Remove authorization"
-msgstr "Rimuovi l'autorizzazione"
+#: ../../include/text.php:327
+msgid "older"
+msgstr "più recenti"
-#: ../../mod/settings.php:620
-msgid "No Plugin settings configured"
-msgstr "Nessun plugin ha impostazioni modificabili"
+#: ../../include/text.php:329
+msgid "newer"
+msgstr "più nuovi"
-#: ../../mod/settings.php:628 ../../addon/widgets/widgets.php:123
-msgid "Plugin Settings"
-msgstr "Impostazioni plugin"
+#: ../../include/text.php:620
+msgid "No connections"
+msgstr "Nessun contatto"
-#: ../../mod/settings.php:640 ../../mod/settings.php:641
+#: ../../include/text.php:631
#, php-format
-msgid "Built-in support for %s connectivity is %s"
-msgstr "Il supporto integrato per la connettività con %s è %s"
-
-#: ../../mod/settings.php:640 ../../mod/settings.php:641
-msgid "enabled"
-msgstr "abilitato"
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d contatto"
+msgstr[1] "%d contatti"
-#: ../../mod/settings.php:640 ../../mod/settings.php:641
-msgid "disabled"
-msgstr "disabilitato"
+#: ../../include/text.php:643
+msgid "View Connections"
+msgstr "Elenco contatti"
-#: ../../mod/settings.php:641
-msgid "StatusNet"
-msgstr "StatusNet"
+#: ../../include/text.php:704 ../../mod/filer.php:36
+msgid "Save"
+msgstr "Salva"
-#: ../../mod/settings.php:673
-msgid "Email access is disabled on this site."
-msgstr "L'accesso email è disabilitato su questo sito."
+#: ../../include/text.php:742
+msgid "poke"
+msgstr "poke"
-#: ../../mod/settings.php:679
-msgid "Connector Settings"
-msgstr "Impostazioni Connettore"
+#: ../../include/text.php:742 ../../include/conversation.php:230
+msgid "poked"
+msgstr "ha ricevuto un poke"
-#: ../../mod/settings.php:684
-msgid "Email/Mailbox Setup"
-msgstr "Impostazioni email"
+#: ../../include/text.php:743
+msgid "ping"
+msgstr "ping"
-#: ../../mod/settings.php:685
-msgid ""
-"If you wish to communicate with email contacts using this service "
-"(optional), please specify how to connect to your mailbox."
-msgstr "Se vuoi comunicare con i contatti email usando questo servizio, specifica come collegarti alla tua casella di posta. (opzionale)"
+#: ../../include/text.php:743
+msgid "pinged"
+msgstr "ha ricevuto un ping"
-#: ../../mod/settings.php:686
-msgid "Last successful email check:"
-msgstr "Ultimo controllo email eseguito con successo:"
+#: ../../include/text.php:744
+msgid "prod"
+msgstr "prod"
-#: ../../mod/settings.php:688
-msgid "IMAP server name:"
-msgstr "Nome server IMAP:"
+#: ../../include/text.php:744
+msgid "prodded"
+msgstr "ha ricevuto un prod"
-#: ../../mod/settings.php:689
-msgid "IMAP port:"
-msgstr "Porta IMAP:"
+#: ../../include/text.php:745
+msgid "slap"
+msgstr "schiaffo"
-#: ../../mod/settings.php:690
-msgid "Security:"
-msgstr "Sicurezza:"
+#: ../../include/text.php:745
+msgid "slapped"
+msgstr "ha ricevuto uno schiaffo"
-#: ../../mod/settings.php:690 ../../mod/settings.php:695
-#: ../../addon/dav/common/wdcal_edit.inc.php:191
-msgid "None"
-msgstr "Nessuna"
+#: ../../include/text.php:746
+msgid "finger"
+msgstr "finger"
-#: ../../mod/settings.php:691
-msgid "Email login name:"
-msgstr "Nome utente email:"
+#: ../../include/text.php:746
+msgid "fingered"
+msgstr "ha ricevuto un finger"
-#: ../../mod/settings.php:692
-msgid "Email password:"
-msgstr "Password email:"
+#: ../../include/text.php:747
+msgid "rebuff"
+msgstr "rifiuto"
-#: ../../mod/settings.php:693
-msgid "Reply-to address:"
-msgstr "Indirizzo di risposta:"
+#: ../../include/text.php:747
+msgid "rebuffed"
+msgstr "ha ricevuto un rifiuto"
-#: ../../mod/settings.php:694
-msgid "Send public posts to all email contacts:"
-msgstr "Invia i messaggi pubblici ai contatti email:"
+#: ../../include/text.php:759
+msgid "happy"
+msgstr "allegro"
-#: ../../mod/settings.php:695
-msgid "Action after import:"
-msgstr "Azione post importazione:"
+#: ../../include/text.php:760
+msgid "sad"
+msgstr "triste"
-#: ../../mod/settings.php:695
-msgid "Mark as seen"
-msgstr "Segna come letto"
+#: ../../include/text.php:761
+msgid "mellow"
+msgstr "calmo"
-#: ../../mod/settings.php:695
-msgid "Move to folder"
-msgstr "Sposta nella cartella"
+#: ../../include/text.php:762
+msgid "tired"
+msgstr "stanco"
-#: ../../mod/settings.php:696
-msgid "Move to folder:"
-msgstr "Sposta nella cartella:"
+#: ../../include/text.php:763
+msgid "perky"
+msgstr "vivace"
-#: ../../mod/settings.php:727 ../../mod/admin.php:402
-msgid "No special theme for mobile devices"
-msgstr ""
+#: ../../include/text.php:764
+msgid "angry"
+msgstr "arrabbiato"
-#: ../../mod/settings.php:767
-msgid "Display Settings"
-msgstr "Impostazioni Grafiche"
+#: ../../include/text.php:765
+msgid "stupified"
+msgstr "stordito"
-#: ../../mod/settings.php:773 ../../mod/settings.php:784
-msgid "Display Theme:"
-msgstr "Tema:"
+#: ../../include/text.php:766
+msgid "puzzled"
+msgstr "confuso"
-#: ../../mod/settings.php:774
-msgid "Mobile Theme:"
-msgstr ""
+#: ../../include/text.php:767
+msgid "interested"
+msgstr "attento"
-#: ../../mod/settings.php:775
-msgid "Update browser every xx seconds"
-msgstr "Aggiorna il browser ogni x secondi"
+#: ../../include/text.php:768
+msgid "bitter"
+msgstr "amaro"
-#: ../../mod/settings.php:775
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimo 10 secondi, nessun limite massimo"
+#: ../../include/text.php:769
+msgid "cheerful"
+msgstr "allegro"
-#: ../../mod/settings.php:776
-msgid "Number of items to display per page:"
-msgstr ""
+#: ../../include/text.php:770
+msgid "alive"
+msgstr "vivace"
-#: ../../mod/settings.php:776
-msgid "Maximum of 100 items"
-msgstr "Massimo 100 voci"
+#: ../../include/text.php:771
+msgid "annoyed"
+msgstr "seccato"
-#: ../../mod/settings.php:777
-msgid "Don't show emoticons"
-msgstr "Non mostrare le emoticons"
+#: ../../include/text.php:772
+msgid "anxious"
+msgstr "ansioso"
-#: ../../mod/settings.php:853
-msgid "Normal Account Page"
-msgstr ""
+#: ../../include/text.php:773
+msgid "cranky"
+msgstr "irritabile"
-#: ../../mod/settings.php:854
-msgid "This account is a normal personal profile"
-msgstr "Questo account è un normale profilo personale"
+#: ../../include/text.php:774
+msgid "disturbed"
+msgstr "turbato"
-#: ../../mod/settings.php:857
-msgid "Soapbox Page"
-msgstr ""
+#: ../../include/text.php:775
+msgid "frustrated"
+msgstr "frustrato"
-#: ../../mod/settings.php:858
-msgid "Automatically approve all connection/friend requests as read-only fans"
-msgstr "Chi richiede la connessione/amicizia sarà accettato automaticamente come fan che potrà solamente leggere la bacheca"
+#: ../../include/text.php:776
+msgid "motivated"
+msgstr "motivato"
-#: ../../mod/settings.php:861
-msgid "Community Forum/Celebrity Account"
-msgstr ""
+#: ../../include/text.php:777
+msgid "relaxed"
+msgstr "rilassato"
-#: ../../mod/settings.php:862
-msgid ""
-"Automatically approve all connection/friend requests as read-write fans"
-msgstr "Chi richiede la connessione/amicizia sarà accettato automaticamente come fan che potrà leggere e scrivere sulla bacheca"
+#: ../../include/text.php:778
+msgid "surprised"
+msgstr "sorpreso"
-#: ../../mod/settings.php:865
-msgid "Automatic Friend Page"
-msgstr ""
+#: ../../include/text.php:940
+msgid "Monday"
+msgstr "lunedì"
-#: ../../mod/settings.php:866
-msgid "Automatically approve all connection/friend requests as friends"
-msgstr "Chi richiede la connessione/amicizia sarà accettato automaticamente come amico"
+#: ../../include/text.php:940
+msgid "Tuesday"
+msgstr "martedì"
-#: ../../mod/settings.php:869
-msgid "Private Forum [Experimental]"
-msgstr ""
+#: ../../include/text.php:940
+msgid "Wednesday"
+msgstr "mercoledì"
-#: ../../mod/settings.php:870
-msgid "Private forum - approved members only"
-msgstr ""
+#: ../../include/text.php:940
+msgid "Thursday"
+msgstr "giovedì"
-#: ../../mod/settings.php:882
-msgid "OpenID:"
-msgstr "OpenID:"
+#: ../../include/text.php:940
+msgid "Friday"
+msgstr "venerdì"
-#: ../../mod/settings.php:882
-msgid "(Optional) Allow this OpenID to login to this account."
-msgstr "(Opzionale) Consente di loggarti in questo account con questo OpenID"
+#: ../../include/text.php:940
+msgid "Saturday"
+msgstr "sabato"
-#: ../../mod/settings.php:892
-msgid "Publish your default profile in your local site directory?"
-msgstr "Pubblica il tuo profilo predefinito nell'elenco locale del sito"
+#: ../../include/text.php:940
+msgid "Sunday"
+msgstr "domenica"
-#: ../../mod/settings.php:898
-msgid "Publish your default profile in the global social directory?"
-msgstr "Pubblica il tuo profilo predefinito nell'elenco sociale globale"
+#: ../../include/text.php:944
+msgid "January"
+msgstr "gennaio"
-#: ../../mod/settings.php:906
-msgid "Hide your contact/friend list from viewers of your default profile?"
-msgstr "Nascondi la lista dei tuoi contatti/amici dai visitatori del tuo profilo predefinito"
+#: ../../include/text.php:944
+msgid "February"
+msgstr "febbraio"
-#: ../../mod/settings.php:910
-msgid "Hide your profile details from unknown viewers?"
-msgstr "Nascondi i dettagli del tuo profilo ai visitatori sconosciuti?"
+#: ../../include/text.php:944
+msgid "March"
+msgstr "marzo"
-#: ../../mod/settings.php:915
-msgid "Allow friends to post to your profile page?"
-msgstr "Permetti agli amici di scrivere sulla tua pagina profilo?"
+#: ../../include/text.php:944
+msgid "April"
+msgstr "aprile"
-#: ../../mod/settings.php:921
-msgid "Allow friends to tag your posts?"
-msgstr "Permetti agli amici di taggare i tuoi messaggi?"
+#: ../../include/text.php:944
+msgid "May"
+msgstr "maggio"
-#: ../../mod/settings.php:927
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Ci permetti di suggerirti come potenziale amico ai nuovi membri?"
+#: ../../include/text.php:944
+msgid "June"
+msgstr "giugno"
-#: ../../mod/settings.php:933
-msgid "Permit unknown people to send you private mail?"
-msgstr "Permetti a utenti sconosciuti di inviarti messaggi privati?"
+#: ../../include/text.php:944
+msgid "July"
+msgstr "luglio"
-#: ../../mod/settings.php:941
-msgid "Profile is <strong>not published</strong>."
-msgstr "Il profilo <strong>non è pubblicato</strong>."
+#: ../../include/text.php:944
+msgid "August"
+msgstr "agosto"
-#: ../../mod/settings.php:944 ../../mod/profile_photo.php:248
-msgid "or"
-msgstr "o"
+#: ../../include/text.php:944
+msgid "September"
+msgstr "settembre"
-#: ../../mod/settings.php:949
-msgid "Your Identity Address is"
-msgstr "L'indirizzo della tua identità è"
+#: ../../include/text.php:944
+msgid "October"
+msgstr "ottobre"
-#: ../../mod/settings.php:960
-msgid "Automatically expire posts after this many days:"
-msgstr "Fai scadere i post automaticamente dopo x giorni:"
+#: ../../include/text.php:944
+msgid "November"
+msgstr "novembre"
-#: ../../mod/settings.php:960
-msgid "If empty, posts will not expire. Expired posts will be deleted"
-msgstr "Se lasciato vuoto, i messaggi non verranno cancellati."
+#: ../../include/text.php:944
+msgid "December"
+msgstr "dicembre"
-#: ../../mod/settings.php:961
-msgid "Advanced expiration settings"
-msgstr "Impostazioni avanzate di scandenza"
+#: ../../include/text.php:1029 ../../mod/message.php:400
+msgid "unknown.???"
+msgstr "sconosciuto???"
-#: ../../mod/settings.php:962
-msgid "Advanced Expiration"
-msgstr "Scadenza avanzata"
+#: ../../include/text.php:1030 ../../mod/message.php:401
+msgid "bytes"
+msgstr "byte"
-#: ../../mod/settings.php:963
-msgid "Expire posts:"
-msgstr "Fai scadere i post:"
+#: ../../include/text.php:1066 ../../include/text.php:1081
+#: ../../include/conversation.php:814
+msgid "remove"
+msgstr "rimuovi"
-#: ../../mod/settings.php:964
-msgid "Expire personal notes:"
-msgstr "Fai scadere le Note personali:"
+#: ../../include/text.php:1066 ../../include/text.php:1081
+msgid "[remove]"
+msgstr "[rimuovi]"
-#: ../../mod/settings.php:965
-msgid "Expire starred posts:"
-msgstr "Fai scadere i post Speciali:"
+#: ../../include/text.php:1069 ../../include/conversation.php:661
+msgid "Categories:"
+msgstr "Categorie:"
-#: ../../mod/settings.php:966
-msgid "Expire photos:"
-msgstr "Fai scadere le foto:"
+#: ../../include/text.php:1084 ../../include/conversation.php:662
+msgid "Filed under:"
+msgstr "Classificato come:"
-#: ../../mod/settings.php:967
-msgid "Only expire posts by others:"
-msgstr ""
+#: ../../include/text.php:1100 ../../include/text.php:1112
+msgid "Click to open/close"
+msgstr "Clicca per aprire/chiudere"
-#: ../../mod/settings.php:974
-msgid "Account Settings"
-msgstr "Impostazioni account"
+#: ../../include/text.php:1280 ../../mod/events.php:326
+msgid "link to source"
+msgstr "Link all'originale"
-#: ../../mod/settings.php:982
-msgid "Password Settings"
-msgstr "Impostazioni password"
+#: ../../include/text.php:1312
+msgid "default"
+msgstr "predefinito"
-#: ../../mod/settings.php:983
-msgid "New Password:"
-msgstr "Nuova password:"
+#: ../../include/text.php:1324
+msgid "Select an alternate language"
+msgstr "Seleziona una lingua diversa"
-#: ../../mod/settings.php:984
-msgid "Confirm:"
-msgstr "Conferma:"
+#: ../../include/text.php:1476 ../../include/conversation.php:111
+#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:45
+msgid "photo"
+msgstr "la foto"
-#: ../../mod/settings.php:984
-msgid "Leave password fields blank unless changing"
-msgstr "Lascia questi campi in bianco per non effettuare variazioni alla password"
+#: ../../include/text.php:1479 ../../include/conversation.php:114
+#: ../../mod/tagger.php:49
+msgid "event"
+msgstr "l'evento"
-#: ../../mod/settings.php:988
-msgid "Basic Settings"
-msgstr "Impostazioni base"
+#: ../../include/text.php:1482 ../../include/conversation.php:139
+#: ../../mod/like.php:103 ../../mod/subthread.php:89 ../../mod/tagger.php:53
+msgid "status"
+msgstr "il messaggio di stato"
-#: ../../mod/settings.php:989 ../../include/profile_advanced.php:15
-msgid "Full Name:"
-msgstr "Nome completo:"
+#: ../../include/text.php:1484 ../../include/conversation.php:141
+#: ../../mod/tagger.php:55
+msgid "comment"
+msgstr "il commento"
-#: ../../mod/settings.php:990
-msgid "Email Address:"
-msgstr "Indirizzo Email:"
+#: ../../include/text.php:1489
+msgid "activity"
+msgstr "l'attività"
-#: ../../mod/settings.php:991
-msgid "Your Timezone:"
-msgstr "Il tuo fuso orario:"
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Nuova pagina web"
-#: ../../mod/settings.php:992
-msgid "Default Post Location:"
-msgstr "Località predefinita:"
+#: ../../include/auth.php:65
+msgid "Logged out."
+msgstr "Uscita effettuata."
-#: ../../mod/settings.php:993
-msgid "Use Browser Location:"
-msgstr "Usa la località rilevata dal browser:"
+#: ../../include/auth.php:177
+msgid "Failed authentication"
+msgstr "Autenticazione fallita"
-#: ../../mod/settings.php:996
-msgid "Security and Privacy Settings"
-msgstr "Impostazioni di sicurezza e privacy"
+#: ../../include/auth.php:186
+msgid "Login failed."
+msgstr "Accesso fallito."
-#: ../../mod/settings.php:998
-msgid "Maximum Friend Requests/Day:"
-msgstr "Numero massimo di richieste di amicizia al giorno:"
+#: ../../include/follow.php:21
+msgid "Channel is blocked on this site."
+msgstr "Il canale è bloccato per questo sito."
-#: ../../mod/settings.php:998 ../../mod/settings.php:1017
-msgid "(to prevent spam abuse)"
-msgstr "(per prevenire lo spam)"
+#: ../../include/follow.php:26
+msgid "Channel location missing."
+msgstr "Manca l'indirizzo del canale."
-#: ../../mod/settings.php:999
-msgid "Default Post Permissions"
-msgstr "Permessi predefiniti per i messaggi"
+#: ../../include/follow.php:43
+msgid "Channel discovery failed. Website may be down or misconfigured."
+msgstr "La ricerca del canale è fallita. Il sito potrebbe avere problemi o una configurazione sbagliata."
-#: ../../mod/settings.php:1000
-msgid "(click to open/close)"
-msgstr "(clicca per aprire/chiudere)"
+#: ../../include/follow.php:51
+msgid "Response from remote channel was not understood."
+msgstr "La risposta dal canale non è comprensibile."
-#: ../../mod/settings.php:1017
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Numero massimo di messaggi privati da utenti sconosciuti per giorno:"
+#: ../../include/follow.php:58
+msgid "Response from remote channel was incomplete."
+msgstr "La risposta dal canale non è completa."
-#: ../../mod/settings.php:1020
-msgid "Notification Settings"
-msgstr "Impostazioni notifiche"
+#: ../../include/follow.php:129
+msgid "local account not found."
+msgstr "l'account locale non è stato trovato."
-#: ../../mod/settings.php:1021
-msgid "By default post a status message when:"
-msgstr ""
+#: ../../include/follow.php:138
+msgid "Cannot connect to yourself."
+msgstr "Non puoi connetterti a te stesso."
-#: ../../mod/settings.php:1022
-msgid "accepting a friend request"
-msgstr ""
+#: ../../include/permissions.php:13
+msgid "Can view my \"public\" stream and posts"
+msgstr "Può vedere i miei contenuti \"pubblici\""
-#: ../../mod/settings.php:1023
-msgid "joining a forum/community"
-msgstr ""
+#: ../../include/permissions.php:14
+msgid "Can view my \"public\" channel profile"
+msgstr "Può vedere il profilo del mio canale \"pubblico\""
-#: ../../mod/settings.php:1024
-msgid "making an <em>interesting</em> profile change"
-msgstr ""
+#: ../../include/permissions.php:15
+msgid "Can view my \"public\" photo albums"
+msgstr "Può vedere il mio album fotografico \"pubblico\""
-#: ../../mod/settings.php:1025
-msgid "Send a notification email when:"
-msgstr "Invia una mail di notifica quando:"
+#: ../../include/permissions.php:16
+msgid "Can view my \"public\" address book"
+msgstr "Può vedere il mio elenco contatti \"pubblico\""
-#: ../../mod/settings.php:1026
-msgid "You receive an introduction"
-msgstr "Ricevi una presentazione"
+#: ../../include/permissions.php:17
+msgid "Can view my \"public\" file storage"
+msgstr "Può vedere il mio archivio file \"pubblico\""
-#: ../../mod/settings.php:1027
-msgid "Your introductions are confirmed"
-msgstr "Le tue presentazioni sono confermate"
+#: ../../include/permissions.php:18
+msgid "Can view my \"public\" pages"
+msgstr "Può vedere le mie pagine web \"pubbliche\""
-#: ../../mod/settings.php:1028
-msgid "Someone writes on your profile wall"
-msgstr "Qualcuno scrive sulla bacheca del tuo profilo"
+#: ../../include/permissions.php:21
+msgid "Can send me their channel stream and posts"
+msgstr "Può mostrarmi i contenuti del canale e gli articoli"
-#: ../../mod/settings.php:1029
-msgid "Someone writes a followup comment"
-msgstr "Qualcuno scrive un commento a un tuo messaggio"
+#: ../../include/permissions.php:22
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Può scrivere sulla bacheca del mio canale"
-#: ../../mod/settings.php:1030
-msgid "You receive a private message"
-msgstr "Ricevi un messaggio privato"
+#: ../../include/permissions.php:23
+msgid "Can comment on my posts"
+msgstr "Può commentare i miei articoli"
-#: ../../mod/settings.php:1031
-msgid "You receive a friend suggestion"
-msgstr "Hai ricevuto un suggerimento di amicizia"
+#: ../../include/permissions.php:24
+msgid "Can send me private mail messages"
+msgstr "Può inviarmi messaggi privati"
-#: ../../mod/settings.php:1032
-msgid "You are tagged in a post"
-msgstr "Sei stato taggato in un post"
+#: ../../include/permissions.php:25
+msgid "Can post photos to my photo albums"
+msgstr "Può aggiungere foto ai miei album"
-#: ../../mod/settings.php:1033
-msgid "You are poked/prodded/etc. in a post"
-msgstr ""
+#: ../../include/permissions.php:26
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Può inoltrare articoli a tutti i contatti del canale tramite una @menzione"
-#: ../../mod/settings.php:1036
-msgid "Advanced Account/Page Type Settings"
-msgstr ""
+#: ../../include/permissions.php:26
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione"
-#: ../../mod/settings.php:1037
-msgid "Change the behaviour of this account for special situations"
-msgstr ""
+#: ../../include/permissions.php:27
+msgid "Can chat with me (when available)"
+msgstr "Può aprire una chat con me (se disponibile)"
-#: ../../mod/manage.php:91
-msgid "Manage Identities and/or Pages"
-msgstr "Gestisci indentità e/o pagine"
+#: ../../include/permissions.php:27
+msgid "Requires compatible chat plugin"
+msgstr "Necessita di un plugin di chat compatibile"
-#: ../../mod/manage.php:94
-msgid ""
-"Toggle between different identities or community/group pages which share "
-"your account details or which you have been granted \"manage\" permissions"
-msgstr "Cambia tra differenti identità o pagine comunità/gruppi che condividono il tuo account o per cui hai i permessi di gestione"
+#: ../../include/permissions.php:28
+msgid "Can write to my \"public\" file storage"
+msgstr "Può scrivere sul mio archivio di file \"pubblico\""
-#: ../../mod/manage.php:96
-msgid "Select an identity to manage: "
-msgstr "Seleziona un'identità da gestire:"
+#: ../../include/permissions.php:29
+msgid "Can edit my \"public\" pages"
+msgstr "Può modificare le mie pagine web \"pubbliche\""
-#: ../../mod/network.php:97
-msgid "Search Results For:"
-msgstr "Cerca risultati per:"
+#: ../../include/permissions.php:31
+msgid "Can administer my channel resources"
+msgstr "Può amministrare i contenuti del mio canale"
-#: ../../mod/network.php:137 ../../mod/search.php:16
-msgid "Remove term"
-msgstr "Rimuovi termine"
+#: ../../include/permissions.php:31
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"
-#: ../../mod/network.php:146 ../../mod/search.php:13
-msgid "Saved Searches"
-msgstr "Ricerche salvate"
+#: ../../include/taxonomy.php:166
+msgid "Tags"
+msgstr "Tag"
-#: ../../mod/network.php:147 ../../include/group.php:244
-msgid "add"
-msgstr "aggiungi"
+#: ../../include/taxonomy.php:187
+msgid "have"
+msgstr "ho"
-#: ../../mod/network.php:287
-msgid "Commented Order"
-msgstr "Ordina per commento"
+#: ../../include/taxonomy.php:187
+msgid "has"
+msgstr "ha"
-#: ../../mod/network.php:290
-msgid "Sort by Comment Date"
-msgstr ""
+#: ../../include/taxonomy.php:188
+msgid "want"
+msgstr "voglio"
-#: ../../mod/network.php:293
-msgid "Posted Order"
-msgstr "Ordina per invio"
+#: ../../include/taxonomy.php:188
+msgid "wants"
+msgstr "vuole"
-#: ../../mod/network.php:296
-msgid "Sort by Post Date"
-msgstr ""
+#: ../../include/taxonomy.php:189 ../../include/ItemObject.php:165
+msgid "like"
+msgstr "mi piace"
-#: ../../mod/network.php:303
-msgid "Posts that mention or involve you"
-msgstr ""
+#: ../../include/taxonomy.php:189
+msgid "likes"
+msgstr "ama"
-#: ../../mod/network.php:306
-msgid "New"
-msgstr "Nuovo"
+#: ../../include/taxonomy.php:190 ../../include/ItemObject.php:166
+msgid "dislike"
+msgstr "non mi piace"
-#: ../../mod/network.php:309
-msgid "Activity Stream - by date"
-msgstr ""
+#: ../../include/taxonomy.php:190
+msgid "dislikes"
+msgstr "non ama"
-#: ../../mod/network.php:312
-msgid "Starred"
-msgstr "Preferiti"
+#: ../../include/attach.php:184 ../../include/attach.php:232
+msgid "Item was not found."
+msgstr "Elemento non trovato."
-#: ../../mod/network.php:315
-msgid "Favourite Posts"
-msgstr ""
+#: ../../include/attach.php:285
+msgid "No source file."
+msgstr "Nessun file di origine."
-#: ../../mod/network.php:318
-msgid "Shared Links"
-msgstr "Links condivisi"
+#: ../../include/attach.php:302
+msgid "Cannot locate file to replace"
+msgstr "Il file da sostituire non è stato trovato"
-#: ../../mod/network.php:321
-msgid "Interesting Links"
-msgstr ""
+#: ../../include/attach.php:320
+msgid "Cannot locate file to revise/update"
+msgstr "Il file da aggiornare non è stato trovato"
-#: ../../mod/network.php:388
+#: ../../include/attach.php:331
#, php-format
-msgid "Warning: This group contains %s member from an insecure network."
-msgid_plural ""
-"Warning: This group contains %s members from an insecure network."
-msgstr[0] "Attenzione: questo gruppo contiene %s membro da un network insicuro."
-msgstr[1] "Attenzione: questo gruppo contiene %s membri da un network insicuro."
-
-#: ../../mod/network.php:391
-msgid "Private messages to this group are at risk of public disclosure."
-msgstr "I messaggi privati su questo gruppo potrebbero risultare visibili anche pubblicamente."
-
-#: ../../mod/network.php:461
-msgid "Contact: "
-msgstr "Contatto:"
+msgid "File exceeds size limit of %d"
+msgstr "Il file supera la dimensione massima di %d"
-#: ../../mod/network.php:463
-msgid "Private messages to this person are at risk of public disclosure."
-msgstr "I messaggi privati a questa persona potrebbero risultare visibili anche pubblicamente."
+#: ../../include/attach.php:424
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Caricamento file fallito, potrebbe aver superato i limiti o l'azione potrebbe essere stata interrotta."
-#: ../../mod/network.php:468
-msgid "Invalid contact."
-msgstr "Contatto non valido."
+#: ../../include/attach.php:436
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Il file non può essere verificato. Caricamento fallito."
-#: ../../mod/notes.php:44 ../../boot.php:1696
-msgid "Personal Notes"
-msgstr "Note personali"
+#: ../../include/attach.php:480 ../../include/attach.php:497
+msgid "Path not available."
+msgstr "Percorso non disponibile."
-#: ../../mod/notes.php:63 ../../mod/filer.php:30
-#: ../../addon/facebook/facebook.php:770
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:263
-#: ../../addon/fbpost/fbpost.php:267
-#: ../../addon/dav/friendica/layout.fnk.php:441
-#: ../../addon/dav/friendica/layout.fnk.php:488 ../../include/text.php:681
-msgid "Save"
-msgstr "Salva"
-
-#: ../../mod/wallmessage.php:42 ../../mod/wallmessage.php:112
-#, php-format
-msgid "Number of daily wall messages for %s exceeded. Message failed."
-msgstr "Numero giornaliero di messaggi per %s superato. Invio fallito."
+#: ../../include/ItemObject.php:87 ../../mod/photos.php:943
+msgid "Private Message"
+msgstr "Messaggio privato"
-#: ../../mod/wallmessage.php:56 ../../mod/message.php:59
-msgid "No recipient selected."
-msgstr "Nessun destinatario selezionato."
+#: ../../include/ItemObject.php:92 ../../mod/webpages.php:81
+#: ../../mod/settings.php:683 ../../mod/menu.php:52
+#: ../../mod/editwebpage.php:101 ../../mod/editpost.php:76
+msgid "Edit"
+msgstr "Modifica"
-#: ../../mod/wallmessage.php:59
-msgid "Unable to check your home location."
-msgstr ""
+#: ../../include/ItemObject.php:104 ../../include/conversation.php:625
+#: ../../mod/settings.php:684 ../../mod/group.php:182
+#: ../../mod/photos.php:1123 ../../mod/connections.php:344
+#: ../../mod/admin.php:640
+msgid "Delete"
+msgstr "Elimina"
-#: ../../mod/wallmessage.php:62 ../../mod/message.php:66
-msgid "Message could not be sent."
-msgstr "Il messaggio non puo' essere inviato."
+#: ../../include/ItemObject.php:110 ../../include/conversation.php:624
+msgid "Select"
+msgstr "Seleziona"
-#: ../../mod/wallmessage.php:65 ../../mod/message.php:69
-msgid "Message collection failure."
-msgstr "Errore recuperando il messaggio."
+#: ../../include/ItemObject.php:114
+msgid "save to folder"
+msgstr "salva in una cartella"
-#: ../../mod/wallmessage.php:68 ../../mod/message.php:72
-msgid "Message sent."
-msgstr "Messaggio inviato."
+#: ../../include/ItemObject.php:142
+msgid "add star"
+msgstr "aggiungi ai preferiti"
-#: ../../mod/wallmessage.php:86 ../../mod/wallmessage.php:95
-msgid "No recipient."
-msgstr "Nessun destinatario."
+#: ../../include/ItemObject.php:143
+msgid "remove star"
+msgstr "rimuovi dai preferiti"
-#: ../../mod/wallmessage.php:123 ../../mod/wallmessage.php:131
-#: ../../mod/message.php:242 ../../mod/message.php:250
-#: ../../include/conversation.php:833 ../../include/conversation.php:850
-msgid "Please enter a link URL:"
-msgstr "Inserisci l'indirizzo del link:"
+#: ../../include/ItemObject.php:144
+msgid "toggle star status"
+msgstr "Attiva/disattiva preferito"
-#: ../../mod/wallmessage.php:138 ../../mod/message.php:278
-msgid "Send Private Message"
-msgstr "Invia un messaggio privato"
+#: ../../include/ItemObject.php:148
+msgid "starred"
+msgstr "preferito"
-#: ../../mod/wallmessage.php:139
-#, php-format
-msgid ""
-"If you wish for %s to respond, please check that the privacy settings on "
-"your site allow private mail from unknown senders."
-msgstr "Se vuoi che %s ti risponda, controlla che le tue impostazioni di privacy permettano la ricezione di messaggi privati da mittenti sconosciuti."
+#: ../../include/ItemObject.php:159
+msgid "add tag"
+msgstr "Aggiungi tag"
-#: ../../mod/wallmessage.php:140 ../../mod/message.php:279
-#: ../../mod/message.php:469
-msgid "To:"
-msgstr "A:"
+#: ../../include/ItemObject.php:165 ../../mod/photos.php:1053
+msgid "I like this (toggle)"
+msgstr "Attiva/disattiva Mi piace"
-#: ../../mod/wallmessage.php:141 ../../mod/message.php:284
-#: ../../mod/message.php:471
-msgid "Subject:"
-msgstr "Oggetto:"
+#: ../../include/ItemObject.php:166 ../../mod/photos.php:1054
+msgid "I don't like this (toggle)"
+msgstr "Attiva/disattiva Non mi piace"
-#: ../../mod/wallmessage.php:147 ../../mod/message.php:288
-#: ../../mod/message.php:474 ../../mod/invite.php:113
-msgid "Your message:"
-msgstr "Il tuo messaggio:"
+#: ../../include/ItemObject.php:168
+msgid "Share this"
+msgstr "Condividi"
-#: ../../mod/newmember.php:6
-msgid "Welcome to Friendica"
-msgstr "Benvenuto su Friendica"
+#: ../../include/ItemObject.php:168
+msgid "share"
+msgstr "condividi"
-#: ../../mod/newmember.php:8
-msgid "New Member Checklist"
-msgstr "Cose da fare per i Nuovi Utenti"
+#: ../../include/ItemObject.php:192 ../../include/ItemObject.php:193
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Guarda il profilo di %s - %s"
-#: ../../mod/newmember.php:12
-msgid ""
-"We would like to offer some tips and links to help make your experience "
-"enjoyable. Click any item to visit the relevant page. A link to this page "
-"will be visible from your home page for two weeks after your initial "
-"registration and then will quietly disappear."
-msgstr "Vorremmo offrirti qualche trucco e dei link alla guida per aiutarti ad avere un'esperienza divertente. Clicca su un qualsiasi elemento per visitare la relativa pagina. Un link a questa pagina sarà visibile nella tua home per due settimane dopo la tua registrazione."
-
-#: ../../mod/newmember.php:14
-msgid "Getting Started"
-msgstr ""
+#: ../../include/ItemObject.php:194
+msgid "to"
+msgstr "a"
-#: ../../mod/newmember.php:18
-msgid "Friendica Walk-Through"
-msgstr ""
+#: ../../include/ItemObject.php:195
+msgid "Wall-to-Wall"
+msgstr "Da bacheca a bacheca"
-#: ../../mod/newmember.php:18
-msgid ""
-"On your <em>Quick Start</em> page - find a brief introduction to your "
-"profile and network tabs, make some new connections, and find some groups to"
-" join."
-msgstr ""
+#: ../../include/ItemObject.php:196
+msgid "via Wall-To-Wall:"
+msgstr "da bacheca a bacheca:"
-#: ../../mod/newmember.php:26
-msgid "Go to Your Settings"
-msgstr ""
+#: ../../include/ItemObject.php:206 ../../include/conversation.php:671
+#, php-format
+msgid " from %s"
+msgstr " da %s"
-#: ../../mod/newmember.php:26
-msgid ""
-"On your <em>Settings</em> page - change your initial password. Also make a "
-"note of your Identity Address. This looks just like an email address - and "
-"will be useful in making friends on the free social web."
-msgstr "Nella tua pagina <em>Impostazioni</em> - cambia la tua password iniziale. Prendi anche nota del tuo Indirizzo Identità. Assomiglia a un indirizzo email e sarà utile per stringere amicizie nel web sociale libero."
+#: ../../include/ItemObject.php:233 ../../include/conversation.php:690
+#: ../../include/conversation.php:1061 ../../mod/photos.php:1056
+#: ../../mod/message.php:298 ../../mod/message.php:461
+#: ../../mod/editwebpage.php:110 ../../mod/editpost.php:85
+msgid "Please wait"
+msgstr "Attendere"
-#: ../../mod/newmember.php:28
-msgid ""
-"Review the other settings, particularly the privacy settings. An unpublished"
-" directory listing is like having an unlisted phone number. In general, you "
-"should probably publish your listing - unless all of your friends and "
-"potential friends know exactly how to find you."
-msgstr "Guarda le altre impostazioni, in particolare le impostazioni della privacy. Un profilo non pubblicato è come un numero di telefono non in elenco. In genere, dovresti pubblicare il tuo profilo - a meno che tutti i tuoi amici e potenziali tali sappiano esattamente come trovarti."
-
-#: ../../mod/newmember.php:32 ../../mod/profperm.php:103
-#: ../../view/theme/diabook/theme.php:128 ../../include/profile_advanced.php:7
-#: ../../include/profile_advanced.php:84 ../../include/nav.php:50
-#: ../../boot.php:1672
-msgid "Profile"
-msgstr "Profilo"
+#: ../../include/ItemObject.php:254
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d commento"
+msgstr[1] "%d commenti"
-#: ../../mod/newmember.php:36 ../../mod/profile_photo.php:244
-msgid "Upload Profile Photo"
-msgstr "Carica la foto del profilo"
+#: ../../include/ItemObject.php:502 ../../mod/photos.php:1071
+#: ../../mod/photos.php:1155
+msgid "This is you"
+msgstr "Questo sei tu"
-#: ../../mod/newmember.php:36
-msgid ""
-"Upload a profile photo if you have not done so already. Studies have shown "
-"that people with real photos of themselves are ten times more likely to make"
-" friends than people who do not."
-msgstr "Carica una foto del profilo se non l'hai ancora fatto. Studi hanno mostrato che persone che hanno vere foto di se stessi hanno dieci volte più probabilità di fare amicizie rispetto alle persone che non ce l'hanno."
+#: ../../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:676 ../../mod/photos.php:770 ../../mod/photos.php:1035
+#: ../../mod/photos.php:1074 ../../mod/photos.php:1158
+#: ../../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:381
+#: ../../mod/crepair.php:166 ../../mod/poke.php:166 ../../mod/fsuggest.php:108
+#: ../../mod/mood.php:135 ../../view/theme/redbasic/php/config.php:136
+#: ../../view/theme/redbasic/php/config.php:154
+#: ../../view/theme/redstrap/php/config.php:131
+msgid "Submit"
+msgstr "Salva"
-#: ../../mod/newmember.php:38
-msgid "Edit Your Profile"
-msgstr ""
+#: ../../include/ItemObject.php:506
+msgid "Bold"
+msgstr "Grassetto"
-#: ../../mod/newmember.php:38
-msgid ""
-"Edit your <strong>default</strong> profile to your liking. Review the "
-"settings for hiding your list of friends and hiding the profile from unknown"
-" visitors."
-msgstr "Modifica il tuo profilo <strong>predefinito</strong> a piacimento. Rivedi le impostazioni per nascondere la tua lista di amici e nascondere il profilo ai visitatori sconosciuti."
+#: ../../include/ItemObject.php:507
+msgid "Italic"
+msgstr "Corsivo"
-#: ../../mod/newmember.php:40
-msgid "Profile Keywords"
-msgstr ""
+#: ../../include/ItemObject.php:508
+msgid "Underline"
+msgstr "Sottolineato"
-#: ../../mod/newmember.php:40
-msgid ""
-"Set some public keywords for your default profile which describe your "
-"interests. We may be able to find other people with similar interests and "
-"suggest friendships."
-msgstr "Inserisci qualche parola chiave pubblica nel tuo profilo predefinito che descriva i tuoi interessi. Potremmo essere in grado di trovare altre persone con interessi similari e suggerirti delle amicizie."
+#: ../../include/ItemObject.php:509
+msgid "Quote"
+msgstr "Citazione"
-#: ../../mod/newmember.php:44
-msgid "Connecting"
-msgstr ""
+#: ../../include/ItemObject.php:510
+msgid "Code"
+msgstr "Codice"
-#: ../../mod/newmember.php:49 ../../mod/newmember.php:51
-#: ../../addon/facebook/facebook.php:728 ../../addon/fbpost/fbpost.php:239
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
+#: ../../include/ItemObject.php:511
+msgid "Image"
+msgstr "Immagine"
-#: ../../mod/newmember.php:49
-msgid ""
-"Authorise the Facebook Connector if you currently have a Facebook account "
-"and we will (optionally) import all your Facebook friends and conversations."
-msgstr "Autorizza il Facebook Connector se hai un account Facebook, e noi (opzionalmente) importeremo tuti i tuoi amici e le tue conversazioni da Facebook."
+#: ../../include/ItemObject.php:512
+msgid "Link"
+msgstr "Link"
-#: ../../mod/newmember.php:51
-msgid ""
-"<em>If</em> this is your own personal server, installing the Facebook addon "
-"may ease your transition to the free social web."
-msgstr "<em>Se</em questo è il tuo server personale, installare il plugin per Facebook puo' aiutarti nella transizione verso il web sociale libero."
+#: ../../include/ItemObject.php:513
+msgid "Video"
+msgstr "Video"
-#: ../../mod/newmember.php:56
-msgid "Importing Emails"
-msgstr ""
+#: ../../include/ItemObject.php:514 ../../include/conversation.php:1079
+#: ../../mod/photos.php:1075 ../../mod/editwebpage.php:130
+#: ../../mod/editpost.php:105
+msgid "Preview"
+msgstr "Anteprima"
-#: ../../mod/newmember.php:56
-msgid ""
-"Enter your email access information on your Connector Settings page if you "
-"wish to import and interact with friends or mailing lists from your email "
-"INBOX"
-msgstr "Inserisci i tuoi dati di accesso all'email nella tua pagina Impostazioni Connettori se vuoi importare e interagire con amici o mailing list dalla tua casella di posta in arrivo"
+#: ../../include/conversation.php:117
+msgid "channel"
+msgstr "canale"
-#: ../../mod/newmember.php:58
-msgid "Go to Your Contacts Page"
-msgstr ""
+#: ../../include/conversation.php:155 ../../mod/like.php:134
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "A %1$s piace %3$s di %2$s"
-#: ../../mod/newmember.php:58
-msgid ""
-"Your Contacts page is your gateway to managing friendships and connecting "
-"with friends on other networks. Typically you enter their address or site "
-"URL in the <em>Add New Contact</em> dialog."
-msgstr "La tua pagina Contatti è il mezzo per gestire le amicizie e collegarsi con amici su altre reti. Di solito, basta inserire l'indirizzo nel campo <em>Aggiungi Nuovo Contatto</em>"
+#: ../../include/conversation.php:158 ../../mod/like.php:136
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "A %1$s non piace %3$s di %2$s"
-#: ../../mod/newmember.php:60
-msgid "Go to Your Site's Directory"
-msgstr ""
+#: ../../include/conversation.php:195
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s adesso è connesso con %2$s"
-#: ../../mod/newmember.php:60
-msgid ""
-"The Directory page lets you find other people in this network or other "
-"federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on "
-"their profile page. Provide your own Identity Address if requested."
-msgstr "La pagina Elenco ti permette di trovare altre persone in questa rete o in altri siti. Cerca un link <em>Connetti</em> o <em>Segui</em> nella loro pagina del profilo. Inserisci il tuo Indirizzo Identità, se richiesto."
+#: ../../include/conversation.php:226
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s ha mandato un poke a %2$s"
-#: ../../mod/newmember.php:62
-msgid "Finding New People"
-msgstr ""
+#: ../../include/conversation.php:248 ../../mod/mood.php:63
+#, php-format
+msgid "%1$s is currently %2$s"
+msgstr "%1$s al momento è %2$s"
-#: ../../mod/newmember.php:62
-msgid ""
-"On the side panel of the Contacts page are several tools to find new "
-"friends. We can match people by interest, look up people by name or "
-"interest, and provide suggestions based on network relationships. On a brand"
-" new site, friend suggestions will usually begin to be populated within 24 "
-"hours."
-msgstr "Nel pannello laterale nella pagina \"Contatti\", ci sono diversi strumenti per trovare nuovi amici. Possiamo confrontare le persone per interessi, cercare le persone per nome e fornire suggerimenti basati sui tuoi contatti esistenti. Su un sito nuovo, i suggerimenti sono di solito presenti dopo 24 ore."
+#: ../../include/conversation.php:649
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Vedi il profilo di %s @ %s"
-#: ../../mod/newmember.php:66 ../../include/group.php:239
-msgid "Groups"
-msgstr "Grouppi"
+#: ../../include/conversation.php:688
+msgid "View in context"
+msgstr "Vedi nel contesto"
-#: ../../mod/newmember.php:70
-msgid "Group Your Contacts"
-msgstr ""
+#: ../../include/conversation.php:818
+msgid "Loading..."
+msgstr "Caricamento in corso..."
-#: ../../mod/newmember.php:70
-msgid ""
-"Once you have made some friends, organize them into private conversation "
-"groups from the sidebar of your Contacts page and then you can interact with"
-" each group privately on your Network page."
-msgstr "Quando avrai alcuni amici, organizzali in gruppi di conversazioni private dalla barra laterale della tua pagina Contatti. Potrai interagire privatamente con ogni gruppo nella tua pagina Rete"
+#: ../../include/conversation.php:819
+msgid "Delete Selected Items"
+msgstr "Elimina gli oggetti selezionati"
-#: ../../mod/newmember.php:73
-msgid "Why Aren't My Posts Public?"
-msgstr ""
+#: ../../include/conversation.php:907
+msgid "Follow Thread"
+msgstr "Segui la discussione"
-#: ../../mod/newmember.php:73
-msgid ""
-"Friendica respects your privacy. By default, your posts will only show up to"
-" people you've added as friends. For more information, see the help section "
-"from the link above."
-msgstr ""
+#: ../../include/conversation.php:976
+#, php-format
+msgid "%s likes this."
+msgstr "Piace a %s."
-#: ../../mod/newmember.php:78
-msgid "Getting Help"
-msgstr ""
+#: ../../include/conversation.php:976
+#, php-format
+msgid "%s doesn't like this."
+msgstr "Non piace a %s."
-#: ../../mod/newmember.php:82
-msgid "Go to the Help Section"
-msgstr ""
+#: ../../include/conversation.php:980
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgstr "Piace a <span %1$s>%2$d persone</span>."
-#: ../../mod/newmember.php:82
-msgid ""
-"Our <strong>help</strong> pages may be consulted for detail on other program"
-" features and resources."
-msgstr "Le nostre pagine della <strong>guida</strong> possono essere consultate per avere dettagli su altre caratteristiche del programma e altre risorse."
+#: ../../include/conversation.php:982
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgstr "Non piace a <span %1$s>%2$d persone</span>."
-#: ../../mod/attach.php:8
-msgid "Item not available."
-msgstr "Oggetto non disponibile."
+#: ../../include/conversation.php:988
+msgid "and"
+msgstr "e"
-#: ../../mod/attach.php:20
-msgid "Item was not found."
-msgstr "Oggetto non trovato."
+#: ../../include/conversation.php:991
+#, php-format
+msgid ", and %d other people"
+msgstr "e altre %d persone"
-#: ../../mod/group.php:29
-msgid "Group created."
-msgstr "Gruppo creato."
+#: ../../include/conversation.php:992
+#, php-format
+msgid "%s like this."
+msgstr "Piace a %s."
-#: ../../mod/group.php:35
-msgid "Could not create group."
-msgstr "Impossibile creare il gruppo."
+#: ../../include/conversation.php:992
+#, php-format
+msgid "%s don't like this."
+msgstr "Non piace a %s."
-#: ../../mod/group.php:47 ../../mod/group.php:137
-msgid "Group not found."
-msgstr "Gruppo non trovato."
+#: ../../include/conversation.php:1017
+msgid "Visible to <strong>everybody</strong>"
+msgstr "Visibile a <strong>tutti</strong>"
-#: ../../mod/group.php:60
-msgid "Group name changed."
-msgstr "Il nome del gruppo è cambiato."
+#: ../../include/conversation.php:1018 ../../mod/message.php:253
+#: ../../mod/message.php:365
+msgid "Please enter a link URL:"
+msgstr "Inserisci l'indirizzo del link:"
-#: ../../mod/group.php:72 ../../mod/profperm.php:19 ../../index.php:316
-msgid "Permission denied"
-msgstr "Permesso negato"
+#: ../../include/conversation.php:1019
+msgid "Please enter a video link/URL:"
+msgstr "Inserisci l'indirizzo del video:"
-#: ../../mod/group.php:90
-msgid "Create a group of contacts/friends."
-msgstr "Crea un gruppo di amici/contatti."
+#: ../../include/conversation.php:1020
+msgid "Please enter an audio link/URL:"
+msgstr "Inserisci l'indirizzo dell'audio:"
-#: ../../mod/group.php:91 ../../mod/group.php:177
-msgid "Group Name: "
-msgstr "Nome del gruppo:"
+#: ../../include/conversation.php:1021
+msgid "Tag term:"
+msgstr "Tag:"
-#: ../../mod/group.php:110
-msgid "Group removed."
-msgstr "Gruppo rimosso."
+#: ../../include/conversation.php:1022 ../../mod/filer.php:35
+msgid "Save to Folder:"
+msgstr "Salva nella cartella:"
-#: ../../mod/group.php:112
-msgid "Unable to remove group."
-msgstr "Impossibile rimuovere il gruppo."
+#: ../../include/conversation.php:1023
+msgid "Where are you right now?"
+msgstr "Dove sei ora?"
-#: ../../mod/group.php:176
-msgid "Group Editor"
-msgstr "Modifica gruppo"
+#: ../../include/conversation.php:1038 ../../mod/photos.php:1055
+msgid "Share"
+msgstr "Condividi"
-#: ../../mod/group.php:189
-msgid "Members"
-msgstr "Membri"
+#: ../../include/conversation.php:1040
+msgid "Page link title"
+msgstr "Titolo del link"
-#: ../../mod/group.php:221 ../../mod/profperm.php:105
-msgid "Click on a contact to add or remove."
-msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo."
+#: ../../include/conversation.php:1042 ../../mod/message.php:295
+#: ../../mod/message.php:457 ../../mod/editwebpage.php:102
+#: ../../mod/editpost.php:77
+msgid "Upload photo"
+msgstr "Carica foto"
-#: ../../mod/profperm.php:25 ../../mod/profperm.php:55
-msgid "Invalid profile identifier."
-msgstr "Indentificativo del profilo non valido."
+#: ../../include/conversation.php:1043
+msgid "upload photo"
+msgstr "carica foto"
-#: ../../mod/profperm.php:101
-msgid "Profile Visibility Editor"
-msgstr "Modifica visibilità del profilo"
+#: ../../include/conversation.php:1044 ../../mod/message.php:296
+#: ../../mod/message.php:458 ../../mod/editwebpage.php:103
+#: ../../mod/editpost.php:78
+msgid "Attach file"
+msgstr "Allega file"
-#: ../../mod/profperm.php:114
-msgid "Visible To"
-msgstr "Visibile a"
+#: ../../include/conversation.php:1045
+msgid "attach file"
+msgstr "allega file"
-#: ../../mod/profperm.php:130
-msgid "All Contacts (with secure profile access)"
-msgstr "Tutti i contatti (con profilo ad accesso sicuro)"
+#: ../../include/conversation.php:1046 ../../mod/message.php:297
+#: ../../mod/message.php:459 ../../mod/editwebpage.php:104
+#: ../../mod/editpost.php:79
+msgid "Insert web link"
+msgstr "Inserisci un indirizzo web"
-#: ../../mod/viewconnections.php:39
-msgid "No contacts."
-msgstr "Nessun contatto."
+#: ../../include/conversation.php:1047
+msgid "web link"
+msgstr "link web"
-#: ../../mod/viewconnections.php:76 ../../include/text.php:618
-msgid "View Contacts"
-msgstr "Visualizza i contatti"
+#: ../../include/conversation.php:1048
+msgid "Insert video link"
+msgstr "Inserisci l'indirizzo di un video"
-#: ../../mod/register.php:88 ../../mod/regmod.php:52
-#, php-format
-msgid "Registration details for %s"
-msgstr "Dettagli della registrazione di %s"
+#: ../../include/conversation.php:1049
+msgid "video link"
+msgstr "link video"
-#: ../../mod/register.php:96
-msgid ""
-"Registration successful. Please check your email for further instructions."
-msgstr "Registrazione completata. Controlla la tua mail per ulteriori informazioni."
+#: ../../include/conversation.php:1050
+msgid "Insert audio link"
+msgstr "Inserisci l'indirizzo di un audio"
-#: ../../mod/register.php:100
-msgid "Failed to send email message. Here is the message that failed."
-msgstr "Errore nell'invio del messaggio email. Questo è il messaggio non inviato."
+#: ../../include/conversation.php:1051
+msgid "audio link"
+msgstr "link audio"
-#: ../../mod/register.php:105
-msgid "Your registration can not be processed."
-msgstr "La tua registrazione non puo' essere elaborata."
+#: ../../include/conversation.php:1052 ../../mod/editwebpage.php:108
+#: ../../mod/editpost.php:83
+msgid "Set your location"
+msgstr "La tua località"
-#: ../../mod/register.php:142
-#, php-format
-msgid "Registration request at %s"
-msgstr "Richiesta di registrazione su %s"
+#: ../../include/conversation.php:1053
+msgid "set location"
+msgstr "inserisci la località"
-#: ../../mod/register.php:151
-msgid "Your registration is pending approval by the site owner."
-msgstr "La tua richiesta è in attesa di approvazione da parte del prorietario del sito."
+#: ../../include/conversation.php:1054 ../../mod/editwebpage.php:109
+#: ../../mod/editpost.php:84
+msgid "Clear browser location"
+msgstr "Rimuovi la località data dal browser"
-#: ../../mod/register.php:189
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Questo sito ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani."
+#: ../../include/conversation.php:1055
+msgid "clear location"
+msgstr "rimuovi la località"
-#: ../../mod/register.php:217
-msgid ""
-"You may (optionally) fill in this form via OpenID by supplying your OpenID "
-"and clicking 'Register'."
-msgstr "Se vuoi, puoi riempire questo modulo tramite OpenID, inserendo il tuo OpenID e cliccando 'Registra'."
+#: ../../include/conversation.php:1057 ../../mod/editwebpage.php:122
+#: ../../mod/editpost.php:97
+msgid "Set title"
+msgstr "Scegli un titolo"
-#: ../../mod/register.php:218
-msgid ""
-"If you are not familiar with OpenID, please leave that field blank and fill "
-"in the rest of the items."
-msgstr "Se non hai familiarità con OpenID, lascia il campo vuoto e riempi il resto della maschera."
+#: ../../include/conversation.php:1060 ../../mod/editwebpage.php:124
+#: ../../mod/editpost.php:99
+msgid "Categories (comma-separated list)"
+msgstr "Categorie (separate da virgola)"
-#: ../../mod/register.php:219
-msgid "Your OpenID (optional): "
-msgstr "Il tuo OpenID (opzionale): "
+#: ../../include/conversation.php:1062 ../../mod/editwebpage.php:111
+#: ../../mod/editpost.php:86
+msgid "Permission settings"
+msgstr "Impostazioni permessi"
-#: ../../mod/register.php:233
-msgid "Include your profile in member directory?"
-msgstr "Includi il tuo profilo nell'elenco pubblico?"
+#: ../../include/conversation.php:1063
+msgid "permissions"
+msgstr "permessi"
-#: ../../mod/register.php:255
-msgid "Membership on this site is by invitation only."
-msgstr "La registrazione su questo sito è solo su invito."
+#: ../../include/conversation.php:1071 ../../mod/editwebpage.php:119
+#: ../../mod/editpost.php:94
+msgid "Public post"
+msgstr "Articolo pubblico"
-#: ../../mod/register.php:256
-msgid "Your invitation ID: "
-msgstr "L'ID del tuo invito:"
+#: ../../include/conversation.php:1073 ../../mod/editwebpage.php:125
+#: ../../mod/editpost.php:100
+msgid "Example: bob@example.com, mary@example.com"
+msgstr "Per esempio: mario@esempio.com, simona@esempio.com"
-#: ../../mod/register.php:259 ../../mod/admin.php:444
-msgid "Registration"
-msgstr "Registrazione"
+#: ../../include/items.php:157 ../../mod/like.php:55 ../../mod/group.php:74
+#: ../../mod/profperm.php:28 ../../index.php:339
+msgid "Permission denied"
+msgstr "Permesso negato"
-#: ../../mod/register.php:267
-msgid "Your Full Name (e.g. Joe Smith): "
-msgstr "Il tuo nome completo (es. Mario Rossi): "
+#: ../../include/items.php:3265 ../../mod/page.php:60 ../../mod/viewsrc.php:18
+#: ../../mod/home.php:64 ../../mod/admin.php:142 ../../mod/admin.php:677
+#: ../../mod/admin.php:876 ../../mod/display.php:33
+msgid "Item not found."
+msgstr "Elemento non trovato."
-#: ../../mod/register.php:268
-msgid "Your Email Address: "
-msgstr "Il tuo indirizzo email: "
+#: ../../include/items.php:3437
+msgid "Archives"
+msgstr "Archivi"
-#: ../../mod/register.php:269
-msgid ""
-"Choose a profile nickname. This must begin with a text character. Your "
-"profile address on this site will then be "
-"'<strong>nickname@$sitename</strong>'."
-msgstr "Scegli un nome utente. Deve cominciare con una lettera. L'indirizzo del tuo profilo sarà '<strong>soprannome@$sitename</strong>'."
+#: ../../include/items.php:3598 ../../mod/group.php:44 ../../mod/group.php:146
+msgid "Collection not found."
+msgstr "Insieme non trovato."
-#: ../../mod/register.php:270
-msgid "Choose a nickname: "
-msgstr "Scegli un nome utente: "
+#: ../../include/items.php:3608
+msgid "Collection has no members."
+msgstr "L'insieme è vuoto."
-#: ../../mod/register.php:273 ../../include/nav.php:81 ../../boot.php:887
-msgid "Register"
-msgstr "Registrati"
+#: ../../include/items.php:3624
+msgid "Connection not found."
+msgstr "Gruppo non trovato."
-#: ../../mod/dirfind.php:26
-msgid "People Search"
-msgstr "Cerca persone"
+#: ../../include/security.php:49
+msgid "Welcome "
+msgstr "Ciao"
-#: ../../mod/like.php:145 ../../mod/like.php:298 ../../mod/tagger.php:62
-#: ../../addon/facebook/facebook.php:1598
-#: ../../addon/communityhome/communityhome.php:158
-#: ../../addon/communityhome/communityhome.php:167
-#: ../../view/theme/diabook/theme.php:565
-#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1824
-#: ../../include/conversation.php:120 ../../include/conversation.php:129
-#: ../../include/conversation.php:248 ../../include/conversation.php:257
-msgid "status"
-msgstr "stato"
+#: ../../include/security.php:50
+msgid "Please upload a profile photo."
+msgstr "Carica una foto per il profilo!"
-#: ../../mod/like.php:162 ../../addon/facebook/facebook.php:1602
-#: ../../addon/communityhome/communityhome.php:172
-#: ../../view/theme/diabook/theme.php:579 ../../include/diaspora.php:1840
-#: ../../include/conversation.php:136
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "A %1$s piace %3$s di %2$s"
+#: ../../include/security.php:53
+msgid "Welcome back "
+msgstr "Ciao, è bello rivederti"
-#: ../../mod/like.php:164 ../../include/conversation.php:139
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "A %1$s non piace %3$s di %2$s"
+#: ../../include/security.php:357
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "L'identificativo di sicurezza del modulo che hai riempito non è corretto. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
-#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:159
-#: ../../mod/admin.php:734 ../../mod/admin.php:933 ../../mod/display.php:29
-#: ../../mod/display.php:145 ../../include/items.php:3779
-msgid "Item not found."
-msgstr "Elemento non trovato."
+#: ../../mod/common.php:10
+msgid "No channel."
+msgstr "Nessun canale."
-#: ../../mod/viewsrc.php:7
-msgid "Access denied."
-msgstr "Accesso negato."
+#: ../../mod/common.php:47
+msgid "Common connections"
+msgstr "Contatti in comune"
-#: ../../mod/fbrowser.php:25 ../../view/theme/diabook/theme.php:130
-#: ../../include/nav.php:51 ../../boot.php:1679
-msgid "Photos"
-msgstr "Foto"
+#: ../../mod/common.php:52
+msgid "No connections in common."
+msgstr "Nessun contatto in comune."
-#: ../../mod/fbrowser.php:96
-msgid "Files"
-msgstr ""
+#: ../../mod/events.php:66
+msgid "Event title and start time are required."
+msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento."
-#: ../../mod/regmod.php:61
-msgid "Account approved."
-msgstr "Account approvato."
+#: ../../mod/events.php:281
+msgid "l, F j"
+msgstr "l j F"
-#: ../../mod/regmod.php:98
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrazione revocata per %s"
+#: ../../mod/events.php:303
+msgid "Edit event"
+msgstr "Modifica l'evento"
-#: ../../mod/regmod.php:110
-msgid "Please login."
-msgstr "Accedi."
+#: ../../mod/events.php:349
+msgid "Create New Event"
+msgstr "Crea un nuovo evento"
-#: ../../mod/item.php:91
-msgid "Unable to locate original post."
-msgstr "Impossibile trovare il messaggio originale."
+#: ../../mod/events.php:350
+msgid "Previous"
+msgstr "Precendente"
-#: ../../mod/item.php:275
-msgid "Empty post discarded."
-msgstr "Messaggio vuoto scartato."
+#: ../../mod/events.php:351 ../../mod/setup.php:237
+msgid "Next"
+msgstr "Successivo"
-#: ../../mod/item.php:407 ../../mod/wall_upload.php:133
-#: ../../mod/wall_upload.php:142 ../../mod/wall_upload.php:149
-#: ../../include/message.php:144
-msgid "Wall Photos"
-msgstr "Foto della bacheca"
+#: ../../mod/events.php:425
+msgid "hour:minute"
+msgstr "ora:minuti"
-#: ../../mod/item.php:820
-msgid "System error. Post not saved."
-msgstr "Errore di sistema. Messaggio non salvato."
+#: ../../mod/events.php:435
+msgid "Event details"
+msgstr "Dettagli evento"
-#: ../../mod/item.php:845
+#: ../../mod/events.php:436
#, php-format
-msgid ""
-"This message was sent to you by %s, a member of the Friendica social "
-"network."
-msgstr "Questo messaggio ti è stato inviato da %s, un membro del social network Friendica."
+msgid "Format is %s %s. Starting date and Title are required."
+msgstr "Il formato è %s %s. L'inizio e il titolo sono obbligatori."
-#: ../../mod/item.php:847
-#, php-format
-msgid "You may visit them online at %s"
-msgstr "Puoi visitarli online su %s"
+#: ../../mod/events.php:438
+msgid "Event Starts:"
+msgstr "Inizio:"
-#: ../../mod/item.php:848
-msgid ""
-"Please contact the sender by replying to this post if you do not wish to "
-"receive these messages."
-msgstr "Contatta il mittente rispondendo a questo post se non vuoi ricevere questi messaggi."
+#: ../../mod/events.php:438 ../../mod/events.php:452
+msgid "Required"
+msgstr "Obbligatorio"
-#: ../../mod/item.php:850
-#, php-format
-msgid "%s posted an update."
-msgstr "%s ha inviato un aggiornamento."
+#: ../../mod/events.php:441
+msgid "Finish date/time is not known or not relevant"
+msgstr "La data/ora di fine non è rilevante"
-#: ../../mod/mood.php:62 ../../include/conversation.php:226
-#, php-format
-msgid "%1$s is currently %2$s"
-msgstr ""
+#: ../../mod/events.php:443
+msgid "Event Finishes:"
+msgstr "Fine:"
-#: ../../mod/mood.php:133
-msgid "Mood"
-msgstr ""
+#: ../../mod/events.php:446
+msgid "Adjust for viewer timezone"
+msgstr "Adatta al fuso orario di chi legge"
-#: ../../mod/mood.php:134
-msgid "Set your current mood and tell your friends"
-msgstr ""
+#: ../../mod/events.php:448
+msgid "Description:"
+msgstr "Descrizione:"
-#: ../../mod/profile_photo.php:44
-msgid "Image uploaded but image cropping failed."
-msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."
+#: ../../mod/events.php:452
+msgid "Title:"
+msgstr "Titolo:"
-#: ../../mod/profile_photo.php:77 ../../mod/profile_photo.php:84
-#: ../../mod/profile_photo.php:91 ../../mod/profile_photo.php:308
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Il ridimensionamento del'immagine [%s] è fallito."
+#: ../../mod/events.php:454
+msgid "Share this event"
+msgstr "Condividi questo evento"
-#: ../../mod/profile_photo.php:118
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente."
+#: ../../mod/thing.php:109
+msgid "Object store: failed"
+msgstr "Impossibile memorizzare l'oggetto."
-#: ../../mod/profile_photo.php:128
-msgid "Unable to process image"
-msgstr "Impossibile elaborare l'immagine"
+#: ../../mod/thing.php:113
+msgid "thing/stuff added"
+msgstr "oggetto aggiunto"
-#: ../../mod/profile_photo.php:144 ../../mod/wall_upload.php:88
+#: ../../mod/thing.php:129
#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "La dimensione dell'immagine supera il limite di %d"
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../mod/profile_photo.php:242
-msgid "Upload File:"
-msgstr "Carica un file:"
+#: ../../mod/thing.php:175
+msgid "not yet implemented."
+msgstr "non ancora implementato."
-#: ../../mod/profile_photo.php:243
-msgid "Select a profile:"
-msgstr ""
+#: ../../mod/thing.php:181
+msgid "Add Stuff to your Profile"
+msgstr "Aggiungi un oggetto al tuo profilo"
-#: ../../mod/profile_photo.php:245
-#: ../../addon/dav/friendica/layout.fnk.php:152
-msgid "Upload"
-msgstr "Carica"
+#: ../../mod/thing.php:183
+msgid "Select a profile"
+msgstr "Scegli un profilo"
-#: ../../mod/profile_photo.php:248
-msgid "skip this step"
-msgstr "salta questo passaggio"
+#: ../../mod/thing.php:185
+msgid "Select a category of stuff. e.g. I ______ something"
+msgstr "Scegli come riferirsi all'oggetto. Esempio: Io _____ l'oggetto"
-#: ../../mod/profile_photo.php:248
-msgid "select a photo from your photo albums"
-msgstr "seleziona una foto dai tuoi album"
-
-#: ../../mod/profile_photo.php:262
-msgid "Crop Image"
-msgstr "Ritaglia immagine"
-
-#: ../../mod/profile_photo.php:263
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Ritaglia l'imagine per una visualizzazione migliore."
-
-#: ../../mod/profile_photo.php:265
-msgid "Done Editing"
-msgstr "Finito"
-
-#: ../../mod/profile_photo.php:299
-msgid "Image uploaded successfully."
-msgstr "Immagine caricata con successo."
-
-#: ../../mod/hcard.php:10
-msgid "No profile"
-msgstr "Nessun profilo"
-
-#: ../../mod/removeme.php:45 ../../mod/removeme.php:48
-msgid "Remove My Account"
-msgstr "Rimuovi il mio account"
-
-#: ../../mod/removeme.php:46
-msgid ""
-"This will completely remove your account. Once this has been done it is not "
-"recoverable."
-msgstr "Questo comando rimuoverà completamente il tuo account. Una volta rimosso non potrai più recuperarlo."
+#: ../../mod/thing.php:187
+msgid "Name of thing or stuff e.g. something"
+msgstr "Nome dell'oggetto"
-#: ../../mod/removeme.php:47
-msgid "Please enter your password for verification:"
-msgstr "Inserisci la tua password per verifica:"
+#: ../../mod/thing.php:188
+msgid "URL of thing or stuff (optional)"
+msgstr "Indirizzo web dell'oggetto (se cel'ha)"
-#: ../../mod/message.php:9 ../../include/nav.php:131
-msgid "New Message"
-msgstr "Nuovo messaggio"
+#: ../../mod/thing.php:189
+msgid "URL for photo of thing or stuff (optional)"
+msgstr "Indirizzo web della foto dell'oggetto (facoltativo)"
-#: ../../mod/message.php:63
-msgid "Unable to locate contact information."
-msgstr "Impossibile trovare le informazioni del contatto."
+#: ../../mod/invite.php:25
+msgid "Total invitation limit exceeded."
+msgstr "Hai superato il numero massimo di inviti."
-#: ../../mod/message.php:191
-msgid "Message deleted."
-msgstr "Messaggio eliminato."
+#: ../../mod/invite.php:47
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s: non è un indirizzo email valido."
-#: ../../mod/message.php:221
-msgid "Conversation removed."
-msgstr "Conversazione rimossa."
+#: ../../mod/invite.php:74
+msgid "Please join us on Red"
+msgstr "Vieni con noi su Red"
-#: ../../mod/message.php:327
-msgid "No messages."
-msgstr "Nessun messaggio."
+#: ../../mod/invite.php:85
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario."
-#: ../../mod/message.php:334
+#: ../../mod/invite.php:90
#, php-format
-msgid "Unknown sender - %s"
-msgstr "Mittente sconosciuto - %s"
+msgid "%s : Message delivery failed."
+msgstr "%s: la consegna del messaggio è fallita."
-#: ../../mod/message.php:337
+#: ../../mod/invite.php:94
#, php-format
-msgid "You and %s"
-msgstr "Tu e %s"
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d messaggio inviato."
+msgstr[1] "%d messaggi inviati."
-#: ../../mod/message.php:340
-#, php-format
-msgid "%s and You"
-msgstr ""
+#: ../../mod/invite.php:113
+msgid "You have no more invitations available"
+msgstr "Non hai altri inviti disponibili"
-#: ../../mod/message.php:350 ../../mod/message.php:462
-msgid "Delete conversation"
-msgstr "Elimina la conversazione"
+#: ../../mod/invite.php:139
+msgid "Send invitations"
+msgstr "Spedisci inviti"
-#: ../../mod/message.php:353
-msgid "D, d M Y - g:i A"
-msgstr "D d M Y - G:i"
+#: ../../mod/invite.php:140
+msgid "Enter email addresses, one per line:"
+msgstr "Inserisci gli indirizzi email, uno per riga:"
-#: ../../mod/message.php:356
-#, php-format
-msgid "%d message"
-msgid_plural "%d messages"
-msgstr[0] "%d messaggio"
-msgstr[1] "%d messaggi"
+#: ../../mod/invite.php:141 ../../mod/message.php:292
+#: ../../mod/message.php:453
+msgid "Your message:"
+msgstr "Il tuo messaggio:"
-#: ../../mod/message.php:391
-msgid "Message not available."
-msgstr "Messaggio non disponibile."
+#: ../../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 social and information tool."
+msgstr "Questo è un caloroso invito ad unirti a me e altri amici su Red Matrix - uno strumento di comunicazione social rivoluzionario e decentrato."
-#: ../../mod/message.php:444
-msgid "Delete message"
-msgstr "Elimina il messaggio"
+#: ../../mod/invite.php:144
+msgid "You will need to supply this invitation code: $invite_code"
+msgstr "Sarà necessario fornire questo codice invito: $invite_code"
-#: ../../mod/message.php:464
+#: ../../mod/invite.php:146
+msgid "Please visit my channel at"
+msgstr "Puoi visitare il mio canale su"
+
+#: ../../mod/invite.php:150
msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Nessuna comunicazione sicura disponibile, <strong>Potresti</strong> essere in grado di rispondere dalla pagina del profilo del mittente."
+"Once you have registered, please connect with my Red Matrix channel address:"
+msgstr "Una volta che avrai fatto la registrazione, potrai connetterti al mio canale Red Matrix a questo indirizzo:"
-#: ../../mod/message.php:468
-msgid "Send Reply"
-msgstr "Invia la risposta"
+#: ../../mod/invite.php:152
+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 "Per saperne di più sul progetto Red Matrix e sul perché potrebbe cambiare internet per come la conosciamo, visita http://getzot.com"
-#: ../../mod/allfriends.php:34
+#: ../../mod/allfriends.php:35
#, php-format
msgid "Friends of %s"
msgstr "Amici di %s"
-#: ../../mod/allfriends.php:40
+#: ../../mod/allfriends.php:41
msgid "No friends to display."
msgstr "Nessun amico da visualizzare."
-#: ../../mod/admin.php:55
-msgid "Theme settings updated."
-msgstr ""
-
-#: ../../mod/admin.php:96 ../../mod/admin.php:442
-msgid "Site"
-msgstr "Sito"
-
-#: ../../mod/admin.php:97 ../../mod/admin.php:688 ../../mod/admin.php:701
-msgid "Users"
-msgstr "Utenti"
+#: ../../mod/webpages.php:8 ../../mod/connect.php:13 ../../mod/profile.php:8
+#: ../../boot.php:1592
+msgid "Requested profile is not available."
+msgstr "Il profilo richiesto non è disponibile."
-#: ../../mod/admin.php:98 ../../mod/admin.php:783 ../../mod/admin.php:825
-msgid "Plugins"
-msgstr "Plugin"
+#: ../../mod/webpages.php:84
+msgid "View"
+msgstr "Guarda"
-#: ../../mod/admin.php:99 ../../mod/admin.php:988 ../../mod/admin.php:1024
-msgid "Themes"
-msgstr "Temi"
+#: ../../mod/api.php:76 ../../mod/api.php:102
+msgid "Authorize application connection"
+msgstr "Autorizza la app"
-#: ../../mod/admin.php:100
-msgid "DB updates"
-msgstr ""
+#: ../../mod/api.php:77
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Torna alla app e inserisci questo codice di sicurezza:"
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1111
-msgid "Logs"
-msgstr "Log"
+#: ../../mod/api.php:89
+msgid "Please login to continue."
+msgstr "Accedi al sito per continuare."
-#: ../../mod/admin.php:120 ../../include/nav.php:146
-msgid "Admin"
-msgstr "Amministrazione"
+#: ../../mod/api.php:104
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"
-#: ../../mod/admin.php:121
-msgid "Plugin Features"
-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
+msgid "Yes"
+msgstr "Si"
-#: ../../mod/admin.php:123
-msgid "User registrations waiting for confirmation"
-msgstr "Utenti registrati in attesa di conferma"
+#: ../../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
+msgid "No"
+msgstr "No"
-#: ../../mod/admin.php:183 ../../mod/admin.php:669
-msgid "Normal Account"
-msgstr "Account normale"
+#: ../../mod/lastpost.php:16 ../../mod/channel.php:16
+msgid "You must be logged in to see this page."
+msgstr "Devi aver effettuato l'accesso per vedere questa pagina."
-#: ../../mod/admin.php:184 ../../mod/admin.php:670
-msgid "Soapbox Account"
-msgstr "Account per comunicati e annunci"
+#: ../../mod/apps.php:8
+msgid "No installed applications."
+msgstr "Nessuna app installata."
-#: ../../mod/admin.php:185 ../../mod/admin.php:671
-msgid "Community/Celebrity Account"
-msgstr "Account per celebrità o per comunità"
+#: ../../mod/apps.php:13
+msgid "Applications"
+msgstr "Applicazioni"
-#: ../../mod/admin.php:186 ../../mod/admin.php:672
-msgid "Automatic Friend Account"
-msgstr "Account per amicizia automatizzato"
+#: ../../mod/page.php:35
+msgid "Invalid item."
+msgstr "Elemento non valido."
-#: ../../mod/admin.php:187
-msgid "Blog Account"
-msgstr ""
+#: ../../mod/page.php:47 ../../mod/chanview.php:78 ../../mod/home.php:51
+#: ../../mod/magic.php:63 ../../mod/wall_upload.php:35
+msgid "Channel not found."
+msgstr "Canale non trovato."
-#: ../../mod/admin.php:188
-msgid "Private Forum"
-msgstr ""
+#: ../../mod/attach.php:9
+msgid "Item not available."
+msgstr "Elemento non disponibile."
-#: ../../mod/admin.php:207
-msgid "Message queues"
-msgstr ""
+#: ../../mod/setup.php:142
+msgid "Red Matrix Server - Setup"
+msgstr "Red Matrix Server - Installazione"
-#: ../../mod/admin.php:212 ../../mod/admin.php:441 ../../mod/admin.php:687
-#: ../../mod/admin.php:782 ../../mod/admin.php:824 ../../mod/admin.php:987
-#: ../../mod/admin.php:1023 ../../mod/admin.php:1110
-msgid "Administration"
-msgstr "Amministrazione"
+#: ../../mod/setup.php:148
+msgid "Could not connect to database."
+msgstr " Impossibile connettersi al database."
-#: ../../mod/admin.php:213
-msgid "Summary"
-msgstr "Sommario"
+#: ../../mod/setup.php:152
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
-#: ../../mod/admin.php:215
-msgid "Registered users"
-msgstr "Utenti registrati"
+#: ../../mod/setup.php:157
+msgid "Could not create table."
+msgstr "Impossibile creare le tabelle."
-#: ../../mod/admin.php:217
-msgid "Pending registrations"
-msgstr "Registrazioni in attesa"
+#: ../../mod/setup.php:163
+msgid "Your site database has been installed."
+msgstr "Il database del sito è stato installato."
-#: ../../mod/admin.php:218
-msgid "Version"
-msgstr "Versione"
+#: ../../mod/setup.php:168
+msgid ""
+"You may need to import the file \"install/database.sql\" manually using "
+"phpmyadmin or mysql."
+msgstr "Potresti dover importare il file 'install/database.sql' manualmente usando phpmyadmin o mysql."
-#: ../../mod/admin.php:220
-msgid "Active plugins"
-msgstr "Plugin attivi"
+#: ../../mod/setup.php:169 ../../mod/setup.php:236 ../../mod/setup.php:565
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Leggi il file 'install/INSTALL.txt'."
-#: ../../mod/admin.php:373
-msgid "Site settings updated."
-msgstr "Impostazioni del sito aggiornate."
+#: ../../mod/setup.php:233
+msgid "System check"
+msgstr "Verifica del sistema"
-#: ../../mod/admin.php:428
-msgid "Closed"
-msgstr "Chiusa"
+#: ../../mod/setup.php:238
+msgid "Check again"
+msgstr "Verifica di nuovo"
-#: ../../mod/admin.php:429
-msgid "Requires approval"
-msgstr "Richiede l'approvazione"
+#: ../../mod/setup.php:260
+msgid "Database connection"
+msgstr "Connessione al database"
-#: ../../mod/admin.php:430
-msgid "Open"
-msgstr "Aperta"
+#: ../../mod/setup.php:261
+msgid ""
+"In order to install Red Matrix we need to know how to connect to your "
+"database."
+msgstr "Per installare Red Matrix è necessario conoscere i parametri di connessione al database."
-#: ../../mod/admin.php:434
-msgid "No SSL policy, links will track page SSL state"
-msgstr ""
+#: ../../mod/setup.php:262
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
-#: ../../mod/admin.php:435
-msgid "Force all links to use SSL"
-msgstr "Forza tutti i linki ad usare SSL"
+#: ../../mod/setup.php:263
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
-#: ../../mod/admin.php:436
-msgid "Self-signed certificate, use SSL for local links only (discouraged)"
-msgstr ""
+#: ../../mod/setup.php:267
+msgid "Database Server Name"
+msgstr "Server del database"
-#: ../../mod/admin.php:445
-msgid "File upload"
-msgstr "Caricamento file"
+#: ../../mod/setup.php:267
+msgid "Default is localhost"
+msgstr "'localhost' è il predefinito"
-#: ../../mod/admin.php:446
-msgid "Policies"
-msgstr "Politiche"
+#: ../../mod/setup.php:268
+msgid "Database Port"
+msgstr "Port del database"
-#: ../../mod/admin.php:447
-msgid "Advanced"
-msgstr "Avanzate"
+#: ../../mod/setup.php:268
+msgid "Communication port number - use 0 for default"
+msgstr "Scrivi 0 per usare il valore standard"
-#: ../../mod/admin.php:451 ../../addon/statusnet/statusnet.php:567
-msgid "Site name"
-msgstr "Nome del sito"
+#: ../../mod/setup.php:269
+msgid "Database Login Name"
+msgstr "Utente database"
-#: ../../mod/admin.php:452
-msgid "Banner/Logo"
-msgstr "Banner/Logo"
+#: ../../mod/setup.php:270
+msgid "Database Login Password"
+msgstr "Password utente database"
-#: ../../mod/admin.php:453
-msgid "System language"
-msgstr "Lingua di sistema"
+#: ../../mod/setup.php:271
+msgid "Database Name"
+msgstr "Nome database"
-#: ../../mod/admin.php:454
-msgid "System theme"
-msgstr "Tema di sistema"
+#: ../../mod/setup.php:273 ../../mod/setup.php:315
+msgid "Site administrator email address"
+msgstr "Indirizzo email dell'amministratore del sito"
-#: ../../mod/admin.php:454
+#: ../../mod/setup.php:273 ../../mod/setup.php:315
msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web."
-#: ../../mod/admin.php:455
-msgid "Mobile system theme"
-msgstr ""
+#: ../../mod/setup.php:274 ../../mod/setup.php:317
+msgid "Website URL"
+msgstr "URL completo del sito"
-#: ../../mod/admin.php:455
-msgid "Theme for mobile devices"
-msgstr ""
+#: ../../mod/setup.php:274 ../../mod/setup.php:317
+msgid "Please use SSL (https) URL if available."
+msgstr "Se disponibile, usa l'indirizzo SSL (https)."
-#: ../../mod/admin.php:456
-msgid "SSL link policy"
-msgstr ""
+#: ../../mod/setup.php:277 ../../mod/setup.php:320
+msgid "Please select a default timezone for your website"
+msgstr "Seleziona il fuso orario predefinito per il tuo sito web"
-#: ../../mod/admin.php:456
-msgid "Determines whether generated links should be forced to use SSL"
-msgstr ""
+#: ../../mod/setup.php:304
+msgid "Site settings"
+msgstr "Impostazioni del sito"
-#: ../../mod/admin.php:457
-msgid "Maximum image size"
-msgstr "Massima dimensione immagini"
+#: ../../mod/setup.php:360
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
-#: ../../mod/admin.php:457
+#: ../../mod/setup.php:361
msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite."
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
-#: ../../mod/admin.php:458
-msgid "Maximum image length"
-msgstr ""
+#: ../../mod/setup.php:365
+msgid "PHP executable path"
+msgstr "Path del comando PHP"
-#: ../../mod/admin.php:458
+#: ../../mod/setup.php:365
msgid ""
-"Maximum length in pixels of the longest side of uploaded images. Default is "
-"-1, which means no limits."
-msgstr ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
-#: ../../mod/admin.php:459
-msgid "JPEG image quality"
-msgstr ""
+#: ../../mod/setup.php:370
+msgid "Command line PHP"
+msgstr "PHP da riga di comando"
-#: ../../mod/admin.php:459
+#: ../../mod/setup.php:379
msgid ""
-"Uploaded JPEGS will be saved at this quality setting [0-100]. Default is "
-"100, which is full quality."
-msgstr ""
-
-#: ../../mod/admin.php:461
-msgid "Register policy"
-msgstr "Politica di registrazione"
-
-#: ../../mod/admin.php:462
-msgid "Register text"
-msgstr "Testo registrazione"
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
-#: ../../mod/admin.php:462
-msgid "Will be displayed prominently on the registration page."
-msgstr "Sarà mostrato ben visibile nella pagina di registrazione."
+#: ../../mod/setup.php:380
+msgid "This is required for message delivery to work."
+msgstr "E' necessario perché funzioni la consegna dei messaggi."
-#: ../../mod/admin.php:463
-msgid "Accounts abandoned after x days"
-msgstr "Account abbandonati dopo x giorni"
+#: ../../mod/setup.php:382
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
-#: ../../mod/admin.php:463
+#: ../../mod/setup.php:403
msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Non spreca risorse di sistema controllando siti esterni per gli account abbandonati. Immettere 0 per nessun limite di tempo."
-
-#: ../../mod/admin.php:464
-msgid "Allowed friend domains"
-msgstr "Domini amici consentiti"
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione"
-#: ../../mod/admin.php:464
+#: ../../mod/setup.php:404
msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Elenco separato da virglola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio."
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../mod/admin.php:465
-msgid "Allowed email domains"
-msgstr "Domini email consentiti"
+#: ../../mod/setup.php:406
+msgid "Generate encryption keys"
+msgstr "Genera chiavi di criptazione"
-#: ../../mod/admin.php:465
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio."
+#: ../../mod/setup.php:413
+msgid "libCurl PHP module"
+msgstr "modulo PHP libCurl"
-#: ../../mod/admin.php:466
-msgid "Block public"
-msgstr "Blocca pagine pubbliche"
+#: ../../mod/setup.php:414
+msgid "GD graphics PHP module"
+msgstr "modulo PHP GD graphics"
-#: ../../mod/admin.php:466
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently logged in."
-msgstr "Seleziona per bloccare l'accesso pubblico a tutte le pagine personali di questo sito, a meno di essere loggato."
+#: ../../mod/setup.php:415
+msgid "OpenSSL PHP module"
+msgstr "modulo PHP OpenSSL"
-#: ../../mod/admin.php:467
-msgid "Force publish"
-msgstr "Forza publicazione"
+#: ../../mod/setup.php:416
+msgid "mysqli PHP module"
+msgstr "modulo PHP mysqli"
-#: ../../mod/admin.php:467
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Seleziona per forzare tutti i profili di questo sito ad essere compresi nell'elenco di questo sito."
+#: ../../mod/setup.php:417
+msgid "mb_string PHP module"
+msgstr "modulo PHP mb_string"
-#: ../../mod/admin.php:468
-msgid "Global directory update URL"
-msgstr "URL aggiornamento Elenco Globale"
+#: ../../mod/setup.php:418
+msgid "mcrypt PHP module"
+msgstr "modulo PHP mcrypt"
-#: ../../mod/admin.php:468
+#: ../../mod/setup.php:423 ../../mod/setup.php:425
+msgid "Apache mod_rewrite module"
+msgstr "modulo Apache mod_rewrite"
+
+#: ../../mod/setup.php:423
msgid ""
-"URL to update the global directory. If this is not set, the global directory"
-" is completely unavailable to the application."
-msgstr "URL dell'elenco globale. Se vuoto, l'elenco globale sarà completamente disabilitato."
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
-#: ../../mod/admin.php:469
-msgid "Allow threaded items"
-msgstr ""
+#: ../../mod/setup.php:429 ../../mod/setup.php:432
+msgid "proc_open"
+msgstr "proc_open"
-#: ../../mod/admin.php:469
-msgid "Allow infinite level threading for items on this site."
-msgstr ""
+#: ../../mod/setup.php:429
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"
-#: ../../mod/admin.php:470
-msgid "Private posts by default for new users"
-msgstr ""
+#: ../../mod/setup.php:437
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
-#: ../../mod/admin.php:470
+#: ../../mod/setup.php:441
msgid ""
-"Set default post permissions for all new members to the default privacy "
-"group rather than public."
-msgstr ""
-
-#: ../../mod/admin.php:472
-msgid "Block multiple registrations"
-msgstr "Blocca registrazioni multiple"
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
-#: ../../mod/admin.php:472
-msgid "Disallow users to register additional accounts for use as pages."
-msgstr "Non permette all'utente di registrare account extra da usare come pagine."
+#: ../../mod/setup.php:445
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
-#: ../../mod/admin.php:473
-msgid "OpenID support"
-msgstr "Supporto OpenID"
+#: ../../mod/setup.php:449
+msgid "Error: mysqli PHP module required but not installed."
+msgstr "Errore: il modulo mysqli di PHP è richiesto ma non installato."
-#: ../../mod/admin.php:473
-msgid "OpenID support for registration and logins."
-msgstr "Supporta OpenID per la registrazione e il login"
+#: ../../mod/setup.php:453
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
-#: ../../mod/admin.php:474
-msgid "Fullname check"
-msgstr "Controllo nome completo"
+#: ../../mod/setup.php:457
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr "Errore: il modulo PHP mcrypt è richiesto ma non installato."
-#: ../../mod/admin.php:474
+#: ../../mod/setup.php:473
msgid ""
-"Force users to register with a space between firstname and lastname in Full "
-"name, as an antispam measure"
-msgstr "Forza gli utenti a registrarsi con uno spazio tra il nome e il cognome in \"Nome completo\", come misura antispam"
-
-#: ../../mod/admin.php:475
-msgid "UTF-8 Regular expressions"
-msgstr "Espressioni regolari UTF-8"
-
-#: ../../mod/admin.php:475
-msgid "Use PHP UTF8 regular expressions"
-msgstr "Usa le espressioni regolari PHP in UTF8"
-
-#: ../../mod/admin.php:476
-msgid "Show Community Page"
-msgstr "Mostra pagina Comunità"
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella principale del tuo web server ma non è in grado di farlo."
-#: ../../mod/admin.php:476
+#: ../../mod/setup.php:474
msgid ""
-"Display a Community page showing all recent public postings on this site."
-msgstr "Mostra una pagina Comunità con tutti i recenti messaggi pubblici su questo sito."
-
-#: ../../mod/admin.php:477
-msgid "Enable OStatus support"
-msgstr "Abilita supporto OStatus"
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
-#: ../../mod/admin.php:477
+#: ../../mod/setup.php:475
msgid ""
-"Provide built-in OStatus (identi.ca, status.net, etc.) compatibility. All "
-"communications in OStatus are public, so privacy warnings will be "
-"occasionally displayed."
-msgstr "Fornisce compatibiltà OStatuts (identi.ca, status.net, etc.). Tutte le comunicazioni in OStatus sono pubbliche, per cui avvisi di provacy verranno occasionalmente mostrati."
-
-#: ../../mod/admin.php:478
-msgid "Enable Diaspora support"
-msgstr "Abilita il supporto a Diaspora"
-
-#: ../../mod/admin.php:478
-msgid "Provide built-in Diaspora network compatibility."
-msgstr "Fornisce compatibilità con il network Diaspora."
-
-#: ../../mod/admin.php:479
-msgid "Only allow Friendica contacts"
-msgstr "Permetti solo contatti Friendica"
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Red."
-#: ../../mod/admin.php:479
+#: ../../mod/setup.php:476
msgid ""
-"All contacts must use Friendica protocols. All other built-in communication "
-"protocols disabled."
-msgstr "Tutti i contatti devono usare il protocollo di Friendica. Tutti gli altri protocolli sono disabilitati."
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
-#: ../../mod/admin.php:480
-msgid "Verify SSL"
-msgstr "Verifica SSL"
+#: ../../mod/setup.php:479
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php è scrivibile"
-#: ../../mod/admin.php:480
+#: ../../mod/setup.php:489
msgid ""
-"If you wish, you can turn on strict certificate checking. This will mean you"
-" cannot connect (at all) to self-signed SSL sites."
-msgstr "Se vuoi, puoi abilitare il controllo rigoroso dei certificati.Questo significa che non potrai collegarti (del tutto) con siti con certificati SSL auto-firmati."
-
-#: ../../mod/admin.php:481
-msgid "Proxy user"
-msgstr "Utente Proxy"
-
-#: ../../mod/admin.php:482
-msgid "Proxy URL"
-msgstr "URL Proxy"
-
-#: ../../mod/admin.php:483
-msgid "Network timeout"
-msgstr "Timeout rete"
-
-#: ../../mod/admin.php:483
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Valore in secondi. Imposta a 0 per illimitato (non raccomandato)."
-
-#: ../../mod/admin.php:484
-msgid "Delivery interval"
-msgstr ""
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."
-#: ../../mod/admin.php:484
+#: ../../mod/setup.php:490
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 ""
+"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 "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura alla cartella view/tpl/smarty3/ sotto la cartella di installazione di Red."
-#: ../../mod/admin.php:485
-msgid "Poll interval"
-msgstr ""
-
-#: ../../mod/admin.php:485
+#: ../../mod/setup.php:491
msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr ""
-
-#: ../../mod/admin.php:486
-msgid "Maximum Load Average"
-msgstr ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Assicurati che il tuo web server sia in esecuzione come un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
-#: ../../mod/admin.php:486
+#: ../../mod/setup.php:492
msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr ""
+"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 "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente per view/tpl/smarty3/ non per tutti i file di template (.tpl) che contiene."
-#: ../../mod/admin.php:503
-msgid "Update has been marked successful"
-msgstr ""
+#: ../../mod/setup.php:495
+msgid "view/tpl/smarty3 is writable"
+msgstr "view/tpl/smarty3 è scrivibile"
-#: ../../mod/admin.php:513
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr ""
+#: ../../mod/setup.php:509
+msgid "SSL certificate validation"
+msgstr "Validazione del certificato SSL"
-#: ../../mod/admin.php:516
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr ""
-
-#: ../../mod/admin.php:520
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr ""
-
-#: ../../mod/admin.php:523
-#, php-format
-msgid "Update function %s could not be found."
-msgstr ""
+#: ../../mod/setup.php:509
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
-#: ../../mod/admin.php:538
-msgid "No failed updates."
-msgstr ""
+#: ../../mod/setup.php:516
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server configuration."
+msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server."
-#: ../../mod/admin.php:542
-msgid "Failed Updates"
-msgstr ""
+#: ../../mod/setup.php:518
+msgid "Url rewrite is working"
+msgstr "Url rewrite funziona correttamente"
-#: ../../mod/admin.php:543
+#: ../../mod/setup.php:528
msgid ""
-"This does not include updates prior to 1139, which did not return a status."
-msgstr ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
-#: ../../mod/admin.php:544
-msgid "Mark success (if update was manually applied)"
-msgstr ""
+#: ../../mod/setup.php:552
+msgid "Errors encountered creating database tables."
+msgstr "La creazione delle tabelle del database ha generato errori."
-#: ../../mod/admin.php:545
-msgid "Attempt to execute this update step automatically"
-msgstr ""
+#: ../../mod/setup.php:563
+msgid "<h1>What next</h1>"
+msgstr "<h1>I prossimi passi</h1>"
-#: ../../mod/admin.php:570
-#, php-format
-msgid "%s user blocked/unblocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../mod/setup.php:564
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
-#: ../../mod/admin.php:577
+#: ../../mod/subthread.php:105
#, php-format
-msgid "%s user deleted"
-msgid_plural "%s users deleted"
-msgstr[0] "%s utente cancellato"
-msgstr[1] "%s utenti cancellati"
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s sta seguendo %3$s di %2$s"
-#: ../../mod/admin.php:616
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Utente '%s' cancellato"
+#: ../../mod/update_network.php:23 ../../mod/update_channel.php:43
+#: ../../mod/update_search.php:46 ../../mod/update_display.php:25
+#: ../../mod/update_community.php:18
+msgid "[Embedded content - reload page to view]"
+msgstr "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]"
-#: ../../mod/admin.php:624
-#, php-format
-msgid "User '%s' unblocked"
-msgstr "Utente '%s' sbloccato"
+#: ../../mod/chanview.php:94
+msgid "toggle full screen mode"
+msgstr "attiva/disattiva schermo intero"
-#: ../../mod/admin.php:624
+#: ../../mod/tagger.php:98
#, php-format
-msgid "User '%s' blocked"
-msgstr "Utente '%s' bloccato"
-
-#: ../../mod/admin.php:690
-msgid "select all"
-msgstr "seleziona tutti"
-
-#: ../../mod/admin.php:691
-msgid "User registrations waiting for confirm"
-msgstr "Richieste di registrazione in attesa di conferma"
-
-#: ../../mod/admin.php:692
-msgid "Request date"
-msgstr "Data richiesta"
-
-#: ../../mod/admin.php:692 ../../mod/admin.php:702
-#: ../../include/contact_selectors.php:79
-msgid "Email"
-msgstr "Email"
-
-#: ../../mod/admin.php:693
-msgid "No registrations."
-msgstr "Nessuna registrazione."
-
-#: ../../mod/admin.php:695
-msgid "Deny"
-msgstr "Nega"
-
-#: ../../mod/admin.php:699
-msgid "Site admin"
-msgstr ""
-
-#: ../../mod/admin.php:702
-msgid "Register date"
-msgstr "Data registrazione"
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
-#: ../../mod/admin.php:702
-msgid "Last login"
-msgstr "Ultimo accesso"
+#: ../../mod/settings.php:51
+msgid "Account settings"
+msgstr "Impostazioni dell'account"
-#: ../../mod/admin.php:702
-msgid "Last item"
-msgstr "Ultimo elemento"
+#: ../../mod/settings.php:57
+msgid "Channel settings"
+msgstr "Impostazioni del canale"
-#: ../../mod/admin.php:702
-msgid "Account"
-msgstr "Account"
+#: ../../mod/settings.php:63
+msgid "Additional features"
+msgstr "Funzionalità aggiuntive"
-#: ../../mod/admin.php:704
-msgid ""
-"Selected users will be deleted!\\n\\nEverything these users had posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Gli utenti selezionati saranno cancellati!\\n\\nTutto quello che gli utenti hanno inviato su questo sito sarà permanentemente canellato!\\n\\nSei sicuro?"
+#: ../../mod/settings.php:69
+msgid "Feature settings"
+msgstr "Impostazioni aggiuntive"
-#: ../../mod/admin.php:705
-msgid ""
-"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
-"site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "L'utente {0} sarà cancellato!\\n\\nTutto quello che ha inviato su questo sito sarà permanentemente canellato!\\n\\nSei sicuro?"
-
-#: ../../mod/admin.php:746
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plugin %s disabilitato."
-
-#: ../../mod/admin.php:750
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plugin %s abilitato."
+#: ../../mod/settings.php:75
+msgid "Display settings"
+msgstr "Impostazioni grafiche"
-#: ../../mod/admin.php:760 ../../mod/admin.php:958
-msgid "Disable"
-msgstr "Disabilita"
+#: ../../mod/settings.php:81
+msgid "Connected apps"
+msgstr "App connesse"
-#: ../../mod/admin.php:762 ../../mod/admin.php:960
-msgid "Enable"
-msgstr "Abilita"
+#: ../../mod/settings.php:87
+msgid "Export channel"
+msgstr "Esporta il canale"
-#: ../../mod/admin.php:784 ../../mod/admin.php:989
-msgid "Toggle"
-msgstr "Inverti"
+#: ../../mod/settings.php:99
+msgid "Automatic Permissions (Advanced)"
+msgstr "Permessi predefiniti (avanzato)"
-#: ../../mod/admin.php:792 ../../mod/admin.php:999
-msgid "Author: "
-msgstr "Autore: "
+#: ../../mod/settings.php:109
+msgid "Premium Channel Settings"
+msgstr "Canale premium - impostazioni"
-#: ../../mod/admin.php:793 ../../mod/admin.php:1000
-msgid "Maintainer: "
-msgstr "Manutentore: "
+#: ../../mod/settings.php:158
+msgid "Missing some important data!"
+msgstr "Mancano alcune informazioni importanti!"
-#: ../../mod/admin.php:922
-msgid "No themes found."
-msgstr "Nessun tema trovato."
+#: ../../mod/settings.php:161 ../../mod/settings.php:647
+msgid "Update"
+msgstr "Aggiorna"
-#: ../../mod/admin.php:981
-msgid "Screenshot"
-msgstr ""
+#: ../../mod/settings.php:274
+msgid "Passwords do not match. Password unchanged."
+msgstr "Le password non corrispondono. Password non cambiata."
-#: ../../mod/admin.php:1029
-msgid "[Experimental]"
-msgstr "[Sperimentale]"
+#: ../../mod/settings.php:278
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Le password non possono essere vuote. Password non cambiata."
-#: ../../mod/admin.php:1030
-msgid "[Unsupported]"
-msgstr "[Non supportato]"
+#: ../../mod/settings.php:291
+msgid "Password changed."
+msgstr "Password cambiata."
-#: ../../mod/admin.php:1057
-msgid "Log settings updated."
-msgstr "Impostazioni Log aggiornate."
+#: ../../mod/settings.php:293
+msgid "Password update failed. Please try again."
+msgstr "Aggiornamento password fallito. Prova ancora."
-#: ../../mod/admin.php:1113
-msgid "Clear"
-msgstr "Pulisci"
+#: ../../mod/settings.php:307
+msgid "Not valid email."
+msgstr "Email non valida."
-#: ../../mod/admin.php:1119
-msgid "Debugging"
-msgstr "Debugging"
+#: ../../mod/settings.php:310
+msgid "Protected email address. Cannot change to that email."
+msgstr "È un indirizzo email riservato. Non puoi sceglierlo."
-#: ../../mod/admin.php:1120
-msgid "Log file"
-msgstr "File di Log"
+#: ../../mod/settings.php:319
+msgid "System failure storing new email. Please try again."
+msgstr "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore."
-#: ../../mod/admin.php:1120
-msgid ""
-"Must be writable by web server. Relative to your Friendica top-level "
-"directory."
-msgstr "Deve essere scrivibile dal server web. Relativo alla tua directory Friendica."
+#: ../../mod/settings.php:549
+msgid "Settings updated."
+msgstr "Impostazioni aggiornate."
-#: ../../mod/admin.php:1121
-msgid "Log level"
-msgstr "Livello di Log"
+#: ../../mod/settings.php:620 ../../mod/settings.php:646
+#: ../../mod/settings.php:682
+msgid "Add application"
+msgstr "Aggiungi una app"
-#: ../../mod/admin.php:1171
-msgid "Close"
-msgstr "Chiudi"
+#: ../../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 "Annulla"
-#: ../../mod/admin.php:1177
-msgid "FTP Host"
-msgstr "Indirizzo FTP"
+#: ../../mod/settings.php:623 ../../mod/settings.php:649
+#: ../../mod/admin.php:636 ../../mod/crepair.php:148
+msgid "Name"
+msgstr "Nome"
-#: ../../mod/admin.php:1178
-msgid "FTP Path"
-msgstr "Percorso FTP"
+#: ../../mod/settings.php:624 ../../mod/settings.php:650
+msgid "Consumer Key"
+msgstr "Consumer Key"
-#: ../../mod/admin.php:1179
-msgid "FTP User"
-msgstr "Utente FTP"
+#: ../../mod/settings.php:625 ../../mod/settings.php:651
+msgid "Consumer Secret"
+msgstr "Consumer Secret"
-#: ../../mod/admin.php:1180
-msgid "FTP Password"
-msgstr "Pasword FTP"
+#: ../../mod/settings.php:626 ../../mod/settings.php:652
+msgid "Redirect"
+msgstr "Redirect"
-#: ../../mod/profile.php:22 ../../boot.php:1074
-msgid "Requested profile is not available."
-msgstr "Profilo richiesto non disponibile."
+#: ../../mod/settings.php:627 ../../mod/settings.php:653
+msgid "Icon url"
+msgstr "Url icona"
-#: ../../mod/profile.php:152 ../../mod/display.php:77
-msgid "Access to this profile has been restricted."
-msgstr "L'accesso a questo profilo è stato limitato."
+#: ../../mod/settings.php:638
+msgid "You can't edit this application."
+msgstr "Non puoi modificare questa applicazione."
-#: ../../mod/profile.php:177
-msgid "Tips for New Members"
-msgstr "Consigli per i Nuovi Utenti"
+#: ../../mod/settings.php:681
+msgid "Connected Apps"
+msgstr "App connesse"
-#: ../../mod/ping.php:238
-msgid "{0} wants to be your friend"
-msgstr "{0} vuole essere tuo amico"
+#: ../../mod/settings.php:685
+msgid "Client key starts with"
+msgstr "La client key inizia con"
-#: ../../mod/ping.php:243
-msgid "{0} sent you a message"
-msgstr "{0} ti ha inviato un messaggio"
+#: ../../mod/settings.php:686
+msgid "No name"
+msgstr "Nessun nome"
-#: ../../mod/ping.php:248
-msgid "{0} requested registration"
-msgstr "{0} chiede la registrazione"
+#: ../../mod/settings.php:687
+msgid "Remove authorization"
+msgstr "Revoca l'autorizzazione"
-#: ../../mod/ping.php:254
-#, php-format
-msgid "{0} commented %s's post"
-msgstr "{0} ha commentato il post di %s"
+#: ../../mod/settings.php:698
+msgid "No feature settings configured"
+msgstr "Non ci sono funzionalità aggiuntive personalizzabili"
-#: ../../mod/ping.php:259
-#, php-format
-msgid "{0} liked %s's post"
-msgstr "a {0} piace il post di %s"
+#: ../../mod/settings.php:706
+msgid "Feature Settings"
+msgstr "Impostazioni aggiuntive"
-#: ../../mod/ping.php:264
-#, php-format
-msgid "{0} disliked %s's post"
-msgstr "a {0} non piace il post di %s"
+#: ../../mod/settings.php:729
+msgid "Account Settings"
+msgstr "Impostazioni account"
-#: ../../mod/ping.php:269
-#, php-format
-msgid "{0} is now friends with %s"
-msgstr "{0} ora è amico di %s"
+#: ../../mod/settings.php:730
+msgid "Password Settings"
+msgstr "Impostazioni password"
-#: ../../mod/ping.php:274
-msgid "{0} posted"
-msgstr "{0} ha inviato un nuovo messaggio"
+#: ../../mod/settings.php:731
+msgid "New Password:"
+msgstr "Nuova password:"
-#: ../../mod/ping.php:279
-#, php-format
-msgid "{0} tagged %s's post with #%s"
-msgstr "{0} ha taggato il post di %s con #%s"
+#: ../../mod/settings.php:732
+msgid "Confirm:"
+msgstr "Conferma:"
-#: ../../mod/ping.php:285
-msgid "{0} mentioned you in a post"
-msgstr "{0} ti ha citato in un post"
+#: ../../mod/settings.php:732
+msgid "Leave password fields blank unless changing"
+msgstr "Lascia questi campi in bianco per non cambiare la password"
-#: ../../mod/nogroup.php:58
-msgid "Contacts who are not members of a group"
-msgstr ""
+#: ../../mod/settings.php:734 ../../mod/settings.php:1032
+msgid "Email Address:"
+msgstr "Indirizzo email:"
-#: ../../mod/openid.php:24
-msgid "OpenID protocol error. No ID returned."
-msgstr ""
+#: ../../mod/settings.php:735
+msgid "Remove Account"
+msgstr "Elimina l'account"
-#: ../../mod/openid.php:53
-msgid ""
-"Account not found and OpenID registration is not permitted on this site."
-msgstr ""
+#: ../../mod/settings.php:736
+msgid "Warning: This action is permanent and cannot be reversed."
+msgstr "Attenzione: questa azione è permanente e non potrà più essere annullata."
-#: ../../mod/openid.php:93 ../../include/auth.php:98
-#: ../../include/auth.php:161
-msgid "Login failed."
-msgstr "Accesso fallito."
+#: ../../mod/settings.php:752
+msgid "Off"
+msgstr "Off"
-#: ../../mod/follow.php:27
-msgid "Contact added"
-msgstr ""
+#: ../../mod/settings.php:752
+msgid "On"
+msgstr "On"
-#: ../../mod/common.php:42
-msgid "Common Friends"
-msgstr "Amici in comune"
+#: ../../mod/settings.php:759
+msgid "Additional Features"
+msgstr "Funzionalità aggiuntive"
-#: ../../mod/common.php:78
-msgid "No contacts in common."
-msgstr ""
-
-#: ../../mod/share.php:28
-msgid "link"
-msgstr ""
+#: ../../mod/settings.php:784
+msgid "Connector Settings"
+msgstr "Impostazioni del connettore"
-#: ../../mod/display.php:138
-msgid "Item has been removed."
-msgstr "L'oggetto è stato rimosso."
+#: ../../mod/settings.php:814 ../../mod/admin.php:361
+msgid "No special theme for mobile devices"
+msgstr "Nessun tema per dispositivi mobili"
-#: ../../mod/apps.php:4
-msgid "Applications"
-msgstr "Applicazioni"
+#: ../../mod/settings.php:854
+msgid "Display Settings"
+msgstr "Impostazioni grafiche"
-#: ../../mod/apps.php:7
-msgid "No installed applications."
-msgstr "Nessuna applicazione installata."
+#: ../../mod/settings.php:860
+msgid "Display Theme:"
+msgstr "Tema per monitor:"
-#: ../../mod/search.php:85 ../../include/text.php:678
-#: ../../include/text.php:679 ../../include/nav.php:91
-msgid "Search"
-msgstr "Cerca"
+#: ../../mod/settings.php:861
+msgid "Mobile Theme:"
+msgstr "Tema per dispositivi mobili:"
-#: ../../mod/profiles.php:21 ../../mod/profiles.php:423
-#: ../../mod/profiles.php:537 ../../mod/dfrn_confirm.php:62
-msgid "Profile not found."
-msgstr "Profilo non trovato."
+#: ../../mod/settings.php:862
+msgid "Update browser every xx seconds"
+msgstr "Aggiorna il browser ogni x secondi"
-#: ../../mod/profiles.php:31
-msgid "Profile Name is required."
-msgstr "Il nome profilo è obbligatorio ."
+#: ../../mod/settings.php:862
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimo 10 secondi, nessun limite massimo"
-#: ../../mod/profiles.php:160
-msgid "Marital Status"
-msgstr ""
+#: ../../mod/settings.php:863
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Massimo numero di conversazioni da mostrare ogni volta:"
-#: ../../mod/profiles.php:164
-msgid "Romantic Partner"
-msgstr ""
+#: ../../mod/settings.php:863
+msgid "Maximum of 100 items"
+msgstr "Massimo 100"
-#: ../../mod/profiles.php:168
-msgid "Likes"
-msgstr ""
+#: ../../mod/settings.php:864
+msgid "Don't show emoticons"
+msgstr "Non mostrare le emoticons"
-#: ../../mod/profiles.php:172
-msgid "Dislikes"
-msgstr ""
+#: ../../mod/settings.php:900
+msgid "Nobody except yourself"
+msgstr "Nessuno tranne te"
-#: ../../mod/profiles.php:176
-msgid "Work/Employment"
-msgstr ""
+#: ../../mod/settings.php:901
+msgid "Only those you specifically allow"
+msgstr "Solo chi riceve il mio permesso"
-#: ../../mod/profiles.php:179
-msgid "Religion"
-msgstr "Religione"
+#: ../../mod/settings.php:902
+msgid "Anybody in your address book"
+msgstr "Chiunque tra i miei contatti"
-#: ../../mod/profiles.php:183
-msgid "Political Views"
-msgstr "Orientamento Politico"
+#: ../../mod/settings.php:903
+msgid "Anybody on this website"
+msgstr "Chiunque su questo sito"
-#: ../../mod/profiles.php:187
-msgid "Gender"
-msgstr "Sesso"
+#: ../../mod/settings.php:904
+msgid "Anybody in this network"
+msgstr "Chiunque su Red"
-#: ../../mod/profiles.php:191
-msgid "Sexual Preference"
-msgstr "Preferenza sessuale"
+#: ../../mod/settings.php:905
+msgid "Anybody on the internet"
+msgstr "Chiunque su internet"
-#: ../../mod/profiles.php:195
-msgid "Homepage"
-msgstr "Homepage"
+#: ../../mod/settings.php:978
+msgid "Publish your default profile in the network directory"
+msgstr "Pubblica il mio profilo predefinito sull'elenco pubblico dei canali"
-#: ../../mod/profiles.php:199
-msgid "Interests"
-msgstr "Interessi"
+#: ../../mod/settings.php:983
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Vuoi essere suggerito come potenziale amico ai nuovi membri?"
-#: ../../mod/profiles.php:203
-msgid "Address"
-msgstr ""
+#: ../../mod/settings.php:987 ../../mod/profile_photo.php:298
+msgid "or"
+msgstr "o"
-#: ../../mod/profiles.php:210 ../../addon/dav/common/wdcal_edit.inc.php:183
-msgid "Location"
-msgstr "Posizione"
+#: ../../mod/settings.php:992
+msgid "Your channel address is"
+msgstr "L'indirizzo del tuo canale è"
-#: ../../mod/profiles.php:293
-msgid "Profile updated."
-msgstr "Profilo aggiornato."
+#: ../../mod/settings.php:1003
+msgid "Automatically expire posts after this many days:"
+msgstr "Gli articoli scadono automaticamente dopo questo numero di giorni:"
-#: ../../mod/profiles.php:360
-msgid " and "
-msgstr ""
+#: ../../mod/settings.php:1003
+msgid "If empty, posts will not expire. Expired posts will be deleted"
+msgstr "Se lasci vuoto, i messaggi non scadranno mai. I messaggi scaduti saranno eliminati."
-#: ../../mod/profiles.php:368
-msgid "public profile"
-msgstr "profilo pubblico"
+#: ../../mod/settings.php:1004
+msgid "Advanced expiration settings"
+msgstr "Impostazioni avanzate di scandenza"
-#: ../../mod/profiles.php:371
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr ""
+#: ../../mod/settings.php:1005
+msgid "Advanced Expiration"
+msgstr "Scadenza"
-#: ../../mod/profiles.php:372
-#, php-format
-msgid " - Visit %1$s's %2$s"
-msgstr ""
+#: ../../mod/settings.php:1006
+msgid "Expire posts:"
+msgstr "Fai scadere gli articoli:"
-#: ../../mod/profiles.php:375
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s ha un %2$s aggiornato. Ha cambiato %3$s"
+#: ../../mod/settings.php:1008
+msgid "Expire starred posts:"
+msgstr "Fai scadere gli articoli preferiti:"
-#: ../../mod/profiles.php:442
-msgid "Profile deleted."
-msgstr "Profilo elminato."
+#: ../../mod/settings.php:1009
+msgid "Expire photos:"
+msgstr "Fai scadere le foto:"
-#: ../../mod/profiles.php:460 ../../mod/profiles.php:494
-msgid "Profile-"
-msgstr "Profilo-"
+#: ../../mod/settings.php:1010
+msgid "Only expire posts by others:"
+msgstr "Fai scadere solo gli articoli scritti da altri:"
-#: ../../mod/profiles.php:479 ../../mod/profiles.php:521
-msgid "New profile created."
-msgstr "Il nuovo profilo è stato creato."
+#: ../../mod/settings.php:1021
+msgid "Channel Settings"
+msgstr "Impostazioni del canale"
-#: ../../mod/profiles.php:500
-msgid "Profile unavailable to clone."
-msgstr "Impossibile duplicare il profilo."
+#: ../../mod/settings.php:1030
+msgid "Basic Settings"
+msgstr "Impostazioni di base"
-#: ../../mod/profiles.php:562
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?"
+#: ../../mod/settings.php:1033
+msgid "Your Timezone:"
+msgstr "Il tuo fuso orario:"
-#: ../../mod/profiles.php:582
-msgid "Edit Profile Details"
-msgstr "Modifica i dettagli del profilo"
+#: ../../mod/settings.php:1034
+msgid "Default Post Location:"
+msgstr "Località predefinita:"
-#: ../../mod/profiles.php:584
-msgid "View this profile"
-msgstr "Visualizza questo profilo"
+#: ../../mod/settings.php:1035
+msgid "Use Browser Location:"
+msgstr "Usa la località rilevata dal browser:"
-#: ../../mod/profiles.php:585
-msgid "Create a new profile using these settings"
-msgstr "Crea un nuovo profilo usando queste impostazioni"
+#: ../../mod/settings.php:1038
+msgid "Security and Privacy Settings"
+msgstr "Impostazioni di sicurezza e privacy"
-#: ../../mod/profiles.php:586
-msgid "Clone this profile"
-msgstr "Clona questo profilo"
+#: ../../mod/settings.php:1040
+msgid "Quick Privacy Settings:"
+msgstr "Impostazioni veloci della privacy:"
-#: ../../mod/profiles.php:587
-msgid "Delete this profile"
-msgstr "Elimina questo profilo"
+#: ../../mod/settings.php:1041
+msgid "Very Public - extremely permissive"
+msgstr "Tutto pubblico - molto permissivo"
-#: ../../mod/profiles.php:588
-msgid "Profile Name:"
-msgstr "Nome del profilo:"
+#: ../../mod/settings.php:1042
+msgid "Typical - default public, privacy when desired"
+msgstr "Normale - tutto sarà pubblico tranne quel che vorrai tu"
-#: ../../mod/profiles.php:589
-msgid "Your Full Name:"
-msgstr "Il tuo nome completo:"
+#: ../../mod/settings.php:1043
+msgid "Private - default private, rarely open or public"
+msgstr "Privato - i contenuti saranno privati ma, se vorrai, alcuni potrai renderli pubblici"
-#: ../../mod/profiles.php:590
-msgid "Title/Description:"
-msgstr "Breve descrizione (es. titolo, posizione, altro):"
+#: ../../mod/settings.php:1044
+msgid "Blocked - default blocked to/from everybody"
+msgstr "Bloccato - non ci saranno interazioni con altri a meno che tu non voglia"
-#: ../../mod/profiles.php:591
-msgid "Your Gender:"
-msgstr "Il tuo sesso:"
+#: ../../mod/settings.php:1047
+msgid "Maximum Friend Requests/Day:"
+msgstr "Numero massimo giornaliero di richieste di amicizia:"
-#: ../../mod/profiles.php:592
-#, php-format
-msgid "Birthday (%s):"
-msgstr "Compleanno (%s)"
+#: ../../mod/settings.php:1047
+msgid "May reduce spam activity"
+msgstr "Serve e ridurre lo spam"
-#: ../../mod/profiles.php:593
-msgid "Street Address:"
-msgstr "Indirizzo (via/piazza):"
+#: ../../mod/settings.php:1048
+msgid "Default Post Permissions"
+msgstr "Permessi predefiniti per gli articoli"
-#: ../../mod/profiles.php:594
-msgid "Locality/City:"
-msgstr "Località:"
+#: ../../mod/settings.php:1049
+msgid "(click to open/close)"
+msgstr "(clicca per aprire/chiudere)"
-#: ../../mod/profiles.php:595
-msgid "Postal/Zip Code:"
-msgstr "CAP:"
+#: ../../mod/settings.php:1062
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:"
-#: ../../mod/profiles.php:596
-msgid "Country:"
-msgstr "Nazione:"
+#: ../../mod/settings.php:1062
+msgid "Useful to reduce spamming"
+msgstr "Serve e ridurre lo spam"
-#: ../../mod/profiles.php:597
-msgid "Region/State:"
-msgstr "Regione/Stato:"
+#: ../../mod/settings.php:1065
+msgid "Notification Settings"
+msgstr "Impostazioni di notifica"
-#: ../../mod/profiles.php:598
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Stato sentimentale:"
+#: ../../mod/settings.php:1066
+msgid "By default post a status message when:"
+msgstr "Pubblica un messaggio di stato quando:"
-#: ../../mod/profiles.php:599
-msgid "Who: (if applicable)"
-msgstr "Con chi: (se possibile)"
+#: ../../mod/settings.php:1067
+msgid "accepting a friend request"
+msgstr "accetto una nuova amicizia"
-#: ../../mod/profiles.php:600
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Esempio: cathy123, Cathy Williams, cathy@example.com"
+#: ../../mod/settings.php:1068
+msgid "joining a forum/community"
+msgstr "entro a far parte di un forum"
-#: ../../mod/profiles.php:601
-msgid "Since [date]:"
-msgstr ""
+#: ../../mod/settings.php:1069
+msgid "making an <em>interesting</em> profile change"
+msgstr "faccio un cambiamento <em>interessante</em> al mio profilo"
-#: ../../mod/profiles.php:602 ../../include/profile_advanced.php:46
-msgid "Sexual Preference:"
-msgstr "Preferenze sessuali:"
+#: ../../mod/settings.php:1070
+msgid "Send a notification email when:"
+msgstr "Invia una email di notifica quando:"
-#: ../../mod/profiles.php:603
-msgid "Homepage URL:"
-msgstr "Homepage:"
+#: ../../mod/settings.php:1071
+msgid "You receive an introduction"
+msgstr "Ricevi una richiesta di amicizia"
-#: ../../mod/profiles.php:604 ../../include/profile_advanced.php:50
-msgid "Hometown:"
-msgstr ""
+#: ../../mod/settings.php:1072
+msgid "Your introductions are confirmed"
+msgstr "Le tue richieste di amicizia sono state accettate"
-#: ../../mod/profiles.php:605 ../../include/profile_advanced.php:54
-msgid "Political Views:"
-msgstr "Orientamento politico:"
+#: ../../mod/settings.php:1073
+msgid "Someone writes on your profile wall"
+msgstr "Qualcuno scrive sulla tua bacheca"
-#: ../../mod/profiles.php:606
-msgid "Religious Views:"
-msgstr "Orientamento religioso:"
+#: ../../mod/settings.php:1074
+msgid "Someone writes a followup comment"
+msgstr "Qualcuno scrive un commento a un tuo articolo"
-#: ../../mod/profiles.php:607
-msgid "Public Keywords:"
-msgstr "Parole chiave visibili a tutti:"
+#: ../../mod/settings.php:1075
+msgid "You receive a private message"
+msgstr "Ricevi un messaggio privato"
-#: ../../mod/profiles.php:608
-msgid "Private Keywords:"
-msgstr "Parole chiave private:"
+#: ../../mod/settings.php:1076
+msgid "You receive a friend suggestion"
+msgstr "Ti viene suggerito un amico"
-#: ../../mod/profiles.php:609 ../../include/profile_advanced.php:62
-msgid "Likes:"
-msgstr ""
+#: ../../mod/settings.php:1077
+msgid "You are tagged in a post"
+msgstr "Sei taggato in un articolo"
-#: ../../mod/profiles.php:610 ../../include/profile_advanced.php:64
-msgid "Dislikes:"
-msgstr ""
+#: ../../mod/settings.php:1078
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Ricevi un poke in un articolo"
-#: ../../mod/profiles.php:611
-msgid "Example: fishing photography software"
-msgstr "Esempio: pesca fotografia programmazione"
+#: ../../mod/settings.php:1081
+msgid "Advanced Account/Page Type Settings"
+msgstr "Impostazioni avanzate"
-#: ../../mod/profiles.php:612
-msgid "(Used for suggesting potential friends, can be seen by others)"
-msgstr "(E' utilizzato per suggerire potenziali amici, può essere visto da altri)"
+#: ../../mod/settings.php:1082
+msgid "Change the behaviour of this account for special situations"
+msgstr "Cambia il funzionamento di questo account in situazioni particolari"
-#: ../../mod/profiles.php:613
-msgid "(Used for searching profiles, never shown to others)"
-msgstr "(Usato per cercare tra i profili, non è mai visibile agli altri)"
+#: ../../mod/viewconnections.php:28 ../../mod/directory.php:23
+#: ../../mod/photos.php:559 ../../mod/display.php:9 ../../mod/search.php:80
+#: ../../mod/community.php:18
+msgid "Public access denied."
+msgstr "Accesso pubblico negato."
-#: ../../mod/profiles.php:614
-msgid "Tell us about yourself..."
-msgstr "Raccontaci di te..."
+#: ../../mod/viewconnections.php:57
+msgid "No connections."
+msgstr "Nessun contatto."
-#: ../../mod/profiles.php:615
-msgid "Hobbies/Interests"
-msgstr "Hobby/interessi"
+#: ../../mod/viewconnections.php:69 ../../mod/nogroup.php:40
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr "Visita il profilo di %s [%s]"
-#: ../../mod/profiles.php:616
-msgid "Contact information and Social Networks"
-msgstr "Informazioni su contatti e social network"
+#: ../../mod/viewconnections.php:84
+msgid "View Connnections"
+msgstr "Guarda i contatti"
-#: ../../mod/profiles.php:617
-msgid "Musical interests"
-msgstr "Interessi musicali"
+#: ../../mod/tagrm.php:41
+msgid "Tag removed"
+msgstr "Tag rimosso"
-#: ../../mod/profiles.php:618
-msgid "Books, literature"
-msgstr "Libri, letteratura"
+#: ../../mod/tagrm.php:79
+msgid "Remove Item Tag"
+msgstr "Rimuovi il tag"
-#: ../../mod/profiles.php:619
-msgid "Television"
-msgstr "Televisione"
+#: ../../mod/tagrm.php:81
+msgid "Select a tag to remove: "
+msgstr "Seleziona un tag da rimuovere: "
-#: ../../mod/profiles.php:620
-msgid "Film/dance/culture/entertainment"
-msgstr "Film/danza/cultura/intrattenimento"
+#: ../../mod/tagrm.php:93 ../../mod/delegate.php:130
+msgid "Remove"
+msgstr "Rimuovi"
-#: ../../mod/profiles.php:621
-msgid "Love/romance"
-msgstr "Amore"
+#: ../../mod/connect.php:59 ../../mod/connect.php:107
+msgid "Continue"
+msgstr "Continua"
-#: ../../mod/profiles.php:622
-msgid "Work/employment"
-msgstr "Lavoro/impiego"
+#: ../../mod/connect.php:88
+msgid "Premium Channel Setup"
+msgstr "Canale premium - installazione"
-#: ../../mod/profiles.php:623
-msgid "School/education"
-msgstr "Scuola/educazione"
+#: ../../mod/connect.php:90
+msgid "Enable premium channel connection restrictions"
+msgstr "Abilita le restrizioni del canale premium"
-#: ../../mod/profiles.php:628
+#: ../../mod/connect.php:91
msgid ""
-"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
-"be visible to anybody using the internet."
-msgstr "Questo è il tuo profilo <strong>publico</strong>.<br /><strong>Potrebbe</strong> essere visto da chiunque attraverso internet."
-
-#: ../../mod/profiles.php:638 ../../mod/directory.php:111
-msgid "Age: "
-msgstr "Età : "
-
-#: ../../mod/profiles.php:677
-msgid "Edit/Manage Profiles"
-msgstr "Modifica / Gestisci profili"
-
-#: ../../mod/profiles.php:678 ../../boot.php:1192
-msgid "Change profile photo"
-msgstr "Cambia la foto del profilo"
-
-#: ../../mod/profiles.php:679 ../../boot.php:1193
-msgid "Create New Profile"
-msgstr "Crea un nuovo profilo"
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida o il sistema di pagamento ecc."
-#: ../../mod/profiles.php:690 ../../boot.php:1203
-msgid "Profile Image"
-msgstr "Immagine del Profilo"
-
-#: ../../mod/profiles.php:692 ../../boot.php:1206
-msgid "visible to everybody"
-msgstr "visibile a tutti"
+#: ../../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 "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"
-#: ../../mod/profiles.php:693 ../../boot.php:1207
-msgid "Edit visibility"
-msgstr "Modifica visibilità"
+#: ../../mod/connect.php:94
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Il testo seguente comparirà a chi vorrà connettersi:"
-#: ../../mod/filer.php:29 ../../include/conversation.php:837
-#: ../../include/conversation.php:854
-msgid "Save to Folder:"
-msgstr ""
+#: ../../mod/connect.php:95 ../../mod/connect.php:116
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."
-#: ../../mod/filer.php:29
-msgid "- select -"
-msgstr ""
+#: ../../mod/connect.php:104
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)"
-#: ../../mod/tagger.php:95 ../../include/conversation.php:265
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
+#: ../../mod/connect.php:112
+msgid "Restricted or Premium Channel"
+msgstr "Canale premium - con restrizioni"
#: ../../mod/delegate.php:95
msgid "No potential page delegates located."
-msgstr "Nessun potenziale delegato per la pagina è stato trovato."
+msgstr "Impossibile trovare delegati per questa pagina."
#: ../../mod/delegate.php:121
msgid "Delegate Page Management"
@@ -4430,15 +3763,15 @@ msgstr "I Delegati sono in grando di gestire tutti gli aspetti di questa pagina,
#: ../../mod/delegate.php:124
msgid "Existing Page Managers"
-msgstr "Gestori Pagina Esistenti"
+msgstr "Gestori attuali della pagina"
#: ../../mod/delegate.php:126
msgid "Existing Page Delegates"
-msgstr "Delegati Pagina Esistenti"
+msgstr "Delegati attuali della pagina"
#: ../../mod/delegate.php:128
msgid "Potential Delegates"
-msgstr "Delegati Potenziali"
+msgstr "Delegati potenziali"
#: ../../mod/delegate.php:131
msgid "Add"
@@ -4446,4324 +3779,2781 @@ msgstr "Aggiungi"
#: ../../mod/delegate.php:132
msgid "No entries."
-msgstr "Nessun articolo."
-
-#: ../../mod/babel.php:17
-msgid "Source (bbcode) text:"
-msgstr ""
-
-#: ../../mod/babel.php:23
-msgid "Source (Diaspora) text to convert to BBcode:"
-msgstr ""
-
-#: ../../mod/babel.php:31
-msgid "Source input: "
-msgstr ""
-
-#: ../../mod/babel.php:35
-msgid "bb2html: "
-msgstr ""
-
-#: ../../mod/babel.php:39
-msgid "bb2html2bb: "
-msgstr ""
-
-#: ../../mod/babel.php:43
-msgid "bb2md: "
-msgstr ""
-
-#: ../../mod/babel.php:47
-msgid "bb2md2html: "
-msgstr ""
-
-#: ../../mod/babel.php:51
-msgid "bb2dia2bb: "
-msgstr ""
-
-#: ../../mod/babel.php:55
-msgid "bb2md2html2bb: "
-msgstr ""
-
-#: ../../mod/babel.php:65
-msgid "Source input (Diaspora format): "
-msgstr ""
-
-#: ../../mod/babel.php:70
-msgid "diaspora2bb: "
-msgstr ""
-
-#: ../../mod/suggest.php:38 ../../view/theme/diabook/theme.php:626
-#: ../../include/contact_widgets.php:34
-msgid "Friend Suggestions"
-msgstr "Contatti suggeriti"
-
-#: ../../mod/suggest.php:44
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Nessun suggerimento disponibile. Se questo è un sito nuovo, riprova tra 24 ore."
-
-#: ../../mod/suggest.php:61
-msgid "Ignore/Hide"
-msgstr "Ignora / Nascondi"
-
-#: ../../mod/directory.php:49 ../../view/theme/diabook/theme.php:624
-msgid "Global Directory"
-msgstr "Elenco globale"
-
-#: ../../mod/directory.php:57
-msgid "Find on this site"
-msgstr "Cerca nel sito"
+msgstr "Nessun risultato."
-#: ../../mod/directory.php:60
-msgid "Site Directory"
-msgstr "Elenco del sito"
+#: ../../mod/directory.php:125 ../../mod/profiles.php:584
+msgid "Age: "
+msgstr "Età:"
-#: ../../mod/directory.php:114
+#: ../../mod/directory.php:128
msgid "Gender: "
-msgstr "Genere:"
+msgstr "Sesso:"
-#: ../../mod/directory.php:136 ../../include/profile_advanced.php:17
-#: ../../boot.php:1228
-msgid "Gender:"
-msgstr "Genere:"
+#: ../../mod/directory.php:183
+msgid "Finding:"
+msgstr "Ricerca:"
-#: ../../mod/directory.php:138 ../../include/profile_advanced.php:37
-#: ../../boot.php:1231
-msgid "Status:"
-msgstr "Stato:"
+#: ../../mod/directory.php:191
+msgid "next page"
+msgstr "pagina succ."
-#: ../../mod/directory.php:140 ../../include/profile_advanced.php:48
-#: ../../boot.php:1233
-msgid "Homepage:"
-msgstr "Homepage:"
+#: ../../mod/directory.php:191
+msgid "previous page"
+msgstr "pagina prec."
-#: ../../mod/directory.php:142 ../../include/profile_advanced.php:58
-msgid "About:"
-msgstr "Informazioni:"
-
-#: ../../mod/directory.php:180
+#: ../../mod/directory.php:198
msgid "No entries (some entries may be hidden)."
-msgstr "Nessuna voce (qualche voce potrebbe essere nascosta)."
-
-#: ../../mod/invite.php:35
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: non è un indirizzo email valido."
-
-#: ../../mod/invite.php:59
-msgid "Please join us on Friendica"
-msgstr ""
-
-#: ../../mod/invite.php:69
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s: la consegna del messaggio fallita."
-
-#: ../../mod/invite.php:73
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d messaggio inviato."
-msgstr[1] "%d messaggi inviati."
-
-#: ../../mod/invite.php:92
-msgid "You have no more invitations available"
-msgstr "Non hai altri inviti disponibili"
-
-#: ../../mod/invite.php:100
-#, php-format
-msgid ""
-"Visit %s for a list of public sites that you can join. Friendica members on "
-"other sites can all connect with each other, as well as with members of many"
-" other social networks."
-msgstr ""
-
-#: ../../mod/invite.php:102
-#, php-format
-msgid ""
-"To accept this invitation, please visit and register at %s or any other "
-"public Friendica website."
-msgstr ""
-
-#: ../../mod/invite.php:103
-#, php-format
-msgid ""
-"Friendica sites all inter-connect to create a huge privacy-enhanced social "
-"web that is owned and controlled by its members. They can also connect with "
-"many traditional social networks. See %s for a list of alternate Friendica "
-"sites you can join."
-msgstr ""
-
-#: ../../mod/invite.php:106
-msgid ""
-"Our apologies. This system is not currently configured to connect with other"
-" public sites or invite members."
-msgstr ""
-
-#: ../../mod/invite.php:111
-msgid "Send invitations"
-msgstr "Invia inviti"
-
-#: ../../mod/invite.php:112
-msgid "Enter email addresses, one per line:"
-msgstr "Inserisci gli indirizzi email, uno per riga:"
-
-#: ../../mod/invite.php:114
-msgid ""
-"You are cordially invited to join me and other close friends on Friendica - "
-"and help us to create a better social web."
-msgstr ""
-
-#: ../../mod/invite.php:116
-msgid "You will need to supply this invitation code: $invite_code"
-msgstr "Sarà necessario fornire questo codice invito: $invite_code"
-
-#: ../../mod/invite.php:116
-msgid ""
-"Once you have registered, please connect with me via my profile page at:"
-msgstr "Una volta registrato, connettiti con me dal mio profilo:"
-
-#: ../../mod/invite.php:118
-msgid ""
-"For more information about the Friendica project and why we feel it is "
-"important, please visit http://friendica.com"
-msgstr ""
-
-#: ../../mod/dfrn_confirm.php:119
-msgid ""
-"This may occasionally happen if contact was requested by both persons and it"
-" has already been approved."
-msgstr ""
-
-#: ../../mod/dfrn_confirm.php:237
-msgid "Response from remote site was not understood."
-msgstr "Errore di comunicazione con l'altro sito."
-
-#: ../../mod/dfrn_confirm.php:246
-msgid "Unexpected response from remote site: "
-msgstr "La risposta dell'altro sito non può essere gestita: "
-
-#: ../../mod/dfrn_confirm.php:254
-msgid "Confirmation completed successfully."
-msgstr "Conferma completata con successo."
-
-#: ../../mod/dfrn_confirm.php:256 ../../mod/dfrn_confirm.php:270
-#: ../../mod/dfrn_confirm.php:277
-msgid "Remote site reported: "
-msgstr "Il sito remoto riporta: "
-
-#: ../../mod/dfrn_confirm.php:268
-msgid "Temporary failure. Please wait and try again."
-msgstr "Problema temporaneo. Attendi e riprova."
-
-#: ../../mod/dfrn_confirm.php:275
-msgid "Introduction failed or was revoked."
-msgstr "La presentazione ha generato un errore o è stata revocata."
+msgstr "Nessun risultato (qualcosa potrebbe essere nascosto)."
-#: ../../mod/dfrn_confirm.php:420
-msgid "Unable to set contact photo."
-msgstr "Impossibile impostare la foto del contatto."
-
-#: ../../mod/dfrn_confirm.php:477 ../../include/diaspora.php:608
-#: ../../include/conversation.php:171
-#, php-format
-msgid "%1$s is now friends with %2$s"
-msgstr "%1$s e %2$s adesso sono amici"
-
-#: ../../mod/dfrn_confirm.php:562
-#, php-format
-msgid "No user record found for '%s' "
-msgstr "Nessun utente trovato '%s'"
-
-#: ../../mod/dfrn_confirm.php:572
-msgid "Our site encryption key is apparently messed up."
-msgstr "La nostra chiave di criptazione del sito sembra essere corrotta."
-
-#: ../../mod/dfrn_confirm.php:583
-msgid "Empty site URL was provided or URL could not be decrypted by us."
-msgstr "E' stato fornito un indirizzo vuoto o non possiamo decrittare l'indirizzo."
-
-#: ../../mod/dfrn_confirm.php:604
-msgid "Contact record was not found for you on our site."
-msgstr "Il contatto non è stato trovato sul nostro sito."
-
-#: ../../mod/dfrn_confirm.php:618
-#, php-format
-msgid "Site public key not available in contact record for URL %s."
-msgstr "La chiave pubblica del sito non è disponibile per l'URL %s"
-
-#: ../../mod/dfrn_confirm.php:638
-msgid ""
-"The ID provided by your system is a duplicate on our system. It should work "
-"if you try again."
-msgstr "L'ID fornito dal tuo sistema è duplicato sul nostro sistema. Se riprovi dovrebbe funzionare."
-
-#: ../../mod/dfrn_confirm.php:649
-msgid "Unable to set your contact credentials on our system."
-msgstr "Impossibile impostare le credenziali del tuo contatto sul nostro sistema."
-
-#: ../../mod/dfrn_confirm.php:716
-msgid "Unable to update your contact profile details on our system"
-msgstr "Impossibile aggiornare i dettagli del tuo contatto sul nostro sistema"
-
-#: ../../mod/dfrn_confirm.php:750
-#, php-format
-msgid "Connection accepted at %s"
-msgstr "Connession accettata su %s"
-
-#: ../../mod/dfrn_confirm.php:799
-#, php-format
-msgid "%1$s has joined %2$s"
-msgstr ""
+#: ../../mod/dirfind.php:26
+msgid "People Search"
+msgstr "Cerca persone"
-#: ../../addon/fromgplus/fromgplus.php:29
-msgid "Google+ Import Settings"
-msgstr ""
+#: ../../mod/dirfind.php:60 ../../mod/match.php:65
+msgid "No matches"
+msgstr "Nessun risultato"
-#: ../../addon/fromgplus/fromgplus.php:32
-msgid "Enable Google+ Import"
-msgstr ""
+#: ../../mod/mitem.php:13 ../../mod/menu.php:84
+msgid "Menu not found."
+msgstr "Menù non trovato."
-#: ../../addon/fromgplus/fromgplus.php:35
-msgid "Google Account ID"
-msgstr ""
+#: ../../mod/mitem.php:66
+msgid "Menu element updated."
+msgstr "L'elemento del menù è stato aggiornato."
-#: ../../addon/fromgplus/fromgplus.php:55
-msgid "Google+ Import Settings saved."
-msgstr ""
+#: ../../mod/mitem.php:70
+msgid "Unable to update menu element."
+msgstr "Non è possibile aggiornare l'elemento del menù."
-#: ../../addon/facebook/facebook.php:523
-msgid "Facebook disabled"
-msgstr "Facebook disabilitato"
+#: ../../mod/mitem.php:76
+msgid "Menu element added."
+msgstr "Elemento aggiunto al menù."
-#: ../../addon/facebook/facebook.php:528
-msgid "Updating contacts"
-msgstr "Aggiornamento contatti"
+#: ../../mod/mitem.php:80
+msgid "Unable to add menu element."
+msgstr "Impossibile aggiungere l'elemento al menù."
-#: ../../addon/facebook/facebook.php:551 ../../addon/fbpost/fbpost.php:192
-msgid "Facebook API key is missing."
-msgstr "Chiave API Facebook mancante."
+#: ../../mod/mitem.php:97 ../../mod/xchan.php:25 ../../mod/menu.php:110
+msgid "Not found."
+msgstr "Non trovato."
-#: ../../addon/facebook/facebook.php:558
-msgid "Facebook Connect"
-msgstr "Facebook Connect"
+#: ../../mod/mitem.php:114
+msgid "Manage Menu Elements"
+msgstr "Gestione elementi del menù"
-#: ../../addon/facebook/facebook.php:564
-msgid "Install Facebook connector for this account."
-msgstr "Installa Facebook connector per questo account"
+#: ../../mod/mitem.php:117
+msgid "Edit menu"
+msgstr "Modifica il menù"
-#: ../../addon/facebook/facebook.php:571
-msgid "Remove Facebook connector"
-msgstr "Rimuovi Facebook connector"
+#: ../../mod/mitem.php:120
+msgid "Edit element"
+msgstr "Modifica l'elemento"
-#: ../../addon/facebook/facebook.php:576 ../../addon/fbpost/fbpost.php:217
-msgid ""
-"Re-authenticate [This is necessary whenever your Facebook password is "
-"changed.]"
-msgstr "Ri-autentica [Questo è necessario ogni volta che cambia la password di Facebook.]"
+#: ../../mod/mitem.php:121
+msgid "Drop element"
+msgstr "Elimina l'elemento"
-#: ../../addon/facebook/facebook.php:583 ../../addon/fbpost/fbpost.php:224
-msgid "Post to Facebook by default"
-msgstr "Invia sempre a Facebook"
+#: ../../mod/mitem.php:122
+msgid "New element"
+msgstr "Nuovo elemento"
-#: ../../addon/facebook/facebook.php:589
-msgid ""
-"Facebook friend linking has been disabled on this site. The following "
-"settings will have no effect."
-msgstr ""
+#: ../../mod/mitem.php:123
+msgid "Edit this menu container"
+msgstr "Modifica il contenitore del menù"
-#: ../../addon/facebook/facebook.php:593
-msgid ""
-"Facebook friend linking has been disabled on this site. If you disable it, "
-"you will be unable to re-enable it."
-msgstr ""
+#: ../../mod/mitem.php:124
+msgid "Add menu element"
+msgstr "Aggiungi un elemento al menù"
-#: ../../addon/facebook/facebook.php:596
-msgid "Link all your Facebook friends and conversations on this website"
-msgstr "Collega tutti i tuoi amici di Facebook e le conversazioni su questo sito"
+#: ../../mod/mitem.php:125
+msgid "Delete this menu item"
+msgstr "Elimina questo elemento del menù"
-#: ../../addon/facebook/facebook.php:598
-msgid ""
-"Facebook conversations consist of your <em>profile wall</em> and your friend"
-" <em>stream</em>."
-msgstr "Le conversazione su Facebook sono composte dai i tuoi messsaggi in bacheca e dai messaggi dei tuoi amici"
+#: ../../mod/mitem.php:126
+msgid "Edit this menu item"
+msgstr "Modifica questo elemento del menù"
-#: ../../addon/facebook/facebook.php:599
-msgid "On this website, your Facebook friend stream is only visible to you."
-msgstr "Su questo sito, i messaggi dai vostri amici su Facebook è visibile solo a te."
+#: ../../mod/mitem.php:140
+msgid "New Menu Element"
+msgstr "Nuovo elemento del menù"
-#: ../../addon/facebook/facebook.php:600
-msgid ""
-"The following settings determine the privacy of your Facebook profile wall "
-"on this website."
-msgstr "Le seguenti impostazioni determinano la privacy della vostra bacheca di Facebook su questo sito."
+#: ../../mod/mitem.php:142 ../../mod/mitem.php:183
+msgid "Link text"
+msgstr "Testo del link"
-#: ../../addon/facebook/facebook.php:604
-msgid ""
-"On this website your Facebook profile wall conversations will only be "
-"visible to you"
-msgstr "Su questo sito, le conversazioni sulla tua bacheca di Facebook saranno visibili solo a te"
+#: ../../mod/mitem.php:143 ../../mod/mitem.php:184
+msgid "URL of link"
+msgstr "Indirizzo del link"
-#: ../../addon/facebook/facebook.php:609
-msgid "Do not import your Facebook profile wall conversations"
-msgstr "Non importare le conversazione sulla tua bacheca di Facebook"
+#: ../../mod/mitem.php:144 ../../mod/mitem.php:185
+msgid "Use Red magic-auth if available"
+msgstr "Usa l'autenticazione magica di Red, se disponibile"
-#: ../../addon/facebook/facebook.php:611
-msgid ""
-"If you choose to link conversations and leave both of these boxes unchecked,"
-" your Facebook profile wall will be merged with your profile wall on this "
-"website and your privacy settings on this website will be used to determine "
-"who may see the conversations."
-msgstr "Se scegli di collegare le conversazioni e lasci entrambi questi box non segnati, la tua bacheca di Facebook sarà fusa con la tua bacheca su questao sito, e le impostazioni di privacy su questo sito saranno usate per decidere chi potrà vedere le conversazioni."
+#: ../../mod/mitem.php:145 ../../mod/mitem.php:186
+msgid "Open link in new window"
+msgstr "Apri il link in una nuova finestra"
-#: ../../addon/facebook/facebook.php:616
-msgid "Comma separated applications to ignore"
-msgstr "Elenco separato da virgola di applicazioni da ignorare"
+#: ../../mod/mitem.php:147 ../../mod/mitem.php:188
+msgid "Order in list"
+msgstr "Ordine dell'elenco"
-#: ../../addon/facebook/facebook.php:700
-msgid "Problems with Facebook Real-Time Updates"
-msgstr "Problemi con gli aggiornamenti in tempo reale con Facebook"
+#: ../../mod/mitem.php:147 ../../mod/mitem.php:188
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "I numeri più alti andranno in fondo all'elenco"
-#: ../../addon/facebook/facebook.php:729
-msgid "Facebook Connector Settings"
-msgstr "Impostazioni del connettore Facebook"
+#: ../../mod/mitem.php:148 ../../mod/menu.php:76 ../../mod/new_channel.php:117
+msgid "Create"
+msgstr "Crea"
-#: ../../addon/facebook/facebook.php:744 ../../addon/fbpost/fbpost.php:255
-msgid "Facebook API Key"
-msgstr "Facebook API Key"
+#: ../../mod/mitem.php:160
+msgid "Menu item not found."
+msgstr "L'elemento del menù non è stato trovato."
-#: ../../addon/facebook/facebook.php:754 ../../addon/fbpost/fbpost.php:262
-msgid ""
-"Error: it appears that you have specified the App-ID and -Secret in your "
-".htconfig.php file. As long as they are specified there, they cannot be set "
-"using this form.<br><br>"
-msgstr "Error: it appears that you have specified the App-ID and -Secret in your .htconfig.php file. As long as they are specified there, they cannot be set using this form.<br><br>"
+#: ../../mod/mitem.php:169
+msgid "Menu item deleted."
+msgstr "L'elemento del menù è stato eliminato."
-#: ../../addon/facebook/facebook.php:759
-msgid ""
-"Error: the given API Key seems to be incorrect (the application access token"
-" could not be retrieved)."
-msgstr "Error: the given API Key seems to be incorrect (the application access token could not be retrieved)."
+#: ../../mod/mitem.php:171
+msgid "Menu item could not be deleted."
+msgstr "L'elemento del menù non può essere eliminato."
-#: ../../addon/facebook/facebook.php:761
-msgid "The given API Key seems to work correctly."
-msgstr "L' API Key fornita sembra funzionare correttamente."
+#: ../../mod/mitem.php:180
+msgid "Edit Menu Element"
+msgstr "Modifica l'elemento del menù"
-#: ../../addon/facebook/facebook.php:763
-msgid ""
-"The correctness of the API Key could not be detected. Something strange's "
-"going on."
-msgstr ""
+#: ../../mod/mitem.php:189 ../../mod/menu.php:104
+msgid "Modify"
+msgstr "Modifica"
-#: ../../addon/facebook/facebook.php:766 ../../addon/fbpost/fbpost.php:264
-msgid "App-ID / API-Key"
-msgstr "App-ID / API-Key"
+#: ../../mod/group.php:26
+msgid "Collection created."
+msgstr "L'insieme di canali è stato creato."
-#: ../../addon/facebook/facebook.php:767 ../../addon/fbpost/fbpost.php:265
-msgid "Application secret"
-msgstr "Application secret"
+#: ../../mod/group.php:32
+msgid "Could not create collection."
+msgstr "Impossibile creare l'insieme."
-#: ../../addon/facebook/facebook.php:768
-#, php-format
-msgid "Polling Interval in minutes (minimum %1$s minutes)"
-msgstr ""
+#: ../../mod/group.php:60
+msgid "Collection name changed."
+msgstr "Il nome dell'insieme di canali è stato cambiato."
-#: ../../addon/facebook/facebook.php:769
-msgid ""
-"Synchronize comments (no comments on Facebook are missed, at the cost of "
-"increased system load)"
-msgstr ""
+#: ../../mod/group.php:92
+msgid "Create a collection of channels."
+msgstr "Crea un insieme di canali."
-#: ../../addon/facebook/facebook.php:773
-msgid "Real-Time Updates"
-msgstr "Aggiornamenti Real-Time"
+#: ../../mod/group.php:93 ../../mod/group.php:189
+msgid "Collection Name: "
+msgstr "Nome del'insieme:"
-#: ../../addon/facebook/facebook.php:777
-msgid "Real-Time Updates are activated."
-msgstr "Gli aggiornamenti in tempo reale sono attivi"
+#: ../../mod/group.php:95 ../../mod/group.php:192
+msgid "Members are visible to other channels"
+msgstr "I membri saranno visibili agli altri canali"
-#: ../../addon/facebook/facebook.php:778
-msgid "Deactivate Real-Time Updates"
-msgstr "Disattiva gli aggiornamenti in tempo reale"
+#: ../../mod/group.php:113
+msgid "Collection removed."
+msgstr "Insieme rimosso."
-#: ../../addon/facebook/facebook.php:780
-msgid "Real-Time Updates not activated."
-msgstr "Gli aggiornamenti in tempo reale non sono attivi"
+#: ../../mod/group.php:115
+msgid "Unable to remove collection."
+msgstr "Impossibile rimuovere l'insieme."
-#: ../../addon/facebook/facebook.php:780
-msgid "Activate Real-Time Updates"
-msgstr "Attiva gli aggiornamenti in tempo reale"
+#: ../../mod/group.php:188
+msgid "Collection Editor"
+msgstr "Modifica l'insieme"
-#: ../../addon/facebook/facebook.php:799 ../../addon/fbpost/fbpost.php:282
-#: ../../addon/dav/friendica/layout.fnk.php:361
-msgid "The new values have been saved."
-msgstr "I nuovi valori sono stati salvati."
+#: ../../mod/group.php:202
+msgid "Members"
+msgstr "Membri"
-#: ../../addon/facebook/facebook.php:823 ../../addon/fbpost/fbpost.php:301
-msgid "Post to Facebook"
-msgstr "Invia a Facebook"
+#: ../../mod/group.php:204
+msgid "All Connected Channels"
+msgstr "Tutti i canali connessi"
-#: ../../addon/facebook/facebook.php:921 ../../addon/fbpost/fbpost.php:399
-msgid ""
-"Post to Facebook cancelled because of multi-network access permission "
-"conflict."
-msgstr "Invio su Facebook annullato per un conflitto nei permessi di accesso."
+#: ../../mod/group.php:237
+msgid "Click on a channel to add or remove."
+msgstr "Clicca su un canale per aggiungerlo o rimuoverlo."
-#: ../../addon/facebook/facebook.php:1149 ../../addon/fbpost/fbpost.php:610
-msgid "View on Friendica"
-msgstr "Vedi su Friendica"
+#: ../../mod/photos.php:83
+msgid "Page owner information could not be retrieved."
+msgstr "Impossibile ottenere informazioni sul proprietario della pagina."
-#: ../../addon/facebook/facebook.php:1182 ../../addon/fbpost/fbpost.php:643
-msgid "Facebook post failed. Queued for retry."
-msgstr "Invio a Facebook fallito. In attesa di riprovare."
+#: ../../mod/photos.php:103
+msgid "Album not found."
+msgstr "Album non trovato."
-#: ../../addon/facebook/facebook.php:1222 ../../addon/fbpost/fbpost.php:683
-msgid "Your Facebook connection became invalid. Please Re-authenticate."
-msgstr ""
+#: ../../mod/photos.php:125 ../../mod/photos.php:771
+msgid "Delete Album"
+msgstr "Elimina album"
-#: ../../addon/facebook/facebook.php:1223 ../../addon/fbpost/fbpost.php:684
-msgid "Facebook connection became invalid"
-msgstr ""
+#: ../../mod/photos.php:165 ../../mod/photos.php:1036
+msgid "Delete Photo"
+msgstr "Elimina foto"
-#: ../../addon/facebook/facebook.php:1224 ../../addon/fbpost/fbpost.php:685
+#: ../../mod/photos.php:495
#, php-format
-msgid ""
-"Hi %1$s,\n"
-"\n"
-"The connection between your accounts on %2$s and Facebook became invalid. This usually happens after you change your Facebook-password. To enable the connection again, you have to %3$sre-authenticate the Facebook-connector%4$s."
-msgstr ""
+msgid "%1$s was tagged in %2$s by %3$s"
+msgstr "%3$s ha taggato %1$s in %2$s"
-#: ../../addon/snautofollow/snautofollow.php:32
-msgid "StatusNet AutoFollow settings updated."
-msgstr ""
-
-#: ../../addon/snautofollow/snautofollow.php:56
-msgid "StatusNet AutoFollow Settings"
-msgstr ""
-
-#: ../../addon/snautofollow/snautofollow.php:58
-msgid "Automatically follow any StatusNet followers/mentioners"
-msgstr ""
-
-#: ../../addon/bg/bg.php:51
-msgid "Bg settings updated."
-msgstr ""
-
-#: ../../addon/bg/bg.php:82
-msgid "Bg Settings"
-msgstr ""
-
-#: ../../addon/bg/bg.php:84 ../../addon/numfriends/numfriends.php:79
-msgid "How many contacts to display on profile sidebar"
-msgstr "Quanti contatti visualizzare nella barra laterale del profilo"
+#: ../../mod/photos.php:495
+msgid "a photo"
+msgstr "una foto"
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:260
-msgid "Lifetime of the cache (in hours)"
-msgstr ""
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:265
-msgid "Cache Statistics"
-msgstr ""
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:268
-msgid "Number of items"
-msgstr ""
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:270
-msgid "Size of the cache"
-msgstr ""
-
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:272
-msgid "Delete the whole cache"
-msgstr ""
-
-#: ../../addon/fbpost/fbpost.php:172
-msgid "Facebook Post disabled"
-msgstr ""
-
-#: ../../addon/fbpost/fbpost.php:199
-msgid "Facebook Post"
-msgstr ""
-
-#: ../../addon/fbpost/fbpost.php:205
-msgid "Install Facebook Post connector for this account."
-msgstr ""
-
-#: ../../addon/fbpost/fbpost.php:212
-msgid "Remove Facebook Post connector"
-msgstr ""
+#: ../../mod/photos.php:569
+msgid "No photos selected"
+msgstr "Nessuna foto selezionata"
-#: ../../addon/fbpost/fbpost.php:240
-msgid "Facebook Post Settings"
-msgstr ""
+#: ../../mod/photos.php:623
+msgid "Access to this item is restricted."
+msgstr "Questo elemento non è visibile a tutti."
-#: ../../addon/widgets/widget_like.php:58
+#: ../../mod/photos.php:687
#, php-format
-msgid "%d person likes this"
-msgid_plural "%d people like this"
-msgstr[0] "piace a %d persona"
-msgstr[1] "piace a %d persone"
+msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
+msgstr "Hai usato %1$.2f Mb di %2$.2f Mb disponibili per le foto."
-#: ../../addon/widgets/widget_like.php:61
+#: ../../mod/photos.php:690
#, php-format
-msgid "%d person doesn't like this"
-msgid_plural "%d people don't like this"
-msgstr[0] "non piace a %d persona"
-msgstr[1] "non piace a %d persone"
+msgid "You have used %1$.2f Mbytes of photo storage."
+msgstr "Hai usato %1$.2f Mb di spazio per le foto."
-#: ../../addon/widgets/widget_friendheader.php:40
-msgid "Get added to this list!"
-msgstr ""
+#: ../../mod/photos.php:698
+msgid "Upload Photos"
+msgstr "Carica foto"
-#: ../../addon/widgets/widgets.php:56
-msgid "Generate new key"
-msgstr "Genera una nuova chiave"
+#: ../../mod/photos.php:702 ../../mod/photos.php:766
+msgid "New album name: "
+msgstr "Nome del nuovo album: "
-#: ../../addon/widgets/widgets.php:59
-msgid "Widgets key"
-msgstr "Chiave Widget"
+#: ../../mod/photos.php:703
+msgid "or existing album name: "
+msgstr "o nome di un album esistente: "
-#: ../../addon/widgets/widgets.php:61
-msgid "Widgets available"
-msgstr "Widget disponibili"
+#: ../../mod/photos.php:704
+msgid "Do not show a status post for this upload"
+msgstr "Non creare un messaggio di stato per questo caricamento"
-#: ../../addon/widgets/widget_friends.php:40
-msgid "Connect on Friendica!"
-msgstr "Connettiti su Friendica!"
+#: ../../mod/photos.php:706 ../../mod/photos.php:1031
+msgid "Permissions"
+msgstr "Permessi"
-#: ../../addon/morepokes/morepokes.php:19
-msgid "bitchslap"
-msgstr ""
+#: ../../mod/photos.php:755 ../../mod/photos.php:777 ../../mod/photos.php:1203
+#: ../../mod/photos.php:1218
+msgid "Contact Photos"
+msgstr "Foto dei contatti"
-#: ../../addon/morepokes/morepokes.php:19
-msgid "bitchslapped"
-msgstr ""
+#: ../../mod/photos.php:781
+msgid "Edit Album"
+msgstr "Modifica album"
-#: ../../addon/morepokes/morepokes.php:20
-msgid "shag"
-msgstr ""
+#: ../../mod/photos.php:787
+msgid "Show Newest First"
+msgstr "Prima i più recenti"
-#: ../../addon/morepokes/morepokes.php:20
-msgid "shagged"
-msgstr ""
+#: ../../mod/photos.php:789
+msgid "Show Oldest First"
+msgstr "Prima i più vecchi"
-#: ../../addon/morepokes/morepokes.php:21
-msgid "do something obscenely biological to"
-msgstr ""
+#: ../../mod/photos.php:833 ../../mod/photos.php:1250
+msgid "View Photo"
+msgstr "Guarda la foto"
-#: ../../addon/morepokes/morepokes.php:21
-msgid "did something obscenely biological to"
-msgstr ""
+#: ../../mod/photos.php:877
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Permesso negato. L'accesso a questo elemento può essere stato limitato."
-#: ../../addon/morepokes/morepokes.php:22
-msgid "point out the poke feature to"
-msgstr ""
+#: ../../mod/photos.php:879
+msgid "Photo not available"
+msgstr "Foto non disponibile"
-#: ../../addon/morepokes/morepokes.php:22
-msgid "pointed out the poke feature to"
-msgstr ""
+#: ../../mod/photos.php:937
+msgid "Use as profile photo"
+msgstr "Usa come foto del profilo"
-#: ../../addon/morepokes/morepokes.php:23
-msgid "declare undying love for"
-msgstr ""
+#: ../../mod/photos.php:965
+msgid "View Full Size"
+msgstr "Vedi nelle dimensioni originali"
-#: ../../addon/morepokes/morepokes.php:23
-msgid "declared undying love for"
-msgstr ""
+#: ../../mod/photos.php:1019
+msgid "Edit photo"
+msgstr "Modifica la foto"
-#: ../../addon/morepokes/morepokes.php:24
-msgid "patent"
-msgstr ""
+#: ../../mod/photos.php:1021
+msgid "Rotate CW (right)"
+msgstr "Ruota (senso orario)"
-#: ../../addon/morepokes/morepokes.php:24
-msgid "patented"
-msgstr ""
+#: ../../mod/photos.php:1022
+msgid "Rotate CCW (left)"
+msgstr "Ruota (senso antiorario)"
-#: ../../addon/morepokes/morepokes.php:25
-msgid "stroke beard"
-msgstr ""
+#: ../../mod/photos.php:1024
+msgid "New album name"
+msgstr "Nuovo nome dell'album"
-#: ../../addon/morepokes/morepokes.php:25
-msgid "stroked their beard at"
-msgstr ""
+#: ../../mod/photos.php:1027
+msgid "Caption"
+msgstr "Titolo"
-#: ../../addon/morepokes/morepokes.php:26
-msgid ""
-"bemoan the declining standards of modern secondary and tertiary education to"
-msgstr ""
+#: ../../mod/photos.php:1029
+msgid "Add a Tag"
+msgstr "Aggiungi tag"
-#: ../../addon/morepokes/morepokes.php:26
+#: ../../mod/photos.php:1033
msgid ""
-"bemoans the declining standards of modern secondary and tertiary education "
-"to"
-msgstr ""
-
-#: ../../addon/morepokes/morepokes.php:27
-msgid "hug"
-msgstr ""
-
-#: ../../addon/morepokes/morepokes.php:27
-msgid "hugged"
-msgstr ""
-
-#: ../../addon/morepokes/morepokes.php:28
-msgid "kiss"
-msgstr ""
-
-#: ../../addon/morepokes/morepokes.php:28
-msgid "kissed"
-msgstr ""
-
-#: ../../addon/morepokes/morepokes.php:29
-msgid "raise eyebrows at"
-msgstr ""
+"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
+msgstr "Per esempio: @luca, @Maria_Bianchi, @bob@example.com, #California, #camping"
-#: ../../addon/morepokes/morepokes.php:29
-msgid "raised their eyebrows at"
-msgstr ""
+#: ../../mod/photos.php:1256
+msgid "View Album"
+msgstr "Guarda l'album"
-#: ../../addon/morepokes/morepokes.php:30
-msgid "insult"
-msgstr ""
+#: ../../mod/photos.php:1265
+msgid "Recent Photos"
+msgstr "Foto recenti"
-#: ../../addon/morepokes/morepokes.php:30
-msgid "insulted"
-msgstr ""
+#: ../../mod/ping.php:160
+msgid "sent you a private message"
+msgstr "ti ha inviato un messaggio privato"
-#: ../../addon/morepokes/morepokes.php:31
-msgid "praise"
-msgstr ""
+#: ../../mod/ping.php:218
+msgid "added your channel"
+msgstr "ha aggiunto il tuo canale"
-#: ../../addon/morepokes/morepokes.php:31
-msgid "praised"
-msgstr ""
+#: ../../mod/ping.php:230 ../../boot.php:1798 ../../boot.php:1878
+msgid "g A l F d"
+msgstr "g A l d F"
-#: ../../addon/morepokes/morepokes.php:32
-msgid "be dubious of"
-msgstr ""
+#: ../../mod/ping.php:252 ../../boot.php:1844 ../../boot.php:1919
+msgid "[today]"
+msgstr "[oggi]"
-#: ../../addon/morepokes/morepokes.php:32
-msgid "was dubious of"
-msgstr ""
+#: ../../mod/ping.php:262
+msgid "posted an event"
+msgstr "ha creato un evento"
-#: ../../addon/morepokes/morepokes.php:33
-msgid "eat"
-msgstr ""
+#: ../../mod/filer.php:35
+msgid "- select -"
+msgstr "- scegli -"
-#: ../../addon/morepokes/morepokes.php:33
-msgid "ate"
-msgstr ""
+#: ../../mod/menu.php:17
+msgid "Menu updated."
+msgstr "Menù aggiornato."
-#: ../../addon/morepokes/morepokes.php:34
-msgid "giggle and fawn at"
-msgstr ""
+#: ../../mod/menu.php:21
+msgid "Unable to update menu."
+msgstr "Impossibile aggiornare il menù."
-#: ../../addon/morepokes/morepokes.php:34
-msgid "giggled and fawned at"
-msgstr ""
+#: ../../mod/menu.php:26
+msgid "Menu created."
+msgstr "Menù creato."
-#: ../../addon/morepokes/morepokes.php:35
-msgid "doubt"
-msgstr ""
+#: ../../mod/menu.php:30
+msgid "Unable to create menu."
+msgstr "Impossibile creare il menù."
-#: ../../addon/morepokes/morepokes.php:35
-msgid "doubted"
-msgstr ""
+#: ../../mod/menu.php:50
+msgid "Manage Menus"
+msgstr "Gestione menù"
-#: ../../addon/morepokes/morepokes.php:36
-msgid "glare"
-msgstr ""
+#: ../../mod/menu.php:53
+msgid "Drop"
+msgstr "Elimina"
-#: ../../addon/morepokes/morepokes.php:36
-msgid "glared at"
-msgstr ""
+#: ../../mod/menu.php:54 ../../mod/network.php:298
+#: ../../mod/connections.php:521
+msgid "New"
+msgstr "Novità"
-#: ../../addon/yourls/yourls.php:55
-msgid "YourLS Settings"
-msgstr "Impostazioni YourLS"
+#: ../../mod/menu.php:55
+msgid "Create a new menu"
+msgstr "Crea un nuovo menù"
-#: ../../addon/yourls/yourls.php:57
-msgid "URL: http://"
-msgstr "URL: http://"
+#: ../../mod/menu.php:56
+msgid "Delete this menu"
+msgstr "Elimina questo menù"
-#: ../../addon/yourls/yourls.php:62
-msgid "Username:"
-msgstr "Nome utente:"
+#: ../../mod/menu.php:57 ../../mod/menu.php:101
+msgid "Edit menu contents"
+msgstr "Modifica i contenuti del menù"
-#: ../../addon/yourls/yourls.php:67
-msgid "Password:"
-msgstr "Password:"
+#: ../../mod/menu.php:58
+msgid "Edit this menu"
+msgstr "Modifica questo menù"
-#: ../../addon/yourls/yourls.php:72
-msgid "Use SSL "
-msgstr "Usa SSL"
+#: ../../mod/menu.php:73
+msgid "New Menu"
+msgstr "Nuovo menù"
-#: ../../addon/yourls/yourls.php:92
-msgid "yourls Settings saved."
-msgstr "Impostazioni yourls salvate."
+#: ../../mod/menu.php:74 ../../mod/menu.php:102
+msgid "Menu name"
+msgstr "Nome del menù"
-#: ../../addon/ljpost/ljpost.php:39
-msgid "Post to LiveJournal"
-msgstr "Posta su LiveJournal"
+#: ../../mod/menu.php:74 ../../mod/menu.php:102
+msgid "Must be unique, only seen by you"
+msgstr "Deve essere unico, lo vedrai solo tu"
-#: ../../addon/ljpost/ljpost.php:70
-msgid "LiveJournal Post Settings"
-msgstr "Impostazioni post LiveJournal"
+#: ../../mod/menu.php:75 ../../mod/menu.php:103
+msgid "Menu title"
+msgstr "Titolo del menù"
-#: ../../addon/ljpost/ljpost.php:72
-msgid "Enable LiveJournal Post Plugin"
-msgstr "Abilita il plugin LiveJournal"
+#: ../../mod/menu.php:75 ../../mod/menu.php:103
+msgid "Menu title as seen by others"
+msgstr "Titolo del menù come comparirà a tutti"
-#: ../../addon/ljpost/ljpost.php:77
-msgid "LiveJournal username"
-msgstr "LiveJournal username"
+#: ../../mod/menu.php:90
+msgid "Menu deleted."
+msgstr "Menù eliminato."
-#: ../../addon/ljpost/ljpost.php:82
-msgid "LiveJournal password"
-msgstr "LiveJournal password"
+#: ../../mod/menu.php:92
+msgid "Menu could not be deleted."
+msgstr "Il menù non può essere eliminato."
-#: ../../addon/ljpost/ljpost.php:87
-msgid "Post to LiveJournal by default"
-msgstr "Posta su LiveJournal di default"
+#: ../../mod/menu.php:98
+msgid "Edit Menu"
+msgstr "Modifica menù"
-#: ../../addon/nsfw/nsfw.php:78
-msgid "Not Safe For Work (General Purpose Content Filter) settings"
-msgstr "Impostazioni per NSWF (Filtro Contenuti Generico)"
+#: ../../mod/menu.php:100
+msgid "Add or remove entries to this menu"
+msgstr "Aggiungi o rimuovi elementi di questo menù"
-#: ../../addon/nsfw/nsfw.php:80
-msgid ""
-"This plugin looks in posts for the words/text you specify below, and "
-"collapses any content containing those keywords so it is not displayed at "
-"inappropriate times, such as sexual innuendo that may be improper in a work "
-"setting. It is polite and recommended to tag any content containing nudity "
-"with #NSFW. This filter can also match any other word/text you specify, and"
-" can thereby be used as a general purpose content filter."
-msgstr "Questo plugin cerca nei messagi le parole/testo che inserisci qui sotto, e collassa i messaggi che li contengono, per non mostrare contenuto inappropriato nel momento sbagliato, come contenuto a sfondo sessuale che puo' essere inappropriato in un ambiente di lavoro. E' educato (e consigliato) taggare i messaggi che contengono nudità con #NSFW (Not Safe For Work: Non Sicuro Per il Lavoro). Questo filtro puo' cercare anche qualsiasi parola che inserisci, quindi puo' essere usato come filtro di contenuti generico."
-
-#: ../../addon/nsfw/nsfw.php:81
-msgid "Enable Content filter"
-msgstr "Abilita il Filtro Contenuti"
-
-#: ../../addon/nsfw/nsfw.php:84
-msgid "Comma separated list of keywords to hide"
-msgstr "Elenco separato da virgole di parole da nascondere"
-
-#: ../../addon/nsfw/nsfw.php:89
-msgid "Use /expression/ to provide regular expressions"
-msgstr "Utilizza /espressione/ per inserire espressioni regolari"
-
-#: ../../addon/nsfw/nsfw.php:105
-msgid "NSFW Settings saved."
-msgstr "Impostazioni NSFW salvate."
-
-#: ../../addon/nsfw/nsfw.php:157
+#: ../../mod/home.php:76
#, php-format
-msgid "%s - Click to open/close"
-msgstr "%s - Clicca per aprire / chiudere"
-
-#: ../../addon/page/page.php:61 ../../addon/page/page.php:91
-#: ../../addon/forumlist/forumlist.php:55
-msgid "Forums"
-msgstr "Forum"
-
-#: ../../addon/page/page.php:129 ../../addon/forumlist/forumlist.php:89
-msgid "Forums:"
-msgstr ""
-
-#: ../../addon/page/page.php:165
-msgid "Page settings updated."
-msgstr ""
-
-#: ../../addon/page/page.php:194
-msgid "Page Settings"
-msgstr ""
-
-#: ../../addon/page/page.php:196
-msgid "How many forums to display on sidebar without paging"
-msgstr ""
-
-#: ../../addon/page/page.php:199
-msgid "Randomise Page/Forum list"
-msgstr ""
-
-#: ../../addon/page/page.php:202
-msgid "Show pages/forums on profile page"
-msgstr ""
-
-#: ../../addon/planets/planets.php:150
-msgid "Planets Settings"
-msgstr ""
-
-#: ../../addon/planets/planets.php:152
-msgid "Enable Planets Plugin"
-msgstr ""
+msgid "Welcome to %s"
+msgstr "%s ti dà il benvenuto"
-#: ../../addon/communityhome/communityhome.php:28
-#: ../../addon/communityhome/communityhome.php:34
-#: ../../addon/communityhome/twillingham/communityhome.php:28
-#: ../../addon/communityhome/twillingham/communityhome.php:34
-#: ../../include/nav.php:64 ../../boot.php:912
-msgid "Login"
-msgstr "Accedi"
+#: ../../mod/message.php:16
+msgid "Check Mail"
+msgstr "Controlla i messaggi"
-#: ../../addon/communityhome/communityhome.php:29
-#: ../../addon/communityhome/twillingham/communityhome.php:29
-msgid "OpenID"
-msgstr "OpenID"
+#: ../../mod/message.php:52
+msgid "Unable to lookup recipient."
+msgstr "Impossibile associare un destinatario."
-#: ../../addon/communityhome/communityhome.php:38
-#: ../../addon/communityhome/twillingham/communityhome.php:38
-msgid "Latest users"
-msgstr "Ultimi utenti"
+#: ../../mod/message.php:60
+msgid "Unable to communicate with requested channel."
+msgstr "Impossibile comunicare con il canale richiesto."
-#: ../../addon/communityhome/communityhome.php:81
-#: ../../addon/communityhome/twillingham/communityhome.php:81
-msgid "Most active users"
-msgstr "Utenti più attivi"
+#: ../../mod/message.php:67
+msgid "Cannot verify requested channel."
+msgstr "Impossibile verificare il canale richiesto."
-#: ../../addon/communityhome/communityhome.php:98
-msgid "Latest photos"
-msgstr "Ultime foto"
+#: ../../mod/message.php:93
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."
-#: ../../addon/communityhome/communityhome.php:133
-msgid "Latest likes"
-msgstr "Ultimi \"mi piace\""
+#: ../../mod/message.php:213 ../../mod/notifications.php:101
+msgid "Messages"
+msgstr "Messaggi"
-#: ../../addon/communityhome/communityhome.php:155
-#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1437
-#: ../../include/conversation.php:117 ../../include/conversation.php:245
-msgid "event"
-msgstr "l'evento"
+#: ../../mod/message.php:224
+msgid "Message deleted."
+msgstr "Messaggio eliminato."
-#: ../../addon/dav/common/wdcal_backend.inc.php:92
-#: ../../addon/dav/common/wdcal_backend.inc.php:166
-#: ../../addon/dav/common/wdcal_backend.inc.php:178
-#: ../../addon/dav/common/wdcal_backend.inc.php:206
-#: ../../addon/dav/common/wdcal_backend.inc.php:214
-#: ../../addon/dav/common/wdcal_backend.inc.php:229
-msgid "No access"
-msgstr ""
+#: ../../mod/message.php:231
+msgid "Conversation removed."
+msgstr "Conversazione rimossa."
-#: ../../addon/dav/common/wdcal_edit.inc.php:30
-#: ../../addon/dav/common/wdcal_edit.inc.php:738
-msgid "Could not open component for editing"
-msgstr ""
+#: ../../mod/message.php:282
+msgid "Send Private Message"
+msgstr "Invia un messaggio privato"
-#: ../../addon/dav/common/wdcal_edit.inc.php:140
-#: ../../addon/dav/friendica/layout.fnk.php:143
-#: ../../addon/dav/friendica/layout.fnk.php:422
-msgid "Go back to the calendar"
-msgstr ""
+#: ../../mod/message.php:283 ../../mod/message.php:448
+msgid "To:"
+msgstr "A:"
-#: ../../addon/dav/common/wdcal_edit.inc.php:144
-msgid "Event data"
-msgstr ""
+#: ../../mod/message.php:288 ../../mod/message.php:450
+msgid "Subject:"
+msgstr "Oggetto:"
-#: ../../addon/dav/common/wdcal_edit.inc.php:146
-#: ../../addon/dav/friendica/main.php:239
-msgid "Calendar"
-msgstr ""
+#: ../../mod/message.php:317
+msgid "No messages."
+msgstr "Nessun messaggio."
-#: ../../addon/dav/common/wdcal_edit.inc.php:163
-msgid "Special color"
-msgstr ""
+#: ../../mod/message.php:333 ../../mod/message.php:419
+msgid "Delete message"
+msgstr "Elimina il messaggio"
-#: ../../addon/dav/common/wdcal_edit.inc.php:169
-msgid "Subject"
-msgstr ""
+#: ../../mod/message.php:335
+msgid "D, d M Y - g:i A"
+msgstr "D d M Y - G:i"
-#: ../../addon/dav/common/wdcal_edit.inc.php:173
-msgid "Starts"
-msgstr ""
+#: ../../mod/message.php:354
+msgid "Message not found."
+msgstr "Messaggio non trovato."
-#: ../../addon/dav/common/wdcal_edit.inc.php:178
-msgid "Ends"
-msgstr ""
-
-#: ../../addon/dav/common/wdcal_edit.inc.php:185
-msgid "Description"
-msgstr ""
+#: ../../mod/message.php:441
+msgid "Delete conversation"
+msgstr "Elimina la conversazione"
-#: ../../addon/dav/common/wdcal_edit.inc.php:188
-msgid "Recurrence"
-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 "Non è disponibile alcun sistema per comunicare in modo sicuro. Puoi verificare se <strong>eventualmente</strong> è possibile rispondere dalla pagina del profilo del mittente."
-#: ../../addon/dav/common/wdcal_edit.inc.php:190
-msgid "Frequency"
-msgstr ""
+#: ../../mod/message.php:447
+msgid "Send Reply"
+msgstr "Invia la risposta"
-#: ../../addon/dav/common/wdcal_edit.inc.php:194
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Giornalmente"
+#: ../../mod/hcard.php:10
+msgid "No profile"
+msgstr "Nessun profilo"
-#: ../../addon/dav/common/wdcal_edit.inc.php:197
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Settimanalmente"
+#: ../../mod/help.php:30
+msgid "Help:"
+msgstr "Guida:"
-#: ../../addon/dav/common/wdcal_edit.inc.php:200
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Mensilmente"
+#: ../../mod/help.php:38 ../../index.php:226
+msgid "Not Found"
+msgstr "Non disponibile"
-#: ../../addon/dav/common/wdcal_edit.inc.php:203
-msgid "Yearly"
-msgstr ""
+#: ../../mod/help.php:41 ../../index.php:229
+msgid "Page not found."
+msgstr "Pagina non trovata."
-#: ../../addon/dav/common/wdcal_edit.inc.php:214
-#: ../../include/datetime.php:288
-msgid "days"
-msgstr "giorni"
+#: ../../mod/rmagic.php:56
+msgid "Remote Authentication"
+msgstr "Autenticazione a distanza"
-#: ../../addon/dav/common/wdcal_edit.inc.php:215
-#: ../../include/datetime.php:287
-msgid "weeks"
-msgstr "settimane"
+#: ../../mod/rmagic.php:57
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"
-#: ../../addon/dav/common/wdcal_edit.inc.php:216
-#: ../../include/datetime.php:286
-msgid "months"
-msgstr "mesi"
+#: ../../mod/rmagic.php:58
+msgid "Authenticate"
+msgstr "Autenticazione"
-#: ../../addon/dav/common/wdcal_edit.inc.php:217
-#: ../../include/datetime.php:285
-msgid "years"
-msgstr "anni"
+#: ../../mod/item.php:122
+msgid "Unable to locate original post."
+msgstr "Impossibile trovare il messaggio originale."
-#: ../../addon/dav/common/wdcal_edit.inc.php:218
-msgid "Interval"
-msgstr ""
+#: ../../mod/item.php:290
+msgid "Empty post discarded."
+msgstr "L'articolo vuoto è stato ignorato."
-#: ../../addon/dav/common/wdcal_edit.inc.php:218
-msgid "All %select% %time%"
-msgstr ""
+#: ../../mod/item.php:754
+msgid "System error. Post not saved."
+msgstr "Errore di sistema. Articolo non salvato."
-#: ../../addon/dav/common/wdcal_edit.inc.php:222
-#: ../../addon/dav/common/wdcal_edit.inc.php:260
-#: ../../addon/dav/common/wdcal_edit.inc.php:481
-msgid "Days"
-msgstr ""
+#: ../../mod/item.php:1031 ../../mod/wall_upload.php:41
+msgid "Wall Photos"
+msgstr "Foto della bacheca"
-#: ../../addon/dav/common/wdcal_edit.inc.php:231
-#: ../../addon/dav/common/wdcal_edit.inc.php:254
-#: ../../addon/dav/common/wdcal_edit.inc.php:270
-#: ../../addon/dav/common/wdcal_edit.inc.php:293
-#: ../../addon/dav/common/wdcal_edit.inc.php:305 ../../include/text.php:917
-msgid "Sunday"
-msgstr "Domenica"
+#: ../../mod/network.php:141 ../../mod/search.php:20
+msgid "Remove term"
+msgstr "Rimuovi termine"
-#: ../../addon/dav/common/wdcal_edit.inc.php:235
-#: ../../addon/dav/common/wdcal_edit.inc.php:274
-#: ../../addon/dav/common/wdcal_edit.inc.php:308 ../../include/text.php:917
-msgid "Monday"
-msgstr "Lunedì"
+#: ../../mod/network.php:279
+msgid "Commented Order"
+msgstr "Ultimi commenti"
-#: ../../addon/dav/common/wdcal_edit.inc.php:238
-#: ../../addon/dav/common/wdcal_edit.inc.php:277 ../../include/text.php:917
-msgid "Tuesday"
-msgstr "Martedì"
+#: ../../mod/network.php:282
+msgid "Sort by Comment Date"
+msgstr "Per data del commento"
-#: ../../addon/dav/common/wdcal_edit.inc.php:241
-#: ../../addon/dav/common/wdcal_edit.inc.php:280 ../../include/text.php:917
-msgid "Wednesday"
-msgstr "Mercoledì"
+#: ../../mod/network.php:285
+msgid "Posted Order"
+msgstr "Ultimi articoli"
-#: ../../addon/dav/common/wdcal_edit.inc.php:244
-#: ../../addon/dav/common/wdcal_edit.inc.php:283 ../../include/text.php:917
-msgid "Thursday"
-msgstr "Giovedì"
+#: ../../mod/network.php:288
+msgid "Sort by Post Date"
+msgstr "Per data di creazione"
-#: ../../addon/dav/common/wdcal_edit.inc.php:247
-#: ../../addon/dav/common/wdcal_edit.inc.php:286 ../../include/text.php:917
-msgid "Friday"
-msgstr "Venerdì"
+#: ../../mod/network.php:292 ../../mod/notifications.php:86
+msgid "Personal"
+msgstr "Personali"
-#: ../../addon/dav/common/wdcal_edit.inc.php:250
-#: ../../addon/dav/common/wdcal_edit.inc.php:289 ../../include/text.php:917
-msgid "Saturday"
-msgstr "Sabato"
+#: ../../mod/network.php:295
+msgid "Posts that mention or involve you"
+msgstr "Articoli che ti riguardano o ti menzionano"
-#: ../../addon/dav/common/wdcal_edit.inc.php:297
-msgid "First day of week:"
-msgstr ""
+#: ../../mod/network.php:301
+msgid "Activity Stream - by date"
+msgstr "Elenco attività - per data"
-#: ../../addon/dav/common/wdcal_edit.inc.php:350
-#: ../../addon/dav/common/wdcal_edit.inc.php:373
-msgid "Day of month"
-msgstr ""
+#: ../../mod/network.php:308
+msgid "Starred"
+msgstr "Preferiti"
-#: ../../addon/dav/common/wdcal_edit.inc.php:354
-msgid "#num#th of each month"
-msgstr ""
+#: ../../mod/network.php:311
+msgid "Favourite Posts"
+msgstr "Articoli preferiti"
-#: ../../addon/dav/common/wdcal_edit.inc.php:357
-msgid "#num#th-last of each month"
-msgstr ""
+#: ../../mod/network.php:318
+msgid "Spam"
+msgstr "Spam"
-#: ../../addon/dav/common/wdcal_edit.inc.php:360
-msgid "#num#th #wkday# of each month"
-msgstr ""
+#: ../../mod/network.php:321
+msgid "Posts flagged as SPAM"
+msgstr "Articoli marcati come spam"
-#: ../../addon/dav/common/wdcal_edit.inc.php:363
-msgid "#num#th-last #wkday# of each month"
-msgstr ""
+#: ../../mod/network.php:361
+msgid "Refresh"
+msgstr "Aggiorna"
-#: ../../addon/dav/common/wdcal_edit.inc.php:372
-#: ../../addon/dav/friendica/layout.fnk.php:255
-msgid "Month"
-msgstr ""
+#: ../../mod/network.php:362 ../../mod/connections.php:374
+msgid "Me"
+msgstr "Io"
-#: ../../addon/dav/common/wdcal_edit.inc.php:377
-msgid "#num#th of the given month"
-msgstr ""
+#: ../../mod/network.php:363 ../../mod/connections.php:376
+msgid "Best Friends"
+msgstr "Buoni amici"
-#: ../../addon/dav/common/wdcal_edit.inc.php:380
-msgid "#num#th-last of the given month"
-msgstr ""
+#: ../../mod/network.php:365
+msgid "Co-workers"
+msgstr "Colleghi"
-#: ../../addon/dav/common/wdcal_edit.inc.php:383
-msgid "#num#th #wkday# of the given month"
-msgstr ""
+#: ../../mod/network.php:366 ../../mod/connections.php:378
+msgid "Former Friends"
+msgstr "Ex amici"
-#: ../../addon/dav/common/wdcal_edit.inc.php:386
-msgid "#num#th-last #wkday# of the given month"
-msgstr ""
+#: ../../mod/network.php:367 ../../mod/connections.php:379
+msgid "Acquaintances"
+msgstr "Conoscenti"
-#: ../../addon/dav/common/wdcal_edit.inc.php:413
-msgid "Repeat until"
-msgstr ""
+#: ../../mod/network.php:368
+msgid "Everybody"
+msgstr "Tutti"
-#: ../../addon/dav/common/wdcal_edit.inc.php:417
-msgid "Infinite"
-msgstr ""
+#: ../../mod/network.php:385
+msgid "Search Results For:"
+msgstr "Cerca risultati con:"
-#: ../../addon/dav/common/wdcal_edit.inc.php:420
-msgid "Until the following date"
-msgstr ""
+#: ../../mod/network.php:430
+msgid "No such group"
+msgstr "Impossibile trovare l'insieme"
-#: ../../addon/dav/common/wdcal_edit.inc.php:423
-msgid "Number of times"
-msgstr ""
+#: ../../mod/network.php:441
+msgid "Group is empty"
+msgstr "L'insieme è vuoto"
-#: ../../addon/dav/common/wdcal_edit.inc.php:429
-msgid "Exceptions"
-msgstr ""
+#: ../../mod/network.php:456
+msgid "Contact: "
+msgstr "Contatto:"
-#: ../../addon/dav/common/wdcal_edit.inc.php:432
-msgid "none"
-msgstr ""
+#: ../../mod/network.php:459
+msgid "Invalid contact."
+msgstr "Contatto non valido."
-#: ../../addon/dav/common/wdcal_edit.inc.php:449
-msgid "Notification"
-msgstr ""
+#: ../../mod/intro.php:11 ../../mod/intro.php:98 ../../mod/admin.php:638
+#: ../../mod/notifications.php:159 ../../mod/notifications.php:206
+msgid "Approve"
+msgstr "Approva"
-#: ../../addon/dav/common/wdcal_edit.inc.php:466
-msgid "Notify by"
-msgstr ""
+#: ../../mod/intro.php:14 ../../mod/intro.php:99 ../../mod/connections.php:318
+#: ../../mod/connections.php:459 ../../mod/admin.php:641
+msgid "Block"
+msgstr "Blocca"
-#: ../../addon/dav/common/wdcal_edit.inc.php:469
-msgid "E-Mail"
-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 "Ignora"
-#: ../../addon/dav/common/wdcal_edit.inc.php:470
-msgid "On Friendica / Display"
-msgstr ""
+#: ../../mod/intro.php:29 ../../mod/connections.php:119
+msgid "Connection updated."
+msgstr "Contatto aggiornato."
-#: ../../addon/dav/common/wdcal_edit.inc.php:474
-msgid "Time"
-msgstr ""
+#: ../../mod/intro.php:31
+msgid "Connection update failed."
+msgstr "Impossibile aggiornare il contatto."
-#: ../../addon/dav/common/wdcal_edit.inc.php:478
-msgid "Hours"
-msgstr ""
+#: ../../mod/intro.php:56
+msgid "Introductions and Connection Requests"
+msgstr "Richieste di contatto e di amicizia"
-#: ../../addon/dav/common/wdcal_edit.inc.php:479
-msgid "Minutes"
-msgstr ""
+#: ../../mod/intro.php:67
+msgid "No pending introductions."
+msgstr "Nessuna richiesta in attesa."
-#: ../../addon/dav/common/wdcal_edit.inc.php:480
-msgid "Seconds"
-msgstr ""
+#: ../../mod/intro.php:72
+msgid "System error. Please try again later."
+msgstr "Errore di sistema. Riprovare più tardi."
-#: ../../addon/dav/common/wdcal_edit.inc.php:482
-msgid "Weeks"
-msgstr ""
-
-#: ../../addon/dav/common/wdcal_edit.inc.php:485
-msgid "before the"
-msgstr ""
+#: ../../mod/intro.php:95 ../../mod/connections.php:465
+#: ../../mod/notifications.php:155 ../../mod/notifications.php:202
+msgid "Hide this contact from others"
+msgstr "Nascondi questo contatto agli altri"
-#: ../../addon/dav/common/wdcal_edit.inc.php:486
-msgid "start of the event"
-msgstr ""
+#: ../../mod/intro.php:96 ../../mod/notifications.php:156
+#: ../../mod/notifications.php:203
+msgid "Post a new friend activity"
+msgstr "Pubblica sulla bacheca che hai un nuovo contatto"
-#: ../../addon/dav/common/wdcal_edit.inc.php:487
-msgid "end of the event"
-msgstr ""
+#: ../../mod/intro.php:96 ../../mod/notifications.php:156
+#: ../../mod/notifications.php:203
+msgid "if applicable"
+msgstr "se possibile"
-#: ../../addon/dav/common/wdcal_edit.inc.php:492
-msgid "Add a notification"
-msgstr ""
+#: ../../mod/intro.php:101 ../../mod/notifications.php:35
+#: ../../mod/notifications.php:163 ../../mod/notifications.php:209
+msgid "Discard"
+msgstr "Rifiuta"
-#: ../../addon/dav/common/wdcal_edit.inc.php:687
-msgid "The event #name# will start at #date"
-msgstr ""
+#: ../../mod/connections.php:64
+msgid "Could not access contact record."
+msgstr "Non è possibile accedere alle informazioni sul contatto."
-#: ../../addon/dav/common/wdcal_edit.inc.php:696
-msgid "#name# is about to begin."
-msgstr ""
+#: ../../mod/connections.php:78
+msgid "Could not locate selected profile."
+msgstr "Non riesco a trovare il profilo selezionato."
-#: ../../addon/dav/common/wdcal_edit.inc.php:769
-msgid "Saved"
-msgstr ""
+#: ../../mod/connections.php:121
+msgid "Failed to update connection record."
+msgstr "Impossibile aggiornare le informazioni di contatto."
-#: ../../addon/dav/common/wdcal_configuration.php:148
-msgid "U.S. Time Format (mm/dd/YYYY)"
-msgstr ""
+#: ../../mod/connections.php:196
+msgid "Could not access address book record."
+msgstr "Impossibile accedere alle informazioni della rubrica."
-#: ../../addon/dav/common/wdcal_configuration.php:243
-msgid "German Time Format (dd.mm.YYYY)"
-msgstr ""
+#: ../../mod/connections.php:210
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Il canale non è disponibile - impossibile aggiornare."
-#: ../../addon/dav/common/dav_caldav_backend_private.inc.php:39
-msgid "Private Events"
-msgstr ""
+#: ../../mod/connections.php:217
+msgid "Channel has been unblocked"
+msgstr "Il canale è stato sbloccato"
-#: ../../addon/dav/common/dav_carddav_backend_private.inc.php:46
-msgid "Private Addressbooks"
-msgstr ""
+#: ../../mod/connections.php:218
+msgid "Channel has been blocked"
+msgstr "Il canale è stato bloccato"
-#: ../../addon/dav/friendica/dav_caldav_backend_virtual_friendica.inc.php:36
-msgid "Friendica-Native events"
-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 "Impossibile impostare i parametri della rubrica."
-#: ../../addon/dav/friendica/dav_carddav_backend_virtual_friendica.inc.php:36
-#: ../../addon/dav/friendica/dav_carddav_backend_virtual_friendica.inc.php:59
-msgid "Friendica-Contacts"
-msgstr ""
+#: ../../mod/connections.php:229
+msgid "Channel has been unignored"
+msgstr "Il canale non sarà più ignorato"
-#: ../../addon/dav/friendica/dav_carddav_backend_virtual_friendica.inc.php:60
-msgid "Your Friendica-Contacts"
-msgstr ""
+#: ../../mod/connections.php:230
+msgid "Channel has been ignored"
+msgstr "Il canale sarà ignorato"
-#: ../../addon/dav/friendica/layout.fnk.php:99
-#: ../../addon/dav/friendica/layout.fnk.php:136
-msgid ""
-"Something went wrong when trying to import the file. Sorry. Maybe some "
-"events were imported anyway."
-msgstr ""
+#: ../../mod/connections.php:241
+msgid "Channel has been unarchived"
+msgstr "Il canale non è più archiviato"
-#: ../../addon/dav/friendica/layout.fnk.php:131
-msgid "Something went wrong when trying to import the file. Sorry."
-msgstr ""
+#: ../../mod/connections.php:242
+msgid "Channel has been archived"
+msgstr "Il canale è stato archiviato"
-#: ../../addon/dav/friendica/layout.fnk.php:134
-msgid "The ICS-File has been imported."
-msgstr ""
+#: ../../mod/connections.php:253
+msgid "Channel has been unhidden"
+msgstr "Il canale non è più nascosto"
-#: ../../addon/dav/friendica/layout.fnk.php:138
-msgid "No file was uploaded."
-msgstr ""
+#: ../../mod/connections.php:254
+msgid "Channel has been hidden"
+msgstr "Il canale è stato nascosto"
-#: ../../addon/dav/friendica/layout.fnk.php:147
-msgid "Import a ICS-file"
-msgstr ""
+#: ../../mod/connections.php:268
+msgid "Channel has been approved"
+msgstr "Il canale è stato approvato"
-#: ../../addon/dav/friendica/layout.fnk.php:150
-msgid "ICS-File"
-msgstr ""
+#: ../../mod/connections.php:269
+msgid "Channel has been unapproved"
+msgstr "Il canale non è più approvato"
-#: ../../addon/dav/friendica/layout.fnk.php:151
-msgid "Overwrite all #num# existing events"
-msgstr ""
+#: ../../mod/connections.php:287
+msgid "Contact has been removed."
+msgstr "Il contatto è stato rimosso."
-#: ../../addon/dav/friendica/layout.fnk.php:228
-msgid "New event"
-msgstr ""
+#: ../../mod/connections.php:307
+#, php-format
+msgid "View %s's profile"
+msgstr "Guarda il profilo di %s"
-#: ../../addon/dav/friendica/layout.fnk.php:232
-msgid "Today"
-msgstr ""
+#: ../../mod/connections.php:311
+msgid "Refresh Permissions"
+msgstr "Aggiorna i permessi"
-#: ../../addon/dav/friendica/layout.fnk.php:241
-msgid "Day"
-msgstr ""
+#: ../../mod/connections.php:314
+msgid "Fetch updated permissions"
+msgstr "Scarica i permessi aggiornati"
-#: ../../addon/dav/friendica/layout.fnk.php:248
-msgid "Week"
-msgstr ""
-
-#: ../../addon/dav/friendica/layout.fnk.php:260
-msgid "Reload"
-msgstr ""
+#: ../../mod/connections.php:318 ../../mod/connections.php:459
+#: ../../mod/admin.php:642
+msgid "Unblock"
+msgstr "Sblocca"
-#: ../../addon/dav/friendica/layout.fnk.php:271
-msgid "Date"
-msgstr ""
+#: ../../mod/connections.php:321
+msgid "Block or Unblock this connection"
+msgstr "Per bloccare o meno questo contatto"
-#: ../../addon/dav/friendica/layout.fnk.php:313
-msgid "Error"
-msgstr ""
+#: ../../mod/connections.php:325 ../../mod/connections.php:460
+msgid "Unignore"
+msgstr "Non ignorare"
-#: ../../addon/dav/friendica/layout.fnk.php:380
-msgid "The calendar has been updated."
-msgstr ""
+#: ../../mod/connections.php:328
+msgid "Ignore or Unignore this connection"
+msgstr "Per ignorare o meno questo contatto"
-#: ../../addon/dav/friendica/layout.fnk.php:393
-msgid "The new calendar has been created."
-msgstr ""
+#: ../../mod/connections.php:331
+msgid "Unarchive"
+msgstr "Non archiviare"
-#: ../../addon/dav/friendica/layout.fnk.php:417
-msgid "The calendar has been deleted."
-msgstr ""
+#: ../../mod/connections.php:331
+msgid "Archive"
+msgstr "Archivia"
-#: ../../addon/dav/friendica/layout.fnk.php:424
-msgid "Calendar Settings"
-msgstr ""
+#: ../../mod/connections.php:334
+msgid "Archive or Unarchive this connection"
+msgstr "Per archiviare o meno questo contatto"
-#: ../../addon/dav/friendica/layout.fnk.php:430
-msgid "Date format"
-msgstr ""
+#: ../../mod/connections.php:337
+msgid "Unhide"
+msgstr "Non nascondere"
-#: ../../addon/dav/friendica/layout.fnk.php:439
-msgid "Time zone"
-msgstr ""
+#: ../../mod/connections.php:337
+msgid "Hide"
+msgstr "Nascondi"
-#: ../../addon/dav/friendica/layout.fnk.php:445
-msgid "Calendars"
-msgstr ""
+#: ../../mod/connections.php:340
+msgid "Hide or Unhide this connection"
+msgstr "Per nascondere o meno questo contatto"
-#: ../../addon/dav/friendica/layout.fnk.php:487
-msgid "Create a new calendar"
-msgstr ""
+#: ../../mod/connections.php:347
+msgid "Delete this connection"
+msgstr "Elimina questo contatto"
-#: ../../addon/dav/friendica/layout.fnk.php:496
-msgid "Limitations"
-msgstr ""
+#: ../../mod/connections.php:380
+msgid "Unknown"
+msgstr "Sconosciuto"
-#: ../../addon/dav/friendica/layout.fnk.php:500
-#: ../../addon/libravatar/libravatar.php:82
-msgid "Warning"
-msgstr ""
+#: ../../mod/connections.php:390 ../../mod/connections.php:418
+msgid "Approve this connection"
+msgstr "Approva questo contatto"
-#: ../../addon/dav/friendica/layout.fnk.php:504
-msgid "Synchronization (iPhone, Thunderbird Lightning, Android, ...)"
-msgstr ""
+#: ../../mod/connections.php:390
+msgid "Accept connection to allow communication"
+msgstr "Accetta il contatto per poter comunicare"
-#: ../../addon/dav/friendica/layout.fnk.php:511
-msgid "Synchronizing this calendar with the iPhone"
-msgstr ""
+#: ../../mod/connections.php:406
+msgid "Automatic Permissions Settings"
+msgstr "Permessi predefiniti"
-#: ../../addon/dav/friendica/layout.fnk.php:522
-msgid "Synchronizing your Friendica-Contacts with the iPhone"
-msgstr ""
+#: ../../mod/connections.php:406
+#, php-format
+msgid "Connections: settings for %s"
+msgstr "Contatti: impostazioni per %s"
-#: ../../addon/dav/friendica/main.php:202
+#: ../../mod/connections.php:410
msgid ""
-"The current version of this plugin has not been set up correctly. Please "
-"contact the system administrator of your installation of friendica to fix "
-"this."
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:242
-msgid "Extended calendar with CalDAV-support"
-msgstr ""
+"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 "Quando ricevi una richiesta di amicizia da un canale, i permessi mostrati in questa pagina saranno applicati al nuovo contatto con l'approvazione della richiesta. Lascia questa pagina se non vuoi proseguire."
-#: ../../addon/dav/friendica/main.php:279
-#: ../../addon/dav/friendica/main.php:280 ../../include/delivery.php:464
-#: ../../include/enotify.php:28 ../../include/notifier.php:710
-msgid "noreply"
-msgstr "nessuna risposta"
+#: ../../mod/connections.php:412
+msgid "Slide to adjust your degree of friendship"
+msgstr "Trascina per restringere il grado di amicizia da mostrare"
-#: ../../addon/dav/friendica/main.php:282
-msgid "Notification: "
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:309
-msgid "The database tables have been installed."
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:310
-msgid "An error occurred during the installation."
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:316
-msgid "The database tables have been updated."
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:317
-msgid "An error occurred during the update."
-msgstr ""
+#: ../../mod/connections.php:419
+msgid "Connection has no individual permissions!"
+msgstr "Non hai assegnato permessi individuali a questo contatto!"
-#: ../../addon/dav/friendica/main.php:333
-msgid "No system-wide settings yet."
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:336
-msgid "Database status"
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:339
-msgid "Installed"
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:343
-msgid "Upgrade needed"
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:343
+#: ../../mod/connections.php:420
msgid ""
-"Please back up all calendar data (the tables beginning with dav_*) before "
-"proceeding. While all calendar events <i>should</i> be converted to the new "
-"database structure, it's always safe to have a backup. Below, you can have a"
-" look at the database-queries that will be made when pressing the "
-"'update'-button."
-msgstr ""
+"This may be appropriate based on your <a href=\"settings\">privacy "
+"settings</a>, though you may wish to review the \"Advanced Permissions\"."
+msgstr "Questo corrisponde alle tue <a href='settings'>impostazioni di privacy</a>, ma puoi anche dare un'occhiata ai 'Permessi avanzati' per opzioni più dettagliate."
-#: ../../addon/dav/friendica/main.php:343
-msgid "Upgrade"
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:346
-msgid "Not installed"
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:346
-msgid "Install"
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:350
-msgid "Unknown"
-msgstr ""
+#: ../../mod/connections.php:422
+msgid "Profile Visibility"
+msgstr "Visibilità del profilo"
-#: ../../addon/dav/friendica/main.php:350
+#: ../../mod/connections.php:423
+#, php-format
msgid ""
-"Something really went wrong. I cannot recover from this state automatically,"
-" sorry. Please go to the database backend, back up the data, and delete all "
-"tables beginning with 'dav_' manually. Afterwards, this installation routine"
-" should be able to reinitialize the tables automatically."
-msgstr ""
-
-#: ../../addon/dav/friendica/main.php:355
-msgid "Troubleshooting"
-msgstr ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro."
-#: ../../addon/dav/friendica/main.php:356
-msgid "Manual creation of the database tables:"
-msgstr ""
+#: ../../mod/connections.php:424
+msgid "Contact Information / Notes"
+msgstr "Informazioni e annotazioni sul contatto"
-#: ../../addon/dav/friendica/main.php:357
-msgid "Show SQL-statements"
-msgstr ""
+#: ../../mod/connections.php:425
+msgid "Edit contact notes"
+msgstr "Modifica le informazioni sul contatto"
-#: ../../addon/dav/friendica/calendar.friendica.fnk.php:206
-msgid "Private Calendar"
-msgstr ""
+#: ../../mod/connections.php:427
+msgid "Their Settings"
+msgstr "Permessi concessi a te"
-#: ../../addon/dav/friendica/calendar.friendica.fnk.php:207
-msgid "Friendica Events: Mine"
-msgstr ""
+#: ../../mod/connections.php:428
+msgid "My Settings"
+msgstr "I permessi che concedo"
-#: ../../addon/dav/friendica/calendar.friendica.fnk.php:208
-msgid "Friendica Events: Contacts"
-msgstr ""
+#: ../../mod/connections.php:430
+msgid "Forum Members"
+msgstr "Membro di un forum"
-#: ../../addon/dav/friendica/calendar.friendica.fnk.php:248
-msgid "Private Addresses"
-msgstr ""
+#: ../../mod/connections.php:431
+msgid "Soapbox"
+msgstr "Comunicati e annunci"
-#: ../../addon/dav/friendica/calendar.friendica.fnk.php:249
-msgid "Friendica Contacts"
-msgstr ""
+#: ../../mod/connections.php:432
+msgid "Full Sharing"
+msgstr "Condivisione totale"
-#: ../../addon/uhremotestorage/uhremotestorage.php:84
-#, php-format
-msgid ""
-"Allow to use your friendica id (%s) to connecto to external unhosted-enabled"
-" storage (like ownCloud). See <a "
-"href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage"
-" WebFinger</a>"
-msgstr "Permette di usare il tuo id friendica (%s) per collegarsi a storage esterni che supportano unhosted (come ownCloud). Vedi <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>"
+#: ../../mod/connections.php:433
+msgid "Cautious Sharing"
+msgstr "Condivisione prudente"
-#: ../../addon/uhremotestorage/uhremotestorage.php:85
-msgid "Template URL (with {category})"
-msgstr "Template URL (con {category})"
+#: ../../mod/connections.php:434
+msgid "Follow Only"
+msgstr "Follower"
-#: ../../addon/uhremotestorage/uhremotestorage.php:86
-msgid "OAuth end-point"
-msgstr "OAuth end-point"
+#: ../../mod/connections.php:435
+msgid "Individual Permissions"
+msgstr "Permessi individuali"
-#: ../../addon/uhremotestorage/uhremotestorage.php:87
-msgid "Api"
-msgstr "Api"
+#: ../../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 "I permessi individuali sono disponibili solo quando nelle <a href=\"settings\">impostazioni di sicurezza e privacy</a> scegli \"Solo chi riceve il mio permesso\". Altrimenti sono applicate le stesse impostazioni per tutti."
-#: ../../addon/membersince/membersince.php:18
-msgid "Member since:"
-msgstr "Membro dal:"
+#: ../../mod/connections.php:437
+msgid "Advanced Permissions"
+msgstr "Permessi avanzati"
-#: ../../addon/tictac/tictac.php:20
-msgid "Three Dimensional Tic-Tac-Toe"
-msgstr "Tic-Tac-Toe tridimensionale"
+#: ../../mod/connections.php:438
+msgid "Quick Links"
+msgstr "Impostazioni veloci"
-#: ../../addon/tictac/tictac.php:53
-msgid "3D Tic-Tac-Toe"
-msgstr "3D Tic-Tac-Toe"
+#: ../../mod/connections.php:442
+#, php-format
+msgid "Visit %s's profile - %s"
+msgstr "Guarda il profilo di %s - %s"
-#: ../../addon/tictac/tictac.php:58
-msgid "New game"
-msgstr "Nuova partita"
+#: ../../mod/connections.php:443
+msgid "Block/Unblock contact"
+msgstr "Blocca/sblocca contatto"
-#: ../../addon/tictac/tictac.php:59
-msgid "New game with handicap"
-msgstr "Nuova partita con handicap"
+#: ../../mod/connections.php:444
+msgid "Ignore contact"
+msgstr "Ignora il contatto"
-#: ../../addon/tictac/tictac.php:60
-msgid ""
-"Three dimensional tic-tac-toe is just like the traditional game except that "
-"it is played on multiple levels simultaneously. "
-msgstr "Tic-tac-toe tridimensionale è come il gioco tradizionale, solo che si gioca su livelli multipli contemporaneamente."
+#: ../../mod/connections.php:445
+msgid "Repair URL settings"
+msgstr "Ripara le impostazioni URL"
-#: ../../addon/tictac/tictac.php:61
-msgid ""
-"In this case there are three levels. You win by getting three in a row on "
-"any level, as well as up, down, and diagonally across the different levels."
-msgstr "In questo caso ci sono tre livelli. Puoi vincere mettendo tre segni in fila su ogni livello, anche verso l'alto, il basso e diagonalmente anche attraverso i diversi livelli."
+#: ../../mod/connections.php:446
+msgid "View conversations"
+msgstr "Leggi le conversazioni"
-#: ../../addon/tictac/tictac.php:63
-msgid ""
-"The handicap game disables the center position on the middle level because "
-"the player claiming this square often has an unfair advantage."
-msgstr "L'handicap disabilita la casella centrale sul livello di mezzo, perchè il giocatore che si prende quella casella spesso ha un deciso vantaggio."
+#: ../../mod/connections.php:448
+msgid "Delete contact"
+msgstr "Elimina contatto"
-#: ../../addon/tictac/tictac.php:182
-msgid "You go first..."
-msgstr "Cominci tu..."
+#: ../../mod/connections.php:451
+msgid "Last update:"
+msgstr "Ultimo aggiornamento:"
-#: ../../addon/tictac/tictac.php:187
-msgid "I'm going first this time..."
-msgstr "Comincio io questa volta..."
+#: ../../mod/connections.php:453
+msgid "Update public posts"
+msgstr "Aggiorna gli articoli pubblici"
-#: ../../addon/tictac/tictac.php:193
-msgid "You won!"
-msgstr "Hai vinto!"
+#: ../../mod/connections.php:455
+msgid "Update now"
+msgstr "Aggiorna adesso"
-#: ../../addon/tictac/tictac.php:199 ../../addon/tictac/tictac.php:224
-msgid "\"Cat\" game!"
-msgstr "Stallo!"
+#: ../../mod/connections.php:461
+msgid "Currently blocked"
+msgstr "Attualmente bloccato"
-#: ../../addon/tictac/tictac.php:222
-msgid "I won!"
-msgstr "Ho vinto!"
+#: ../../mod/connections.php:462
+msgid "Currently ignored"
+msgstr "Attualmente ignorato"
-#: ../../addon/randplace/randplace.php:169
-msgid "Randplace Settings"
-msgstr "Impostazioni Randplace"
+#: ../../mod/connections.php:463
+msgid "Currently archived"
+msgstr "Attualmente archiviato"
-#: ../../addon/randplace/randplace.php:171
-msgid "Enable Randplace Plugin"
-msgstr "Abilita il plugin Randplace"
+#: ../../mod/connections.php:464
+msgid "Currently pending"
+msgstr "Attualmente da approvare"
-#: ../../addon/dwpost/dwpost.php:39
-msgid "Post to Dreamwidth"
-msgstr "Posta su Dreamwidth"
+#: ../../mod/connections.php:465
+msgid ""
+"Replies/likes to your public posts <strong>may</strong> still be visible"
+msgstr "Le risposte ai tuoi articoli pubblici <strong>potrebbero</strong> restare comunque visibili"
-#: ../../addon/dwpost/dwpost.php:70
-msgid "Dreamwidth Post Settings"
-msgstr "Impostazioni post Dreamwidth"
+#: ../../mod/connections.php:501 ../../mod/connections.php:573
+msgid "Blocked"
+msgstr "Bloccati"
-#: ../../addon/dwpost/dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
-msgstr "Abilita il plugin dreamwidth"
+#: ../../mod/connections.php:506 ../../mod/connections.php:580
+msgid "Ignored"
+msgstr "Ignorati"
-#: ../../addon/dwpost/dwpost.php:77
-msgid "dreamwidth username"
-msgstr "dreamwidth username"
+#: ../../mod/connections.php:511 ../../mod/connections.php:594
+msgid "Hidden"
+msgstr "Nascosti"
-#: ../../addon/dwpost/dwpost.php:82
-msgid "dreamwidth password"
-msgstr "Password dreamwidth"
+#: ../../mod/connections.php:516 ../../mod/connections.php:587
+msgid "Archived"
+msgstr "Archiviati"
-#: ../../addon/dwpost/dwpost.php:87
-msgid "Post to dreamwidth by default"
-msgstr "Invia a dreamwidth per impostazione predefinita"
+#: ../../mod/connections.php:527
+msgid "All"
+msgstr "Tutti"
-#: ../../addon/drpost/drpost.php:35
-msgid "Post to Drupal"
-msgstr "Invia a Drupal"
+#: ../../mod/connections.php:548
+msgid "Suggestions"
+msgstr "Suggerimenti"
-#: ../../addon/drpost/drpost.php:72
-msgid "Drupal Post Settings"
-msgstr "Impostazioni invio a Drupal"
+#: ../../mod/connections.php:551
+msgid "Suggest new connections"
+msgstr "Suggerisci nuovi contatti"
-#: ../../addon/drpost/drpost.php:74
-msgid "Enable Drupal Post Plugin"
-msgstr "Abilita il plugin di invio a Drupal"
+#: ../../mod/connections.php:557
+msgid "Show pending (new) connections"
+msgstr "Richieste di amicizia in attesa"
-#: ../../addon/drpost/drpost.php:79
-msgid "Drupal username"
-msgstr "Drupal username"
+#: ../../mod/connections.php:560
+msgid "All Connections"
+msgstr "Tutti i contatti"
-#: ../../addon/drpost/drpost.php:84
-msgid "Drupal password"
-msgstr "Drupal password"
+#: ../../mod/connections.php:563
+msgid "Show all connections"
+msgstr "Mostra tutti i contatti"
-#: ../../addon/drpost/drpost.php:89
-msgid "Post Type - article,page,or blog"
-msgstr "Tipo di post - article,page o blog"
+#: ../../mod/connections.php:566
+msgid "Unblocked"
+msgstr "Non bloccati"
-#: ../../addon/drpost/drpost.php:94
-msgid "Drupal site URL"
-msgstr "Indirizzo del sito Drupal"
+#: ../../mod/connections.php:569
+msgid "Only show unblocked connections"
+msgstr "Mostra solo i contatti non bloccati"
-#: ../../addon/drpost/drpost.php:99
-msgid "Drupal site uses clean URLS"
-msgstr "Il sito Drupal usa URL puliti"
+#: ../../mod/connections.php:576
+msgid "Only show blocked connections"
+msgstr "Mostra solo i contatti bloccati"
-#: ../../addon/drpost/drpost.php:104
-msgid "Post to Drupal by default"
-msgstr "Invia a Drupal per impostazione predefinita"
+#: ../../mod/connections.php:583
+msgid "Only show ignored connections"
+msgstr "Mostra solo i contatti ignorati"
-#: ../../addon/drpost/drpost.php:184 ../../addon/wppost/wppost.php:201
-#: ../../addon/blogger/blogger.php:172 ../../addon/posterous/posterous.php:189
-msgid "Post from Friendica"
-msgstr "Messaggio da Friendica"
+#: ../../mod/connections.php:590
+msgid "Only show archived connections"
+msgstr "Mostra solo i contatti archiviati"
-#: ../../addon/startpage/startpage.php:83
-msgid "Startpage Settings"
-msgstr ""
+#: ../../mod/connections.php:597
+msgid "Only show hidden connections"
+msgstr "Mostra solo i contatti nascosti"
-#: ../../addon/startpage/startpage.php:85
-msgid "Home page to load after login - leave blank for profile wall"
-msgstr ""
+#: ../../mod/connections.php:639
+#, php-format
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../addon/startpage/startpage.php:88
-msgid "Examples: &quot;network&quot; or &quot;notifications/system&quot;"
-msgstr ""
+#: ../../mod/connections.php:640 ../../mod/nogroup.php:41
+msgid "Edit contact"
+msgstr "Modifica il contatto"
-#: ../../addon/geonames/geonames.php:143
-msgid "Geonames settings updated."
-msgstr "Impostazioni di geonames aggiornate."
+#: ../../mod/connections.php:664
+msgid "Search your connections"
+msgstr "Cerca tra i contatti"
-#: ../../addon/geonames/geonames.php:179
-msgid "Geonames Settings"
-msgstr "Impostazioni Geonames"
+#: ../../mod/connections.php:665
+msgid "Finding: "
+msgstr "Ricerca: "
-#: ../../addon/geonames/geonames.php:181
-msgid "Enable Geonames Plugin"
-msgstr "Abilita plugin Geonames"
+#: ../../mod/dirsearch.php:21
+msgid "This site is not a directory server"
+msgstr "Questo sito non fornisce l'elenco generale dei canali"
-#: ../../addon/public_server/public_server.php:126
-#: ../../addon/testdrive/testdrive.php:94
-#, php-format
-msgid "Your account on %s will expire in a few days."
-msgstr ""
+#: ../../mod/lockview.php:34
+msgid "Remote privacy information not available."
+msgstr "Le informazioni remote sulla privacy non sono disponibili."
-#: ../../addon/public_server/public_server.php:127
-msgid "Your Friendica account is about to expire."
-msgstr ""
+#: ../../mod/lockview.php:43
+msgid "Visible to:"
+msgstr "Visibile a:"
-#: ../../addon/public_server/public_server.php:128
-#, php-format
+#: ../../mod/post.php:114
msgid ""
-"Hi %1$s,\n"
-"\n"
-"Your account on %2$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"
-msgstr ""
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "L'autenticazione remota non è disponibile. Hai accesso solamente a questo sito. Puoi provare ad uscire per tentare di nuovo."
-#: ../../addon/js_upload/js_upload.php:43
-msgid "Upload a file"
-msgstr "Carica un file"
-
-#: ../../addon/js_upload/js_upload.php:44
-msgid "Drop files here to upload"
-msgstr "Trascina un file qui per caricarlo"
+#: ../../mod/post.php:127
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Ciao %s. La tua autenticazione da remoto è avvenuta con successo."
-#: ../../addon/js_upload/js_upload.php:46
-msgid "Failed"
-msgstr "Caricamento fallito"
+#: ../../mod/profiles.php:18 ../../mod/profiles.php:138
+#: ../../mod/profiles.php:179 ../../mod/profiles.php:486
+msgid "Profile not found."
+msgstr "Profilo non trovato."
-#: ../../addon/js_upload/js_upload.php:297
-msgid "No files were uploaded."
-msgstr "Nessun file è stato caricato."
+#: ../../mod/profiles.php:38
+msgid "Profile deleted."
+msgstr "Profilo eliminato."
-#: ../../addon/js_upload/js_upload.php:303
-msgid "Uploaded file is empty"
-msgstr "Il file caricato è vuoto"
+#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
+msgid "Profile-"
+msgstr "Profilo-"
-#: ../../addon/js_upload/js_upload.php:326
-msgid "File has an invalid extension, it should be one of "
-msgstr "Il file ha un'estensione non valida, dovrebbe essere una tra "
+#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
+msgid "New profile created."
+msgstr "Il nuovo profilo è stato creato."
-#: ../../addon/js_upload/js_upload.php:337
-msgid "Upload was cancelled, or server error encountered"
-msgstr "Il caricamento è stato cancellato, o si è verificato un errore sul server"
+#: ../../mod/profiles.php:98
+msgid "Profile unavailable to clone."
+msgstr "Impossibile duplicare il profilo."
-#: ../../addon/oembed.old/oembed.php:30
-msgid "OEmbed settings updated"
-msgstr "Impostazioni OEmbed aggiornate"
+#: ../../mod/profiles.php:189
+msgid "Profile Name is required."
+msgstr "Il nome del profilo è obbligatorio ."
-#: ../../addon/oembed.old/oembed.php:43
-msgid "Use OEmbed for YouTube videos"
-msgstr "Usa OEmbed per i video di YouTube"
+#: ../../mod/profiles.php:317
+msgid "Marital Status"
+msgstr "Stato sentimentale"
-#: ../../addon/oembed.old/oembed.php:71
-msgid "URL to embed:"
-msgstr "URL da incorporare:"
+#: ../../mod/profiles.php:321
+msgid "Romantic Partner"
+msgstr "Partner affettivo"
-#: ../../addon/forumlist/forumlist.php:58
-msgid "show/hide"
-msgstr ""
+#: ../../mod/profiles.php:325
+msgid "Likes"
+msgstr "Cosa gli piace"
-#: ../../addon/forumlist/forumlist.php:72
-msgid "No forum subscriptions"
-msgstr ""
+#: ../../mod/profiles.php:329
+msgid "Dislikes"
+msgstr "Cosa non gli piace"
-#: ../../addon/forumlist/forumlist.php:125
-msgid "Forumlist settings updated."
-msgstr ""
+#: ../../mod/profiles.php:333
+msgid "Work/Employment"
+msgstr "Lavoro/impiego"
-#: ../../addon/forumlist/forumlist.php:150
-msgid "Forumlist Settings"
-msgstr ""
+#: ../../mod/profiles.php:336
+msgid "Religion"
+msgstr "Religione"
-#: ../../addon/forumlist/forumlist.php:152
-msgid "Randomise forum list"
-msgstr ""
+#: ../../mod/profiles.php:340
+msgid "Political Views"
+msgstr "Orientamento politico"
-#: ../../addon/forumlist/forumlist.php:155
-msgid "Show forums on profile page"
-msgstr ""
+#: ../../mod/profiles.php:344
+msgid "Gender"
+msgstr "Sesso"
-#: ../../addon/impressum/impressum.php:37
-msgid "Impressum"
-msgstr "Impressum"
+#: ../../mod/profiles.php:348
+msgid "Sexual Preference"
+msgstr "Preferenze sessuali"
-#: ../../addon/impressum/impressum.php:50
-#: ../../addon/impressum/impressum.php:52
-#: ../../addon/impressum/impressum.php:84
-msgid "Site Owner"
-msgstr "Proprietario del sito"
+#: ../../mod/profiles.php:352
+msgid "Homepage"
+msgstr "Homepage"
-#: ../../addon/impressum/impressum.php:50
-#: ../../addon/impressum/impressum.php:88
-msgid "Email Address"
-msgstr "Indirizzo email"
+#: ../../mod/profiles.php:356
+msgid "Interests"
+msgstr "Interessi"
-#: ../../addon/impressum/impressum.php:55
-#: ../../addon/impressum/impressum.php:86
-msgid "Postal Address"
+#: ../../mod/profiles.php:360
+msgid "Address"
msgstr "Indirizzo"
-#: ../../addon/impressum/impressum.php:61
-msgid ""
-"The impressum addon needs to be configured!<br />Please add at least the "
-"<tt>owner</tt> variable to your config file. For other variables please "
-"refer to the README file of the addon."
-msgstr "Il plugin Impressum deve essere configurato!<br>Aggiungi almeno il Proprietario del sito."
-
-#: ../../addon/impressum/impressum.php:84
-msgid "The page operators name."
-msgstr "Nome del gestore della pagina."
-
-#: ../../addon/impressum/impressum.php:85
-msgid "Site Owners Profile"
-msgstr "Profilo del proprietario del sito"
-
-#: ../../addon/impressum/impressum.php:85
-msgid "Profile address of the operator."
-msgstr "Indirizzo del profilo del gestore della pagina"
-
-#: ../../addon/impressum/impressum.php:86
-msgid "How to contact the operator via snail mail. You can use BBCode here."
-msgstr ""
+#: ../../mod/profiles.php:367
+msgid "Location"
+msgstr "Luogo attuale"
-#: ../../addon/impressum/impressum.php:87
-msgid "Notes"
-msgstr "Note"
+#: ../../mod/profiles.php:450
+msgid "Profile updated."
+msgstr "Profilo aggiornato."
-#: ../../addon/impressum/impressum.php:87
-msgid ""
-"Additional notes that are displayed beneath the contact information. You can"
-" use BBCode here."
-msgstr ""
+#: ../../mod/profiles.php:505
+msgid "Hide your contact/friend list from viewers of this profile?"
+msgstr "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?"
-#: ../../addon/impressum/impressum.php:88
-msgid "How to contact the operator via email. (will be displayed obfuscated)"
-msgstr ""
+#: ../../mod/profiles.php:528
+msgid "Edit Profile Details"
+msgstr "Modifica i dettagli del profilo"
-#: ../../addon/impressum/impressum.php:89
-msgid "Footer note"
-msgstr "Footer delle note"
+#: ../../mod/profiles.php:530
+msgid "View this profile"
+msgstr "Guarda questo profilo"
-#: ../../addon/impressum/impressum.php:89
-msgid "Text for the footer. You can use BBCode here."
-msgstr ""
+#: ../../mod/profiles.php:531
+msgid "Change Profile Photo"
+msgstr "Cambia la foto del profilo"
-#: ../../addon/buglink/buglink.php:15
-msgid "Report Bug"
-msgstr "Segnala un Bug"
+#: ../../mod/profiles.php:532
+msgid "Create a new profile using these settings"
+msgstr "Crea un nuovo profilo usando queste impostazioni"
-#: ../../addon/notimeline/notimeline.php:32
-msgid "No Timeline settings updated."
-msgstr ""
+#: ../../mod/profiles.php:533
+msgid "Clone this profile"
+msgstr "Clona questo profilo"
-#: ../../addon/notimeline/notimeline.php:56
-msgid "No Timeline Settings"
-msgstr ""
+#: ../../mod/profiles.php:534
+msgid "Delete this profile"
+msgstr "Elimina questo profilo"
-#: ../../addon/notimeline/notimeline.php:58
-msgid "Disable Archive selector on profile wall"
-msgstr ""
+#: ../../mod/profiles.php:535
+msgid "Profile Name:"
+msgstr "Nome del profilo:"
-#: ../../addon/blockem/blockem.php:51
-msgid "\"Blockem\" Settings"
-msgstr "Impostazioni \"Blockem\""
+#: ../../mod/profiles.php:536
+msgid "Your Full Name:"
+msgstr "Il tuo nome completo:"
-#: ../../addon/blockem/blockem.php:53
-msgid "Comma separated profile URLS to block"
-msgstr "Lista, separata da virgola, di indirizzi da bloccare"
+#: ../../mod/profiles.php:537
+msgid "Title/Description:"
+msgstr "Titolo/descrizione:"
-#: ../../addon/blockem/blockem.php:70
-msgid "BLOCKEM Settings saved."
-msgstr "Impostazioni salvate."
+#: ../../mod/profiles.php:538
+msgid "Your Gender:"
+msgstr "Sesso:"
-#: ../../addon/blockem/blockem.php:105
+#: ../../mod/profiles.php:539
#, php-format
-msgid "Blocked %s - Click to open/close"
-msgstr "%s bloccato - Clicca per aprire/chiudere"
-
-#: ../../addon/blockem/blockem.php:160
-msgid "Unblock Author"
-msgstr "Sblocca autore"
+msgid "Birthday (%s):"
+msgstr "Compleanno (%s):"
-#: ../../addon/blockem/blockem.php:162
-msgid "Block Author"
-msgstr "Blocca autore"
+#: ../../mod/profiles.php:540
+msgid "Street Address:"
+msgstr "Indirizzo (via/piazza):"
-#: ../../addon/blockem/blockem.php:194
-msgid "blockem settings updated"
-msgstr "Impostazioni 'blockem' aggiornate."
+#: ../../mod/profiles.php:541
+msgid "Locality/City:"
+msgstr "Località:"
-#: ../../addon/qcomment/qcomment.php:51
-msgid ":-)"
-msgstr ":-)"
+#: ../../mod/profiles.php:542
+msgid "Postal/Zip Code:"
+msgstr "CAP:"
-#: ../../addon/qcomment/qcomment.php:51
-msgid ":-("
-msgstr ":-("
+#: ../../mod/profiles.php:543
+msgid "Country:"
+msgstr "Nazione:"
-#: ../../addon/qcomment/qcomment.php:51
-msgid "lol"
-msgstr "lol"
+#: ../../mod/profiles.php:544
+msgid "Region/State:"
+msgstr "Regione/stato:"
-#: ../../addon/qcomment/qcomment.php:54
-msgid "Quick Comment Settings"
-msgstr "Impostazioni commento rapido"
+#: ../../mod/profiles.php:545
+msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
+msgstr "<span class=\"heart\">&hearts;</span> Stato sentimentale:"
-#: ../../addon/qcomment/qcomment.php:56
-msgid ""
-"Quick comments are found near comment boxes, sometimes hidden. Click them to"
-" provide simple replies."
-msgstr "Trovi i commenti rapidi vicino al box dei commenti, a volte nascosti. Cliccali per inviare semplici risposte."
+#: ../../mod/profiles.php:546
+msgid "Who: (if applicable)"
+msgstr "Con chi: (se possibile)"
-#: ../../addon/qcomment/qcomment.php:57
-msgid "Enter quick comments, one per line"
-msgstr "Inserire un commento rapido, uno per linea"
+#: ../../mod/profiles.php:547
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Per esempio: cathy123, Cathy Williams, cathy@example.com"
-#: ../../addon/qcomment/qcomment.php:75
-msgid "Quick Comment settings saved."
-msgstr "Impostazioni commento rapido salvate."
+#: ../../mod/profiles.php:548
+msgid "Since [date]:"
+msgstr "dal [data]:"
-#: ../../addon/openstreetmap/openstreetmap.php:71
-msgid "Tile Server URL"
-msgstr ""
+#: ../../mod/profiles.php:550
+msgid "Homepage URL:"
+msgstr "Indirizzo homepage:"
-#: ../../addon/openstreetmap/openstreetmap.php:71
-msgid ""
-"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" "
-"target=\"_blank\">public tile servers</a>"
-msgstr ""
+#: ../../mod/profiles.php:553
+msgid "Religious Views:"
+msgstr "Orientamento religioso:"
-#: ../../addon/openstreetmap/openstreetmap.php:72
-msgid "Default zoom"
-msgstr "Default zoom"
+#: ../../mod/profiles.php:554
+msgid "Keywords:"
+msgstr "Parole chiave, tag:"
-#: ../../addon/openstreetmap/openstreetmap.php:72
-msgid "The default zoom level. (1:world, 18:highest)"
-msgstr ""
+#: ../../mod/profiles.php:557
+msgid "Example: fishing photography software"
+msgstr "Per esempio: pesca fotografia programmazione"
-#: ../../addon/group_text/group_text.php:46
-#: ../../addon/editplain/editplain.php:46
-msgid "Editplain settings updated."
-msgstr "Impostazioni 'Editplain' aggiornate."
+#: ../../mod/profiles.php:558
+msgid "Used in directory listings"
+msgstr "Visibile nell'elenco pubblico di canali"
-#: ../../addon/group_text/group_text.php:76
-msgid "Group Text"
-msgstr ""
+#: ../../mod/profiles.php:559
+msgid "Tell us about yourself..."
+msgstr "Raccontaci di te..."
-#: ../../addon/group_text/group_text.php:78
-msgid "Use a text only (non-image) group selector in the \"group edit\" menu"
-msgstr ""
+#: ../../mod/profiles.php:560
+msgid "Hobbies/Interests"
+msgstr "Hobby/interessi"
-#: ../../addon/libravatar/libravatar.php:14
-msgid "Could NOT install Libravatar successfully.<br>It requires PHP >= 5.3"
-msgstr ""
+#: ../../mod/profiles.php:561
+msgid "Contact information and Social Networks"
+msgstr "Contatti personali e i tuoi social network"
-#: ../../addon/libravatar/libravatar.php:73
-#: ../../addon/gravatar/gravatar.php:71
-msgid "generic profile image"
-msgstr "immagine generica del profilo"
+#: ../../mod/profiles.php:562
+msgid "My other channels"
+msgstr "I miei altri canali"
-#: ../../addon/libravatar/libravatar.php:74
-#: ../../addon/gravatar/gravatar.php:72
-msgid "random geometric pattern"
-msgstr ""
+#: ../../mod/profiles.php:563
+msgid "Musical interests"
+msgstr "Interessi musicali"
-#: ../../addon/libravatar/libravatar.php:75
-#: ../../addon/gravatar/gravatar.php:73
-msgid "monster face"
-msgstr ""
+#: ../../mod/profiles.php:564
+msgid "Books, literature"
+msgstr "Libri, letteratura"
-#: ../../addon/libravatar/libravatar.php:76
-#: ../../addon/gravatar/gravatar.php:74
-msgid "computer generated face"
-msgstr ""
+#: ../../mod/profiles.php:565
+msgid "Television"
+msgstr "Televisione"
-#: ../../addon/libravatar/libravatar.php:77
-#: ../../addon/gravatar/gravatar.php:75
-msgid "retro arcade style face"
-msgstr ""
+#: ../../mod/profiles.php:566
+msgid "Film/dance/culture/entertainment"
+msgstr "Film/danza/cultura/intrattenimento"
-#: ../../addon/libravatar/libravatar.php:83
-#, php-format
-msgid "Your PHP version %s is lower than the required PHP >= 5.3."
-msgstr ""
+#: ../../mod/profiles.php:567
+msgid "Love/romance"
+msgstr "Amore"
-#: ../../addon/libravatar/libravatar.php:84
-msgid "This addon is not functional on your server."
-msgstr ""
+#: ../../mod/profiles.php:568
+msgid "Work/employment"
+msgstr "Lavoro/impiego"
-#: ../../addon/libravatar/libravatar.php:93
-#: ../../addon/gravatar/gravatar.php:89
-msgid "Information"
-msgstr ""
+#: ../../mod/profiles.php:569
+msgid "School/education"
+msgstr "Scuola/educazione"
-#: ../../addon/libravatar/libravatar.php:93
+#: ../../mod/profiles.php:574
msgid ""
-"Gravatar addon is installed. Please disable the Gravatar addon.<br>The "
-"Libravatar addon will fall back to Gravatar if nothing was found at "
-"Libravatar."
-msgstr ""
-
-#: ../../addon/libravatar/libravatar.php:100
-#: ../../addon/gravatar/gravatar.php:96
-msgid "Default avatar image"
-msgstr ""
-
-#: ../../addon/libravatar/libravatar.php:100
-msgid "Select default avatar image if none was found. See README"
-msgstr ""
-
-#: ../../addon/libravatar/libravatar.php:112
-msgid "Libravatar settings updated."
-msgstr ""
-
-#: ../../addon/libertree/libertree.php:36
-msgid "Post to libertree"
-msgstr ""
-
-#: ../../addon/libertree/libertree.php:67
-msgid "libertree Post Settings"
-msgstr ""
+"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
+"be visible to anybody using the internet."
+msgstr "Questo è il tuo profilo <strong>publico</strong>.<br /><strong>Potrebbe</strong> essere visto da chiunque attraverso internet."
-#: ../../addon/libertree/libertree.php:69
-msgid "Enable Libertree Post Plugin"
-msgstr ""
+#: ../../mod/profiles.php:623
+msgid "Edit/Manage Profiles"
+msgstr "Modifica/gestisci i profili"
-#: ../../addon/libertree/libertree.php:74
-msgid "Libertree API token"
-msgstr ""
+#: ../../mod/profiles.php:624 ../../boot.php:1700
+msgid "Change profile photo"
+msgstr "Cambia la foto del profilo"
-#: ../../addon/libertree/libertree.php:79
-msgid "Libertree site URL"
-msgstr ""
+#: ../../mod/profiles.php:625 ../../boot.php:1707
+msgid "Create New Profile"
+msgstr "Crea un nuovo profilo"
-#: ../../addon/libertree/libertree.php:84
-msgid "Post to Libertree by default"
-msgstr ""
+#: ../../mod/profiles.php:636 ../../boot.php:1721
+msgid "Profile Image"
+msgstr "Immagine del profilo"
-#: ../../addon/altpager/altpager.php:46
-msgid "Altpager settings updated."
-msgstr ""
+#: ../../mod/profiles.php:639 ../../boot.php:1724
+msgid "visible to everybody"
+msgstr "visibile a tutti"
-#: ../../addon/altpager/altpager.php:79
-msgid "Alternate Pagination Setting"
-msgstr ""
+#: ../../mod/profiles.php:640 ../../boot.php:1725
+msgid "Edit visibility"
+msgstr "Cambia la visibilità"
-#: ../../addon/altpager/altpager.php:81
-msgid "Use links to \"newer\" and \"older\" pages in place of page numbers?"
-msgstr ""
+#: ../../mod/new_channel.php:107
+msgid "Add a Channel"
+msgstr "Aggiungi un canale"
-#: ../../addon/mathjax/mathjax.php:37
+#: ../../mod/new_channel.php:108
msgid ""
-"The MathJax addon renders mathematical formulae written using the LaTeX "
-"syntax surrounded by the usual $$ or an eqnarray block in the postings of "
-"your wall,network tab and private mail."
-msgstr ""
-
-#: ../../addon/mathjax/mathjax.php:38
-msgid "Use the MathJax renderer"
-msgstr ""
-
-#: ../../addon/mathjax/mathjax.php:74
-msgid "MathJax Base URL"
-msgstr ""
+"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."
+msgstr "I contenuti che pubblichi finiscono in un \"canale\". Un canale può essere usato per mantenere un tuo profilo personale, per avere un blog, per creare forum di discussione o gruppi di interesse, per pagine di celebrità e molto altro. Puoi creare quanti canali vuoi a meno di limiti dati dal gestore del sito."
-#: ../../addon/mathjax/mathjax.php:74
-msgid ""
-"The URL for the javascript file that should be included to use MathJax. Can "
-"be either the MathJax CDN or another installation of MathJax."
-msgstr ""
+#: ../../mod/new_channel.php:110
+msgid "Channel Name"
+msgstr "Nome del canale"
-#: ../../addon/editplain/editplain.php:76
-msgid "Editplain Settings"
-msgstr "Impostazioni Editplain"
+#: ../../mod/new_channel.php:111
+msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
+msgstr "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\""
-#: ../../addon/editplain/editplain.php:78
-msgid "Disable richtext status editor"
-msgstr "Disabilita l'editor di testo visuale"
+#: ../../mod/new_channel.php:112
+msgid "Choose a short nickname"
+msgstr "Scegli un nome breve"
-#: ../../addon/gravatar/gravatar.php:89
+#: ../../mod/new_channel.php:113
msgid ""
-"Libravatar addon is installed, too. Please disable Libravatar addon or this "
-"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if "
-"nothing was found at Libravatar."
-msgstr ""
+"Your nickname will be used to create an easily remembered channel address "
+"(like an email address) which you can share with others."
+msgstr "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale (simile a una email). Così potrai condividerlo e gli altri potranno trovarti."
-#: ../../addon/gravatar/gravatar.php:96
-msgid "Select default avatar image if none was found at Gravatar. See README"
-msgstr ""
+#: ../../mod/new_channel.php:114
+msgid "Or <a href=\"import\">import an existing channel</a> from another location"
+msgstr "Oppure <a href=\"import\">importa un tuo canale esistente</a> da un altro server/hub"
-#: ../../addon/gravatar/gravatar.php:97
-msgid "Rating of images"
-msgstr ""
-
-#: ../../addon/gravatar/gravatar.php:97
-msgid "Select the appropriate avatar rating for your site. See README"
-msgstr ""
-
-#: ../../addon/gravatar/gravatar.php:111
-msgid "Gravatar settings updated."
-msgstr ""
-
-#: ../../addon/testdrive/testdrive.php:95
-msgid "Your Friendica test account is about to expire."
-msgstr ""
+#: ../../mod/admin.php:48
+msgid "Theme settings updated."
+msgstr "Le impostazioni del tema sono state aggiornate."
-#: ../../addon/testdrive/testdrive.php:96
-#, php-format
-msgid ""
-"Hi %1$s,\n"
-"\n"
-"Your test account on %2$s will expire in less than five days. We hope you enjoyed this test drive and use this opportunity to find a permanent Friendica website for your integrated social communications. A list of public sites is available at http://dir.friendica.com/siteinfo - and for more information on setting up your own Friendica server please see the Friendica project website at http://friendica.com."
-msgstr ""
+#: ../../mod/admin.php:83 ../../mod/admin.php:408
+msgid "Site"
+msgstr "Sito"
-#: ../../addon/pageheader/pageheader.php:50
-msgid "\"pageheader\" Settings"
-msgstr "Impostazioni \"pageheader\""
+#: ../../mod/admin.php:84 ../../mod/admin.php:632 ../../mod/admin.php:644
+msgid "Users"
+msgstr "Utenti"
-#: ../../addon/pageheader/pageheader.php:68
-msgid "pageheader Settings saved."
-msgstr "Impostazioni salvate."
+#: ../../mod/admin.php:85 ../../mod/admin.php:726 ../../mod/admin.php:768
+msgid "Plugins"
+msgstr "Plugin"
-#: ../../addon/ijpost/ijpost.php:39
-msgid "Post to Insanejournal"
-msgstr ""
+#: ../../mod/admin.php:86 ../../mod/admin.php:931 ../../mod/admin.php:967
+msgid "Themes"
+msgstr "Temi"
-#: ../../addon/ijpost/ijpost.php:70
-msgid "InsaneJournal Post Settings"
-msgstr ""
+#: ../../mod/admin.php:87
+msgid "DB updates"
+msgstr "Aggiornamenti al DB"
-#: ../../addon/ijpost/ijpost.php:72
-msgid "Enable InsaneJournal Post Plugin"
-msgstr ""
+#: ../../mod/admin.php:101 ../../mod/admin.php:108 ../../mod/admin.php:1054
+msgid "Logs"
+msgstr "Log"
-#: ../../addon/ijpost/ijpost.php:77
-msgid "InsaneJournal username"
-msgstr ""
+#: ../../mod/admin.php:107
+msgid "Plugin Features"
+msgstr "Funzionalità dei componenti aggiuntivi"
-#: ../../addon/ijpost/ijpost.php:82
-msgid "InsaneJournal password"
-msgstr ""
+#: ../../mod/admin.php:109
+msgid "User registrations waiting for confirmation"
+msgstr "Utenti registrati in attesa di conferma"
-#: ../../addon/ijpost/ijpost.php:87
-msgid "Post to InsaneJournal by default"
-msgstr ""
+#: ../../mod/admin.php:180
+msgid "Message queues"
+msgstr "Coda dei messaggi"
-#: ../../addon/jappixmini/jappixmini.php:266
-msgid "Jappix Mini addon settings"
-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 "Amministrazione"
-#: ../../addon/jappixmini/jappixmini.php:268
-msgid "Activate addon"
-msgstr ""
+#: ../../mod/admin.php:186
+msgid "Summary"
+msgstr "Riepilogo"
-#: ../../addon/jappixmini/jappixmini.php:271
-msgid ""
-"Do <em>not</em> insert the Jappixmini Chat-Widget into the webinterface"
-msgstr ""
+#: ../../mod/admin.php:188
+msgid "Registered users"
+msgstr "Utenti registrati"
-#: ../../addon/jappixmini/jappixmini.php:274
-msgid "Jabber username"
-msgstr ""
+#: ../../mod/admin.php:190
+msgid "Pending registrations"
+msgstr "Registrazioni in attesa"
-#: ../../addon/jappixmini/jappixmini.php:277
-msgid "Jabber server"
-msgstr ""
+#: ../../mod/admin.php:191
+msgid "Version"
+msgstr "Versione"
-#: ../../addon/jappixmini/jappixmini.php:281
-msgid "Jabber BOSH host"
-msgstr ""
+#: ../../mod/admin.php:193
+msgid "Active plugins"
+msgstr "Plugin attivi"
-#: ../../addon/jappixmini/jappixmini.php:285
-msgid "Jabber password"
-msgstr ""
+#: ../../mod/admin.php:332
+msgid "Site settings updated."
+msgstr "Impostazioni del sito aggiornate."
-#: ../../addon/jappixmini/jappixmini.php:290
-msgid "Encrypt Jabber password with Friendica password (recommended)"
-msgstr ""
+#: ../../mod/admin.php:363
+msgid "No special theme for accessibility"
+msgstr "Nessun tema speciale per l'accessibilità"
-#: ../../addon/jappixmini/jappixmini.php:293
-msgid "Friendica password"
-msgstr ""
+#: ../../mod/admin.php:388
+msgid "Closed"
+msgstr "Chiusa"
-#: ../../addon/jappixmini/jappixmini.php:296
-msgid "Approve subscription requests from Friendica contacts automatically"
-msgstr ""
+#: ../../mod/admin.php:389
+msgid "Requires approval"
+msgstr "Richiede l'approvazione"
-#: ../../addon/jappixmini/jappixmini.php:299
-msgid "Subscribe to Friendica contacts automatically"
-msgstr ""
+#: ../../mod/admin.php:390
+msgid "Open"
+msgstr "Aperta"
-#: ../../addon/jappixmini/jappixmini.php:302
-msgid "Purge internal list of jabber addresses of contacts"
-msgstr ""
+#: ../../mod/admin.php:395
+msgid "Private"
+msgstr "Privato"
-#: ../../addon/jappixmini/jappixmini.php:308
-msgid "Add contact"
-msgstr ""
+#: ../../mod/admin.php:396
+msgid "Paid Access"
+msgstr "Servizio a pagamento"
-#: ../../addon/viewsrc/viewsrc.php:37
-msgid "View Source"
-msgstr "Vedi sorgente"
+#: ../../mod/admin.php:397
+msgid "Free Access"
+msgstr "Servizio gratuito"
-#: ../../addon/statusnet/statusnet.php:134
-msgid "Post to StatusNet"
-msgstr "Invia a StatusNet"
+#: ../../mod/admin.php:410 ../../mod/register.php:166
+msgid "Registration"
+msgstr "Registrazione"
-#: ../../addon/statusnet/statusnet.php:176
-msgid ""
-"Please contact your site administrator.<br />The provided API URL is not "
-"valid."
-msgstr "Contatta l'amministratore del sito.<br/>L'URL delle API fornito non è valido."
+#: ../../mod/admin.php:411
+msgid "File upload"
+msgstr "Caricamento file"
-#: ../../addon/statusnet/statusnet.php:204
-msgid "We could not contact the StatusNet API with the Path you entered."
-msgstr "Non possiamo conttattare le API di StatusNet con il percorso che hai inserito."
+#: ../../mod/admin.php:412
+msgid "Policies"
+msgstr "Politiche"
-#: ../../addon/statusnet/statusnet.php:232
-msgid "StatusNet settings updated."
-msgstr "Impostazioni StatusNet aggiornate."
+#: ../../mod/admin.php:413
+msgid "Advanced"
+msgstr "Avanzate"
-#: ../../addon/statusnet/statusnet.php:257
-msgid "StatusNet Posting Settings"
-msgstr "Impostazioni di invio a StatusNet"
+#: ../../mod/admin.php:417
+msgid "Site name"
+msgstr "Nome del sito"
-#: ../../addon/statusnet/statusnet.php:271
-msgid "Globally Available StatusNet OAuthKeys"
-msgstr "OAuthKeys globali di StatusNet"
+#: ../../mod/admin.php:418
+msgid "Banner/Logo"
+msgstr "Banner o logo"
-#: ../../addon/statusnet/statusnet.php:272
-msgid ""
-"There are preconfigured OAuth key pairs for some StatusNet servers "
-"available. If you are useing one of them, please use these credentials. If "
-"not feel free to connect to any other StatusNet instance (see below)."
-msgstr "Esistono coppie di chiavi OAuth precofigurate per alcuni server StatusNet. Se usi uno di questi server, per favore scegli queste credenziali. Altrimenti sei libero di collegarti a un'altra installazione di StatusNet (vedi sotto)."
+#: ../../mod/admin.php:419
+msgid "System language"
+msgstr "Lingua di sistema"
-#: ../../addon/statusnet/statusnet.php:280
-msgid "Provide your own OAuth Credentials"
-msgstr "Fornisci le tue credenziali OAuth"
+#: ../../mod/admin.php:420
+msgid "System theme"
+msgstr "Tema di sistema"
-#: ../../addon/statusnet/statusnet.php:281
-msgid ""
-"No consumer key pair for StatusNet found. Register your Friendica Account as"
-" an desktop client on your StatusNet account, copy the consumer key pair "
-"here and enter the API base root.<br />Before you register your own OAuth "
-"key pair ask the administrator if there is already a key pair for this "
-"Friendica installation at your favorited StatusNet installation."
-msgstr "Nessuna coppia di chiavi consumer trovate per StatusNet. Registra il tuo account Friendica come un client desktop nel tuo account StatusNet, copia la coppia di chiavi consumer qui e inserisci l'url base delle API.<br/>Prima di registrare la tua coppia di chiavi OAuth, chiedi all'amministratore se esiste già una coppia di chiavi per questo sito Friendica presso la tua installazione StatusNet preferita."
-
-#: ../../addon/statusnet/statusnet.php:283
-msgid "OAuth Consumer Key"
-msgstr "OAuth Consumer Key"
-
-#: ../../addon/statusnet/statusnet.php:286
-msgid "OAuth Consumer Secret"
-msgstr "OAuth Consumer Secret"
-
-#: ../../addon/statusnet/statusnet.php:289
-msgid "Base API Path (remember the trailing /)"
-msgstr "Indirizzo di base per le API (ricorda la / alla fine)"
-
-#: ../../addon/statusnet/statusnet.php:310
+#: ../../mod/admin.php:420
msgid ""
-"To connect to your StatusNet account click the button below to get a "
-"security code from StatusNet which you have to copy into the input box below"
-" and submit the form. Only your <strong>public</strong> posts will be posted"
-" to StatusNet."
-msgstr "Per collegare il tuo account StatusNet, clicca sul bottone per ottenere un codice di sicurezza da StatusNet, che dovrai copiare nel box sottostante e poi inviare la form. Solo i tuoi messaggi <strong>pubblici</strong> saranno inviati a StatusNet."
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>"
-#: ../../addon/statusnet/statusnet.php:311
-msgid "Log in with StatusNet"
-msgstr "Accedi con StatuNet"
+#: ../../mod/admin.php:421
+msgid "Mobile system theme"
+msgstr "Tema di sistema per dispositivi mobili"
-#: ../../addon/statusnet/statusnet.php:313
-msgid "Copy the security code from StatusNet here"
-msgstr "Copia il codice di sicurezza da StatusNet qui"
+#: ../../mod/admin.php:421
+msgid "Theme for mobile devices"
+msgstr "Tema per i dispositivi mobili"
-#: ../../addon/statusnet/statusnet.php:319
-msgid "Cancel Connection Process"
-msgstr "Annulla il processo di connessione"
+#: ../../mod/admin.php:422
+msgid "Accessibility system theme"
+msgstr "Tema di sistema ad alta accessibilità"
-#: ../../addon/statusnet/statusnet.php:321
-msgid "Current StatusNet API is"
-msgstr "Le API StatusNet correnti sono"
+#: ../../mod/admin.php:422
+msgid "Accessibility theme"
+msgstr "Tema ad alta accessibilità"
-#: ../../addon/statusnet/statusnet.php:322
-msgid "Cancel StatusNet Connection"
-msgstr "Annulla la connessione a StatusNet"
+#: ../../mod/admin.php:423
+msgid "Channel to use for this website's static pages"
+msgstr "Canale da usare per le pagine statiche di questo sito"
-#: ../../addon/statusnet/statusnet.php:333 ../../addon/twitter/twitter.php:189
-msgid "Currently connected to: "
-msgstr "Al momento connesso con:"
+#: ../../mod/admin.php:423
+msgid "Site Channel"
+msgstr "Canale del sito"
-#: ../../addon/statusnet/statusnet.php:334
-msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated StatusNet account. You can choose to do so by default (here) or "
-"for every posting separately in the posting options when writing the entry."
-msgstr "Se abilitato tutti i tuoi messaggi <strong>pubblici</strong> possono essere inviati all'account StatusNet associato. Puoi scegliere di farlo sempre (qui) o ogni volta che invii, nelle impostazioni di privacy del messaggio."
+#: ../../mod/admin.php:425
+msgid "Maximum image size"
+msgstr "Dimensione massima immagini"
-#: ../../addon/statusnet/statusnet.php:336
+#: ../../mod/admin.php:425
msgid ""
-"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
-"details from unknown viewers?</em>) the link potentially included in public "
-"postings relayed to StatusNet will lead the visitor to a blank page "
-"informing the visitor that the access to your profile has been restricted."
-msgstr ""
-
-#: ../../addon/statusnet/statusnet.php:339
-msgid "Allow posting to StatusNet"
-msgstr "Permetti l'invio a StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:342
-msgid "Send public postings to StatusNet by default"
-msgstr "Invia sempre i messaggi pubblici a StatusNet"
-
-#: ../../addon/statusnet/statusnet.php:345
-msgid "Send linked #-tags and @-names to StatusNet"
-msgstr ""
-
-#: ../../addon/statusnet/statusnet.php:350 ../../addon/twitter/twitter.php:206
-msgid "Clear OAuth configuration"
-msgstr "Rimuovi la configurazione OAuth"
-
-#: ../../addon/statusnet/statusnet.php:568
-msgid "API URL"
-msgstr "API URL"
-
-#: ../../addon/infiniteimprobabilitydrive/infiniteimprobabilitydrive.php:19
-msgid "Infinite Improbability Drive"
-msgstr ""
-
-#: ../../addon/tumblr/tumblr.php:36
-msgid "Post to Tumblr"
-msgstr "Pubblica su Tumblr"
-
-#: ../../addon/tumblr/tumblr.php:67
-msgid "Tumblr Post Settings"
-msgstr "Impostazioni di invio a Tumblr"
-
-#: ../../addon/tumblr/tumblr.php:69
-msgid "Enable Tumblr Post Plugin"
-msgstr "Abilita Plugin Tumblr"
-
-#: ../../addon/tumblr/tumblr.php:74
-msgid "Tumblr login"
-msgstr "Tumblr login"
-
-#: ../../addon/tumblr/tumblr.php:79
-msgid "Tumblr password"
-msgstr "Tumblr password"
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite."
-#: ../../addon/tumblr/tumblr.php:84
-msgid "Post to Tumblr by default"
-msgstr "Pubblica su Tumblr di default"
+#: ../../mod/admin.php:426
+msgid "Register policy"
+msgstr "Politica di registrazione"
-#: ../../addon/numfriends/numfriends.php:46
-msgid "Numfriends settings updated."
-msgstr "Impostazioni \"Numfriends' aggiornate."
+#: ../../mod/admin.php:427
+msgid "Access policy"
+msgstr "Tipo di accesso"
-#: ../../addon/numfriends/numfriends.php:77
-msgid "Numfriends Settings"
-msgstr "Impostazioni Numfriends"
+#: ../../mod/admin.php:428
+msgid "Register text"
+msgstr "Testo diregistrazione"
-#: ../../addon/gnot/gnot.php:48
-msgid "Gnot settings updated."
-msgstr "Impostazioni di \"Gnot\" aggiornate."
+#: ../../mod/admin.php:428
+msgid "Will be displayed prominently on the registration page."
+msgstr "Sarà mostrato ben visibile nella pagina di registrazione."
-#: ../../addon/gnot/gnot.php:79
-msgid "Gnot Settings"
-msgstr "Impostazioni Gnot"
+#: ../../mod/admin.php:429
+msgid "Accounts abandoned after x days"
+msgstr "Account abbandonati dopo x giorni"
-#: ../../addon/gnot/gnot.php:81
+#: ../../mod/admin.php:429
msgid ""
-"Allows threading of email comment notifications on Gmail and anonymising the"
-" subject line."
-msgstr "Permetti di raggruppare le notifiche dei commenti in thread su Gmail e anonimizza l'oggetto"
-
-#: ../../addon/gnot/gnot.php:82
-msgid "Enable this plugin/addon?"
-msgstr "Abilita questo plugin?"
-
-#: ../../addon/gnot/gnot.php:97
-#, php-format
-msgid "[Friendica:Notify] Comment to conversation #%d"
-msgstr "[Friendica:Notifica] Commento alla conversazione #%d"
-
-#: ../../addon/wppost/wppost.php:42
-msgid "Post to Wordpress"
-msgstr "Pubblica su Wordpress"
-
-#: ../../addon/wppost/wppost.php:76
-msgid "WordPress Post Settings"
-msgstr "Impostazioni invio a WordPress"
-
-#: ../../addon/wppost/wppost.php:78
-msgid "Enable WordPress Post Plugin"
-msgstr "Abilita plugin \"invia a WordPress\""
-
-#: ../../addon/wppost/wppost.php:83
-msgid "WordPress username"
-msgstr "nome utente WordPress"
-
-#: ../../addon/wppost/wppost.php:88
-msgid "WordPress password"
-msgstr "password WordPress"
-
-#: ../../addon/wppost/wppost.php:93
-msgid "WordPress API URL"
-msgstr "WordPress API URL"
-
-#: ../../addon/wppost/wppost.php:98
-msgid "Post to WordPress by default"
-msgstr "Pubblica su WordPress di default"
-
-#: ../../addon/wppost/wppost.php:103
-msgid "Provide a backlink to the Friendica post"
-msgstr ""
-
-#: ../../addon/wppost/wppost.php:207
-msgid "Read the original post and comment stream on Friendica"
-msgstr ""
-
-#: ../../addon/showmore/showmore.php:38
-msgid "\"Show more\" Settings"
-msgstr "Impostazioni \"Mostra altro\""
-
-#: ../../addon/showmore/showmore.php:41
-msgid "Enable Show More"
-msgstr "Abilita \"Mostra altro\""
-
-#: ../../addon/showmore/showmore.php:44
-msgid "Cutting posts after how much characters"
-msgstr ""
-
-#: ../../addon/showmore/showmore.php:65
-msgid "Show More Settings saved."
-msgstr "Impostazioni \"Mostra altro\" salvate."
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo."
-#: ../../addon/piwik/piwik.php:79
-msgid ""
-"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
-"analytics tool."
-msgstr "Questo sito è monitorato con lo strumento di analisi <a href='http://www.piwik.org'>Piwik</a>."
+#: ../../mod/admin.php:430
+msgid "Allowed friend domains"
+msgstr "Domini fidati e consentiti"
-#: ../../addon/piwik/piwik.php:82
-#, php-format
+#: ../../mod/admin.php:430
msgid ""
-"If you do not want that your visits are logged this way you <a href='%s'>can"
-" set a cookie to prevent Piwik from tracking further visits of the site</a> "
-"(opt-out)."
-msgstr "Se non vuoi che le tue visite vengono registrate in questo modo è possibile <a href='%s'>impostare un cookie per evitare che Piwik rintracci ulteriori visite del sito</a> (opt-out)."
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Elenco separato da virglola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio."
-#: ../../addon/piwik/piwik.php:90
-msgid "Piwik Base URL"
-msgstr "Piwik Base URL"
+#: ../../mod/admin.php:431
+msgid "Allowed email domains"
+msgstr "Domini email consentiti"
-#: ../../addon/piwik/piwik.php:90
+#: ../../mod/admin.php:431
msgid ""
-"Absolute path to your Piwik installation. (without protocol (http/s), with "
-"trailing slash)"
-msgstr ""
-
-#: ../../addon/piwik/piwik.php:91
-msgid "Site ID"
-msgstr "Site ID"
-
-#: ../../addon/piwik/piwik.php:92
-msgid "Show opt-out cookie link?"
-msgstr "Mostra il link per il cookie opt-out?"
-
-#: ../../addon/piwik/piwik.php:93
-msgid "Asynchronous tracking"
-msgstr ""
-
-#: ../../addon/twitter/twitter.php:73
-msgid "Post to Twitter"
-msgstr "Invia a Twitter"
-
-#: ../../addon/twitter/twitter.php:122
-msgid "Twitter settings updated."
-msgstr "Impostazioni di Twitter aggiornate."
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio."
-#: ../../addon/twitter/twitter.php:146
-msgid "Twitter Posting Settings"
-msgstr "Impostazioni di invio a Twitter"
+#: ../../mod/admin.php:432
+msgid "Block public"
+msgstr "Blocca pagine pubbliche"
-#: ../../addon/twitter/twitter.php:153
+#: ../../mod/admin.php:432
msgid ""
-"No consumer key pair for Twitter found. Please contact your site "
-"administrator."
-msgstr "Nessuna coppia di chiavi per Twitter trovata. Contatta l'amministratore del sito."
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently logged in."
+msgstr "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso."
-#: ../../addon/twitter/twitter.php:172
-msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
-"yet connected your account to your Twitter account. To do so click the "
-"button below to get a PIN from Twitter which you have to copy into the input"
-" box below and submit the form. Only your <strong>public</strong> posts will"
-" be posted to Twitter."
-msgstr "Il plugin Twitter è abilitato ma non hai ancora collegato i tuoi account Friendica e Twitter. Per farlo, clicca il bottone qui sotto per ricevere un PIN da Twitter che dovrai copiare nel campo qui sotto. Solo i tuoi post <strong>pubblici</strong> saranno inviati a Twitter."
-
-#: ../../addon/twitter/twitter.php:173
-msgid "Log in with Twitter"
-msgstr "Accedi con Twitter"
-
-#: ../../addon/twitter/twitter.php:175
-msgid "Copy the PIN from Twitter here"
-msgstr "Copia il PIN da Twitter qui"
-
-#: ../../addon/twitter/twitter.php:190
-msgid ""
-"If enabled all your <strong>public</strong> postings can be posted to the "
-"associated Twitter account. You can choose to do so by default (here) or for"
-" every posting separately in the posting options when writing the entry."
-msgstr "Se abilitato tutti i tuoi messaggi <strong>pubblici</strong> possono essere inviati all'account Twitter associato. Puoi scegliere di farlo sempre (qui) o ogni volta che invii, nelle impostazioni di privacy del messaggio."
+#: ../../mod/admin.php:433
+msgid "Force publish"
+msgstr "Forza la publicazione del profilo"
-#: ../../addon/twitter/twitter.php:192
+#: ../../mod/admin.php:433
msgid ""
-"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
-"details from unknown viewers?</em>) the link potentially included in public "
-"postings relayed to Twitter will lead the visitor to a blank page informing "
-"the visitor that the access to your profile has been restricted."
-msgstr ""
-
-#: ../../addon/twitter/twitter.php:195
-msgid "Allow posting to Twitter"
-msgstr "Permetti l'invio a Twitter"
-
-#: ../../addon/twitter/twitter.php:198
-msgid "Send public postings to Twitter by default"
-msgstr "Invia sempre i messaggi pubblici a Twitter"
-
-#: ../../addon/twitter/twitter.php:201
-msgid "Send linked #-tags and @-names to Twitter"
-msgstr ""
-
-#: ../../addon/twitter/twitter.php:396
-msgid "Consumer key"
-msgstr "Consumer key"
-
-#: ../../addon/twitter/twitter.php:397
-msgid "Consumer secret"
-msgstr "Consumer secret"
-
-#: ../../addon/irc/irc.php:44
-msgid "IRC Settings"
-msgstr "Impostazioni IRC"
-
-#: ../../addon/irc/irc.php:46
-msgid "Channel(s) to auto connect (comma separated)"
-msgstr "Canali a cui autocollegarsi (separati da virgola)"
-
-#: ../../addon/irc/irc.php:51
-msgid "Popular Channels (comma separated)"
-msgstr "Canali popolari (separati da virgola)"
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Seleziona per mostrare nell'elenco dei canali del sito <strong>tutti</strong> i profili registrati."
-#: ../../addon/irc/irc.php:69
-msgid "IRC settings saved."
-msgstr "Impostazioni IRC salvate."
+#: ../../mod/admin.php:435
+msgid "Proxy user"
+msgstr "Utente proxy"
-#: ../../addon/irc/irc.php:74
-msgid "IRC Chatroom"
-msgstr "Stanza IRC"
+#: ../../mod/admin.php:436
+msgid "Proxy URL"
+msgstr "URL proxy"
-#: ../../addon/irc/irc.php:96
-msgid "Popular Channels"
-msgstr "Canali Popolari"
+#: ../../mod/admin.php:437
+msgid "Network timeout"
+msgstr "Timeout rete"
-#: ../../addon/fromapp/fromapp.php:38
-msgid "Fromapp settings updated."
-msgstr ""
+#: ../../mod/admin.php:437
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Valore in secondi. Imposta a 0 per illimitato (sconsigliato)."
-#: ../../addon/fromapp/fromapp.php:64
-msgid "FromApp Settings"
-msgstr ""
+#: ../../mod/admin.php:438
+msgid "Delivery interval"
+msgstr "Recapito ritardato"
-#: ../../addon/fromapp/fromapp.php:66
+#: ../../mod/admin.php:438
msgid ""
-"The application name you would like to show your posts originating from."
-msgstr ""
-
-#: ../../addon/fromapp/fromapp.php:70
-msgid "Use this application name even if another application was used."
-msgstr ""
-
-#: ../../addon/blogger/blogger.php:42
-msgid "Post to blogger"
-msgstr "Posta su blogger"
-
-#: ../../addon/blogger/blogger.php:74
-msgid "Blogger Post Settings"
-msgstr "Impostazioni post per blogger"
-
-#: ../../addon/blogger/blogger.php:76
-msgid "Enable Blogger Post Plugin"
-msgstr "Abilita il plugin Blogger"
-
-#: ../../addon/blogger/blogger.php:81
-msgid "Blogger username"
-msgstr "Blogger username"
-
-#: ../../addon/blogger/blogger.php:86
-msgid "Blogger password"
-msgstr "Blogger password"
-
-#: ../../addon/blogger/blogger.php:91
-msgid "Blogger API URL"
-msgstr "Blogger API URL"
-
-#: ../../addon/blogger/blogger.php:96
-msgid "Post to Blogger by default"
-msgstr ""
-
-#: ../../addon/posterous/posterous.php:37
-msgid "Post to Posterous"
-msgstr "Invia a Posterous"
-
-#: ../../addon/posterous/posterous.php:70
-msgid "Posterous Post Settings"
-msgstr "Impostazioni di invio a Posterous"
-
-#: ../../addon/posterous/posterous.php:72
-msgid "Enable Posterous Post Plugin"
-msgstr "Abilita il plugin di invio a Posterous"
-
-#: ../../addon/posterous/posterous.php:77
-msgid "Posterous login"
-msgstr "Posterous login"
-
-#: ../../addon/posterous/posterous.php:82
-msgid "Posterous password"
-msgstr "Posterous password"
-
-#: ../../addon/posterous/posterous.php:87
-msgid "Posterous site ID"
-msgstr ""
-
-#: ../../addon/posterous/posterous.php:92
-msgid "Posterous API token"
-msgstr ""
-
-#: ../../addon/posterous/posterous.php:97
-msgid "Post to Posterous by default"
-msgstr "Invia sempre a Posterous"
-
-#: ../../view/theme/cleanzero/config.php:82
-#: ../../view/theme/diabook/config.php:192
-#: ../../view/theme/quattro/config.php:55 ../../view/theme/dispy/config.php:72
-msgid "Theme settings"
-msgstr "Impostazioni tema"
-
-#: ../../view/theme/cleanzero/config.php:83
-msgid "Set resize level for images in posts and comments (width and height)"
-msgstr ""
-
-#: ../../view/theme/cleanzero/config.php:84
-#: ../../view/theme/diabook/config.php:193
-#: ../../view/theme/dispy/config.php:73
-msgid "Set font-size for posts and comments"
-msgstr ""
-
-#: ../../view/theme/cleanzero/config.php:85
-msgid "Set theme width"
-msgstr ""
-
-#: ../../view/theme/cleanzero/config.php:86
-#: ../../view/theme/quattro/config.php:57
-msgid "Color scheme"
-msgstr "Schema colori"
-
-#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:49
-#: ../../include/nav.php:115
-msgid "Your posts and conversations"
-msgstr "I tuoi messaggi e le tue conversazioni"
-
-#: ../../view/theme/diabook/theme.php:128 ../../include/nav.php:50
-msgid "Your profile page"
-msgstr "Pagina del tuo profilo"
-
-#: ../../view/theme/diabook/theme.php:129
-msgid "Your contacts"
-msgstr ""
-
-#: ../../view/theme/diabook/theme.php:130 ../../include/nav.php:51
-msgid "Your photos"
-msgstr "Le tue foto"
-
-#: ../../view/theme/diabook/theme.php:131 ../../include/nav.php:52
-msgid "Your events"
-msgstr "I tuoi eventi"
-
-#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
-msgid "Personal notes"
-msgstr "Note personali"
-
-#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
-msgid "Your personal photos"
-msgstr "Le tue foto personali"
-
-#: ../../view/theme/diabook/theme.php:134
-#: ../../view/theme/diabook/theme.php:643
-#: ../../view/theme/diabook/theme.php:747
-#: ../../view/theme/diabook/config.php:201
-msgid "Community Pages"
-msgstr ""
-
-#: ../../view/theme/diabook/theme.php:490
-#: ../../view/theme/diabook/theme.php:749
-#: ../../view/theme/diabook/config.php:203
-msgid "Community Profiles"
-msgstr ""
-
-#: ../../view/theme/diabook/theme.php:511
-#: ../../view/theme/diabook/theme.php:754
-#: ../../view/theme/diabook/config.php:208
-msgid "Last users"
-msgstr "Ultimi utenti"
-
-#: ../../view/theme/diabook/theme.php:540
-#: ../../view/theme/diabook/theme.php:756
-#: ../../view/theme/diabook/config.php:210
-msgid "Last likes"
-msgstr "Ultimi \"mi piace\""
-
-#: ../../view/theme/diabook/theme.php:585
-#: ../../view/theme/diabook/theme.php:755
-#: ../../view/theme/diabook/config.php:209
-msgid "Last photos"
-msgstr "Ultime foto"
-
-#: ../../view/theme/diabook/theme.php:622
-#: ../../view/theme/diabook/theme.php:752
-#: ../../view/theme/diabook/config.php:206
-msgid "Find Friends"
-msgstr "Trova Amici"
-
-#: ../../view/theme/diabook/theme.php:623
-msgid "Local Directory"
-msgstr "Elenco Locale"
-
-#: ../../view/theme/diabook/theme.php:625 ../../include/contact_widgets.php:35
-msgid "Similar Interests"
-msgstr "Interessi simili"
-
-#: ../../view/theme/diabook/theme.php:627 ../../include/contact_widgets.php:37
-msgid "Invite Friends"
-msgstr "Invita amici"
-
-#: ../../view/theme/diabook/theme.php:678
-#: ../../view/theme/diabook/theme.php:748
-#: ../../view/theme/diabook/config.php:202
-msgid "Earth Layers"
-msgstr ""
-
-#: ../../view/theme/diabook/theme.php:683
-msgid "Set zoomfactor for Earth Layers"
-msgstr ""
-
-#: ../../view/theme/diabook/theme.php:684
-#: ../../view/theme/diabook/config.php:199
-msgid "Set longitude (X) for Earth Layers"
-msgstr ""
-
-#: ../../view/theme/diabook/theme.php:685
-#: ../../view/theme/diabook/config.php:200
-msgid "Set latitude (Y) for Earth Layers"
-msgstr ""
-
-#: ../../view/theme/diabook/theme.php:698
-#: ../../view/theme/diabook/theme.php:750
-#: ../../view/theme/diabook/config.php:204
-msgid "Help or @NewHere ?"
-msgstr "Serve aiuto? Sei nuovo?"
-
-#: ../../view/theme/diabook/theme.php:705
-#: ../../view/theme/diabook/theme.php:751
-#: ../../view/theme/diabook/config.php:205
-msgid "Connect Services"
-msgstr "Servizi di conessione"
-
-#: ../../view/theme/diabook/theme.php:712
-#: ../../view/theme/diabook/theme.php:753
-msgid "Last Tweets"
-msgstr ""
-
-#: ../../view/theme/diabook/theme.php:715
-#: ../../view/theme/diabook/config.php:197
-msgid "Set twitter search term"
-msgstr ""
-
-#: ../../view/theme/diabook/theme.php:735
-#: ../../view/theme/diabook/theme.php:736
-#: ../../view/theme/diabook/theme.php:737
-#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739
-#: ../../view/theme/diabook/theme.php:740
-#: ../../view/theme/diabook/theme.php:741
-#: ../../view/theme/diabook/theme.php:742
-#: ../../view/theme/diabook/theme.php:743
-#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:288
-msgid "don't show"
-msgstr "non mostrare"
-
-#: ../../view/theme/diabook/theme.php:735
-#: ../../view/theme/diabook/theme.php:736
-#: ../../view/theme/diabook/theme.php:737
-#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739
-#: ../../view/theme/diabook/theme.php:740
-#: ../../view/theme/diabook/theme.php:741
-#: ../../view/theme/diabook/theme.php:742
-#: ../../view/theme/diabook/theme.php:743
-#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:287
-msgid "show"
-msgstr "mostra"
-
-#: ../../view/theme/diabook/theme.php:745
-msgid "Show/hide boxes at right-hand column:"
-msgstr ""
-
-#: ../../view/theme/diabook/config.php:194
-#: ../../view/theme/dispy/config.php:74
-msgid "Set line-height for posts and comments"
-msgstr ""
-
-#: ../../view/theme/diabook/config.php:195
-msgid "Set resolution for middle column"
-msgstr ""
-
-#: ../../view/theme/diabook/config.php:196
-msgid "Set color scheme"
-msgstr ""
-
-#: ../../view/theme/diabook/config.php:198
-msgid "Set zoomfactor for Earth Layer"
-msgstr ""
-
-#: ../../view/theme/diabook/config.php:207
-msgid "Last tweets"
-msgstr ""
-
-#: ../../view/theme/quattro/config.php:56
-msgid "Alignment"
-msgstr "Allineamento"
-
-#: ../../view/theme/quattro/config.php:56
-msgid "Left"
-msgstr "Sinistra"
-
-#: ../../view/theme/quattro/config.php:56
-msgid "Center"
-msgstr "Centrato"
+"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 "RItarda il processo di recapito di questo numero di secondi per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati."
-#: ../../view/theme/dispy/config.php:75
-msgid "Set colour scheme"
-msgstr ""
+#: ../../mod/admin.php:439
+msgid "Poll interval"
+msgstr "Intervallo di polling"
-#: ../../include/profile_advanced.php:22
-msgid "j F, Y"
-msgstr "j F Y"
+#: ../../mod/admin.php:439
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "Ritarda i processi di polling in background di questo numero di secondi per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'."
-#: ../../include/profile_advanced.php:23
-msgid "j F"
-msgstr "j F"
+#: ../../mod/admin.php:440
+msgid "Maximum Load Average"
+msgstr "Carico massimo medio"
-#: ../../include/profile_advanced.php:30
-msgid "Birthday:"
-msgstr "Compleanno:"
+#: ../../mod/admin.php:440
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50."
-#: ../../include/profile_advanced.php:34
-msgid "Age:"
-msgstr "Età:"
+#: ../../mod/admin.php:456
+msgid "Update has been marked successful"
+msgstr "L'aggiornamento è stato marcato come eseguito."
-#: ../../include/profile_advanced.php:43
+#: ../../mod/admin.php:466
#, php-format
-msgid "for %1$d %2$s"
-msgstr ""
-
-#: ../../include/profile_advanced.php:52
-msgid "Tags:"
-msgstr "Tag:"
-
-#: ../../include/profile_advanced.php:56
-msgid "Religion:"
-msgstr "Religione:"
-
-#: ../../include/profile_advanced.php:60
-msgid "Hobbies/Interests:"
-msgstr "Hobby/Interessi:"
-
-#: ../../include/profile_advanced.php:67
-msgid "Contact information and Social Networks:"
-msgstr "Informazioni su contatti e social network:"
-
-#: ../../include/profile_advanced.php:69
-msgid "Musical interests:"
-msgstr "Interessi musicali:"
-
-#: ../../include/profile_advanced.php:71
-msgid "Books, literature:"
-msgstr "Libri, letteratura:"
-
-#: ../../include/profile_advanced.php:73
-msgid "Television:"
-msgstr "Televisione:"
-
-#: ../../include/profile_advanced.php:75
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film/danza/cultura/intrattenimento:"
-
-#: ../../include/profile_advanced.php:77
-msgid "Love/Romance:"
-msgstr "Amore:"
-
-#: ../../include/profile_advanced.php:79
-msgid "Work/employment:"
-msgstr "Lavoro:"
-
-#: ../../include/profile_advanced.php:81
-msgid "School/education:"
-msgstr "Scuola:"
-
-#: ../../include/contact_selectors.php:32
-msgid "Unknown | Not categorised"
-msgstr "Sconosciuto | non categorizzato"
-
-#: ../../include/contact_selectors.php:33
-msgid "Block immediately"
-msgstr "Blocca immediatamente"
-
-#: ../../include/contact_selectors.php:34
-msgid "Shady, spammer, self-marketer"
-msgstr "Shady, spammer, self-marketer"
-
-#: ../../include/contact_selectors.php:35
-msgid "Known to me, but no opinion"
-msgstr "Lo conosco, ma non ho un'opinione particolare"
-
-#: ../../include/contact_selectors.php:36
-msgid "OK, probably harmless"
-msgstr "E' ok, probabilmente innocuo"
-
-#: ../../include/contact_selectors.php:37
-msgid "Reputable, has my trust"
-msgstr "Rispettabile, ha la mia fiducia"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Frequentemente"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Ogni ora"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Due volte al dì"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "Ostatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS / Atom"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
-
-#: ../../include/profile_selectors.php:6
-msgid "Male"
-msgstr "Maschio"
-
-#: ../../include/profile_selectors.php:6
-msgid "Female"
-msgstr "Femmina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "Al momento maschio"
-
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "Al momento femmina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "Prevalentemente maschio"
-
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "Prevalentemente femmina"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Transgender"
-
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "Intersex"
-
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transessuale"
-
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Ermafrodito"
-
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Neutro"
-
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "Non specificato"
-
-#: ../../include/profile_selectors.php:6
-msgid "Other"
-msgstr "Altro"
-
-#: ../../include/profile_selectors.php:6
-msgid "Undecided"
-msgstr "Indeciso"
-
-#: ../../include/profile_selectors.php:23
-msgid "Males"
-msgstr "Maschi"
-
-#: ../../include/profile_selectors.php:23
-msgid "Females"
-msgstr "Femmine"
-
-#: ../../include/profile_selectors.php:23
-msgid "Gay"
-msgstr "Gay"
-
-#: ../../include/profile_selectors.php:23
-msgid "Lesbian"
-msgstr "Lesbica"
-
-#: ../../include/profile_selectors.php:23
-msgid "No Preference"
-msgstr "Nessuna preferenza"
-
-#: ../../include/profile_selectors.php:23
-msgid "Bisexual"
-msgstr "Bisessuale"
-
-#: ../../include/profile_selectors.php:23
-msgid "Autosexual"
-msgstr "Autosessuale"
-
-#: ../../include/profile_selectors.php:23
-msgid "Abstinent"
-msgstr "Astinente"
-
-#: ../../include/profile_selectors.php:23
-msgid "Virgin"
-msgstr "Vergine"
-
-#: ../../include/profile_selectors.php:23
-msgid "Deviant"
-msgstr "Deviato"
-
-#: ../../include/profile_selectors.php:23
-msgid "Fetish"
-msgstr "Fetish"
-
-#: ../../include/profile_selectors.php:23
-msgid "Oodles"
-msgstr "Un sacco"
-
-#: ../../include/profile_selectors.php:23
-msgid "Nonsexual"
-msgstr "Asessuato"
-
-#: ../../include/profile_selectors.php:42
-msgid "Single"
-msgstr "Single"
-
-#: ../../include/profile_selectors.php:42
-msgid "Lonely"
-msgstr "Solitario"
-
-#: ../../include/profile_selectors.php:42
-msgid "Available"
-msgstr "Disponibile"
-
-#: ../../include/profile_selectors.php:42
-msgid "Unavailable"
-msgstr "Non disponibile"
-
-#: ../../include/profile_selectors.php:42
-msgid "Has crush"
-msgstr ""
-
-#: ../../include/profile_selectors.php:42
-msgid "Infatuated"
-msgstr ""
-
-#: ../../include/profile_selectors.php:42
-msgid "Dating"
-msgstr "Disponibile a un incontro"
-
-#: ../../include/profile_selectors.php:42
-msgid "Unfaithful"
-msgstr "Infedele"
-
-#: ../../include/profile_selectors.php:42
-msgid "Sex Addict"
-msgstr "Sesso-dipendente"
-
-#: ../../include/profile_selectors.php:42 ../../include/user.php:278
-#: ../../include/user.php:282
-msgid "Friends"
-msgstr "Amici"
-
-#: ../../include/profile_selectors.php:42
-msgid "Friends/Benefits"
-msgstr "Amici con benefici"
-
-#: ../../include/profile_selectors.php:42
-msgid "Casual"
-msgstr "Casual"
-
-#: ../../include/profile_selectors.php:42
-msgid "Engaged"
-msgstr "Impegnato"
-
-#: ../../include/profile_selectors.php:42
-msgid "Married"
-msgstr "Sposato"
-
-#: ../../include/profile_selectors.php:42
-msgid "Imaginarily married"
-msgstr ""
+msgid "Executing %s failed. Check system logs."
+msgstr "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema."
-#: ../../include/profile_selectors.php:42
-msgid "Partners"
-msgstr "Partners"
+#: ../../mod/admin.php:469
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "L'aggiornamento %s è terminato correttamente."
-#: ../../include/profile_selectors.php:42
-msgid "Cohabiting"
-msgstr "Coinquilino"
+#: ../../mod/admin.php:473
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente."
-#: ../../include/profile_selectors.php:42
-msgid "Common law"
-msgstr ""
+#: ../../mod/admin.php:476
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "Impossibile trovare la funzione di aggiornamento %s"
-#: ../../include/profile_selectors.php:42
-msgid "Happy"
-msgstr "Felice"
+#: ../../mod/admin.php:491
+msgid "No failed updates."
+msgstr "Nessun aggiornamento fallito."
-#: ../../include/profile_selectors.php:42
-msgid "Not looking"
-msgstr ""
+#: ../../mod/admin.php:495
+msgid "Failed Updates"
+msgstr "Aggiornamenti falliti."
-#: ../../include/profile_selectors.php:42
-msgid "Swinger"
-msgstr "Scambista"
+#: ../../mod/admin.php:497
+msgid "Mark success (if update was manually applied)"
+msgstr "Marca come eseguito (se applicato manualmente)."
-#: ../../include/profile_selectors.php:42
-msgid "Betrayed"
-msgstr "Tradito"
+#: ../../mod/admin.php:498
+msgid "Attempt to execute this update step automatically"
+msgstr "Tenta di eseguire in automatico questo passaggio dell'aggiornamento."
-#: ../../include/profile_selectors.php:42
-msgid "Separated"
-msgstr "Separato"
+#: ../../mod/admin.php:524
+#, php-format
+msgid "%s user blocked/unblocked"
+msgid_plural "%s users blocked/unblocked"
+msgstr[0] "%s utente bloccato/sbloccato"
+msgstr[1] "%s utenti bloccati/sbloccati"
-#: ../../include/profile_selectors.php:42
-msgid "Unstable"
-msgstr "Instabile"
+#: ../../mod/admin.php:531
+#, php-format
+msgid "%s user deleted"
+msgid_plural "%s users deleted"
+msgstr[0] "%s utente cancellato"
+msgstr[1] "%s utenti cancellati"
-#: ../../include/profile_selectors.php:42
-msgid "Divorced"
-msgstr "Divorziato"
+#: ../../mod/admin.php:562
+msgid "Account not found"
+msgstr "Account non trovato"
-#: ../../include/profile_selectors.php:42
-msgid "Imaginarily divorced"
-msgstr ""
+#: ../../mod/admin.php:573
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Utente '%s' eliminato"
-#: ../../include/profile_selectors.php:42
-msgid "Widowed"
-msgstr "Vedovo"
+#: ../../mod/admin.php:582
+#, php-format
+msgid "User '%s' unblocked"
+msgstr "Utente '%s' sbloccato"
-#: ../../include/profile_selectors.php:42
-msgid "Uncertain"
-msgstr "Incerto"
+#: ../../mod/admin.php:582
+#, php-format
+msgid "User '%s' blocked"
+msgstr "Utente '%s' bloccato"
-#: ../../include/profile_selectors.php:42
-msgid "It's complicated"
-msgstr ""
+#: ../../mod/admin.php:613
+msgid "Normal Account"
+msgstr "Account normale"
-#: ../../include/profile_selectors.php:42
-msgid "Don't care"
-msgstr "Non interessa"
+#: ../../mod/admin.php:614
+msgid "Soapbox Account"
+msgstr "Account per comunicati e annunci"
-#: ../../include/profile_selectors.php:42
-msgid "Ask me"
-msgstr "Chiedimelo"
+#: ../../mod/admin.php:615
+msgid "Community/Celebrity Account"
+msgstr "Account per celebrità o per comunità"
-#: ../../include/event.php:20 ../../include/bb2diaspora.php:396
-msgid "Starts:"
-msgstr "Inizia:"
+#: ../../mod/admin.php:616
+msgid "Automatic Friend Account"
+msgstr "Account per amicizia automatizzato"
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:404
-msgid "Finishes:"
-msgstr "Finisce:"
+#: ../../mod/admin.php:634
+msgid "select all"
+msgstr "seleziona tutti"
-#: ../../include/delivery.php:457 ../../include/notifier.php:703
-msgid "(no subject)"
-msgstr "(nessun oggetto)"
+#: ../../mod/admin.php:635
+msgid "User registrations waiting for confirm"
+msgstr "Richieste di registrazione in attesa di conferma"
-#: ../../include/Scrape.php:576
-msgid " on Last.fm"
-msgstr ""
+#: ../../mod/admin.php:636
+msgid "Request date"
+msgstr "Data richiesta"
-#: ../../include/text.php:243
-msgid "prev"
-msgstr "prec"
+#: ../../mod/admin.php:637
+msgid "No registrations."
+msgstr "Nessuna registrazione."
-#: ../../include/text.php:245
-msgid "first"
-msgstr "primo"
+#: ../../mod/admin.php:639
+msgid "Deny"
+msgstr "Nega"
-#: ../../include/text.php:274
-msgid "last"
-msgstr "ultimo"
+#: ../../mod/admin.php:645
+msgid "Register date"
+msgstr "Data registrazione"
-#: ../../include/text.php:277
-msgid "next"
-msgstr "succ"
+#: ../../mod/admin.php:645
+msgid "Last login"
+msgstr "Ultimo accesso"
-#: ../../include/text.php:295
-msgid "newer"
-msgstr ""
+#: ../../mod/admin.php:645
+msgid "Service Class"
+msgstr "Service Class"
-#: ../../include/text.php:299
-msgid "older"
-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?"
+msgstr "Gli utenti selezionati saranno eliminati!\\n\\nTutto quello che gli utenti hanno pubblicato su questo sito sarà permanentemente eliminato!\\n\\nConfermi?"
-#: ../../include/text.php:597
-msgid "No contacts"
-msgstr "Nessun contatto"
+#: ../../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?"
+msgstr "L'utente {0} sarà eliminato!\\n\\nTutto quello che ha pubblicato su questo sito sarà permanentemente eliminato!\\n\\nConfermi?"
-#: ../../include/text.php:606
+#: ../../mod/admin.php:689
#, php-format
-msgid "%d Contact"
-msgid_plural "%d Contacts"
-msgstr[0] "%d contatto"
-msgstr[1] "%d contatti"
-
-#: ../../include/text.php:719
-msgid "poke"
-msgstr ""
-
-#: ../../include/text.php:719 ../../include/conversation.php:210
-msgid "poked"
-msgstr ""
-
-#: ../../include/text.php:720
-msgid "ping"
-msgstr ""
-
-#: ../../include/text.php:720
-msgid "pinged"
-msgstr ""
-
-#: ../../include/text.php:721
-msgid "prod"
-msgstr ""
-
-#: ../../include/text.php:721
-msgid "prodded"
-msgstr ""
-
-#: ../../include/text.php:722
-msgid "slap"
-msgstr ""
-
-#: ../../include/text.php:722
-msgid "slapped"
-msgstr ""
-
-#: ../../include/text.php:723
-msgid "finger"
-msgstr ""
+msgid "Plugin %s disabled."
+msgstr "Plugin %s non attivo."
-#: ../../include/text.php:723
-msgid "fingered"
-msgstr ""
+#: ../../mod/admin.php:693
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Plugin %s attivo."
-#: ../../include/text.php:724
-msgid "rebuff"
-msgstr ""
+#: ../../mod/admin.php:703 ../../mod/admin.php:901
+msgid "Disable"
+msgstr "Disattiva"
-#: ../../include/text.php:724
-msgid "rebuffed"
-msgstr ""
+#: ../../mod/admin.php:705 ../../mod/admin.php:903
+msgid "Enable"
+msgstr "Attiva"
-#: ../../include/text.php:736
-msgid "happy"
-msgstr ""
+#: ../../mod/admin.php:727 ../../mod/admin.php:932
+msgid "Toggle"
+msgstr "Attiva/disattiva"
-#: ../../include/text.php:737
-msgid "sad"
-msgstr ""
+#: ../../mod/admin.php:735 ../../mod/admin.php:942
+msgid "Author: "
+msgstr "Autore:"
-#: ../../include/text.php:738
-msgid "mellow"
-msgstr ""
+#: ../../mod/admin.php:736 ../../mod/admin.php:943
+msgid "Maintainer: "
+msgstr "Gestore:"
-#: ../../include/text.php:739
-msgid "tired"
-msgstr ""
+#: ../../mod/admin.php:865
+msgid "No themes found."
+msgstr "Nessun tema trovato."
-#: ../../include/text.php:740
-msgid "perky"
-msgstr ""
+#: ../../mod/admin.php:924
+msgid "Screenshot"
+msgstr "Istantanea dello schermo"
-#: ../../include/text.php:741
-msgid "angry"
-msgstr ""
+#: ../../mod/admin.php:972
+msgid "[Experimental]"
+msgstr "[Sperimentale]"
-#: ../../include/text.php:742
-msgid "stupified"
-msgstr ""
+#: ../../mod/admin.php:973
+msgid "[Unsupported]"
+msgstr "[Non supportato]"
-#: ../../include/text.php:743
-msgid "puzzled"
-msgstr ""
+#: ../../mod/admin.php:1000
+msgid "Log settings updated."
+msgstr "Impostazioni di log aggiornate."
-#: ../../include/text.php:744
-msgid "interested"
-msgstr ""
+#: ../../mod/admin.php:1056
+msgid "Clear"
+msgstr "Pulisci"
-#: ../../include/text.php:745
-msgid "bitter"
-msgstr ""
+#: ../../mod/admin.php:1062
+msgid "Debugging"
+msgstr "Debugging"
-#: ../../include/text.php:746
-msgid "cheerful"
-msgstr ""
+#: ../../mod/admin.php:1063
+msgid "Log file"
+msgstr "File di log"
-#: ../../include/text.php:747
-msgid "alive"
-msgstr ""
+#: ../../mod/admin.php:1063
+msgid ""
+"Must be writable by web server. Relative to your Red top-level directory."
+msgstr "Deve essere scrivibile dal web server. È relativa alla cartella dove è installato Red."
-#: ../../include/text.php:748
-msgid "annoyed"
-msgstr ""
+#: ../../mod/admin.php:1064
+msgid "Log level"
+msgstr "Livello di log"
-#: ../../include/text.php:749
-msgid "anxious"
-msgstr ""
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
+msgstr "Nessun account valido trovato."
-#: ../../include/text.php:750
-msgid "cranky"
-msgstr ""
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
+msgstr "La richiesta per reimpostare la password è stata inviata. Controlla la tua email."
-#: ../../include/text.php:751
-msgid "disturbed"
-msgstr ""
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Utente del sito (%s)"
-#: ../../include/text.php:752
-msgid "frustrated"
-msgstr ""
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "È stato richiesto di reimpostare password su %s"
-#: ../../include/text.php:753
-msgid "motivated"
-msgstr ""
+#: ../../mod/lostpass.php:63
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non può essere reimpostata."
-#: ../../include/text.php:754
-msgid "relaxed"
-msgstr ""
+#: ../../mod/lostpass.php:85 ../../boot.php:1429
+msgid "Password Reset"
+msgstr "Reimposta la password"
-#: ../../include/text.php:755
-msgid "surprised"
-msgstr ""
+#: ../../mod/lostpass.php:86
+msgid "Your password has been reset as requested."
+msgstr "La password è stata reimpostata come richiesto."
-#: ../../include/text.php:921
-msgid "January"
-msgstr "Gennaio"
+#: ../../mod/lostpass.php:87
+msgid "Your new password is"
+msgstr "La tua nuova password è"
-#: ../../include/text.php:921
-msgid "February"
-msgstr "Febbraio"
+#: ../../mod/lostpass.php:88
+msgid "Save or copy your new password - and then"
+msgstr "Salva o copia la tua nuova password, quindi"
-#: ../../include/text.php:921
-msgid "March"
-msgstr "Marzo"
+#: ../../mod/lostpass.php:89
+msgid "click here to login"
+msgstr "clicca qui per accedere"
-#: ../../include/text.php:921
-msgid "April"
-msgstr "Aprile"
+#: ../../mod/lostpass.php:90
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso."
-#: ../../include/text.php:921
-msgid "May"
-msgstr "Maggio"
+#: ../../mod/lostpass.php:107
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "La tua password su %s è cambiata"
-#: ../../include/text.php:921
-msgid "June"
-msgstr "Giugno"
+#: ../../mod/lostpass.php:122
+msgid "Forgot your Password?"
+msgstr "Hai dimenticato la password?"
-#: ../../include/text.php:921
-msgid "July"
-msgstr "Luglio"
+#: ../../mod/lostpass.php:123
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare."
-#: ../../include/text.php:921
-msgid "August"
-msgstr "Agosto"
+#: ../../mod/lostpass.php:124
+msgid "Email Address"
+msgstr "Indirizzo email"
-#: ../../include/text.php:921
-msgid "September"
-msgstr "Settembre"
+#: ../../mod/lostpass.php:125
+msgid "Reset"
+msgstr "Reimposta"
-#: ../../include/text.php:921
-msgid "October"
-msgstr "Ottobre"
+#: ../../mod/import.php:36
+msgid "Nothing to import."
+msgstr "Non c'è niente da importare."
-#: ../../include/text.php:921
-msgid "November"
-msgstr "Novembre"
+#: ../../mod/import.php:58
+msgid "Unable to download data from old server"
+msgstr "Impossibile importare i dati dal vecchio server"
-#: ../../include/text.php:921
-msgid "December"
-msgstr "Dicembre"
+#: ../../mod/import.php:64
+msgid "Imported file is empty."
+msgstr "Il file da importare è vuoto."
-#: ../../include/text.php:1007
-msgid "bytes"
-msgstr "bytes"
+#: ../../mod/import.php:88
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
-#: ../../include/text.php:1034 ../../include/text.php:1046
-msgid "Click to open/close"
-msgstr "Clicca per aprire/chiudere"
+#: ../../mod/import.php:106
+msgid "Channel clone failed. Import failed."
+msgstr "Impossibile clonare il canale. L'importazione è fallita."
-#: ../../include/text.php:1219 ../../include/user.php:236
-msgid "default"
-msgstr "default"
+#: ../../mod/import.php:116
+msgid "Cloned channel not found. Import failed."
+msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
-#: ../../include/text.php:1231
-msgid "Select an alternate language"
-msgstr "Seleziona una diversa lingua"
+#: ../../mod/import.php:352
+msgid "Import completed."
+msgstr "L'importazione è terminata con successo!"
-#: ../../include/text.php:1441
-msgid "activity"
-msgstr "attività"
+#: ../../mod/import.php:365
+msgid "You must be logged in to use this feature."
+msgstr "Per questa funzionalità devi aver effettuato l'accesso."
-#: ../../include/text.php:1444
-msgid "post"
-msgstr "messaggio"
+#: ../../mod/import.php:370
+msgid "Import Channel"
+msgstr "Importa un canale"
-#: ../../include/text.php:1599
-msgid "Item filed"
-msgstr ""
+#: ../../mod/import.php:371
+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 "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi scaricare i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file che hai esportato. Saranno importati solamente l'identità e i contatti. L'importazione dei contenuti non è ancora disponibile."
-#: ../../include/diaspora.php:691
-msgid "Sharing notification from Diaspora network"
-msgstr "Notifica di condivisione dal network Diaspora*"
+#: ../../mod/import.php:372
+msgid "File to Upload"
+msgstr "File da caricare"
-#: ../../include/diaspora.php:2211
-msgid "Attachments:"
-msgstr "Allegati:"
+#: ../../mod/import.php:373
+msgid "Or provide the old server/hub details"
+msgstr "Oppure fornisci i dettagli del vecchio server/hub"
-#: ../../include/network.php:849
-msgid "view full size"
-msgstr "vedi a schermo intero"
+#: ../../mod/import.php:374
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"
-#: ../../include/oembed.php:137
-msgid "Embedded content"
-msgstr "Contenuto incorporato"
+#: ../../mod/import.php:375
+msgid "Your old login email address"
+msgstr "L'email che usavi per accedere sul vecchio server"
-#: ../../include/oembed.php:146
-msgid "Embedding disabled"
-msgstr "Embed disabilitato"
+#: ../../mod/import.php:376
+msgid "Your old login password"
+msgstr "La password per il vecchio server"
-#: ../../include/group.php:25
+#: ../../mod/import.php:377
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 "Un gruppo eliminato con questo nome è stato ricreato. I permessi esistenti su un elemento <strong>possono</strong> essere applicati a questo gruppo e tutti i membri futuri. Se questo non è ciò che si intende, si prega di creare un altro gruppo con un nome diverso."
-
-#: ../../include/group.php:176
-msgid "Default privacy group for new contacts"
-msgstr ""
+"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 "Per ciascuna opzione, scegli se vuoi rendere questo server il tuo indirizzo primario, oppure se preferisci che lo rimanga il vecchio. Potrai pubblicare da entrambi i server, ma solamente uno sarà marcato come primario per i tuoi file, foto, ecc."
-#: ../../include/group.php:195
-msgid "Everybody"
-msgstr "Tutti"
+#: ../../mod/import.php:378
+msgid "Make this hub my primary location"
+msgstr "Rendi questo server il mio indirizzo primario"
-#: ../../include/group.php:218
-msgid "edit"
-msgstr "modifica"
+#: ../../mod/manage.php:59
+msgid "Create a new channel"
+msgstr "Crea un nuovo canale"
-#: ../../include/group.php:240
-msgid "Edit group"
-msgstr "Modifica gruppo"
+#: ../../mod/manage.php:64
+msgid "Channel Manager"
+msgstr "Gestione canali"
-#: ../../include/group.php:241
-msgid "Create a new group"
-msgstr "Crea un nuovo gruppo"
+#: ../../mod/manage.php:65
+msgid "Current Channel"
+msgstr "Canale attuale"
-#: ../../include/group.php:242
-msgid "Contacts not in any group"
-msgstr "Contatti in nessun gruppo."
+#: ../../mod/manage.php:67
+msgid "Attach to one of your channels by selecting it."
+msgstr "Seleziona il canale a cui vuoi passare."
-#: ../../include/nav.php:46 ../../boot.php:911
-msgid "Logout"
-msgstr "Esci"
+#: ../../mod/manage.php:68
+msgid "Default Channel"
+msgstr "Canale predefinito"
-#: ../../include/nav.php:46
-msgid "End this session"
-msgstr "Finisci questa sessione"
+#: ../../mod/manage.php:69
+msgid "Make Default"
+msgstr "Rendi predefinito"
-#: ../../include/nav.php:49 ../../boot.php:1665
-msgid "Status"
-msgstr "Stato"
+#: ../../mod/vote.php:97
+msgid "Total votes"
+msgstr "Totale voti"
-#: ../../include/nav.php:64
-msgid "Sign in"
-msgstr "Entra"
+#: ../../mod/vote.php:98
+msgid "Average Rating"
+msgstr "Media"
-#: ../../include/nav.php:77
-msgid "Home Page"
-msgstr "Home Page"
-
-#: ../../include/nav.php:81
-msgid "Create an account"
-msgstr "Crea un account"
-
-#: ../../include/nav.php:86
-msgid "Help and documentation"
-msgstr "Guida e documentazione"
+#: ../../mod/match.php:12
+msgid "Profile Match"
+msgstr "Profili corrispondenti"
-#: ../../include/nav.php:89
-msgid "Apps"
-msgstr "Applicazioni"
+#: ../../mod/match.php:20
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Nessuna parola chiave per le ricerche. Aggiungi parole chiave al tuo profilo predefinito."
-#: ../../include/nav.php:89
-msgid "Addon applications, utilities, games"
-msgstr "Applicazioni, utilità e giochi aggiuntivi"
+#: ../../mod/match.php:57
+msgid "is interested in:"
+msgstr "interessi personali:"
-#: ../../include/nav.php:91
-msgid "Search site content"
-msgstr "Cerca nel contenuto del sito"
+#: ../../mod/crepair.php:102
+msgid "Contact settings applied."
+msgstr "Contatto modificato."
-#: ../../include/nav.php:101
-msgid "Conversations on this site"
-msgstr "Conversazioni su questo sito"
+#: ../../mod/crepair.php:104
+msgid "Contact update failed."
+msgstr "Le modifiche al contatto non sono state salvate."
-#: ../../include/nav.php:103
-msgid "Directory"
-msgstr "Elenco"
+#: ../../mod/crepair.php:129 ../../mod/fsuggest.php:20
+#: ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "Contatto non trovato."
-#: ../../include/nav.php:103
-msgid "People directory"
-msgstr "Elenco delle persone"
+#: ../../mod/crepair.php:135
+msgid "Repair Contact Settings"
+msgstr "Ripara le impostazioni del contatto"
-#: ../../include/nav.php:113
-msgid "Conversations from your friends"
-msgstr "Conversazioni dai tuoi amici"
+#: ../../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>ATTENZIONE: Queste sono impostazioni avanzate</strong> e se inserisci informazioni errate le tue comunicazioni con questo contatto potrebbero non funzionare più"
-#: ../../include/nav.php:121
-msgid "Friend Requests"
-msgstr "Richieste di amicizia"
+#: ../../mod/crepair.php:138
+msgid ""
+"Please use your browser 'Back' button <strong>now</strong> if you are "
+"uncertain what to do on this page."
+msgstr "Clicca <strong>adesso</strong> il tasto 'Indietro' del browser se non hai la certezza assoluta di quel che stai facendo."
-#: ../../include/nav.php:123
-msgid "See all notifications"
-msgstr "Vedi tutte le notifiche"
+#: ../../mod/crepair.php:144
+msgid "Return to contact editor"
+msgstr "Ritorna alla modifica del contatto"
-#: ../../include/nav.php:124
-msgid "Mark all system notifications seen"
-msgstr ""
+#: ../../mod/crepair.php:149
+msgid "Account Nickname"
+msgstr "Nome utente"
-#: ../../include/nav.php:128
-msgid "Private mail"
-msgstr "Posta privata"
+#: ../../mod/crepair.php:150
+msgid "@Tagname - overrides Name/Nickname"
+msgstr "@TagName - sostituirà il nome utente"
-#: ../../include/nav.php:129
-msgid "Inbox"
-msgstr "In arrivo"
+#: ../../mod/crepair.php:151
+msgid "Account URL"
+msgstr "URL dell'utente"
-#: ../../include/nav.php:130
-msgid "Outbox"
-msgstr "Inviati"
+#: ../../mod/crepair.php:152
+msgid "Friend Request URL"
+msgstr "URL di richiesta amicizia"
-#: ../../include/nav.php:134
-msgid "Manage"
-msgstr "Gestisci"
+#: ../../mod/crepair.php:153
+msgid "Friend Confirm URL"
+msgstr "URL di conferma amicizia"
-#: ../../include/nav.php:134
-msgid "Manage other pages"
-msgstr "Gestisci altre pagine"
+#: ../../mod/crepair.php:154
+msgid "Notification Endpoint URL"
+msgstr "URL per le notifiche"
-#: ../../include/nav.php:138 ../../boot.php:1186
-msgid "Profiles"
-msgstr "Profili"
+#: ../../mod/crepair.php:155
+msgid "Poll/Feed URL"
+msgstr "URL del feed"
-#: ../../include/nav.php:138 ../../boot.php:1186
-msgid "Manage/edit profiles"
-msgstr "Gestisci/modifica i profili"
+#: ../../mod/crepair.php:156
+msgid "New photo from this URL"
+msgstr "Nuova foto da questo URL"
-#: ../../include/nav.php:139
-msgid "Manage/edit friends and contacts"
-msgstr "Gestisci/modifica amici e contatti"
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
+msgstr "la firma riscontrata non è valida"
-#: ../../include/nav.php:146
-msgid "Site setup and configuration"
-msgstr "Configurazione del sito"
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr "Canale aggiunto."
-#: ../../include/nav.php:170
-msgid "Nothing new here"
-msgstr "Niente di nuovo qui"
+#: ../../mod/nogroup.php:58
+msgid "Contacts who are not members of a group"
+msgstr "Contatti che non sono in nessun insieme"
-#: ../../include/contact_widgets.php:6
-msgid "Add New Contact"
-msgstr "Aggiungi nuovo contatto"
+#: ../../mod/profile_photo.php:54
+msgid "Image uploaded but image cropping failed."
+msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."
-#: ../../include/contact_widgets.php:7
-msgid "Enter address or web location"
-msgstr "Inserisci posizione o indirizzo web"
+#: ../../mod/profile_photo.php:107
+msgid "Image resize failed."
+msgstr "Il ridimensionamento dell'immagine è fallito."
-#: ../../include/contact_widgets.php:8
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Esempio: bob@example.com, http://example.com/barbara"
+#: ../../mod/profile_photo.php:151
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente."
-#: ../../include/contact_widgets.php:23
+#: ../../mod/profile_photo.php:173
#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d invito disponibile"
-msgstr[1] "%d inviti disponibili"
+msgid "Image exceeds size limit of %d"
+msgstr "La dimensione dell'immagine supera il limite di %d"
-#: ../../include/contact_widgets.php:29
-msgid "Find People"
-msgstr "Trova persone"
+#: ../../mod/profile_photo.php:182
+msgid "Unable to process image."
+msgstr "Impossibile elaborare l'immagine."
-#: ../../include/contact_widgets.php:30
-msgid "Enter name or interest"
-msgstr "Inserisci un nome o un interesse"
+#: ../../mod/profile_photo.php:224 ../../mod/profile_photo.php:272
+msgid "Photo not available."
+msgstr "Foto non disponibile."
-#: ../../include/contact_widgets.php:31
-msgid "Connect/Follow"
-msgstr "Connetti/segui"
+#: ../../mod/profile_photo.php:291
+msgid "Upload File:"
+msgstr "Carica un file:"
-#: ../../include/contact_widgets.php:32
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Esempi: Mario Rossi, Pesca"
+#: ../../mod/profile_photo.php:292
+msgid "Select a profile:"
+msgstr "Seleziona un profilo:"
-#: ../../include/contact_widgets.php:36
-msgid "Random Profile"
-msgstr "Profilo causale"
+#: ../../mod/profile_photo.php:293
+msgid "Upload Profile Photo"
+msgstr "Carica la foto del profilo"
-#: ../../include/contact_widgets.php:68
-msgid "Networks"
-msgstr "Reti"
+#: ../../mod/profile_photo.php:294
+msgid "Upload"
+msgstr "Carica"
-#: ../../include/contact_widgets.php:71
-msgid "All Networks"
-msgstr "Tutte le Reti"
+#: ../../mod/profile_photo.php:298
+msgid "skip this step"
+msgstr "salta questo passaggio"
-#: ../../include/contact_widgets.php:98
-msgid "Saved Folders"
-msgstr "Cartelle Salvate"
+#: ../../mod/profile_photo.php:298
+msgid "select a photo from your photo albums"
+msgstr "seleziona una foto dai tuoi album"
-#: ../../include/contact_widgets.php:101 ../../include/contact_widgets.php:129
-msgid "Everything"
-msgstr "Tutto"
+#: ../../mod/profile_photo.php:312
+msgid "Crop Image"
+msgstr "Ritaglia immagine"
-#: ../../include/contact_widgets.php:126
-msgid "Categories"
-msgstr "Categorie"
+#: ../../mod/profile_photo.php:313
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Ritaglia l'immagine per migliorarne la visualizzazione."
-#: ../../include/auth.php:35
-msgid "Logged out."
-msgstr "Uscita effettuata."
+#: ../../mod/profile_photo.php:315
+msgid "Done Editing"
+msgstr "Modifica terminata"
-#: ../../include/auth.php:114
-msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Abbiamo incontrato un problema mentre contattavamo il server OpenID che ci hai fornito. Controlla di averlo scritto giusto."
+#: ../../mod/profile_photo.php:350
+msgid "Image uploaded successfully."
+msgstr "Immagine caricata con successo."
-#: ../../include/auth.php:114
-msgid "The error message was:"
-msgstr "Il messaggio riportato era:"
+#: ../../mod/profile_photo.php:352
+msgid "Image upload failed."
+msgstr "Il caricamento dell'immagine è fallito."
-#: ../../include/datetime.php:43 ../../include/datetime.php:45
-msgid "Miscellaneous"
-msgstr "Varie"
+#: ../../mod/profile_photo.php:361
+#, php-format
+msgid "Image size reduction [%s] failed."
+msgstr "Il ridimensionamento del'immagine [%s] è fallito."
-#: ../../include/datetime.php:153 ../../include/datetime.php:285
-msgid "year"
-msgstr "anno"
+#: ../../mod/editwebpage.php:37 ../../mod/editpost.php:18
+msgid "Item not found"
+msgstr "Elemento non trovato"
-#: ../../include/datetime.php:158 ../../include/datetime.php:286
-msgid "month"
-msgstr "mese"
+#: ../../mod/editwebpage.php:69 ../../mod/editpost.php:38
+msgid "Edit post"
+msgstr "Modifica articolo"
-#: ../../include/datetime.php:163 ../../include/datetime.php:288
-msgid "day"
-msgstr "giorno"
+#: ../../mod/editwebpage.php:105 ../../mod/editpost.php:80
+msgid "Insert YouTube video"
+msgstr "Inserisci video da YouTube"
-#: ../../include/datetime.php:276
-msgid "never"
-msgstr "mai"
+#: ../../mod/editwebpage.php:106 ../../mod/editpost.php:81
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Inserisci video Vorbis [.ogg]"
-#: ../../include/datetime.php:282
-msgid "less than a second ago"
-msgstr "meno di un secondo fa"
+#: ../../mod/editwebpage.php:107 ../../mod/editpost.php:82
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Inserisci audio Vorbis [.ogg]"
-#: ../../include/datetime.php:287
-msgid "week"
-msgstr "settimana"
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
+msgstr "L'identificativo della richiesta non è valido."
-#: ../../include/datetime.php:289
-msgid "hour"
-msgstr "ora"
+#: ../../mod/notifications.php:76
+msgid "System"
+msgstr "Sistema"
-#: ../../include/datetime.php:289
-msgid "hours"
-msgstr "ore"
+#: ../../mod/notifications.php:96
+msgid "Introductions"
+msgstr "Richieste di amicizia"
-#: ../../include/datetime.php:290
-msgid "minute"
-msgstr "minuto"
+#: ../../mod/notifications.php:121
+msgid "Show Ignored Requests"
+msgstr "Mostra le richieste ignorate"
-#: ../../include/datetime.php:290
-msgid "minutes"
-msgstr "minuti"
+#: ../../mod/notifications.php:121
+msgid "Hide Ignored Requests"
+msgstr "Nascondi le richieste ignorate"
-#: ../../include/datetime.php:291
-msgid "second"
-msgstr "secondo"
+#: ../../mod/notifications.php:147 ../../mod/notifications.php:193
+msgid "Notification type: "
+msgstr "Tipo di notifica: "
-#: ../../include/datetime.php:291
-msgid "seconds"
-msgstr "secondi"
+#: ../../mod/notifications.php:148
+msgid "Friend Suggestion"
+msgstr "Suggerimento di amicizia"
-#: ../../include/datetime.php:300
+#: ../../mod/notifications.php:150
#, php-format
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s fa"
+msgid "suggested by %s"
+msgstr "suggerito da %s"
-#: ../../include/datetime.php:472 ../../include/items.php:1688
-#, php-format
-msgid "%s's birthday"
-msgstr ""
+#: ../../mod/notifications.php:179
+msgid "Claims to be known to you: "
+msgstr "Dice di conoscerti: "
-#: ../../include/datetime.php:473 ../../include/items.php:1689
-#, php-format
-msgid "Happy Birthday %s"
-msgstr ""
+#: ../../mod/notifications.php:179
+msgid "yes"
+msgstr "si"
-#: ../../include/onepoll.php:399
-msgid "From: "
-msgstr "Da: "
+#: ../../mod/notifications.php:179
+msgid "no"
+msgstr "no"
-#: ../../include/bbcode.php:185 ../../include/bbcode.php:406
-msgid "Image/photo"
-msgstr "Immagine/foto"
+#: ../../mod/notifications.php:186
+msgid "Approve as: "
+msgstr "Approva come: "
-#: ../../include/bbcode.php:371 ../../include/bbcode.php:391
-msgid "$1 wrote:"
-msgstr "$1 ha scritto:"
+#: ../../mod/notifications.php:187
+msgid "Friend"
+msgstr "Amico"
-#: ../../include/bbcode.php:410 ../../include/bbcode.php:411
-msgid "Encrypted content"
+#: ../../mod/notifications.php:188
+msgid "Sharer"
msgstr ""
-#: ../../include/dba.php:41
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Non trovo le informazioni DNS per il database server '%s'"
-
-#: ../../include/message.php:15 ../../include/message.php:171
-msgid "[no subject]"
-msgstr "[nessun oggetto]"
-
-#: ../../include/acl_selectors.php:286
-msgid "Visible to everybody"
-msgstr "Visibile a tutti"
+#: ../../mod/notifications.php:188
+msgid "Fan/Admirer"
+msgstr "Fan/Ammiratore"
-#: ../../include/enotify.php:16
-msgid "Friendica Notification"
-msgstr "Notifica Friendica"
+#: ../../mod/notifications.php:194
+msgid "Friend/Connect Request"
+msgstr "Richiesta di amicizia"
-#: ../../include/enotify.php:19
-msgid "Thank You,"
-msgstr "Grazie,"
+#: ../../mod/notifications.php:194
+msgid "New Follower"
+msgstr "Nuovo follower"
-#: ../../include/enotify.php:21
-#, php-format
-msgid "%s Administrator"
-msgstr "Amministratore %s"
+#: ../../mod/notifications.php:215
+msgid "No introductions."
+msgstr "Nessuna richiesta di amicizia."
-#: ../../include/enotify.php:40
+#: ../../mod/notifications.php:257 ../../mod/notifications.php:382
+#: ../../mod/notifications.php:465
#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
+msgid "%s liked %s's post"
+msgstr "A %s è piaciuto l'articolo di %s"
-#: ../../include/enotify.php:44
+#: ../../mod/notifications.php:266 ../../mod/notifications.php:391
+#: ../../mod/notifications.php:474
#, php-format
-msgid "[Friendica:Notify] New mail received at %s"
-msgstr "[Friendica:Notifica] Nuovo messaggio privato ricevuto su %s"
+msgid "%s disliked %s's post"
+msgstr "A %s non è piaciuto l'articolo di %s"
-#: ../../include/enotify.php:46
+#: ../../mod/notifications.php:280 ../../mod/notifications.php:405
+#: ../../mod/notifications.php:488
#, php-format
-msgid "%1$s sent you a new private message at %2$s."
-msgstr ""
+msgid "%s is now friends with %s"
+msgstr "%s è ora amico di %s"
-#: ../../include/enotify.php:47
+#: ../../mod/notifications.php:287 ../../mod/notifications.php:412
#, php-format
-msgid "%1$s sent you %2$s."
-msgstr ""
-
-#: ../../include/enotify.php:47
-msgid "a private message"
-msgstr "un messaggio privato"
+msgid "%s created a new post"
+msgstr "%s ha creato un nuovo articolo"
-#: ../../include/enotify.php:48
+#: ../../mod/notifications.php:288 ../../mod/notifications.php:413
+#: ../../mod/notifications.php:497
#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Visita %s per vedere e/o rispodere ai tuoi messaggi privati."
+msgid "%s commented on %s's post"
+msgstr "%s ha commentato l'articolo di %s"
-#: ../../include/enotify.php:89
-#, php-format
-msgid "%1$s commented on [url=%2$s]a %3$s[/url]"
-msgstr ""
+#: ../../mod/notifications.php:302
+msgid "No more network notifications."
+msgstr "Non ci sono nuove notifiche dalla rete."
-#: ../../include/enotify.php:96
-#, php-format
-msgid "%1$s commented on [url=%2$s]%3$s's %4$s[/url]"
-msgstr ""
+#: ../../mod/notifications.php:306
+msgid "Network Notifications"
+msgstr "Notifiche dalla rete"
-#: ../../include/enotify.php:104
-#, php-format
-msgid "%1$s commented on [url=%2$s]your %3$s[/url]"
-msgstr ""
+#: ../../mod/notifications.php:332 ../../mod/notify.php:54
+msgid "No more system notifications."
+msgstr "Non ci sono nuove notifiche di sistema."
-#: ../../include/enotify.php:114
-#, php-format
-msgid "[Friendica:Notify] Comment to conversation #%1$d by %2$s"
-msgstr ""
+#: ../../mod/notifications.php:336 ../../mod/notify.php:58
+msgid "System Notifications"
+msgstr "Notifiche di sistema"
-#: ../../include/enotify.php:115
-#, php-format
-msgid "%s commented on an item/conversation you have been following."
-msgstr "%s ha commentato un elemento che stavi seguendo."
+#: ../../mod/notifications.php:427
+msgid "No more personal notifications."
+msgstr "Non ci sono nuove notifiche personali."
-#: ../../include/enotify.php:118 ../../include/enotify.php:133
-#: ../../include/enotify.php:146 ../../include/enotify.php:164
-#: ../../include/enotify.php:177
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Visita %s per vedere e/o commentare la conversazione"
+#: ../../mod/notifications.php:431
+msgid "Personal Notifications"
+msgstr "Notifiche personali"
-#: ../../include/enotify.php:125
-#, php-format
-msgid "[Friendica:Notify] %s posted to your profile wall"
-msgstr "[Friendica:Notifica] %s ha scritto sulla tua bacheca"
+#: ../../mod/notifications.php:504
+msgid "No more home notifications."
+msgstr "Non ci sono nuove notifiche dalla bacheca."
-#: ../../include/enotify.php:127
-#, php-format
-msgid "%1$s posted to your profile wall at %2$s"
-msgstr ""
+#: ../../mod/notifications.php:508
+msgid "Home Notifications"
+msgstr "Notifiche dalla bacheca"
-#: ../../include/enotify.php:129
-#, php-format
-msgid "%1$s posted to [url=%2$s]your wall[/url]"
-msgstr ""
+#: ../../mod/oexchange.php:22
+msgid "Post successful."
+msgstr "Inviato!"
-#: ../../include/enotify.php:140
-#, php-format
-msgid "[Friendica:Notify] %s tagged you"
-msgstr "[Friendica:Notifica] %s ti ha taggato"
+#: ../../mod/editpost.php:29
+msgid "Item is not editable"
+msgstr "L'elemento non è modificabile"
-#: ../../include/enotify.php:141
-#, php-format
-msgid "%1$s tagged you at %2$s"
-msgstr ""
+#: ../../mod/profile.php:111
+msgid "Access to this profile has been restricted."
+msgstr "L'accesso a questo profilo è stato limitato."
-#: ../../include/enotify.php:142
-#, php-format
-msgid "%1$s [url=%2$s]tagged you[/url]."
+#: ../../mod/poke.php:159
+msgid "Poke/Prod"
msgstr ""
-#: ../../include/enotify.php:154
-#, php-format
-msgid "[Friendica:Notify] %1$s poked you"
-msgstr ""
+#: ../../mod/poke.php:160
+msgid "poke, prod or do other things to somebody"
+msgstr "Manda un poke, un prod o altro"
-#: ../../include/enotify.php:155
-#, php-format
-msgid "%1$s poked you at %2$s"
-msgstr ""
+#: ../../mod/poke.php:161
+msgid "Recipient"
+msgstr "Destinatario"
-#: ../../include/enotify.php:156
-#, php-format
-msgid "%1$s [url=%2$s]poked you[/url]."
-msgstr ""
+#: ../../mod/poke.php:162
+msgid "Choose what you wish to do to recipient"
+msgstr "Scegli cosa vuoi inviare al destinatario"
-#: ../../include/enotify.php:171
-#, php-format
-msgid "[Friendica:Notify] %s tagged your post"
-msgstr "[Friendica:Notifica] %s ha taggato un tuo messaggio"
+#: ../../mod/poke.php:165
+msgid "Make this post private"
+msgstr "Rendi privato questo articolo"
-#: ../../include/enotify.php:172
-#, php-format
-msgid "%1$s tagged your post at %2$s"
-msgstr ""
+#: ../../mod/community.php:23
+msgid "Not available."
+msgstr "Non disponibile."
-#: ../../include/enotify.php:173
-#, php-format
-msgid "%1$s tagged [url=%2$s]your post[/url]"
-msgstr ""
+#: ../../mod/community.php:32
+msgid "Community"
+msgstr "Comunità"
-#: ../../include/enotify.php:184
-msgid "[Friendica:Notify] Introduction received"
-msgstr "[Friendica:Notifica] Hai ricevuto una presentazione"
+#: ../../mod/community.php:63 ../../mod/community.php:88
+msgid "No results."
+msgstr "Nessun risultato."
-#: ../../include/enotify.php:185
-#, php-format
-msgid "You've received an introduction from '%1$s' at %2$s"
-msgstr ""
+#: ../../mod/fbrowser.php:113
+msgid "Files"
+msgstr "Elenco file"
-#: ../../include/enotify.php:186
-#, php-format
-msgid "You've received [url=%1$s]an introduction[/url] from %2$s."
-msgstr ""
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
+msgstr "Suggerimento di amicizia inviato."
-#: ../../include/enotify.php:189 ../../include/enotify.php:207
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Puoi visitare il suo profilo presso %s"
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
+msgstr "Suggerisci amici"
-#: ../../include/enotify.php:191
+#: ../../mod/fsuggest.php:99
#, php-format
-msgid "Please visit %s to approve or reject the introduction."
-msgstr "Visita %s per approvare o rifiutare la presentazione."
+msgid "Suggest a friend for %s"
+msgstr "Suggerisci un amico a %s"
-#: ../../include/enotify.php:198
-msgid "[Friendica:Notify] Friend suggestion received"
-msgstr "[Friendica:Notifica] Hai ricevuto un suggerimento di amicizia"
+#: ../../mod/profperm.php:34 ../../mod/profperm.php:64
+msgid "Invalid profile identifier."
+msgstr "Indentificativo del profilo non valido."
-#: ../../include/enotify.php:199
-#, php-format
-msgid "You've received a friend suggestion from '%1$s' at %2$s"
-msgstr ""
+#: ../../mod/profperm.php:110
+msgid "Profile Visibility Editor"
+msgstr "Modifica la visibilità del profilo"
-#: ../../include/enotify.php:200
-#, php-format
-msgid ""
-"You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s."
-msgstr ""
+#: ../../mod/profperm.php:114
+msgid "Click on a contact to add or remove."
+msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo."
-#: ../../include/enotify.php:205
-msgid "Name:"
-msgstr "Nome:"
+#: ../../mod/profperm.php:123
+msgid "Visible To"
+msgstr "Visibile a"
-#: ../../include/enotify.php:206
-msgid "Photo:"
-msgstr "Foto:"
+#: ../../mod/profperm.php:139
+msgid "All Contacts (with secure profile access)"
+msgstr "Tutti i contatti (con accesso fidato al profilo)"
-#: ../../include/enotify.php:209
+#: ../../mod/siteinfo.php:51
#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Visita %s per approvare o rifiutare il suggerimento."
+msgid "Version %s"
+msgstr "Versione %s"
-#: ../../include/follow.php:32
-msgid "Connect URL missing."
-msgstr "URL di connessione mancante."
-
-#: ../../include/follow.php:59
-msgid ""
-"This site is not configured to allow communications with other networks."
-msgstr "Questo sito non è configurato per permettere la comunicazione con altri network."
+#: ../../mod/siteinfo.php:65
+msgid "Installed plugins/addons/apps:"
+msgstr "App e componenti aggiuntivi instalati:"
-#: ../../include/follow.php:60 ../../include/follow.php:80
-msgid "No compatible communication protocols or feeds were discovered."
-msgstr "Non sono stati trovati protocolli di comunicazione o feed compatibili."
+#: ../../mod/siteinfo.php:78
+msgid "No installed plugins/addons/apps"
+msgstr "Nessuna app o componente aggiuntivo installato"
-#: ../../include/follow.php:78
-msgid "The profile address specified does not provide adequate information."
-msgstr "L'indirizzo del profilo specificato non fornisce adeguate informazioni."
+#: ../../mod/siteinfo.php:81
+msgid "Red"
+msgstr "Red"
-#: ../../include/follow.php:82
-msgid "An author or name was not found."
-msgstr "Non è stato trovato un nome o un autore"
+#: ../../mod/siteinfo.php:82
+msgid ""
+"This is Red - another decentralized, distributed communications project by "
+"the folks at Friendica."
+msgstr "Questo è Red - un progetto di comunicazione decentralizzata e distribuita dagli autori di Friendica."
-#: ../../include/follow.php:84
-msgid "No browser URL could be matched to this address."
-msgstr "Nessun URL puo' essere associato a questo indirizzo."
+#: ../../mod/siteinfo.php:84
+msgid "Running at web location"
+msgstr "In esecuzione sull'indirizzo web"
-#: ../../include/follow.php:86
+#: ../../mod/siteinfo.php:85
msgid ""
-"Unable to match @-style Identity Address with a known protocol or email "
-"contact."
-msgstr ""
+"Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn "
+"more about the Friendica and/or Red project."
+msgstr "Visita <a href=\"http://friendica.com\">Friendica.com</a> per scoprire di più sul progetto Red o sul progetto Friendica."
-#: ../../include/follow.php:87
-msgid "Use mailto: in front of address to force email check."
-msgstr ""
+#: ../../mod/siteinfo.php:86
+msgid "Bug reports and issues: please visit"
+msgstr "Per segnalare bug e problemi: visita"
-#: ../../include/follow.php:93
+#: ../../mod/siteinfo.php:89
msgid ""
-"The profile address specified belongs to a network which has been disabled "
-"on this site."
-msgstr "L'indirizzo del profilo specificato appartiene a un network che è stato disabilitato su questo sito."
+"Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - "
+"dot com"
+msgstr "Per suggerimenti, ringraziamenti, donazioni, ecc - scrivi a \"info chiocciola friendica punto com\""
-#: ../../include/follow.php:103
+#: ../../mod/suggest.php:41
msgid ""
-"Limited profile. This person will be unable to receive direct/personal "
-"notifications from you."
-msgstr "Profilo limitato. Questa persona non sarà in grado di ricevere notifiche personali da te."
-
-#: ../../include/follow.php:205
-msgid "Unable to retrieve contact information."
-msgstr "Impossibile recuperare informazioni sul contatto."
-
-#: ../../include/follow.php:259
-msgid "following"
-msgstr "segue"
-
-#: ../../include/items.php:3299
-msgid "A new person is sharing with you at "
-msgstr "Una nuova persona sta condividendo con te da "
-
-#: ../../include/items.php:3299
-msgid "You have a new follower at "
-msgstr "Una nuova persona ti segue su "
-
-#: ../../include/items.php:3980
-msgid "Archives"
-msgstr ""
-
-#: ../../include/user.php:38
-msgid "An invitation is required."
-msgstr "E' richiesto un invito."
-
-#: ../../include/user.php:43
-msgid "Invitation could not be verified."
-msgstr "L'invito non puo' essere verificato."
-
-#: ../../include/user.php:51
-msgid "Invalid OpenID url"
-msgstr "Url OpenID non valido"
-
-#: ../../include/user.php:66
-msgid "Please enter the required information."
-msgstr "Inserisci le informazioni richieste."
-
-#: ../../include/user.php:80
-msgid "Please use a shorter name."
-msgstr "Usa un nome più corto."
-
-#: ../../include/user.php:82
-msgid "Name too short."
-msgstr "Il nome è troppo corto."
-
-#: ../../include/user.php:97
-msgid "That doesn't appear to be your full (First Last) name."
-msgstr "Questo non sembra essere il tuo nome completo (Nome Cognome)."
-
-#: ../../include/user.php:102
-msgid "Your email domain is not among those allowed on this site."
-msgstr "Il dominio della tua email non è tra quelli autorizzati su questo sito."
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Nessun suggerimento disponibile. Se questo è un sito nuovo, riprova tra 24 ore."
-#: ../../include/user.php:105
-msgid "Not a valid email address."
-msgstr "L'indirizzo email non è valido."
+#: ../../mod/suggest.php:58
+msgid "Ignore/Hide"
+msgstr "Ignora/nascondi"
-#: ../../include/user.php:115
-msgid "Cannot use that email."
-msgstr "Non puoi usare quell'email."
+#: ../../mod/register.php:35
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!"
-#: ../../include/user.php:121
+#: ../../mod/register.php:41
msgid ""
-"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and "
-"must also begin with a letter."
-msgstr "Il tuo nome utente puo' contenere solo \"a-z\", \"0-9\", \"-\", e \"_\", e deve cominciare con una lettera."
-
-#: ../../include/user.php:127 ../../include/user.php:225
-msgid "Nickname is already registered. Please choose another."
-msgstr "Nome utente già registrato. Scegline un altro."
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio."
-#: ../../include/user.php:137
+#: ../../mod/register.php:91
msgid ""
-"Nickname was once registered here and may not be re-used. Please choose "
-"another."
-msgstr "Questo nome utente stato già registrato. Per favore, sceglierne uno nuovo."
-
-#: ../../include/user.php:153
-msgid "SERIOUS ERROR: Generation of security keys failed."
-msgstr "ERRORE GRAVE: La generazione delle chiavi di sicurezza è fallita."
-
-#: ../../include/user.php:211
-msgid "An error occurred during registration. Please try again."
-msgstr "C'è stato un errore durante la registrazione. Prova ancora."
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata."
-#: ../../include/user.php:246
-msgid "An error occurred creating your default profile. Please try again."
-msgstr "C'è stato un errore nella creazione del tuo profilo. Prova ancora."
-
-#: ../../include/security.php:22
-msgid "Welcome "
-msgstr "Ciao"
-
-#: ../../include/security.php:23
-msgid "Please upload a profile photo."
-msgstr "Carica una foto per il profilo."
+#: ../../mod/register.php:97
+msgid "Your registration is pending approval by the site owner."
+msgstr "La tua richiesta è in attesa di approvazione da parte dell'amministratore del sito."
-#: ../../include/security.php:26
-msgid "Welcome back "
-msgstr "Ciao "
+#: ../../mod/register.php:100
+msgid "Your registration can not be processed."
+msgstr "La tua registrazione non puo' essere acquisita."
-#: ../../include/security.php:344
+#: ../../mod/register.php:135
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/Contact.php:111
-msgid "stopped following"
-msgstr ""
-
-#: ../../include/Contact.php:220 ../../include/conversation.php:734
-msgid "Poke"
-msgstr ""
-
-#: ../../include/Contact.php:221 ../../include/conversation.php:728
-msgid "View Status"
-msgstr "Visualizza stato"
-
-#: ../../include/Contact.php:222 ../../include/conversation.php:729
-msgid "View Profile"
-msgstr "Visualizza profilo"
-
-#: ../../include/Contact.php:223 ../../include/conversation.php:730
-msgid "View Photos"
-msgstr "Visualizza foto"
-
-#: ../../include/Contact.php:224 ../../include/Contact.php:237
-#: ../../include/conversation.php:731
-msgid "Network Posts"
-msgstr ""
-
-#: ../../include/Contact.php:225 ../../include/Contact.php:237
-#: ../../include/conversation.php:732
-msgid "Edit Contact"
-msgstr "Modifica contatti"
-
-#: ../../include/Contact.php:226 ../../include/Contact.php:237
-#: ../../include/conversation.php:733
-msgid "Send PM"
-msgstr "Invia messaggio privato"
-
-#: ../../include/conversation.php:206
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr ""
-
-#: ../../include/conversation.php:290
-msgid "post/item"
-msgstr "post/elemento"
-
-#: ../../include/conversation.php:291
-#, php-format
-msgid "%1$s marked %2$s's %3$s as favorite"
-msgstr "%1$s ha segnato il/la %3$s di %2$s come preferito"
-
-#: ../../include/conversation.php:545 ../../object/Item.php:218
-msgid "Categories:"
-msgstr ""
-
-#: ../../include/conversation.php:546 ../../object/Item.php:219
-msgid "Filed under:"
-msgstr ""
-
-#: ../../include/conversation.php:630
-msgid "remove"
-msgstr "rimuovi"
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Questo sito ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani."
-#: ../../include/conversation.php:634
-msgid "Delete Selected Items"
-msgstr "Cancella elementi selezionati"
+#: ../../mod/register.php:146
+msgid "Terms of Service"
+msgstr "Condizioni d'Uso"
-#: ../../include/conversation.php:792
+#: ../../mod/register.php:152
#, php-format
-msgid "%s likes this."
-msgstr "Piace a %s."
+msgid "I accept the %s for this website"
+msgstr "Accetto le %s di questo sito"
-#: ../../include/conversation.php:792
+#: ../../mod/register.php:154
#, php-format
-msgid "%s doesn't like this."
-msgstr "Non piace a %s."
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "Ho più di 13 anni e accetto le %s di questo sito"
-#: ../../include/conversation.php:796
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgstr "Piace a <span %1$s>%2$d persone</span>."
-
-#: ../../include/conversation.php:798
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgstr "Non piace a <span %1$s>%2$d persone</span>."
-
-#: ../../include/conversation.php:804
-msgid "and"
-msgstr "e"
-
-#: ../../include/conversation.php:807
-#, php-format
-msgid ", and %d other people"
-msgstr "e altre %d persone"
+#: ../../mod/register.php:169
+msgid "Membership on this site is by invitation only."
+msgstr "Per registrarsi su questo sito è necessario un invito."
-#: ../../include/conversation.php:808
-#, php-format
-msgid "%s like this."
-msgstr "Piace a %s."
+#: ../../mod/register.php:170
+msgid "Please enter your invitation code"
+msgstr "Inserisci il codice dell'invito"
-#: ../../include/conversation.php:808
-#, php-format
-msgid "%s don't like this."
-msgstr "Non piace a %s."
+#: ../../mod/register.php:173
+msgid "Your email address"
+msgstr "Il tuo indirizzo email"
-#: ../../include/conversation.php:832 ../../include/conversation.php:849
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Visibile a <strong>tutti</strong>"
+#: ../../mod/register.php:174
+msgid "Choose a password"
+msgstr "Scegli una password"
-#: ../../include/conversation.php:834 ../../include/conversation.php:851
-msgid "Please enter a video link/URL:"
-msgstr "Inserisci un collegamento video / URL:"
+#: ../../mod/register.php:175
+msgid "Please re-enter your password"
+msgstr "Ripeti la password per verifica"
-#: ../../include/conversation.php:835 ../../include/conversation.php:852
-msgid "Please enter an audio link/URL:"
-msgstr "Inserisci un collegamento audio / URL:"
+#: ../../mod/regmod.php:12
+msgid "Please login."
+msgstr "Accedi."
-#: ../../include/conversation.php:836 ../../include/conversation.php:853
-msgid "Tag term:"
-msgstr "Tag:"
+#: ../../mod/removeme.php:45 ../../mod/removeme.php:48
+msgid "Remove My Account"
+msgstr "Elimina il mio account"
-#: ../../include/conversation.php:838 ../../include/conversation.php:855
-msgid "Where are you right now?"
-msgstr "Dove sei ora?"
+#: ../../mod/removeme.php:46
+msgid ""
+"This will completely remove your account. Once this has been done it is not "
+"recoverable."
+msgstr "Questo comando rimuoverà completamente il tuo account. Una volta rimosso non potrai più recuperarlo."
-#: ../../include/conversation.php:898
-msgid "upload photo"
-msgstr "carica foto"
+#: ../../mod/removeme.php:47
+msgid "Please enter your password for verification:"
+msgstr "Inserisci la tua password per verifica:"
-#: ../../include/conversation.php:900
-msgid "attach file"
-msgstr "allega file"
+#: ../../mod/mood.php:131
+msgid "Mood"
+msgstr "Umore"
-#: ../../include/conversation.php:902
-msgid "web link"
-msgstr "link web"
+#: ../../mod/mood.php:132
+msgid "Set your current mood and tell your friends"
+msgstr "Scegli il tuo umore attuale per mostrarlo agli amici"
-#: ../../include/conversation.php:903
-msgid "Insert video link"
-msgstr "Inserire collegamento video"
+#: ../../view/theme/redbasic/php/config.php:138
+#: ../../view/theme/redbasic/php/config.php:156
+#: ../../view/theme/redstrap/php/config.php:133
+msgid "Theme settings"
+msgstr "Impostazioni del tema"
-#: ../../include/conversation.php:904
-msgid "video link"
-msgstr "link video"
+#: ../../view/theme/redbasic/php/config.php:139
+#: ../../view/theme/redbasic/php/config.php:157
+#: ../../view/theme/redstrap/php/config.php:134
+msgid "Set font-size for posts and comments"
+msgstr "Scegli le dimensioni del carattere per articoli e commenti"
-#: ../../include/conversation.php:905
-msgid "Insert audio link"
-msgstr "Inserisci collegamento audio"
+#: ../../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"
+msgstr "Scegli l'altezza della riga per articoli e commenti"
-#: ../../include/conversation.php:906
-msgid "audio link"
-msgstr "link audio"
+#: ../../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 "Scegli lo schema di colore"
-#: ../../include/conversation.php:908
-msgid "set location"
-msgstr "posizione"
+#: ../../view/theme/redbasic/php/config.php:142
+#: ../../view/theme/redstrap/php/config.php:137
+msgid "Draw shadows"
+msgstr "Aggiungi l'ombreggiatura"
-#: ../../include/conversation.php:910
-msgid "clear location"
-msgstr "canc. pos."
+#: ../../view/theme/redbasic/php/config.php:143
+#: ../../view/theme/redstrap/php/config.php:138
+msgid "Navigation bar colour"
+msgstr "Colore della barra di navigazione"
-#: ../../include/conversation.php:917
-msgid "permissions"
-msgstr "permessi"
+#: ../../view/theme/redbasic/php/config.php:144
+#: ../../view/theme/redstrap/php/config.php:139
+msgid "Display style"
+msgstr "Stile di visualizzazione"
-#: ../../include/plugin.php:389 ../../include/plugin.php:391
-msgid "Click here to upgrade."
-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 #"
+msgstr "Scegli il colore dei link - in esadecimale, senza #"
-#: ../../include/plugin.php:397
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr ""
+#: ../../view/theme/redbasic/php/config.php:146
+#: ../../view/theme/redstrap/php/config.php:141
+msgid "Icons"
+msgstr "Icone"
-#: ../../include/plugin.php:402
-msgid "This action is not available under your subscription plan."
-msgstr ""
+#: ../../view/theme/redbasic/php/config.php:147
+#: ../../view/theme/redstrap/php/config.php:142
+msgid "Shiny style"
+msgstr "Effetto lucido"
-#: ../../boot.php:573
-msgid "Delete this item?"
-msgstr "Cancellare questo elemento?"
+#: ../../view/theme/redbasic/php/config.php:148
+msgid "Corner radius"
+msgstr "Raggio dell'angolo"
-#: ../../boot.php:576
-msgid "show fewer"
-msgstr "mostra di meno"
+#: ../../view/theme/redbasic/php/config.php:148
+msgid "0-99 default: 5"
+msgstr "0-99 predefinito: 5"
-#: ../../boot.php:783
+#: ../../boot.php:1234
#, php-format
msgid "Update %s failed. See error logs."
-msgstr ""
+msgstr "%s: aggiornamento fallito. Controlla i log di errore."
-#: ../../boot.php:785
+#: ../../boot.php:1237
#, php-format
msgid "Update Error at %s"
-msgstr ""
+msgstr "Errore di aggiornamento su %s"
-#: ../../boot.php:886
+#: ../../boot.php:1393
msgid "Create a New Account"
msgstr "Crea un nuovo account"
-#: ../../boot.php:914
-msgid "Nickname or Email address: "
-msgstr "Nome utente o indirizzo email: "
+#: ../../boot.php:1422
+msgid "Password"
+msgstr "Password"
-#: ../../boot.php:915
-msgid "Password: "
-msgstr "Password: "
+#: ../../boot.php:1423
+msgid "Remember me"
+msgstr "Ricorda i miei dati"
-#: ../../boot.php:918
-msgid "Or login using OpenID: "
-msgstr "O entra con OpenID:"
-
-#: ../../boot.php:924
+#: ../../boot.php:1428
msgid "Forgot your password?"
msgstr "Hai dimenticato la password?"
-#: ../../boot.php:1035
-msgid "Requested account is not available."
-msgstr ""
+#: ../../boot.php:1547
+msgid "Requested channel is not available."
+msgstr "Il canale che cerchi non è disponibile."
-#: ../../boot.php:1112
-msgid "Edit profile"
-msgstr "Modifica il profilo"
+#: ../../boot.php:1559
+msgid " Sorry, you don't have the permission to view this profile. "
+msgstr "Purtroppo non hai il permesso di vedere questo profilo."
-#: ../../boot.php:1178
-msgid "Message"
-msgstr "Messaggio"
+#: ../../boot.php:1706
+msgid "Profiles"
+msgstr "Profili"
-#: ../../boot.php:1300 ../../boot.php:1386
-msgid "g A l F d"
-msgstr "g A l d F"
+#: ../../boot.php:1706
+msgid "Manage/edit profiles"
+msgstr "Gestisci/modifica i profili"
-#: ../../boot.php:1301 ../../boot.php:1387
+#: ../../boot.php:1710
+msgid "Edit Profile"
+msgstr "Modifica il profilo"
+
+#: ../../boot.php:1799 ../../boot.php:1879
msgid "F d"
msgstr "d F"
-#: ../../boot.php:1346 ../../boot.php:1427
-msgid "[today]"
-msgstr "[oggi]"
-
-#: ../../boot.php:1358
+#: ../../boot.php:1856
msgid "Birthday Reminders"
msgstr "Promemoria compleanni"
-#: ../../boot.php:1359
+#: ../../boot.php:1857
msgid "Birthdays this week:"
msgstr "Compleanni questa settimana:"
-#: ../../boot.php:1420
+#: ../../boot.php:1912
msgid "[No description]"
msgstr "[Nessuna descrizione]"
-#: ../../boot.php:1438
+#: ../../boot.php:1930
msgid "Event Reminders"
msgstr "Promemoria"
-#: ../../boot.php:1439
+#: ../../boot.php:1931
msgid "Events this week:"
msgstr "Eventi di questa settimana:"
-#: ../../boot.php:1668
+#: ../../boot.php:2162
+msgid "Channel"
+msgstr "Canale"
+
+#: ../../boot.php:2165
msgid "Status Messages and Posts"
-msgstr ""
+msgstr "Articoli e messaggi di stato"
-#: ../../boot.php:1675
+#: ../../boot.php:2169
+msgid "About"
+msgstr "Informazioni"
+
+#: ../../boot.php:2172
msgid "Profile Details"
-msgstr ""
+msgstr "Dettagli del profilo"
-#: ../../boot.php:1692
+#: ../../boot.php:2190
msgid "Events and Calendar"
-msgstr ""
+msgstr "Calendario eventi"
-#: ../../boot.php:1699
-msgid "Only You Can See This"
-msgstr ""
+#: ../../boot.php:2195
+msgid "Webpages"
+msgstr "Pagine web"
+
+#: ../../boot.php:2198
+msgid "Manage Webpages"
+msgstr "Gestisci le pagine web"
+
+#: ../../boot.php:2469
+msgid "toggle mobile"
+msgstr "attiva/disattiva versione mobile"
diff --git a/view/it/passchanged_eml.tpl b/view/it/passchanged_eml.tpl
index ab3f1aede..0d94be3c2 100644
--- a/view/it/passchanged_eml.tpl
+++ b/view/it/passchanged_eml.tpl
@@ -1,20 +1,20 @@
-Ciao $[username],
- La tua password è cambiata come hai richiesto. Conserva queste
-informazioni (oppure cambia immediatamente la password con
-qualcosa che ti è più facile ricordare).
+Dear {{$username}},
+ Your password has been changed as requested. Please retain this
+information for your records (or change your password immediately to
+something that you will remember).
-I tuoi dati di access sono i seguenti:
+Your login details are as follows:
-Sito:»$[siteurl]
-Nome utente:»$[email]
-Password:»$[new_password]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+Password: {{$new_password}}
-Puoi cambiare la tua password dalla pagina delle impostazioni dopo aver effettuato l'accesso.
+You may change that password from your account settings page after logging in.
-Saluti,
- l'amministratore di $[sitename]
+Sincerely,
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/it/register_open_eml.tpl b/view/it/register_open_eml.tpl
index 11a7752bc..4b397201c 100644
--- a/view/it/register_open_eml.tpl
+++ b/view/it/register_open_eml.tpl
@@ -1,34 +1,19 @@
-Ciao $[username],
- Grazie per aver effettuato la registrazione a $[sitename]. Il tuo account è stato creato.
-I dettagli di accesso sono i seguenti
+An account has been created at {{$sitename}} for this email address.
+The login details are as follows:
+Site Location: {{$siteurl}}
+Login: {{$email}}
+Password: (the password which was provided during registration)
-Sito:»$[siteurl]
-Nome utente:»$[email]
-Password:»$[password]
+If this account was created without your knowledge and is not desired, you may
+visit this site and reset the password. This will allow you to remove the
+account from the links on the Settings page, and we
+apologise for any inconvenience.
-Puoi cambiare la tua password dalla pagina "Impostazioni" del tuo profilo dopo aver effettuato l'accesso
-.
+Thank you and welcome to {{$sitename}}.
-Prenditi un momento per dare un'occhiata alle altre impostazioni del tuo profilo nella stessa pagina.
+Sincerely,
+ {{$sitename}} Administrator
-Potrest voler aggiungere alcune informazioni di base a quelle predefinite del profilo
-(nella pagina "Profilo") per rendere agli altri più facile trovarti.
-
-Noi raccomandiamo di impostare il tuo nome completo, di aggiungere una foto,
-di aggiungere alcune "parole chiavi" (molto utili per farsi nuovi amici) - e
-magari il paese dove vivi; se non vuoi essere più dettagliato
-di così.
-
-Noi rispettiamo il tuo diritto alla privacy e nessuna di queste informazioni è indispensabile.
-Se ancora non conosci nessuno qui, potrebbe esserti di aiuto
-per farti nuovi e interessanti amici.
-
-
-Grazie. Siamo contenti di darti il benvenuto su $[sitename]
-
-Saluti,
- l'amministratore di $[sitename]
-
- \ No newline at end of file
+
diff --git a/view/it/register_verify_eml.tpl b/view/it/register_verify_eml.tpl
index baac57976..85d9a12d3 100644
--- a/view/it/register_verify_eml.tpl
+++ b/view/it/register_verify_eml.tpl
@@ -1,25 +1,25 @@
-Su $[sitename] è stata ricevuta una nuova richiesta di registrazione da parte di un utente che richiede
-la tua approvazione.
+A new user registration request was received at {{$sitename}} which requires
+your approval.
-I tuoi dati di accesso sono i seguenti:
+The login details are as follows:
-Nome completo:»$[username]
-Sito:»$[siteurl]
-Nome utente:»$[email]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+IP Address: {{$details}}
+To approve this request please visit the following link:
-Per approvare questa richiesta clicca su:
+{{$siteurl}}/regmod/allow/{{$hash}}
-$[siteurl]/regmod/allow/$[hash]
+To deny the request and remove the account, please visit:
-Per negare la richiesta e rimuove il profilo, clicca su:
+{{$siteurl}}/regmod/deny/{{$hash}}
-$[siteurl]/regmod/deny/$[hash]
+Thank you.
-Grazie.
diff --git a/view/it/request_notify_eml.tpl b/view/it/request_notify_eml.tpl
index 1360be90c..d01b8ff27 100644
--- a/view/it/request_notify_eml.tpl
+++ b/view/it/request_notify_eml.tpl
@@ -1,17 +1,17 @@
-Ciao $[myname],
+Dear {{$myname}},
-Hai appena ricevuto una richiesta di connessione da $[sitename]
+You have just received a connection request at {{$sitename}}
-da '$[requestor]'.
+from '{{$requestor}}'.
-Puoi visitare il suo profilo su $[url].
+You may visit their profile at {{$url}}.
-Accedi al tuo sito per vedere la richiesta completa
-e approva o ignora/annulla la richiesta.
+Please login to your site to view the complete introduction
+and approve or ignore/cancel the request.
-$[siteurl]
+{{$siteurl}}
-Saluti,
+Regards,
- l'amministratore di $[sitename] \ No newline at end of file
+ {{$sitename}} administrator
diff --git a/view/it/strings.php b/view/it/strings.php
index 7959a67e5..9418e9e12 100644
--- a/view/it/strings.php
+++ b/view/it/strings.php
@@ -4,2003 +4,1546 @@ function string_plural_select_it($n){
return ($n != 1);;
}
;
-$a->strings["Post successful."] = "Inviato!";
-$a->strings["[Embedded content - reload page to view]"] = "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]";
-$a->strings["Contact settings applied."] = "Contatto modificato.";
-$a->strings["Contact update failed."] = "Le modifiche al contatto non sono state salvate.";
-$a->strings["Permission denied."] = "Permesso negato.";
-$a->strings["Contact not found."] = "Contatto non trovato.";
-$a->strings["Repair Contact Settings"] = "Ripara il contatto";
-$a->strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = "<strong>ATTENZIONE: Queste sono impostazioni avanzate</strong> e se inserisci informazioni errate le tue comunicazioni con questo contatto potrebbero non funzionare più";
-$a->strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Usa <strong>ora</strong> il tasto 'Indietro' del tuo browser se non sei sicuro di cosa fare in questa pagina.";
-$a->strings["Return to contact editor"] = "Ritorna alla modifica contatto";
-$a->strings["Name"] = "Nome";
-$a->strings["Account Nickname"] = "Nome utente";
-$a->strings["@Tagname - overrides Name/Nickname"] = "@TagName - al posto del nome utente";
-$a->strings["Account URL"] = "URL dell'utente";
-$a->strings["Friend Request URL"] = "URL Richiesta Amicizia";
-$a->strings["Friend Confirm URL"] = "URL Conferma Amicizia";
-$a->strings["Notification Endpoint URL"] = "URL Notifiche";
-$a->strings["Poll/Feed URL"] = "URL Feed";
-$a->strings["New photo from this URL"] = "Nuova foto da questo URL";
-$a->strings["Submit"] = "Invia";
-$a->strings["Help:"] = "Guida:";
+$a->strings["Visible to everybody"] = "Archiviato come:";
+$a->strings["show"] = "mostra";
+$a->strings["don't show"] = "non mostrare";
+$a->strings[" and "] = "e";
+$a->strings["public profile"] = "profilo pubblico";
+$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiato %2\$s in &ldquo;%3\$s&rdquo;";
+$a->strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s ";
+$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s.";
+$a->strings["Public Timeline"] = "Diario pubblico";
+$a->strings["Red Matrix Notification"] = "Notifica di Red Matrix";
+$a->strings["Thank You,"] = "Grazie,";
+$a->strings["%s Administrator"] = "Amministratore %s";
+$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
+$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Notifica] Nuovo messaggio ricevuto alle %s";
+$a->strings["%1\$s sent you a new private message at %2\$s."] = "%1\$s ti ha mandato un messaggio privato alle %2\$s.";
+$a->strings["%1\$s sent you %2\$s."] = "%1\$s ti ha mandato %2\$s.";
+$a->strings["a private message"] = "un messaggio privato";
+$a->strings["Please visit %s to view and/or reply to your private messages."] = "Visita %s per leggere i tuoi messaggi privati e rispondere.";
+$a->strings["%1\$s commented on [zrl=%2\$s]a %3\$s[/zrl]"] = "%1\$s ha commentato [zrl=%2\$s]%3\$s[/zrl]";
+$a->strings["%1\$s commented on [zrl=%2\$s]%3\$s's %4\$s[/zrl]"] = "%1\$s ha commentato [zrl=%2\$s]%4\$s di %3\$s[/zrl]";
+$a->strings["%1\$s commented on [zrl=%2\$s]your %3\$s[/zrl]"] = "%1\$s ha commentato [zrl=%2\$s]%3\$s[/zrl] che hai creato";
+$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Notifica] Nuovo commento di %2\$s alla conversazione #%1\$d";
+$a->strings["%s commented on an item/conversation you have been following."] = "%s ha commentato una conversazione che stai seguendo.";
+$a->strings["Please visit %s to view and/or reply to the conversation."] = "Visita %s per leggere o commentare la conversazione.";
+$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Notifica] %s ha scritto sulla tua bacheca";
+$a->strings["%1\$s posted to your profile wall at %2\$s"] = "%1\$s ha scritto sulla tua bacheca alle %2\$s";
+$a->strings["%1\$s posted to [zrl=%2\$s]your wall[/zrl]"] = "%1\$s ha scritto sulla [zrl=%2\$s]tua bacheca[/zrl]";
+$a->strings["[Red:Notify] %s tagged you"] = "[Red:Notifica] %s ti ha taggato";
+$a->strings["%1\$s tagged you at %2\$s"] = "%1\$s ti ha taggato alle %2\$s";
+$a->strings["%1\$s [zrl=%2\$s]tagged you[/zrl]."] = "%1\$s [zrl=%2\$s]ti ha taggato[/zrl].";
+$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Notifica] %1\$s ti ha mandato un poke";
+$a->strings["%1\$s poked you at %2\$s"] = "%1\$s ti ha mandato un poke alle %2\$s";
+$a->strings["%1\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s [zrl=%2\$s]ti ha mandato un poke[/zrl].";
+$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Notifica] %s ha taggato il tuo articolo";
+$a->strings["%1\$s tagged your post at %2\$s"] = "%1\$s ha taggato il tuo articolo alle %2\$s";
+$a->strings["%1\$s tagged [zrl=%2\$s]your post[/zrl]"] = "%1\$s ha taggato [zrl=%2\$s]il tuo articolo[/zrl]";
+$a->strings["[Red:Notify] Introduction received"] = "[Red:Notifica] Hai una richiesta di amicizia";
+$a->strings["You've received an introduction from '%1\$s' at %2\$s"] = "Hai ricevuto una richiesta di amicizia da '%1\$s' alle %2\$s";
+$a->strings["You've received [zrl=%1\$s]an introduction[/zrl] from %2\$s."] = "Hai ricevuto [zrl=%1\$s]una richiesta di amicizia[/zrl] da %2\$s.";
+$a->strings["You may visit their profile at %s"] = "Puoi visitare il suo profilo su %s";
+$a->strings["Please visit %s to approve or reject the introduction."] = "Visita %s per approvare o rifiutare la richiesta.";
+$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Notifica] Ti è stato suggerito un amico";
+$a->strings["You've received a friend suggestion from '%1\$s' at %2\$s"] = "Ti è stato suggerito un amico da '%1\$s' alle %2\$s";
+$a->strings["You've received [zrl=%1\$s]a friend suggestion[/zrl] for %2\$s from %3\$s."] = "%3\$s ti ha [zrl=%1\$s]suggerito %2\$s[/zrl] come amico.";
+$a->strings["Name:"] = "Nome:";
+$a->strings["Photo:"] = "Foto:";
+$a->strings["Please visit %s to approve or reject the suggestion."] = "Visita %s per approvare o rifiutare il suggerimento.";
+$a->strings["Default"] = "Valore predefinito";
+$a->strings["Connect"] = "Connetti";
+$a->strings["New window"] = "Nuova finestra";
+$a->strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
+$a->strings["Poke"] = "Poke";
+$a->strings["View Status"] = "Guarda il messaggio di stato";
+$a->strings["View Profile"] = "Profilo";
+$a->strings["View Photos"] = "Guarda le foto";
+$a->strings["Network Posts"] = "Articoli dalla tua rete";
+$a->strings["Edit Contact"] = "Modifica il contatto";
+$a->strings["Send PM"] = "Invia messaggio privato";
+$a->strings["Unknown | Not categorised"] = "Sconosciuto | Senza categoria";
+$a->strings["Block immediately"] = "Blocca subito";
+$a->strings["Shady, spammer, self-marketer"] = "Spammer o dedito al marketing";
+$a->strings["Known to me, but no opinion"] = "Lo conosco, ma non ho un'opinione particolare";
+$a->strings["OK, probably harmless"] = "È ok, probabilmente innocuo";
+$a->strings["Reputable, has my trust"] = "Affidabile, ha la mia fiducia";
+$a->strings["Frequently"] = "Frequentemente";
+$a->strings["Hourly"] = "Ogni ora";
+$a->strings["Twice daily"] = "Due volte al giorno";
+$a->strings["Daily"] = "Ogni giorno";
+$a->strings["Weekly"] = "Ogni settimana";
+$a->strings["Monthly"] = "Ogni mese";
+$a->strings["Friendica"] = "Friendica";
+$a->strings["OStatus"] = "OStatus";
+$a->strings["RSS/Atom"] = "RSS/Atom";
+$a->strings["Email"] = "Email";
+$a->strings["Diaspora"] = "Diaspora";
+$a->strings["Facebook"] = "Facebook";
+$a->strings["Zot!"] = "Zot!";
+$a->strings["LinkedIn"] = "LinkedIn";
+$a->strings["XMPP/IM"] = "XMPP/IM";
+$a->strings["MySpace"] = "MySpace";
+$a->strings["Add New Connection"] = "Aggiungi un contatto";
+$a->strings["Enter the channel address"] = "Scrivi l'indirizzo del canale";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Per esempio: mario@pippo.it oppure http://pluto.com/barbara";
+$a->strings["%d invitation available"] = array(
+ 0 => "%d invito disponibile",
+ 1 => "%d inviti disponibili",
+);
+$a->strings["Find Channels"] = "Ricerca canali";
+$a->strings["Enter name or interest"] = "Scrivi un nome o un interesse";
+$a->strings["Connect/Follow"] = "Segui";
+$a->strings["Examples: Robert Morgenstein, Fishing"] = "Per esempio: Mario Rossi, Pesca";
+$a->strings["Find"] = "Cerca";
+$a->strings["Channel Suggestions"] = "Canali suggeriti";
+$a->strings["Similar Interests"] = "Interessi simili";
+$a->strings["Random Profile"] = "Profilo casuale";
+$a->strings["Invite Friends"] = "Invita amici";
+$a->strings["Saved Folders"] = "Cartelle salvate";
+$a->strings["Everything"] = "Tutto";
+$a->strings["Categories"] = "Categorie";
+$a->strings["%d connection in common"] = array(
+ 0 => "%d contatto in comune",
+ 1 => "%d contatti in comune",
+);
+$a->strings["show more"] = "mostra tutti";
+$a->strings["Miscellaneous"] = "Altro";
+$a->strings["year"] = "anno";
+$a->strings["month"] = "mese";
+$a->strings["day"] = "giorno";
+$a->strings["never"] = "mai";
+$a->strings["less than a second ago"] = "meno di un secondo fa";
+$a->strings["years"] = "anni";
+$a->strings["months"] = "mesi";
+$a->strings["week"] = "settimana";
+$a->strings["weeks"] = "settimane";
+$a->strings["days"] = "giorni";
+$a->strings["hour"] = "ora";
+$a->strings["hours"] = "ore";
+$a->strings["minute"] = "minuto";
+$a->strings["minutes"] = "minuti";
+$a->strings["second"] = "secondo";
+$a->strings["seconds"] = "secondi";
+$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s fa";
+$a->strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'";
+$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
+$a->strings["Starts:"] = "Inizio:";
+$a->strings["Finishes:"] = "Fine:";
+$a->strings["Location:"] = "Luogo:";
+$a->strings["General Features"] = "Funzionalità generali";
+$a->strings["Multiple Profiles"] = "Profili multipli";
+$a->strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
+$a->strings["Web Pages"] = "Pagine web";
+$a->strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale";
+$a->strings["Enhanced Photo Albums"] = "Album fotografici avanzati";
+$a->strings["Enable photo album with enhanced features"] = "Abilita gli album fotografici con funzionalità avanzate";
+$a->strings["Extended Identity Sharing"] = "Condivisione avanzata dell'identità";
+$a->strings[" "] = " ";
+$a->strings["Expert Mode"] = "Modalità esperto";
+$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate";
+$a->strings["Premium Channel"] = "Canale premium";
+$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di imporre delle restrizioni e dei termini d'uso a chi segue il canale";
+$a->strings["Post Composition Features"] = "Modalità di scrittura articoli";
+$a->strings["Richtext Editor"] = "Editor grafico";
+$a->strings["Enable richtext editor"] = "Abilita l'editor grafico";
+$a->strings["Post Preview"] = "Anteprima articolo";
+$a->strings["Allow previewing posts and comments before publishing them"] = "Abilita l'anteprima degli articoli e dei commenti prima di pubblicarli";
+$a->strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
+$a->strings["Search by Date"] = "Ricerca per data";
+$a->strings["Ability to select posts by date ranges"] = "Per selezionare gli articoli in un intervallo tra date";
+$a->strings["Collections Filter"] = "Filtra per insiemi di canali";
+$a->strings["Enable widget to display Network posts only from selected collections"] = "Mostra il riquadro per filtrare gli articoli di certi insiemi di canali";
+$a->strings["Saved Searches"] = "Ricerche salvate";
+$a->strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
+$a->strings["Network Personal Tab"] = "Attività personale";
+$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito";
+$a->strings["Network New Tab"] = "Contenuti nuovi";
+$a->strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
+$a->strings["Affinity Tool"] = "Filtro per affinità";
+$a->strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
+$a->strings["Post/Comment Tools"] = "Gestione articoli e commenti";
+$a->strings["Multiple Deletion"] = "Eliminazione multipla";
+$a->strings["Select and delete multiple posts/comments at once"] = "Rendi possibile l'eliminazione di molti articoli o commenti con un solo comando";
+$a->strings["Edit Sent Posts"] = "Modifica gli articoli già inviati";
+$a->strings["Edit and correct posts and comments after sending"] = "Modifica e correggi gli articoli o i commenti anche dopo l'invio";
+$a->strings["Tagging"] = "Tag";
+$a->strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su articoli già esistenti";
+$a->strings["Post Categories"] = "Categorie degli articoli";
+$a->strings["Add categories to your posts"] = "Abilita le categorie per i tuoi articoli";
+$a->strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle";
+$a->strings["Dislike Posts"] = "Non mi piace";
+$a->strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi articoli";
+$a->strings["Star Posts"] = "Articoli stella (preferiti)";
+$a->strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per scegliere gli articoli preferiti";
+$a->strings["Tag Cloud"] = "Nuvola di tag";
+$a->strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
+$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso.";
+$a->strings["Default privacy group for new contacts"] = "Insieme predefinito per i nuovi canali che aggiungi";
+$a->strings["All Channels"] = "Tutti i canali";
+$a->strings["edit"] = "modifica";
+$a->strings["Collections"] = "Insiemi di canali";
+$a->strings["Edit collection"] = "Modifica l'insieme di canali";
+$a->strings["Create a new collection"] = "Crea un nuovo insieme";
+$a->strings["Channels not in any collection"] = "Canali che non sono in un insieme";
+$a->strings["add"] = "aggiungi";
+$a->strings["Delete this item?"] = "Eliminare questo elemento?";
+$a->strings["Comment"] = "Commento";
+$a->strings["show fewer"] = "riduci";
+$a->strings["Password too short"] = "Password troppo corta";
+$a->strings["Passwords do not match"] = "Le password non corrispondono";
+$a->strings["everybody"] = "tutti";
+$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+$a->strings["timeago.suffixAgo"] = "timeago.suffixAgo";
+$a->strings["ago"] = "fa";
+$a->strings["from now"] = "da adesso";
+$a->strings["less than a minute"] = "meno di un minuto";
+$a->strings["about a minute"] = "circa un minuto";
+$a->strings["%d minutes"] = "%d minuti";
+$a->strings["about an hour"] = "circa un’ora";
+$a->strings["about %d hours"] = "circa %d ore";
+$a->strings["a day"] = "un giorno";
+$a->strings["%d days"] = "%d giorni";
+$a->strings["about a month"] = "circa un mese";
+$a->strings["%d months"] = "%d mesi";
+$a->strings["about a year"] = "circa un anno";
+$a->strings["%d years"] = "%d anni";
+$a->strings["timeago.numbers"] = "timeago.numbers";
+$a->strings["No recipient provided."] = "Devi scegliere un destinatario.";
+$a->strings["[no subject]"] = "[nessun titolo]";
+$a->strings["Unable to determine sender."] = "Impossibile determinare il mittente.";
+$a->strings["Stored post could not be verified."] = "Non è stato possibile verificare l'articolo inserito.";
+$a->strings["view full size"] = "guarda nelle dimensioni reali";
+$a->strings["Profile Photos"] = "Foto del profilo";
+$a->strings["Profile"] = "Profilo";
+$a->strings["Full Name:"] = "Nome completo:";
+$a->strings["Gender:"] = "Sesso:";
+$a->strings["j F, Y"] = "j F Y";
+$a->strings["j F"] = "j F";
+$a->strings["Birthday:"] = "Compleanno:";
+$a->strings["Age:"] = "Età:";
+$a->strings["Status:"] = "Stato:";
+$a->strings["for %1\$d %2\$s"] = "per %1\$d %2\$s";
+$a->strings["Sexual Preference:"] = "Preferenze sessuali:";
+$a->strings["Homepage:"] = "Homepage:";
+$a->strings["Hometown:"] = "Città dove vivo:";
+$a->strings["Tags:"] = "Tag:";
+$a->strings["Political Views:"] = "Orientamento politico:";
+$a->strings["Religion:"] = "Religione:";
+$a->strings["About:"] = "Informazioni:";
+$a->strings["Hobbies/Interests:"] = "Interessi e hobby:";
+$a->strings["Likes:"] = "Mi piace:";
+$a->strings["Dislikes:"] = "Non mi piace:";
+$a->strings["Contact information and Social Networks:"] = "Contatti e social network:";
+$a->strings["Musical interests:"] = "Gusti musicali:";
+$a->strings["Books, literature:"] = "Libri, letteratura:";
+$a->strings["Television:"] = "Televisione:";
+$a->strings["Film/dance/culture/entertainment:"] = "Film, danza, cultura, intrattenimento:";
+$a->strings["Love/Romance:"] = "Amore:";
+$a->strings["Work/employment:"] = "Lavoro:";
+$a->strings["School/education:"] = "Scuola:";
+$a->strings["Logout"] = "Esci";
+$a->strings["End this session"] = "Chiudi questa sessione";
+$a->strings["Home"] = "Bacheca";
+$a->strings["Your posts and conversations"] = "I tuoi articoli e conversazioni";
+$a->strings["Your profile page"] = "Il tuo profilo";
+$a->strings["Edit Profiles"] = "Modifica i profili";
+$a->strings["Manage/Edit Profiles"] = "Gestisci e modifica i profili";
+$a->strings["Photos"] = "Foto";
+$a->strings["Your photos"] = "Le tue foto";
+$a->strings["Login"] = "Accedi";
+$a->strings["Sign in"] = "Entra";
+$a->strings["%s - click to logout"] = "%s - clicca per uscire";
+$a->strings["Click to authenticate to your home hub"] = "Clicca per autenticarti sul tuo server principale";
+$a->strings["Home Page"] = "Bacheca";
+$a->strings["Register"] = "Iscriviti";
+$a->strings["Create an account"] = "Crea un account";
$a->strings["Help"] = "Guida";
-$a->strings["Not Found"] = "Non trovato";
-$a->strings["Page not found."] = "Pagina non trovata.";
-$a->strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
-$a->strings["File upload failed."] = "Caricamento del file non riuscito.";
-$a->strings["Friend suggestion sent."] = "Suggerimento di amicizia inviato.";
-$a->strings["Suggest Friends"] = "Suggerisci amici";
-$a->strings["Suggest a friend for %s"] = "Suggerisci un amico a %s";
-$a->strings["Event title and start time are required."] = "";
-$a->strings["l, F j"] = "l j F";
-$a->strings["Edit event"] = "Modifca l'evento";
-$a->strings["link to source"] = "Collegamento all'originale";
+$a->strings["Help and documentation"] = "Guida e documentazione";
+$a->strings["Apps"] = "Apps";
+$a->strings["Addon applications, utilities, games"] = "App, strumenti e giochi aggiuntivi";
+$a->strings["Search"] = "Cerca";
+$a->strings["Search site content"] = "Cerca nel sito";
+$a->strings["Directory"] = "Tutti i canali";
+$a->strings["Channel Locator"] = "Ricerca canali";
+$a->strings["Matrix"] = "Matrix";
+$a->strings["Conversations from your grid"] = "Le conversazioni dalla tua rete di contatti";
+$a->strings["See all matrix notifications"] = "Guarda le notifiche della tua rete di contatti";
+$a->strings["Mark all matrix notifications seen"] = "Segna come lette le notifiche della tua rete";
+$a->strings["See all channel notifications"] = "Guarda le notifiche dei canali";
+$a->strings["Mark all channel notifications seen"] = "Segna come lette le notifiche dei canali";
+$a->strings["Intros"] = "Richieste";
+$a->strings["New Connections"] = "Nuovi contatti";
+$a->strings["See all channel introductions"] = "Guarda tutte le richieste di amicizia";
+$a->strings["Notices"] = "Notifiche";
+$a->strings["Notifications"] = "Notifiche";
+$a->strings["See all notifications"] = "Vedi tutte le notifiche";
+$a->strings["Mark all system notifications seen"] = "Segna come lette le notifiche di sistema";
+$a->strings["Mail"] = "Messaggi";
+$a->strings["Private mail"] = "Messaggi privati";
+$a->strings["See all private messages"] = "Guarda tutti i messaggi privati";
+$a->strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati";
+$a->strings["Inbox"] = "In arrivo";
+$a->strings["Outbox"] = "Inviati";
+$a->strings["New Message"] = "Nuovo messaggio";
$a->strings["Events"] = "Eventi";
-$a->strings["Create New Event"] = "Crea un nuovo evento";
-$a->strings["Previous"] = "Precendente";
-$a->strings["Next"] = "Successivo";
-$a->strings["hour:minute"] = "ora:minuti";
-$a->strings["Event details"] = "Dettagli dell'evento";
-$a->strings["Format is %s %s. Starting date and Title are required."] = "";
-$a->strings["Event Starts:"] = "L'evento inizia:";
-$a->strings["Required"] = "";
-$a->strings["Finish date/time is not known or not relevant"] = "La data/ora di fine non è definita";
-$a->strings["Event Finishes:"] = "L'evento finisce:";
-$a->strings["Adjust for viewer timezone"] = "Visualizza con il fuso orario di chi legge";
-$a->strings["Description:"] = "Descrizione:";
-$a->strings["Location:"] = "Posizione:";
-$a->strings["Title:"] = "";
-$a->strings["Share this event"] = "Condividi questo evento";
-$a->strings["Cancel"] = "Annulla";
-$a->strings["Tag removed"] = "Tag rimosso";
-$a->strings["Remove Item Tag"] = "Rimuovi il tag";
-$a->strings["Select a tag to remove: "] = "Seleziona un tag da rimuovere: ";
-$a->strings["Remove"] = "Rimuovi";
-$a->strings["%s welcomes %s"] = "%s dà il benvenuto a %s";
-$a->strings["Authorize application connection"] = "Autorizza la connessione dell'applicazione";
-$a->strings["Return to your app and insert this Securty Code:"] = "Torna alla tua applicazione e inserisci questo codice di sicurezza:";
-$a->strings["Please login to continue."] = "Effettua il login per continuare.";
-$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa applicazione per accedere ai messaggi e ai contatti, e / o creare nuovi messaggi per te?";
-$a->strings["Yes"] = "Si";
-$a->strings["No"] = "No";
+$a->strings["Event Calendar"] = "Calendario";
+$a->strings["See all events"] = "Guarda tutti gli eventi";
+$a->strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
+$a->strings["Channel Select"] = "Gestisci i canali";
+$a->strings["Manage Your Channels"] = "Gestisci i contatti dei tuoi canali";
+$a->strings["Settings"] = "Impostazioni";
+$a->strings["Account/Channel Settings"] = "Impostazioni account e canali";
+$a->strings["Connections"] = "Contatti";
+$a->strings["Manage/Edit Friends and Connections"] = "Modifica amici e contatti";
+$a->strings["Admin"] = "Amministrazione";
+$a->strings["Site Setup and Configuration"] = "Configurazione del sito";
+$a->strings["Nothing new here"] = "Niente di nuovo qui";
+$a->strings["Please wait..."] = "Attendere...";
+$a->strings["created a new post"] = "Ha creato un nuovo articolo";
+$a->strings["commented on %s's post"] = "ha commentato l'articolo di %s";
+$a->strings["Embedded content"] = "Contenuti incorporati";
+$a->strings["Embedding disabled"] = "Contenuti incorporati - funzione disabilitata";
+$a->strings["Permission denied."] = "Permesso negato.";
+$a->strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes";
+$a->strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
+$a->strings["Unable to process image"] = "Impossibile elaborare l'immagine";
+$a->strings["Photo storage failed."] = "Impossibile caricare la foto.";
$a->strings["Photo Albums"] = "Album foto";
-$a->strings["Contact Photos"] = "Foto dei contatti";
$a->strings["Upload New Photos"] = "Carica nuove foto";
-$a->strings["everybody"] = "tutti";
-$a->strings["Contact information unavailable"] = "I dati di questo contatto non sono disponibili";
-$a->strings["Profile Photos"] = "Foto del profilo";
-$a->strings["Album not found."] = "Album non trovato.";
-$a->strings["Delete Album"] = "Rimuovi album";
-$a->strings["Delete Photo"] = "Rimuovi foto";
-$a->strings["was tagged in a"] = "è stato taggato in una";
-$a->strings["photo"] = "foto";
-$a->strings["by"] = "da";
-$a->strings["Image exceeds size limit of "] = "L'immagine supera il limite di";
-$a->strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
-$a->strings["Unable to process image."] = "Impossibile caricare l'immagine.";
-$a->strings["Image upload failed."] = "Caricamento immagine fallito.";
-$a->strings["Public access denied."] = "Accesso negato.";
-$a->strings["No photos selected"] = "Nessuna foto selezionata";
-$a->strings["Access to this item is restricted."] = "Questo oggetto non è visibile a tutti.";
-$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "";
-$a->strings["You have used %1$.2f Mbytes of photo storage."] = "";
-$a->strings["Upload Photos"] = "Carica foto";
-$a->strings["New album name: "] = "Nome nuovo album: ";
-$a->strings["or existing album name: "] = "o nome di un album esistente: ";
-$a->strings["Do not show a status post for this upload"] = "Non creare un post per questo upload";
-$a->strings["Permissions"] = "Permessi";
-$a->strings["Edit Album"] = "Modifica album";
-$a->strings["Show Newest First"] = "";
-$a->strings["Show Oldest First"] = "";
-$a->strings["View Photo"] = "Vedi foto";
-$a->strings["Permission denied. Access to this item may be restricted."] = "Permesso negato. L'accesso a questo elemento può essere limitato.";
-$a->strings["Photo not available"] = "Foto non disponibile";
-$a->strings["View photo"] = "Vedi foto";
-$a->strings["Edit photo"] = "Modifica foto";
-$a->strings["Use as profile photo"] = "Usa come foto del profilo";
+$a->strings["Male"] = "Maschio";
+$a->strings["Female"] = "Femmina";
+$a->strings["Currently Male"] = "Al momento maschio";
+$a->strings["Currently Female"] = "Al momento femmina";
+$a->strings["Mostly Male"] = "Prevalentemente maschio";
+$a->strings["Mostly Female"] = "Prevalentemente femmina";
+$a->strings["Transgender"] = "Transgender";
+$a->strings["Intersex"] = "Intersex";
+$a->strings["Transsexual"] = "Transessuale";
+$a->strings["Hermaphrodite"] = "Ermafrodito";
+$a->strings["Neuter"] = "Neutro";
+$a->strings["Non-specific"] = "Non specificato";
+$a->strings["Other"] = "Altro";
+$a->strings["Undecided"] = "Indeciso";
+$a->strings["Males"] = "Maschi";
+$a->strings["Females"] = "Femmine";
+$a->strings["Gay"] = "Gay";
+$a->strings["Lesbian"] = "Lesbica";
+$a->strings["No Preference"] = "Senza preferenza";
+$a->strings["Bisexual"] = "Bisessuale";
+$a->strings["Autosexual"] = "Autosessuale";
+$a->strings["Abstinent"] = "Astinente";
+$a->strings["Virgin"] = "Vergine";
+$a->strings["Deviant"] = "Deviato";
+$a->strings["Fetish"] = "Feticista";
+$a->strings["Oodles"] = "Un sacco";
+$a->strings["Nonsexual"] = "Asessuato";
+$a->strings["Single"] = "Single";
+$a->strings["Lonely"] = "Da solo";
+$a->strings["Available"] = "Disponibile";
+$a->strings["Unavailable"] = "Non disponibile";
+$a->strings["Has crush"] = "Ha una cotta";
+$a->strings["Infatuated"] = "Infatuato/a";
+$a->strings["Dating"] = "Disponibile a un incontro";
+$a->strings["Unfaithful"] = "Infedele";
+$a->strings["Sex Addict"] = "Sesso-dipendente";
+$a->strings["Friends"] = "Amici";
+$a->strings["Friends/Benefits"] = "Amici piccanti";
+$a->strings["Casual"] = "Casual";
+$a->strings["Engaged"] = "Impegnato";
+$a->strings["Married"] = "Sposato/a";
+$a->strings["Imaginarily married"] = "Sogna il matrimonio";
+$a->strings["Partners"] = "Partner";
+$a->strings["Cohabiting"] = "Convivente";
+$a->strings["Common law"] = "Matrimonio regolare";
+$a->strings["Happy"] = "Felice";
+$a->strings["Not looking"] = "Non in cerca";
+$a->strings["Swinger"] = "Scambista";
+$a->strings["Betrayed"] = "Tradito/a";
+$a->strings["Separated"] = "Separato/a";
+$a->strings["Unstable"] = "Instabile";
+$a->strings["Divorced"] = "Divorziato/a";
+$a->strings["Imaginarily divorced"] = "Sogna il divorzio";
+$a->strings["Widowed"] = "Vedovo/a";
+$a->strings["Uncertain"] = "Incerto/a";
+$a->strings["It's complicated"] = "Relazione complicata";
+$a->strings["Don't care"] = "Chi se ne frega";
+$a->strings["Ask me"] = "Chiedimelo";
+$a->strings["Unable to obtain identity information from database"] = "Impossibile ottenere le informazioni di identificazione dal database";
+$a->strings["Empty name"] = "Nome vuoto";
+$a->strings["Name too long"] = "Nome troppo lungo";
+$a->strings["No account identifier"] = "Account senza identificativo";
+$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Il nome dell'account è già in uso oppure ha dei caratteri non supportati.";
+$a->strings["Unable to retrieve created identity"] = "Impossibile caricare l'identità creata";
+$a->strings["Default Profile"] = "Profilo predefinito";
+$a->strings["Click here to upgrade."] = "Clicca qui per aggiornare.";
+$a->strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione esce dai termini del tuo abbonamento.";
+$a->strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento.";
+$a->strings["Invalid data packet"] = "Dati non validi";
+$a->strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
+$a->strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
+$a->strings["Not a valid email address"] = "Email non valida";
+$a->strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito";
+$a->strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito.";
+$a->strings["An invitation is required."] = "È necessario un invito.";
+$a->strings["Invitation could not be verified."] = "L'invito non può essere verificato.";
+$a->strings["Please enter the required information."] = "Inserisci le informazioni richieste.";
+$a->strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account.";
+$a->strings["Registration request at %s"] = "Richiesta di registrazione su %s";
+$a->strings["Administrator"] = "Amministratore";
+$a->strings["your registration password"] = "la password di registrazione";
+$a->strings["Registration details for %s"] = "Dettagli della registrazione di %s";
+$a->strings["Account approved."] = "Account approvato.";
+$a->strings["Registration revoked for %s"] = "Registrazione revocata per %s";
+$a->strings["Image/photo"] = "Immagine";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s seguente %3\$s";
+$a->strings["post"] = "l'articolo";
+$a->strings["$1 wrote:"] = "$1 ha scritto:";
+$a->strings["Encrypted content"] = "Contenuto crittografato";
+$a->strings["prev"] = "prec";
+$a->strings["first"] = "inizio";
+$a->strings["last"] = "fine";
+$a->strings["next"] = "succ";
+$a->strings["older"] = "più recenti";
+$a->strings["newer"] = "più nuovi";
+$a->strings["No connections"] = "Nessun contatto";
+$a->strings["%d Connection"] = array(
+ 0 => "%d contatto",
+ 1 => "%d contatti",
+);
+$a->strings["View Connections"] = "Elenco contatti";
+$a->strings["Save"] = "Salva";
+$a->strings["poke"] = "poke";
+$a->strings["poked"] = "ha ricevuto un poke";
+$a->strings["ping"] = "ping";
+$a->strings["pinged"] = "ha ricevuto un ping";
+$a->strings["prod"] = "prod";
+$a->strings["prodded"] = "ha ricevuto un prod";
+$a->strings["slap"] = "schiaffo";
+$a->strings["slapped"] = "ha ricevuto uno schiaffo";
+$a->strings["finger"] = "finger";
+$a->strings["fingered"] = "ha ricevuto un finger";
+$a->strings["rebuff"] = "rifiuto";
+$a->strings["rebuffed"] = "ha ricevuto un rifiuto";
+$a->strings["happy"] = "allegro";
+$a->strings["sad"] = "triste";
+$a->strings["mellow"] = "calmo";
+$a->strings["tired"] = "stanco";
+$a->strings["perky"] = "vivace";
+$a->strings["angry"] = "arrabbiato";
+$a->strings["stupified"] = "stordito";
+$a->strings["puzzled"] = "confuso";
+$a->strings["interested"] = "attento";
+$a->strings["bitter"] = "amaro";
+$a->strings["cheerful"] = "allegro";
+$a->strings["alive"] = "vivace";
+$a->strings["annoyed"] = "seccato";
+$a->strings["anxious"] = "ansioso";
+$a->strings["cranky"] = "irritabile";
+$a->strings["disturbed"] = "turbato";
+$a->strings["frustrated"] = "frustrato";
+$a->strings["motivated"] = "motivato";
+$a->strings["relaxed"] = "rilassato";
+$a->strings["surprised"] = "sorpreso";
+$a->strings["Monday"] = "lunedì";
+$a->strings["Tuesday"] = "martedì";
+$a->strings["Wednesday"] = "mercoledì";
+$a->strings["Thursday"] = "giovedì";
+$a->strings["Friday"] = "venerdì";
+$a->strings["Saturday"] = "sabato";
+$a->strings["Sunday"] = "domenica";
+$a->strings["January"] = "gennaio";
+$a->strings["February"] = "febbraio";
+$a->strings["March"] = "marzo";
+$a->strings["April"] = "aprile";
+$a->strings["May"] = "maggio";
+$a->strings["June"] = "giugno";
+$a->strings["July"] = "luglio";
+$a->strings["August"] = "agosto";
+$a->strings["September"] = "settembre";
+$a->strings["October"] = "ottobre";
+$a->strings["November"] = "novembre";
+$a->strings["December"] = "dicembre";
+$a->strings["unknown.???"] = "sconosciuto???";
+$a->strings["bytes"] = "byte";
+$a->strings["remove"] = "rimuovi";
+$a->strings["[remove]"] = "[rimuovi]";
+$a->strings["Categories:"] = "Categorie:";
+$a->strings["Filed under:"] = "Classificato come:";
+$a->strings["Click to open/close"] = "Clicca per aprire/chiudere";
+$a->strings["link to source"] = "Link all'originale";
+$a->strings["default"] = "predefinito";
+$a->strings["Select an alternate language"] = "Seleziona una lingua diversa";
+$a->strings["photo"] = "la foto";
+$a->strings["event"] = "l'evento";
+$a->strings["status"] = "il messaggio di stato";
+$a->strings["comment"] = "il commento";
+$a->strings["activity"] = "l'attività";
+$a->strings["New Page"] = "Nuova pagina web";
+$a->strings["Logged out."] = "Uscita effettuata.";
+$a->strings["Failed authentication"] = "Autenticazione fallita";
+$a->strings["Login failed."] = "Accesso fallito.";
+$a->strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
+$a->strings["Channel location missing."] = "Manca l'indirizzo del canale.";
+$a->strings["Channel discovery failed. Website may be down or misconfigured."] = "La ricerca del canale è fallita. Il sito potrebbe avere problemi o una configurazione sbagliata.";
+$a->strings["Response from remote channel was not understood."] = "La risposta dal canale non è comprensibile.";
+$a->strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
+$a->strings["local account not found."] = "l'account locale non è stato trovato.";
+$a->strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
+$a->strings["Can view my \"public\" stream and posts"] = "Può vedere i miei contenuti \"pubblici\"";
+$a->strings["Can view my \"public\" channel profile"] = "Può vedere il profilo del mio canale \"pubblico\"";
+$a->strings["Can view my \"public\" photo albums"] = "Può vedere il mio album fotografico \"pubblico\"";
+$a->strings["Can view my \"public\" address book"] = "Può vedere il mio elenco contatti \"pubblico\"";
+$a->strings["Can view my \"public\" file storage"] = "Può vedere il mio archivio file \"pubblico\"";
+$a->strings["Can view my \"public\" pages"] = "Può vedere le mie pagine web \"pubbliche\"";
+$a->strings["Can send me their channel stream and posts"] = "Può mostrarmi i contenuti del canale e gli articoli";
+$a->strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale";
+$a->strings["Can comment on my posts"] = "Può commentare i miei articoli";
+$a->strings["Can send me private mail messages"] = "Può inviarmi messaggi privati";
+$a->strings["Can post photos to my photo albums"] = "Può aggiungere foto ai miei album";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare articoli a tutti i contatti del canale tramite una @menzione";
+$a->strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione";
+$a->strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)";
+$a->strings["Requires compatible chat plugin"] = "Necessita di un plugin di chat compatibile";
+$a->strings["Can write to my \"public\" file storage"] = "Può scrivere sul mio archivio di file \"pubblico\"";
+$a->strings["Can edit my \"public\" pages"] = "Può modificare le mie pagine web \"pubbliche\"";
+$a->strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
+$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
+$a->strings["Tags"] = "Tag";
+$a->strings["have"] = "ho";
+$a->strings["has"] = "ha";
+$a->strings["want"] = "voglio";
+$a->strings["wants"] = "vuole";
+$a->strings["like"] = "mi piace";
+$a->strings["likes"] = "ama";
+$a->strings["dislike"] = "non mi piace";
+$a->strings["dislikes"] = "non ama";
+$a->strings["Item was not found."] = "Elemento non trovato.";
+$a->strings["No source file."] = "Nessun file di origine.";
+$a->strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato";
+$a->strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato";
+$a->strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
+$a->strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe aver superato i limiti o l'azione potrebbe essere stata interrotta.";
+$a->strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito.";
+$a->strings["Path not available."] = "Percorso non disponibile.";
$a->strings["Private Message"] = "Messaggio privato";
-$a->strings["View Full Size"] = "Vedi dimensione intera";
-$a->strings["Tags: "] = "Tag: ";
-$a->strings["[Remove any tag]"] = "[Rimuovi tutti i tag]";
-$a->strings["Rotate CW (right)"] = "";
-$a->strings["Rotate CCW (left)"] = "";
-$a->strings["New album name"] = "Nuovo nome dell'album";
-$a->strings["Caption"] = "Titolo";
-$a->strings["Add a Tag"] = "Aggiungi tag";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Esempio: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping";
-$a->strings["I like this (toggle)"] = "Mi piace (clic per cambiare)";
-$a->strings["I don't like this (toggle)"] = "Non mi piace (clic per cambiare)";
-$a->strings["Share"] = "Condividi";
-$a->strings["Please wait"] = "Attendi";
+$a->strings["Edit"] = "Modifica";
+$a->strings["Delete"] = "Elimina";
+$a->strings["Select"] = "Seleziona";
+$a->strings["save to folder"] = "salva in una cartella";
+$a->strings["add star"] = "aggiungi ai preferiti";
+$a->strings["remove star"] = "rimuovi dai preferiti";
+$a->strings["toggle star status"] = "Attiva/disattiva preferito";
+$a->strings["starred"] = "preferito";
+$a->strings["add tag"] = "Aggiungi tag";
+$a->strings["I like this (toggle)"] = "Attiva/disattiva Mi piace";
+$a->strings["I don't like this (toggle)"] = "Attiva/disattiva Non mi piace";
+$a->strings["Share this"] = "Condividi";
+$a->strings["share"] = "condividi";
+$a->strings["View %s's profile - %s"] = "Guarda il profilo di %s - %s";
+$a->strings["to"] = "a";
+$a->strings["Wall-to-Wall"] = "Da bacheca a bacheca";
+$a->strings["via Wall-To-Wall:"] = "da bacheca a bacheca:";
+$a->strings[" from %s"] = " da %s";
+$a->strings["Please wait"] = "Attendere";
+$a->strings["%d comment"] = array(
+ 0 => "%d commento",
+ 1 => "%d commenti",
+);
$a->strings["This is you"] = "Questo sei tu";
-$a->strings["Comment"] = "Commento";
+$a->strings["Submit"] = "Salva";
+$a->strings["Bold"] = "Grassetto";
+$a->strings["Italic"] = "Corsivo";
+$a->strings["Underline"] = "Sottolineato";
+$a->strings["Quote"] = "Citazione";
+$a->strings["Code"] = "Codice";
+$a->strings["Image"] = "Immagine";
+$a->strings["Link"] = "Link";
+$a->strings["Video"] = "Video";
$a->strings["Preview"] = "Anteprima";
-$a->strings["Delete"] = "Rimuovi";
-$a->strings["View Album"] = "Sfoglia l'album";
-$a->strings["Recent Photos"] = "Foto recenti";
-$a->strings["Not available."] = "Non disponibile.";
-$a->strings["Community"] = "Comunità";
-$a->strings["No results."] = "Nessun risultato.";
-$a->strings["This is Friendica, version"] = "Questo è Friendica, versione";
-$a->strings["running at web location"] = "in esecuzione sull'indirizzo web";
-$a->strings["Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn more about the Friendica project."] = "Visita <a href=\"http://friendica.com\">Friendica.com</a> per saperne di più sul progetto Friendica.";
-$a->strings["Bug reports and issues: please visit"] = "Segnalazioni di bug e problemi: visita";
-$a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - dot com"] = "Suggerimenti, lodi, donazioni, ecc - e-mail a \"Info\" at Friendica punto com";
-$a->strings["Installed plugins/addons/apps:"] = "Plugin/addon/applicazioni instalate";
-$a->strings["No installed plugins/addons/apps"] = "Nessun plugin/addons/applicazione installata";
-$a->strings["Item not found"] = "Oggetto non trovato";
-$a->strings["Edit post"] = "Modifica messaggio";
-$a->strings["Post to Email"] = "Invia a email";
-$a->strings["Edit"] = "Modifica";
+$a->strings["channel"] = "canale";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
+$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s non piace %3\$s di %2\$s";
+$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s adesso è connesso con %2\$s";
+$a->strings["%1\$s poked %2\$s"] = "%1\$s ha mandato un poke a %2\$s";
+$a->strings["%1\$s is currently %2\$s"] = "%1\$s al momento è %2\$s";
+$a->strings["View %s's profile @ %s"] = "Vedi il profilo di %s @ %s";
+$a->strings["View in context"] = "Vedi nel contesto";
+$a->strings["Loading..."] = "Caricamento in corso...";
+$a->strings["Delete Selected Items"] = "Elimina gli oggetti selezionati";
+$a->strings["Follow Thread"] = "Segui la discussione";
+$a->strings["%s likes this."] = "Piace a %s.";
+$a->strings["%s doesn't like this."] = "Non piace a %s.";
+$a->strings["<span %1\$s>%2\$d people</span> like this."] = "Piace a <span %1\$s>%2\$d persone</span>.";
+$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = "Non piace a <span %1\$s>%2\$d persone</span>.";
+$a->strings["and"] = "e";
+$a->strings[", and %d other people"] = "e altre %d persone";
+$a->strings["%s like this."] = "Piace a %s.";
+$a->strings["%s don't like this."] = "Non piace a %s.";
+$a->strings["Visible to <strong>everybody</strong>"] = "Visibile a <strong>tutti</strong>";
+$a->strings["Please enter a link URL:"] = "Inserisci l'indirizzo del link:";
+$a->strings["Please enter a video link/URL:"] = "Inserisci l'indirizzo del video:";
+$a->strings["Please enter an audio link/URL:"] = "Inserisci l'indirizzo dell'audio:";
+$a->strings["Tag term:"] = "Tag:";
+$a->strings["Save to Folder:"] = "Salva nella cartella:";
+$a->strings["Where are you right now?"] = "Dove sei ora?";
+$a->strings["Share"] = "Condividi";
+$a->strings["Page link title"] = "Titolo del link";
$a->strings["Upload photo"] = "Carica foto";
+$a->strings["upload photo"] = "carica foto";
$a->strings["Attach file"] = "Allega file";
-$a->strings["Insert web link"] = "Inserisci link";
-$a->strings["Insert YouTube video"] = "Inserisci video da YouTube";
-$a->strings["Insert Vorbis [.ogg] video"] = "Inserisci video Vorbis [.ogg]";
-$a->strings["Insert Vorbis [.ogg] audio"] = "Inserisci audio Vorbis [.ogg]";
-$a->strings["Set your location"] = "La tua posizione";
-$a->strings["Clear browser location"] = "Rimuovi la localizzazione data dal browser";
-$a->strings["Permission settings"] = "Impostazioni permessi";
-$a->strings["CC: email addresses"] = "CC: indirizzi email";
-$a->strings["Public post"] = "Messaggio pubblico";
+$a->strings["attach file"] = "allega file";
+$a->strings["Insert web link"] = "Inserisci un indirizzo web";
+$a->strings["web link"] = "link web";
+$a->strings["Insert video link"] = "Inserisci l'indirizzo di un video";
+$a->strings["video link"] = "link video";
+$a->strings["Insert audio link"] = "Inserisci l'indirizzo di un audio";
+$a->strings["audio link"] = "link audio";
+$a->strings["Set your location"] = "La tua località";
+$a->strings["set location"] = "inserisci la località";
+$a->strings["Clear browser location"] = "Rimuovi la località data dal browser";
+$a->strings["clear location"] = "rimuovi la località";
$a->strings["Set title"] = "Scegli un titolo";
-$a->strings["Categories (comma-separated list)"] = "Categorie (lista separata da virgola)";
-$a->strings["Example: bob@example.com, mary@example.com"] = "Esempio: bob@example.com, mary@example.com";
-$a->strings["This introduction has already been accepted."] = "Questa presentazione è già stata accettata.";
-$a->strings["Profile location is not valid or does not contain profile information."] = "L'indirizzo del profilo non è valido o non contiene un profilo.";
-$a->strings["Warning: profile location has no identifiable owner name."] = "Attenzione: l'indirizzo del profilo non riporta il nome del proprietario.";
-$a->strings["Warning: profile location has no profile photo."] = "Attenzione: l'indirizzo del profilo non ha una foto.";
-$a->strings["%d required parameter was not found at the given location"] = array(
- 0 => "%d parametro richiesto non è stato trovato all'indirizzo dato",
- 1 => "%d parametri richiesti non sono stati trovati all'indirizzo dato",
+$a->strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)";
+$a->strings["Permission settings"] = "Impostazioni permessi";
+$a->strings["permissions"] = "permessi";
+$a->strings["Public post"] = "Articolo pubblico";
+$a->strings["Example: bob@example.com, mary@example.com"] = "Per esempio: mario@esempio.com, simona@esempio.com";
+$a->strings["Permission denied"] = "Permesso negato";
+$a->strings["Item not found."] = "Elemento non trovato.";
+$a->strings["Archives"] = "Archivi";
+$a->strings["Collection not found."] = "Insieme non trovato.";
+$a->strings["Collection has no members."] = "L'insieme è vuoto.";
+$a->strings["Connection not found."] = "Gruppo non trovato.";
+$a->strings["Welcome "] = "Ciao";
+$a->strings["Please upload a profile photo."] = "Carica una foto per il profilo!";
+$a->strings["Welcome back "] = "Ciao, è bello rivederti";
+$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."] = "L'identificativo di sicurezza del modulo che hai riempito non è corretto. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
+$a->strings["No channel."] = "Nessun canale.";
+$a->strings["Common connections"] = "Contatti in comune";
+$a->strings["No connections in common."] = "Nessun contatto in comune.";
+$a->strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento.";
+$a->strings["l, F j"] = "l j F";
+$a->strings["Edit event"] = "Modifica l'evento";
+$a->strings["Create New Event"] = "Crea un nuovo evento";
+$a->strings["Previous"] = "Precendente";
+$a->strings["Next"] = "Successivo";
+$a->strings["hour:minute"] = "ora:minuti";
+$a->strings["Event details"] = "Dettagli evento";
+$a->strings["Format is %s %s. Starting date and Title are required."] = "Il formato è %s %s. L'inizio e il titolo sono obbligatori.";
+$a->strings["Event Starts:"] = "Inizio:";
+$a->strings["Required"] = "Obbligatorio";
+$a->strings["Finish date/time is not known or not relevant"] = "La data/ora di fine non è rilevante";
+$a->strings["Event Finishes:"] = "Fine:";
+$a->strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge";
+$a->strings["Description:"] = "Descrizione:";
+$a->strings["Title:"] = "Titolo:";
+$a->strings["Share this event"] = "Condividi questo evento";
+$a->strings["Object store: failed"] = "Impossibile memorizzare l'oggetto.";
+$a->strings["thing/stuff added"] = "oggetto aggiunto";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+$a->strings["not yet implemented."] = "non ancora implementato.";
+$a->strings["Add Stuff to your Profile"] = "Aggiungi un oggetto al tuo profilo";
+$a->strings["Select a profile"] = "Scegli un profilo";
+$a->strings["Select a category of stuff. e.g. I ______ something"] = "Scegli come riferirsi all'oggetto. Esempio: Io _____ l'oggetto";
+$a->strings["Name of thing or stuff e.g. something"] = "Nome dell'oggetto";
+$a->strings["URL of thing or stuff (optional)"] = "Indirizzo web dell'oggetto (se cel'ha)";
+$a->strings["URL for photo of thing or stuff (optional)"] = "Indirizzo web della foto dell'oggetto (facoltativo)";
+$a->strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti.";
+$a->strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
+$a->strings["Please join us on Red"] = "Vieni con noi su Red";
+$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario.";
+$a->strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita.";
+$a->strings["%d message sent."] = array(
+ 0 => "%d messaggio inviato.",
+ 1 => "%d messaggi inviati.",
);
-$a->strings["Introduction complete."] = "Presentazione completa.";
-$a->strings["Unrecoverable protocol error."] = "Errore di comunicazione.";
-$a->strings["Profile unavailable."] = "Profilo non disponibile.";
-$a->strings["%s has received too many connection requests today."] = "%s ha ricevuto troppe richieste di connessione per oggi.";
-$a->strings["Spam protection measures have been invoked."] = "Sono state attivate le misure di protezione contro lo spam.";
-$a->strings["Friends are advised to please try again in 24 hours."] = "Gli amici sono pregati di riprovare tra 24 ore.";
-$a->strings["Invalid locator"] = "Invalid locator";
-$a->strings["Invalid email address."] = "Indirizzo email non valido.";
-$a->strings["This account has not been configured for email. Request failed."] = "";
-$a->strings["Unable to resolve your name at the provided location."] = "Impossibile risolvere il tuo nome nella posizione indicata.";
-$a->strings["You have already introduced yourself here."] = "Ti sei già presentato qui.";
-$a->strings["Apparently you are already friends with %s."] = "Pare che tu e %s siate già amici.";
-$a->strings["Invalid profile URL."] = "Indirizzo profilo non valido.";
-$a->strings["Disallowed profile URL."] = "Indirizzo profilo non permesso.";
-$a->strings["Failed to update contact record."] = "Errore nell'aggiornamento del contatto.";
-$a->strings["Your introduction has been sent."] = "La tua presentazione è stata inviata.";
-$a->strings["Please login to confirm introduction."] = "Accedi per confermare la presentazione.";
-$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Non hai fatto accesso con l'identità corretta. Accedi a <strong>questo</strong> profilo.";
-$a->strings["Hide this contact"] = "";
-$a->strings["Welcome home %s."] = "Bentornato a casa %s.";
-$a->strings["Please confirm your introduction/connection request to %s."] = "Conferma la tua richiesta di connessione con %s.";
-$a->strings["Confirm"] = "Conferma";
-$a->strings["[Name Withheld]"] = "[Nome Nascosto]";
-$a->strings["Please enter your 'Identity Address' from one of the following supported communications networks:"] = "Inserisci il tuo 'Indirizzo Identità' da uno dei seguenti network supportati:";
-$a->strings["<strike>Connect as an email follower</strike> (Coming soon)"] = "<strike>Connetti un email come follower</strike> (in arrivo)";
-$a->strings["If you are not yet a member of the free social web, <a href=\"http://dir.friendica.com/siteinfo\">follow this link to find a public Friendica site and join us today</a>."] = "Se non sei un membro del web sociale libero, <a href=\"http://dir.friendica.com/siteinfo\">segui questo link per trovare un sito Friendica pubblico e unisciti a noi oggi</a>";
-$a->strings["Friend/Connection Request"] = "Richieste di amicizia/connessione";
-$a->strings["Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"] = "Esempi: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca";
-$a->strings["Please answer the following:"] = "Rispondi:";
-$a->strings["Does %s know you?"] = "%s ti conosce?";
-$a->strings["Add a personal note:"] = "Aggiungi una nota personale:";
-$a->strings["Friendica"] = "Friendica";
-$a->strings["StatusNet/Federated Social Web"] = "StatusNet/Federated Social Web";
-$a->strings["Diaspora"] = "Diaspora";
-$a->strings[" - please do not use this form. Instead, enter %s into your Diaspora search bar."] = " - per favore non usare questa form. Invece, inserisci %s nella tua barra di ricerca su Diaspora.";
-$a->strings["Your Identity Address:"] = "L'indirizzo della tua identità:";
-$a->strings["Submit Request"] = "Invia richiesta";
-$a->strings["Friendica Social Communications Server - Setup"] = "Friendica Social Communications Server - Setup";
-$a->strings["Could not connect to database."] = " Impossibile collegarsi con il database.";
+$a->strings["You have no more invitations available"] = "Non hai altri inviti disponibili";
+$a->strings["Send invitations"] = "Spedisci inviti";
+$a->strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
+$a->strings["Your message:"] = "Il tuo messaggio:";
+$a->strings["You are cordially invited to join me and some other close friends on the Red Matrix - a revolutionary new decentralised social and information tool."] = "Questo è un caloroso invito ad unirti a me e altri amici su Red Matrix - uno strumento di comunicazione social rivoluzionario e decentrato.";
+$a->strings["You will need to supply this invitation code: \$invite_code"] = "Sarà necessario fornire questo codice invito: \$invite_code";
+$a->strings["Please visit my channel at"] = "Puoi visitare il mio canale su";
+$a->strings["Once you have registered, please connect with my Red Matrix channel address:"] = "Una volta che avrai fatto la registrazione, potrai connetterti al mio canale Red Matrix a questo indirizzo:";
+$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"] = "Per saperne di più sul progetto Red Matrix e sul perché potrebbe cambiare internet per come la conosciamo, visita http://getzot.com";
+$a->strings["Friends of %s"] = "Amici di %s";
+$a->strings["No friends to display."] = "Nessun amico da visualizzare.";
+$a->strings["Requested profile is not available."] = "Il profilo richiesto non è disponibile.";
+$a->strings["View"] = "Guarda";
+$a->strings["Authorize application connection"] = "Autorizza la app";
+$a->strings["Return to your app and insert this Securty Code:"] = "Torna alla app e inserisci questo codice di sicurezza:";
+$a->strings["Please login to continue."] = "Accedi al sito per continuare.";
+$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?";
+$a->strings["Yes"] = "Si";
+$a->strings["No"] = "No";
+$a->strings["You must be logged in to see this page."] = "Devi aver effettuato l'accesso per vedere questa pagina.";
+$a->strings["No installed applications."] = "Nessuna app installata.";
+$a->strings["Applications"] = "Applicazioni";
+$a->strings["Invalid item."] = "Elemento non valido.";
+$a->strings["Channel not found."] = "Canale non trovato.";
+$a->strings["Item not available."] = "Elemento non disponibile.";
+$a->strings["Red Matrix Server - Setup"] = "Red Matrix Server - Installazione";
+$a->strings["Could not connect to database."] = " Impossibile connettersi al database.";
+$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS.";
$a->strings["Could not create table."] = "Impossibile creare le tabelle.";
-$a->strings["Your Friendica site database has been installed."] = "Il tuo Friendica è stato installato.";
-$a->strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = "Potresti dover importare il file \"database.sql\" manualmente con phpmyadmin o mysql";
-$a->strings["Please see the file \"INSTALL.txt\"."] = "Leggi il file \"INSTALL.txt\".";
-$a->strings["System check"] = "Controllo sistema";
-$a->strings["Check again"] = "Controlla ancora";
+$a->strings["Your site database has been installed."] = "Il database del sito è stato installato.";
+$a->strings["You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."] = "Potresti dover importare il file 'install/database.sql' manualmente usando phpmyadmin o mysql.";
+$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file 'install/INSTALL.txt'.";
+$a->strings["System check"] = "Verifica del sistema";
+$a->strings["Check again"] = "Verifica di nuovo";
$a->strings["Database connection"] = "Connessione al database";
-$a->strings["In order to install Friendica we need to know how to connect to your database."] = "Per installare Friendica dobbiamo sapere come collegarci al tuo database.";
+$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "Per installare Red Matrix è necessario conoscere i parametri di connessione al database.";
$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni.";
-$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database dovrà già esistere. Se non esiste, crealo prima di continuare.";
-$a->strings["Database Server Name"] = "Nome del database server";
-$a->strings["Database Login Name"] = "Nome utente database";
+$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare.";
+$a->strings["Database Server Name"] = "Server del database";
+$a->strings["Default is localhost"] = "'localhost' è il predefinito";
+$a->strings["Database Port"] = "Port del database";
+$a->strings["Communication port number - use 0 for default"] = "Scrivi 0 per usare il valore standard";
+$a->strings["Database Login Name"] = "Utente database";
$a->strings["Database Login Password"] = "Password utente database";
$a->strings["Database Name"] = "Nome database";
$a->strings["Site administrator email address"] = "Indirizzo email dell'amministratore del sito";
$a->strings["Your account email address must match this in order to use the web admin panel."] = "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web.";
+$a->strings["Website URL"] = "URL completo del sito";
+$a->strings["Please use SSL (https) URL if available."] = "Se disponibile, usa l'indirizzo SSL (https).";
$a->strings["Please select a default timezone for your website"] = "Seleziona il fuso orario predefinito per il tuo sito web";
-$a->strings["Site settings"] = "Impostazioni sito";
-$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Non riesco a trovare la versione di PHP da riga di comando nel PATH del server web";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"] = "";
-$a->strings["PHP executable path"] = "Percorso eseguibile PHP";
-$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "";
+$a->strings["Site settings"] = "Impostazioni del sito";
+$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron.";
+$a->strings["PHP executable path"] = "Path del comando PHP";
+$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione.";
$a->strings["Command line PHP"] = "PHP da riga di comando";
$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\".";
-$a->strings["This is required for message delivery to work."] = "E' obbligatorio per far funzionare la consegna dei messaggi.";
+$a->strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi.";
$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" in questo sistema non è in grado di generare le chiavi di criptazione";
-$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai eseguendo friendika su windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".";
+$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione";
+$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".";
$a->strings["Generate encryption keys"] = "Genera chiavi di criptazione";
$a->strings["libCurl PHP module"] = "modulo PHP libCurl";
$a->strings["GD graphics PHP module"] = "modulo PHP GD graphics";
$a->strings["OpenSSL PHP module"] = "modulo PHP OpenSSL";
$a->strings["mysqli PHP module"] = "modulo PHP mysqli";
$a->strings["mb_string PHP module"] = "modulo PHP mb_string";
-$a->strings["Apache mod_rewrite module"] = "";
+$a->strings["mcrypt PHP module"] = "modulo PHP mcrypt";
+$a->strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite";
$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato";
+$a->strings["proc_open"] = "proc_open";
+$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini";
$a->strings["Error: libCURL PHP module required but not installed."] = "Errore: il modulo libCURL di PHP è richiesto ma non installato.";
$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato.";
$a->strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato.";
-$a->strings["Error: mysqli PHP module required but not installed."] = "Errore: il modulo mysqli di PHP è richiesto ma non installato";
+$a->strings["Error: mysqli PHP module required but not installed."] = "Errore: il modulo mysqli di PHP è richiesto ma non installato.";
$a->strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato.";
+$a->strings["Error: mcrypt PHP module required but not installed."] = "Errore: il modulo PHP mcrypt è richiesto ma non installato.";
$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella principale del tuo web server ma non è in grado di farlo.";
-$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Ciò è dovuto spesso a impostazioni di permessi, dato che il web server puo' scrivere il file nella tua cartella, anche se tu puoi.";
-$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Friendica top folder."] = "";
-$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "";
+$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi.";
+$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Red.";
+$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni.";
$a->strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile";
-$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "";
-$a->strings["Url rewrite is working"] = "";
-$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare un file di configurazione nella cartella principale del tuo sito.";
+$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP.";
+$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory view/tpl/smarty3/ under the Red top level folder."] = "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura alla cartella view/tpl/smarty3/ sotto la cartella di installazione di Red.";
+$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione come un utente che ha diritto di scrittura su quella cartella (ad esempio www-data).";
+$a->strings["Note: as a security measure, you should give the web server write access to view/tpl/smarty3/ only--not the template files (.tpl) that it contains."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente per view/tpl/smarty3/ non per tutti i file di template (.tpl) che contiene.";
+$a->strings["view/tpl/smarty3 is writable"] = "view/tpl/smarty3 è scrivibile";
+$a->strings["SSL certificate validation"] = "Validazione del certificato SSL";
+$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito.";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server.";
+$a->strings["Url rewrite is working"] = "Url rewrite funziona correttamente";
+$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito.";
$a->strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori.";
-$a->strings["<h1>What next</h1>"] = "";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi impostare [manualmente] la pianificazione del poller.";
-$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
-$a->strings["Time Conversion"] = "Conversione Ora";
-$a->strings["Friendika provides this service for sharing events with other networks and friends in unknown timezones."] = "Friendika fornisce questo servizio per la condivisione di eventi con altre reti e contatti in fusi orari sconosciuti.";
-$a->strings["UTC time: %s"] = "Ora UTC: %s";
-$a->strings["Current timezone: %s"] = "Fuso orario corrente: %s";
-$a->strings["Converted localtime: %s"] = "Ora locale convertita: %s";
-$a->strings["Please select your timezone:"] = "Selezionare il tuo fuso orario:";
-$a->strings["Poke/Prod"] = "";
-$a->strings["poke, prod or do other things to somebody"] = "";
-$a->strings["Recipient"] = "";
-$a->strings["Choose what you wish to do to recipient"] = "";
-$a->strings["Make this post private"] = "";
-$a->strings["Profile Match"] = "Profili corrispondenti";
-$a->strings["No keywords to match. Please add keywords to your default profile."] = "Nessuna parola chiave per l'abbinamento. Aggiungi parole chiave al tuo profilo predefinito.";
-$a->strings["is interested in:"] = "è interessato a:";
-$a->strings["Connect"] = "Connetti";
-$a->strings["No matches"] = "Nessun risultato";
-$a->strings["Remote privacy information not available."] = "Informazioni remote sulla privacy non disponibili.";
-$a->strings["Visible to:"] = "Visibile a:";
-$a->strings["No such group"] = "Nessun gruppo";
-$a->strings["Group is empty"] = "Il gruppo è vuoto";
-$a->strings["Group: "] = "Gruppo: ";
-$a->strings["Select"] = "Seleziona";
-$a->strings["View %s's profile @ %s"] = "Vedi il profilo di %s @ %s";
-$a->strings["%s from %s"] = "%s da %s";
-$a->strings["View in context"] = "Vedi nel contesto";
-$a->strings["%d comment"] = array(
- 0 => "%d commento",
- 1 => "%d commenti",
-);
-$a->strings["comment"] = array(
- 0 => "",
- 1 => "commento",
-);
-$a->strings["show more"] = "mostra di più";
-$a->strings["like"] = "mi piace";
-$a->strings["dislike"] = "non mi piace";
-$a->strings["Share this"] = "Condividi questo";
-$a->strings["share"] = "condividi";
-$a->strings["Bold"] = "";
-$a->strings["Italic"] = "";
-$a->strings["Underline"] = "";
-$a->strings["Quote"] = "";
-$a->strings["Code"] = "";
-$a->strings["Image"] = "";
-$a->strings["Link"] = "";
-$a->strings["Video"] = "";
-$a->strings["add star"] = "aggiungi a speciali";
-$a->strings["remove star"] = "rimuovi da speciali";
-$a->strings["toggle star status"] = "Inverti stato preferito";
-$a->strings["starred"] = "preferito";
-$a->strings["add tag"] = "aggiungi tag";
-$a->strings["save to folder"] = "salva nella cartella";
-$a->strings["to"] = "a";
-$a->strings["Wall-to-Wall"] = "Da bacheca a bacheca";
-$a->strings["via Wall-To-Wall:"] = "da bacheca a bacheca";
-$a->strings["Welcome to %s"] = "Benvenuto su %s";
-$a->strings["Invalid request identifier."] = "L'identificativo della richiesta non è valido.";
-$a->strings["Discard"] = "Scarta";
-$a->strings["Ignore"] = "Ignora";
-$a->strings["System"] = "Sistema";
-$a->strings["Network"] = "Rete";
-$a->strings["Personal"] = "Personale";
-$a->strings["Home"] = "Home";
-$a->strings["Introductions"] = "Presentazioni";
-$a->strings["Messages"] = "Messaggi";
-$a->strings["Show Ignored Requests"] = "Mostra richieste ignorate";
-$a->strings["Hide Ignored Requests"] = "Nascondi richieste ignorate";
-$a->strings["Notification type: "] = "Tipo di notifica: ";
-$a->strings["Friend Suggestion"] = "Amico suggerito";
-$a->strings["suggested by %s"] = "sugerito da %s";
-$a->strings["Hide this contact from others"] = "Nascondi questo contatto agli altri";
-$a->strings["Post a new friend activity"] = "Invia una attività \"è ora amico con\"";
-$a->strings["if applicable"] = "se applicabile";
-$a->strings["Approve"] = "Approva";
-$a->strings["Claims to be known to you: "] = "Dice di conoscerti: ";
-$a->strings["yes"] = "si";
-$a->strings["no"] = "no";
-$a->strings["Approve as: "] = "Approva come: ";
-$a->strings["Friend"] = "Amico";
-$a->strings["Sharer"] = "Condivisore";
-$a->strings["Fan/Admirer"] = "Fan/Ammiratore";
-$a->strings["Friend/Connect Request"] = "Richiesta amicizia/connessione";
-$a->strings["New Follower"] = "Qualcuno inizia a seguirti";
-$a->strings["No introductions."] = "Nessuna presentazione.";
-$a->strings["Notifications"] = "Notifiche";
-$a->strings["%s liked %s's post"] = "a %s è piaciuto il messaggio di %s";
-$a->strings["%s disliked %s's post"] = "a %s non è piaciuto il messaggio di %s";
-$a->strings["%s is now friends with %s"] = "%s è ora amico di %s";
-$a->strings["%s created a new post"] = "%s a creato un nuovo messaggio";
-$a->strings["%s commented on %s's post"] = "%s ha commentato il messaggio di %s";
-$a->strings["No more network notifications."] = "Nessuna nuova.";
-$a->strings["Network Notifications"] = "Notifiche dalla rete";
-$a->strings["No more system notifications."] = "Nessuna nuova notifica di sistema.";
-$a->strings["System Notifications"] = "Notifiche di sistema";
-$a->strings["No more personal notifications."] = "Nessuna nuova.";
-$a->strings["Personal Notifications"] = "Notifiche personali";
-$a->strings["No more home notifications."] = "Nessuna nuova.";
-$a->strings["Home Notifications"] = "Notifiche bacheca";
-$a->strings["Could not access contact record."] = "Non è possibile accedere al contatto.";
-$a->strings["Could not locate selected profile."] = "Non riesco a trovare il profilo selezionato.";
-$a->strings["Contact updated."] = "Contatto aggiornato.";
-$a->strings["Contact has been blocked"] = "Il contatto è stato bloccato";
-$a->strings["Contact has been unblocked"] = "Il contatto è stato sbloccato";
-$a->strings["Contact has been ignored"] = "Il contatto è ignorato";
-$a->strings["Contact has been unignored"] = "Il contatto non è più ignorato";
-$a->strings["Contact has been archived"] = "";
-$a->strings["Contact has been unarchived"] = "";
-$a->strings["Contact has been removed."] = "Il contatto è stato rimosso.";
-$a->strings["You are mutual friends with %s"] = "Sei amico reciproco con %s";
-$a->strings["You are sharing with %s"] = "Stai condividendo con %s";
-$a->strings["%s is sharing with you"] = "%s sta condividendo con te";
-$a->strings["Private communications are not available for this contact."] = "Le comunicazioni private non sono disponibili per questo contatto.";
-$a->strings["Never"] = "Mai";
-$a->strings["(Update was successful)"] = "(L'aggiornamento è stato completato)";
-$a->strings["(Update was not successful)"] = "(L'aggiornamento non è stato completato)";
-$a->strings["Suggest friends"] = "Suggerisci amici";
-$a->strings["Network type: %s"] = "Tipo di rete: %s";
-$a->strings["%d contact in common"] = array(
- 0 => "%d contatto in comune",
- 1 => "%d contatti in comune",
-);
-$a->strings["View all contacts"] = "Vedi tutti i contatti";
-$a->strings["Unblock"] = "Sblocca";
-$a->strings["Block"] = "Blocca";
-$a->strings["Toggle Blocked status"] = "";
-$a->strings["Unignore"] = "Non ignorare";
-$a->strings["Toggle Ignored status"] = "";
-$a->strings["Unarchive"] = "";
-$a->strings["Archive"] = "";
-$a->strings["Toggle Archive status"] = "";
-$a->strings["Repair"] = "Ripara";
-$a->strings["Advanced Contact Settings"] = "";
-$a->strings["Communications lost with this contact!"] = "";
-$a->strings["Contact Editor"] = "Editor dei Contatti";
-$a->strings["Profile Visibility"] = "Visibilità del profilo";
-$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro.";
-$a->strings["Contact Information / Notes"] = "Informazioni / Note sul contatto";
-$a->strings["Edit contact notes"] = "Modifica note contatto";
-$a->strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]";
-$a->strings["Block/Unblock contact"] = "Blocca/Sblocca contatto";
-$a->strings["Ignore contact"] = "Ignora il contatto";
-$a->strings["Repair URL settings"] = "Impostazioni riparazione URL";
-$a->strings["View conversations"] = "Vedi conversazioni";
-$a->strings["Delete contact"] = "Rimuovi contatto";
-$a->strings["Last update:"] = "Ultimo aggiornamento:";
-$a->strings["Update public posts"] = "Aggiorna messaggi pubblici";
-$a->strings["Update now"] = "Aggiorna adesso";
-$a->strings["Currently blocked"] = "Bloccato";
-$a->strings["Currently ignored"] = "Ignorato";
-$a->strings["Currently archived"] = "";
-$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Risposte ai tuoi post pubblici <strong>possono</strong> essere comunque visibili";
-$a->strings["Suggestions"] = "Suggerimenti";
-$a->strings["Suggest potential friends"] = "";
-$a->strings["All Contacts"] = "Tutti i contatti";
-$a->strings["Show all contacts"] = "";
-$a->strings["Unblocked"] = "";
-$a->strings["Only show unblocked contacts"] = "";
-$a->strings["Blocked"] = "";
-$a->strings["Only show blocked contacts"] = "";
-$a->strings["Ignored"] = "";
-$a->strings["Only show ignored contacts"] = "";
-$a->strings["Archived"] = "";
-$a->strings["Only show archived contacts"] = "";
-$a->strings["Hidden"] = "";
-$a->strings["Only show hidden contacts"] = "";
-$a->strings["Mutual Friendship"] = "Amicizia reciproca";
-$a->strings["is a fan of yours"] = "è un tuo fan";
-$a->strings["you are a fan of"] = "sei un fan di";
-$a->strings["Edit contact"] = "Modifca contatto";
-$a->strings["Contacts"] = "Contatti";
-$a->strings["Search your contacts"] = "Cerca nei tuoi contatti";
-$a->strings["Finding: "] = "Ricerca: ";
-$a->strings["Find"] = "Trova";
-$a->strings["No valid account found."] = "Nessun account valido trovato.";
-$a->strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
-$a->strings["Password reset requested at %s"] = "Richiesta reimpostazione password su %s";
-$a->strings["Administrator"] = "Amministratore";
-$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata. (Puoi averla già richiesta precendentemente). Reimpostazione password fallita.";
-$a->strings["Password Reset"] = "Reimpostazione password";
-$a->strings["Your password has been reset as requested."] = "La tua password è stata reimpostata come richiesto.";
-$a->strings["Your new password is"] = "La tua nuova password è";
-$a->strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
-$a->strings["click here to login"] = "clicca qui per entrare";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina <em>Impostazioni</em> dopo aver effettuato l'accesso.";
-$a->strings["Forgot your Password?"] = "Hai dimenticato la password?";
-$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password.";
-$a->strings["Nickname or Email: "] = "Nome utente o email: ";
-$a->strings["Reset"] = "Reimposta";
-$a->strings["Account settings"] = "Parametri account";
+$a->strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling.";
+$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
+$a->strings["[Embedded content - reload page to view]"] = "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]";
+$a->strings["toggle full screen mode"] = "attiva/disattiva schermo intero";
+$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
+$a->strings["Account settings"] = "Impostazioni dell'account";
+$a->strings["Channel settings"] = "Impostazioni del canale";
+$a->strings["Additional features"] = "Funzionalità aggiuntive";
+$a->strings["Feature settings"] = "Impostazioni aggiuntive";
$a->strings["Display settings"] = "Impostazioni grafiche";
-$a->strings["Connector settings"] = "Impostazioni connettori";
-$a->strings["Plugin settings"] = "Impostazioni plugin";
-$a->strings["Connected apps"] = "";
-$a->strings["Export personal data"] = "Esporta dati personali";
-$a->strings["Remove account"] = "";
-$a->strings["Settings"] = "Impostazioni";
-$a->strings["Missing some important data!"] = "Mancano alcuni dati importanti!";
+$a->strings["Connected apps"] = "App connesse";
+$a->strings["Export channel"] = "Esporta il canale";
+$a->strings["Automatic Permissions (Advanced)"] = "Permessi predefiniti (avanzato)";
+$a->strings["Premium Channel Settings"] = "Canale premium - impostazioni";
+$a->strings["Missing some important data!"] = "Mancano alcune informazioni importanti!";
$a->strings["Update"] = "Aggiorna";
-$a->strings["Failed to connect with email account using the settings provided."] = "Impossibile collegarsi all'account email con i parametri forniti.";
-$a->strings["Email settings updated."] = "Impostazioni e-mail aggiornate.";
$a->strings["Passwords do not match. Password unchanged."] = "Le password non corrispondono. Password non cambiata.";
$a->strings["Empty passwords are not allowed. Password unchanged."] = "Le password non possono essere vuote. Password non cambiata.";
$a->strings["Password changed."] = "Password cambiata.";
$a->strings["Password update failed. Please try again."] = "Aggiornamento password fallito. Prova ancora.";
-$a->strings[" Please use a shorter name."] = " Usa un nome più corto.";
-$a->strings[" Name too short."] = " Nome troppo corto.";
-$a->strings[" Not valid email."] = " Email non valida.";
-$a->strings[" Cannot change to that email."] = "Non puoi usare quella email.";
-$a->strings["Private forum has no privacy permissions. Using default privacy group."] = "";
-$a->strings["Private forum has no privacy permissions and no default privacy group."] = "";
+$a->strings["Not valid email."] = "Email non valida.";
+$a->strings["Protected email address. Cannot change to that email."] = "È un indirizzo email riservato. Non puoi sceglierlo.";
+$a->strings["System failure storing new email. Please try again."] = "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore.";
$a->strings["Settings updated."] = "Impostazioni aggiornate.";
-$a->strings["Add application"] = "Aggiungi applicazione";
+$a->strings["Add application"] = "Aggiungi una app";
+$a->strings["Cancel"] = "Annulla";
+$a->strings["Name"] = "Nome";
$a->strings["Consumer Key"] = "Consumer Key";
$a->strings["Consumer Secret"] = "Consumer Secret";
$a->strings["Redirect"] = "Redirect";
$a->strings["Icon url"] = "Url icona";
$a->strings["You can't edit this application."] = "Non puoi modificare questa applicazione.";
-$a->strings["Connected Apps"] = "Applicazioni Collegate";
-$a->strings["Client key starts with"] = "Chiave del client inizia con";
+$a->strings["Connected Apps"] = "App connesse";
+$a->strings["Client key starts with"] = "La client key inizia con";
$a->strings["No name"] = "Nessun nome";
-$a->strings["Remove authorization"] = "Rimuovi l'autorizzazione";
-$a->strings["No Plugin settings configured"] = "Nessun plugin ha impostazioni modificabili";
-$a->strings["Plugin Settings"] = "Impostazioni plugin";
-$a->strings["Built-in support for %s connectivity is %s"] = "Il supporto integrato per la connettività con %s è %s";
-$a->strings["enabled"] = "abilitato";
-$a->strings["disabled"] = "disabilitato";
-$a->strings["StatusNet"] = "StatusNet";
-$a->strings["Email access is disabled on this site."] = "L'accesso email è disabilitato su questo sito.";
-$a->strings["Connector Settings"] = "Impostazioni Connettore";
-$a->strings["Email/Mailbox Setup"] = "Impostazioni email";
-$a->strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = "Se vuoi comunicare con i contatti email usando questo servizio, specifica come collegarti alla tua casella di posta. (opzionale)";
-$a->strings["Last successful email check:"] = "Ultimo controllo email eseguito con successo:";
-$a->strings["IMAP server name:"] = "Nome server IMAP:";
-$a->strings["IMAP port:"] = "Porta IMAP:";
-$a->strings["Security:"] = "Sicurezza:";
-$a->strings["None"] = "Nessuna";
-$a->strings["Email login name:"] = "Nome utente email:";
-$a->strings["Email password:"] = "Password email:";
-$a->strings["Reply-to address:"] = "Indirizzo di risposta:";
-$a->strings["Send public posts to all email contacts:"] = "Invia i messaggi pubblici ai contatti email:";
-$a->strings["Action after import:"] = "Azione post importazione:";
-$a->strings["Mark as seen"] = "Segna come letto";
-$a->strings["Move to folder"] = "Sposta nella cartella";
-$a->strings["Move to folder:"] = "Sposta nella cartella:";
-$a->strings["No special theme for mobile devices"] = "";
-$a->strings["Display Settings"] = "Impostazioni Grafiche";
-$a->strings["Display Theme:"] = "Tema:";
-$a->strings["Mobile Theme:"] = "";
+$a->strings["Remove authorization"] = "Revoca l'autorizzazione";
+$a->strings["No feature settings configured"] = "Non ci sono funzionalità aggiuntive personalizzabili";
+$a->strings["Feature Settings"] = "Impostazioni aggiuntive";
+$a->strings["Account Settings"] = "Impostazioni account";
+$a->strings["Password Settings"] = "Impostazioni password";
+$a->strings["New Password:"] = "Nuova password:";
+$a->strings["Confirm:"] = "Conferma:";
+$a->strings["Leave password fields blank unless changing"] = "Lascia questi campi in bianco per non cambiare la password";
+$a->strings["Email Address:"] = "Indirizzo email:";
+$a->strings["Remove Account"] = "Elimina l'account";
+$a->strings["Warning: This action is permanent and cannot be reversed."] = "Attenzione: questa azione è permanente e non potrà più essere annullata.";
+$a->strings["Off"] = "Off";
+$a->strings["On"] = "On";
+$a->strings["Additional Features"] = "Funzionalità aggiuntive";
+$a->strings["Connector Settings"] = "Impostazioni del connettore";
+$a->strings["No special theme for mobile devices"] = "Nessun tema per dispositivi mobili";
+$a->strings["Display Settings"] = "Impostazioni grafiche";
+$a->strings["Display Theme:"] = "Tema per monitor:";
+$a->strings["Mobile Theme:"] = "Tema per dispositivi mobili:";
$a->strings["Update browser every xx seconds"] = "Aggiorna il browser ogni x secondi";
$a->strings["Minimum of 10 seconds, no maximum"] = "Minimo 10 secondi, nessun limite massimo";
-$a->strings["Number of items to display per page:"] = "";
-$a->strings["Maximum of 100 items"] = "Massimo 100 voci";
+$a->strings["Maximum number of conversations to load at any time:"] = "Massimo numero di conversazioni da mostrare ogni volta:";
+$a->strings["Maximum of 100 items"] = "Massimo 100";
$a->strings["Don't show emoticons"] = "Non mostrare le emoticons";
-$a->strings["Normal Account Page"] = "";
-$a->strings["This account is a normal personal profile"] = "Questo account è un normale profilo personale";
-$a->strings["Soapbox Page"] = "";
-$a->strings["Automatically approve all connection/friend requests as read-only fans"] = "Chi richiede la connessione/amicizia sarà accettato automaticamente come fan che potrà solamente leggere la bacheca";
-$a->strings["Community Forum/Celebrity Account"] = "";
-$a->strings["Automatically approve all connection/friend requests as read-write fans"] = "Chi richiede la connessione/amicizia sarà accettato automaticamente come fan che potrà leggere e scrivere sulla bacheca";
-$a->strings["Automatic Friend Page"] = "";
-$a->strings["Automatically approve all connection/friend requests as friends"] = "Chi richiede la connessione/amicizia sarà accettato automaticamente come amico";
-$a->strings["Private Forum [Experimental]"] = "";
-$a->strings["Private forum - approved members only"] = "";
-$a->strings["OpenID:"] = "OpenID:";
-$a->strings["(Optional) Allow this OpenID to login to this account."] = "(Opzionale) Consente di loggarti in questo account con questo OpenID";
-$a->strings["Publish your default profile in your local site directory?"] = "Pubblica il tuo profilo predefinito nell'elenco locale del sito";
-$a->strings["Publish your default profile in the global social directory?"] = "Pubblica il tuo profilo predefinito nell'elenco sociale globale";
-$a->strings["Hide your contact/friend list from viewers of your default profile?"] = "Nascondi la lista dei tuoi contatti/amici dai visitatori del tuo profilo predefinito";
-$a->strings["Hide your profile details from unknown viewers?"] = "Nascondi i dettagli del tuo profilo ai visitatori sconosciuti?";
-$a->strings["Allow friends to post to your profile page?"] = "Permetti agli amici di scrivere sulla tua pagina profilo?";
-$a->strings["Allow friends to tag your posts?"] = "Permetti agli amici di taggare i tuoi messaggi?";
-$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Ci permetti di suggerirti come potenziale amico ai nuovi membri?";
-$a->strings["Permit unknown people to send you private mail?"] = "Permetti a utenti sconosciuti di inviarti messaggi privati?";
-$a->strings["Profile is <strong>not published</strong>."] = "Il profilo <strong>non è pubblicato</strong>.";
+$a->strings["Nobody except yourself"] = "Nessuno tranne te";
+$a->strings["Only those you specifically allow"] = "Solo chi riceve il mio permesso";
+$a->strings["Anybody in your address book"] = "Chiunque tra i miei contatti";
+$a->strings["Anybody on this website"] = "Chiunque su questo sito";
+$a->strings["Anybody in this network"] = "Chiunque su Red";
+$a->strings["Anybody on the internet"] = "Chiunque su internet";
+$a->strings["Publish your default profile in the network directory"] = "Pubblica il mio profilo predefinito sull'elenco pubblico dei canali";
+$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Vuoi essere suggerito come potenziale amico ai nuovi membri?";
$a->strings["or"] = "o";
-$a->strings["Your Identity Address is"] = "L'indirizzo della tua identità è";
-$a->strings["Automatically expire posts after this many days:"] = "Fai scadere i post automaticamente dopo x giorni:";
-$a->strings["If empty, posts will not expire. Expired posts will be deleted"] = "Se lasciato vuoto, i messaggi non verranno cancellati.";
+$a->strings["Your channel address is"] = "L'indirizzo del tuo canale è";
+$a->strings["Automatically expire posts after this many days:"] = "Gli articoli scadono automaticamente dopo questo numero di giorni:";
+$a->strings["If empty, posts will not expire. Expired posts will be deleted"] = "Se lasci vuoto, i messaggi non scadranno mai. I messaggi scaduti saranno eliminati.";
$a->strings["Advanced expiration settings"] = "Impostazioni avanzate di scandenza";
-$a->strings["Advanced Expiration"] = "Scadenza avanzata";
-$a->strings["Expire posts:"] = "Fai scadere i post:";
-$a->strings["Expire personal notes:"] = "Fai scadere le Note personali:";
-$a->strings["Expire starred posts:"] = "Fai scadere i post Speciali:";
+$a->strings["Advanced Expiration"] = "Scadenza";
+$a->strings["Expire posts:"] = "Fai scadere gli articoli:";
+$a->strings["Expire starred posts:"] = "Fai scadere gli articoli preferiti:";
$a->strings["Expire photos:"] = "Fai scadere le foto:";
-$a->strings["Only expire posts by others:"] = "";
-$a->strings["Account Settings"] = "Impostazioni account";
-$a->strings["Password Settings"] = "Impostazioni password";
-$a->strings["New Password:"] = "Nuova password:";
-$a->strings["Confirm:"] = "Conferma:";
-$a->strings["Leave password fields blank unless changing"] = "Lascia questi campi in bianco per non effettuare variazioni alla password";
-$a->strings["Basic Settings"] = "Impostazioni base";
-$a->strings["Full Name:"] = "Nome completo:";
-$a->strings["Email Address:"] = "Indirizzo Email:";
+$a->strings["Only expire posts by others:"] = "Fai scadere solo gli articoli scritti da altri:";
+$a->strings["Channel Settings"] = "Impostazioni del canale";
+$a->strings["Basic Settings"] = "Impostazioni di base";
$a->strings["Your Timezone:"] = "Il tuo fuso orario:";
$a->strings["Default Post Location:"] = "Località predefinita:";
$a->strings["Use Browser Location:"] = "Usa la località rilevata dal browser:";
$a->strings["Security and Privacy Settings"] = "Impostazioni di sicurezza e privacy";
-$a->strings["Maximum Friend Requests/Day:"] = "Numero massimo di richieste di amicizia al giorno:";
-$a->strings["(to prevent spam abuse)"] = "(per prevenire lo spam)";
-$a->strings["Default Post Permissions"] = "Permessi predefiniti per i messaggi";
+$a->strings["Quick Privacy Settings:"] = "Impostazioni veloci della privacy:";
+$a->strings["Very Public - extremely permissive"] = "Tutto pubblico - molto permissivo";
+$a->strings["Typical - default public, privacy when desired"] = "Normale - tutto sarà pubblico tranne quel che vorrai tu";
+$a->strings["Private - default private, rarely open or public"] = "Privato - i contenuti saranno privati ma, se vorrai, alcuni potrai renderli pubblici";
+$a->strings["Blocked - default blocked to/from everybody"] = "Bloccato - non ci saranno interazioni con altri a meno che tu non voglia";
+$a->strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:";
+$a->strings["May reduce spam activity"] = "Serve e ridurre lo spam";
+$a->strings["Default Post Permissions"] = "Permessi predefiniti per gli articoli";
$a->strings["(click to open/close)"] = "(clicca per aprire/chiudere)";
-$a->strings["Maximum private messages per day from unknown people:"] = "Numero massimo di messaggi privati da utenti sconosciuti per giorno:";
-$a->strings["Notification Settings"] = "Impostazioni notifiche";
-$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:"] = "Invia una mail di notifica quando:";
-$a->strings["You receive an introduction"] = "Ricevi una presentazione";
-$a->strings["Your introductions are confirmed"] = "Le tue presentazioni sono confermate";
-$a->strings["Someone writes on your profile wall"] = "Qualcuno scrive sulla bacheca del tuo profilo";
-$a->strings["Someone writes a followup comment"] = "Qualcuno scrive un commento a un tuo messaggio";
+$a->strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:";
+$a->strings["Useful to reduce spamming"] = "Serve e ridurre lo spam";
+$a->strings["Notification Settings"] = "Impostazioni di notifica";
+$a->strings["By default post a status message when:"] = "Pubblica un messaggio di stato quando:";
+$a->strings["accepting a friend request"] = "accetto una nuova amicizia";
+$a->strings["joining a forum/community"] = "entro a far parte di un forum";
+$a->strings["making an <em>interesting</em> profile change"] = "faccio un cambiamento <em>interessante</em> al mio profilo";
+$a->strings["Send a notification email when:"] = "Invia una email di notifica quando:";
+$a->strings["You receive an introduction"] = "Ricevi una richiesta di amicizia";
+$a->strings["Your introductions are confirmed"] = "Le tue richieste di amicizia sono state accettate";
+$a->strings["Someone writes on your profile wall"] = "Qualcuno scrive sulla tua bacheca";
+$a->strings["Someone writes a followup comment"] = "Qualcuno scrive un commento a un tuo articolo";
$a->strings["You receive a private message"] = "Ricevi un messaggio privato";
-$a->strings["You receive a friend suggestion"] = "Hai ricevuto un suggerimento di amicizia";
-$a->strings["You are tagged in a post"] = "Sei stato taggato in un 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["Manage Identities and/or Pages"] = "Gestisci indentità e/o pagine";
-$a->strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = "Cambia tra differenti identità o pagine comunità/gruppi che condividono il tuo account o per cui hai i permessi di gestione";
-$a->strings["Select an identity to manage: "] = "Seleziona un'identità da gestire:";
-$a->strings["Search Results For:"] = "Cerca risultati per:";
-$a->strings["Remove term"] = "Rimuovi termine";
-$a->strings["Saved Searches"] = "Ricerche salvate";
-$a->strings["add"] = "aggiungi";
-$a->strings["Commented Order"] = "Ordina per commento";
-$a->strings["Sort by Comment Date"] = "";
-$a->strings["Posted Order"] = "Ordina per invio";
-$a->strings["Sort by Post Date"] = "";
-$a->strings["Posts that mention or involve you"] = "";
-$a->strings["New"] = "Nuovo";
-$a->strings["Activity Stream - by date"] = "";
-$a->strings["Starred"] = "Preferiti";
-$a->strings["Favourite Posts"] = "";
-$a->strings["Shared Links"] = "Links condivisi";
-$a->strings["Interesting Links"] = "";
-$a->strings["Warning: This group contains %s member from an insecure network."] = array(
- 0 => "Attenzione: questo gruppo contiene %s membro da un network insicuro.",
- 1 => "Attenzione: questo gruppo contiene %s membri da un network insicuro.",
-);
-$a->strings["Private messages to this group are at risk of public disclosure."] = "I messaggi privati su questo gruppo potrebbero risultare visibili anche pubblicamente.";
-$a->strings["Contact: "] = "Contatto:";
-$a->strings["Private messages to this person are at risk of public disclosure."] = "I messaggi privati a questa persona potrebbero risultare visibili anche pubblicamente.";
-$a->strings["Invalid contact."] = "Contatto non valido.";
-$a->strings["Personal Notes"] = "Note personali";
-$a->strings["Save"] = "Salva";
-$a->strings["Number of daily wall messages for %s exceeded. Message failed."] = "Numero giornaliero di messaggi per %s superato. Invio fallito.";
-$a->strings["No recipient selected."] = "Nessun destinatario selezionato.";
-$a->strings["Unable to check your home location."] = "";
-$a->strings["Message could not be sent."] = "Il messaggio non puo' essere inviato.";
-$a->strings["Message collection failure."] = "Errore recuperando il messaggio.";
-$a->strings["Message sent."] = "Messaggio inviato.";
-$a->strings["No recipient."] = "Nessun destinatario.";
-$a->strings["Please enter a link URL:"] = "Inserisci l'indirizzo del link:";
-$a->strings["Send Private Message"] = "Invia un messaggio privato";
-$a->strings["If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders."] = "Se vuoi che %s ti risponda, controlla che le tue impostazioni di privacy permettano la ricezione di messaggi privati da mittenti sconosciuti.";
-$a->strings["To:"] = "A:";
-$a->strings["Subject:"] = "Oggetto:";
-$a->strings["Your message:"] = "Il tuo messaggio:";
-$a->strings["Welcome to Friendica"] = "Benvenuto su Friendica";
-$a->strings["New Member Checklist"] = "Cose da fare per i Nuovi Utenti";
-$a->strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page. A link to this page will be visible from your home page for two weeks after your initial registration and then will quietly disappear."] = "Vorremmo offrirti qualche trucco e dei link alla guida per aiutarti ad avere un'esperienza divertente. Clicca su un qualsiasi elemento per visitare la relativa pagina. Un link a questa pagina sarà visibile nella tua home per due settimane dopo la tua registrazione.";
-$a->strings["Getting Started"] = "";
-$a->strings["Friendica Walk-Through"] = "";
-$a->strings["On your <em>Quick Start</em> page - find a brief introduction to your profile and network tabs, make some new connections, and find some groups to join."] = "";
-$a->strings["Go to Your Settings"] = "";
-$a->strings["On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web."] = "Nella tua pagina <em>Impostazioni</em> - cambia la tua password iniziale. Prendi anche nota del tuo Indirizzo Identità. Assomiglia a un indirizzo email e sarà utile per stringere amicizie nel web sociale libero.";
-$a->strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = "Guarda le altre impostazioni, in particolare le impostazioni della privacy. Un profilo non pubblicato è come un numero di telefono non in elenco. In genere, dovresti pubblicare il tuo profilo - a meno che tutti i tuoi amici e potenziali tali sappiano esattamente come trovarti.";
-$a->strings["Profile"] = "Profilo";
-$a->strings["Upload Profile Photo"] = "Carica la foto del profilo";
-$a->strings["Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not."] = "Carica una foto del profilo se non l'hai ancora fatto. Studi hanno mostrato che persone che hanno vere foto di se stessi hanno dieci volte più probabilità di fare amicizie rispetto alle persone che non ce l'hanno.";
-$a->strings["Edit Your Profile"] = "";
-$a->strings["Edit your <strong>default</strong> profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors."] = "Modifica il tuo profilo <strong>predefinito</strong> a piacimento. Rivedi le impostazioni per nascondere la tua lista di amici e nascondere il profilo ai visitatori sconosciuti.";
-$a->strings["Profile Keywords"] = "";
-$a->strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = "Inserisci qualche parola chiave pubblica nel tuo profilo predefinito che descriva i tuoi interessi. Potremmo essere in grado di trovare altre persone con interessi similari e suggerirti delle amicizie.";
-$a->strings["Connecting"] = "";
-$a->strings["Facebook"] = "Facebook";
-$a->strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = "Autorizza il Facebook Connector se hai un account Facebook, e noi (opzionalmente) importeremo tuti i tuoi amici e le tue conversazioni da Facebook.";
-$a->strings["<em>If</em> this is your own personal server, installing the Facebook addon may ease your transition to the free social web."] = "<em>Se</em questo è il tuo server personale, installare il plugin per Facebook puo' aiutarti nella transizione verso il web sociale libero.";
-$a->strings["Importing Emails"] = "";
-$a->strings["Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = "Inserisci i tuoi dati di accesso all'email nella tua pagina Impostazioni Connettori se vuoi importare e interagire con amici o mailing list dalla tua casella di posta in arrivo";
-$a->strings["Go to Your Contacts Page"] = "";
-$a->strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Add New Contact</em> dialog."] = "La tua pagina Contatti è il mezzo per gestire le amicizie e collegarsi con amici su altre reti. Di solito, basta inserire l'indirizzo nel campo <em>Aggiungi Nuovo Contatto</em>";
-$a->strings["Go to Your Site's Directory"] = "";
-$a->strings["The Directory page lets you find other people in this network or other federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on their profile page. Provide your own Identity Address if requested."] = "La pagina Elenco ti permette di trovare altre persone in questa rete o in altri siti. Cerca un link <em>Connetti</em> o <em>Segui</em> nella loro pagina del profilo. Inserisci il tuo Indirizzo Identità, se richiesto.";
-$a->strings["Finding New People"] = "";
-$a->strings["On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours."] = "Nel pannello laterale nella pagina \"Contatti\", ci sono diversi strumenti per trovare nuovi amici. Possiamo confrontare le persone per interessi, cercare le persone per nome e fornire suggerimenti basati sui tuoi contatti esistenti. Su un sito nuovo, i suggerimenti sono di solito presenti dopo 24 ore.";
-$a->strings["Groups"] = "Grouppi";
-$a->strings["Group Your Contacts"] = "";
-$a->strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = "Quando avrai alcuni amici, organizzali in gruppi di conversazioni private dalla barra laterale della tua pagina Contatti. Potrai interagire privatamente con ogni gruppo nella tua pagina Rete";
-$a->strings["Why Aren't My Posts Public?"] = "";
-$a->strings["Friendica respects your privacy. By default, your posts will only show up to people you've added as friends. For more information, see the help section from the link above."] = "";
-$a->strings["Getting Help"] = "";
-$a->strings["Go to the Help Section"] = "";
-$a->strings["Our <strong>help</strong> pages may be consulted for detail on other program features and resources."] = "Le nostre pagine della <strong>guida</strong> possono essere consultate per avere dettagli su altre caratteristiche del programma e altre risorse.";
-$a->strings["Item not available."] = "Oggetto non disponibile.";
-$a->strings["Item was not found."] = "Oggetto non trovato.";
-$a->strings["Group created."] = "Gruppo creato.";
-$a->strings["Could not create group."] = "Impossibile creare il gruppo.";
-$a->strings["Group not found."] = "Gruppo non trovato.";
-$a->strings["Group name changed."] = "Il nome del gruppo è cambiato.";
-$a->strings["Permission denied"] = "Permesso negato";
-$a->strings["Create a group of contacts/friends."] = "Crea un gruppo di amici/contatti.";
-$a->strings["Group Name: "] = "Nome del gruppo:";
-$a->strings["Group removed."] = "Gruppo rimosso.";
-$a->strings["Unable to remove group."] = "Impossibile rimuovere il gruppo.";
-$a->strings["Group Editor"] = "Modifica gruppo";
-$a->strings["Members"] = "Membri";
-$a->strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
-$a->strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
-$a->strings["Profile Visibility Editor"] = "Modifica visibilità del profilo";
-$a->strings["Visible To"] = "Visibile a";
-$a->strings["All Contacts (with secure profile access)"] = "Tutti i contatti (con profilo ad accesso sicuro)";
-$a->strings["No contacts."] = "Nessun contatto.";
-$a->strings["View Contacts"] = "Visualizza i contatti";
-$a->strings["Registration details for %s"] = "Dettagli della registrazione di %s";
-$a->strings["Registration successful. Please check your email for further instructions."] = "Registrazione completata. Controlla la tua mail per ulteriori informazioni.";
-$a->strings["Failed to send email message. Here is the message that failed."] = "Errore nell'invio del messaggio email. Questo è il messaggio non inviato.";
-$a->strings["Your registration can not be processed."] = "La tua registrazione non puo' essere elaborata.";
-$a->strings["Registration request at %s"] = "Richiesta di registrazione su %s";
-$a->strings["Your registration is pending approval by the site owner."] = "La tua richiesta è in attesa di approvazione da parte del prorietario del sito.";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Questo sito ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani.";
-$a->strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "Se vuoi, puoi riempire questo modulo tramite OpenID, inserendo il tuo OpenID e cliccando 'Registra'.";
-$a->strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "Se non hai familiarità con OpenID, lascia il campo vuoto e riempi il resto della maschera.";
-$a->strings["Your OpenID (optional): "] = "Il tuo OpenID (opzionale): ";
-$a->strings["Include your profile in member directory?"] = "Includi il tuo profilo nell'elenco pubblico?";
-$a->strings["Membership on this site is by invitation only."] = "La registrazione su questo sito è solo su invito.";
-$a->strings["Your invitation ID: "] = "L'ID del tuo invito:";
-$a->strings["Registration"] = "Registrazione";
-$a->strings["Your Full Name (e.g. Joe Smith): "] = "Il tuo nome completo (es. Mario Rossi): ";
-$a->strings["Your Email Address: "] = "Il tuo indirizzo email: ";
-$a->strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@\$sitename</strong>'."] = "Scegli un nome utente. Deve cominciare con una lettera. L'indirizzo del tuo profilo sarà '<strong>soprannome@\$sitename</strong>'.";
-$a->strings["Choose a nickname: "] = "Scegli un nome utente: ";
-$a->strings["Register"] = "Registrati";
+$a->strings["You receive a friend suggestion"] = "Ti viene suggerito un amico";
+$a->strings["You are tagged in a post"] = "Sei taggato in un articolo";
+$a->strings["You are poked/prodded/etc. in a post"] = "Ricevi un poke in un articolo";
+$a->strings["Advanced Account/Page Type Settings"] = "Impostazioni avanzate";
+$a->strings["Change the behaviour of this account for special situations"] = "Cambia il funzionamento di questo account in situazioni particolari";
+$a->strings["Public access denied."] = "Accesso pubblico negato.";
+$a->strings["No connections."] = "Nessun contatto.";
+$a->strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]";
+$a->strings["View Connnections"] = "Guarda i contatti";
+$a->strings["Tag removed"] = "Tag rimosso";
+$a->strings["Remove Item Tag"] = "Rimuovi il tag";
+$a->strings["Select a tag to remove: "] = "Seleziona un tag da rimuovere: ";
+$a->strings["Remove"] = "Rimuovi";
+$a->strings["Continue"] = "Continua";
+$a->strings["Premium Channel Setup"] = "Canale premium - installazione";
+$a->strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium";
+$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida o il sistema di pagamento ecc.";
+$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:";
+$a->strings["Potential connections will then see the following text before proceeding:"] = "Il testo seguente comparirà a chi vorrà connettersi:";
+$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina.";
+$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)";
+$a->strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni";
+$a->strings["No potential page delegates located."] = "Impossibile trovare delegati per questa pagina.";
+$a->strings["Delegate Page Management"] = "Gestione delegati per la pagina";
+$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "I Delegati sono in grando di gestire tutti gli aspetti di questa pagina, tranne per i settaggi di base dell'account. Non delegare il tuo account personale a nessuno di cui non ti fidi ciecamente.";
+$a->strings["Existing Page Managers"] = "Gestori attuali della pagina";
+$a->strings["Existing Page Delegates"] = "Delegati attuali della pagina";
+$a->strings["Potential Delegates"] = "Delegati potenziali";
+$a->strings["Add"] = "Aggiungi";
+$a->strings["No entries."] = "Nessun risultato.";
+$a->strings["Age: "] = "Età:";
+$a->strings["Gender: "] = "Sesso:";
+$a->strings["Finding:"] = "Ricerca:";
+$a->strings["next page"] = "pagina succ.";
+$a->strings["previous page"] = "pagina prec.";
+$a->strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualcosa potrebbe essere nascosto).";
$a->strings["People Search"] = "Cerca persone";
-$a->strings["status"] = "stato";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
-$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s non piace %3\$s di %2\$s";
-$a->strings["Item not found."] = "Elemento non trovato.";
-$a->strings["Access denied."] = "Accesso negato.";
-$a->strings["Photos"] = "Foto";
-$a->strings["Files"] = "";
-$a->strings["Account approved."] = "Account approvato.";
-$a->strings["Registration revoked for %s"] = "Registrazione revocata per %s";
-$a->strings["Please login."] = "Accedi.";
-$a->strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
-$a->strings["Empty post discarded."] = "Messaggio vuoto scartato.";
-$a->strings["Wall Photos"] = "Foto della bacheca";
-$a->strings["System error. Post not saved."] = "Errore di sistema. Messaggio non salvato.";
-$a->strings["This message was sent to you by %s, a member of the Friendica social network."] = "Questo messaggio ti è stato inviato da %s, un membro del social network Friendica.";
-$a->strings["You may visit them online at %s"] = "Puoi visitarli online su %s";
-$a->strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = "Contatta il mittente rispondendo a questo post se non vuoi ricevere questi messaggi.";
-$a->strings["%s posted an update."] = "%s ha inviato un aggiornamento.";
-$a->strings["%1\$s is currently %2\$s"] = "";
-$a->strings["Mood"] = "";
-$a->strings["Set your current mood and tell your friends"] = "";
-$a->strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
-$a->strings["Image size reduction [%s] failed."] = "Il ridimensionamento del'immagine [%s] è fallito.";
-$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente.";
-$a->strings["Unable to process image"] = "Impossibile elaborare l'immagine";
-$a->strings["Image exceeds size limit of %d"] = "La dimensione dell'immagine supera il limite di %d";
-$a->strings["Upload File:"] = "Carica un file:";
-$a->strings["Select a profile:"] = "";
-$a->strings["Upload"] = "Carica";
-$a->strings["skip this step"] = "salta questo passaggio";
-$a->strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
-$a->strings["Crop Image"] = "Ritaglia immagine";
-$a->strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'imagine per una visualizzazione migliore.";
-$a->strings["Done Editing"] = "Finito";
-$a->strings["Image uploaded successfully."] = "Immagine caricata con successo.";
-$a->strings["No profile"] = "Nessun profilo";
-$a->strings["Remove My Account"] = "Rimuovi il mio account";
-$a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Questo comando rimuoverà completamente il tuo account. Una volta rimosso non potrai più recuperarlo.";
-$a->strings["Please enter your password for verification:"] = "Inserisci la tua password per verifica:";
-$a->strings["New Message"] = "Nuovo messaggio";
-$a->strings["Unable to locate contact information."] = "Impossibile trovare le informazioni del contatto.";
+$a->strings["No matches"] = "Nessun risultato";
+$a->strings["Menu not found."] = "Menù non trovato.";
+$a->strings["Menu element updated."] = "L'elemento del menù è stato aggiornato.";
+$a->strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù.";
+$a->strings["Menu element added."] = "Elemento aggiunto al menù.";
+$a->strings["Unable to add menu element."] = "Impossibile aggiungere l'elemento al menù.";
+$a->strings["Not found."] = "Non trovato.";
+$a->strings["Manage Menu Elements"] = "Gestione elementi del menù";
+$a->strings["Edit menu"] = "Modifica il menù";
+$a->strings["Edit element"] = "Modifica l'elemento";
+$a->strings["Drop element"] = "Elimina l'elemento";
+$a->strings["New element"] = "Nuovo elemento";
+$a->strings["Edit this menu container"] = "Modifica il contenitore del menù";
+$a->strings["Add menu element"] = "Aggiungi un elemento al menù";
+$a->strings["Delete this menu item"] = "Elimina questo elemento del menù";
+$a->strings["Edit this menu item"] = "Modifica questo elemento del menù";
+$a->strings["New Menu Element"] = "Nuovo elemento del menù";
+$a->strings["Link text"] = "Testo del link";
+$a->strings["URL of link"] = "Indirizzo del link";
+$a->strings["Use Red magic-auth if available"] = "Usa l'autenticazione magica di Red, se disponibile";
+$a->strings["Open link in new window"] = "Apri il link in una nuova finestra";
+$a->strings["Order in list"] = "Ordine dell'elenco";
+$a->strings["Higher numbers will sink to bottom of listing"] = "I numeri più alti andranno in fondo all'elenco";
+$a->strings["Create"] = "Crea";
+$a->strings["Menu item not found."] = "L'elemento del menù non è stato trovato.";
+$a->strings["Menu item deleted."] = "L'elemento del menù è stato eliminato.";
+$a->strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato.";
+$a->strings["Edit Menu Element"] = "Modifica l'elemento del menù";
+$a->strings["Modify"] = "Modifica";
+$a->strings["Collection created."] = "L'insieme di canali è stato creato.";
+$a->strings["Could not create collection."] = "Impossibile creare l'insieme.";
+$a->strings["Collection name changed."] = "Il nome dell'insieme di canali è stato cambiato.";
+$a->strings["Create a collection of channels."] = "Crea un insieme di canali.";
+$a->strings["Collection Name: "] = "Nome del'insieme:";
+$a->strings["Members are visible to other channels"] = "I membri saranno visibili agli altri canali";
+$a->strings["Collection removed."] = "Insieme rimosso.";
+$a->strings["Unable to remove collection."] = "Impossibile rimuovere l'insieme.";
+$a->strings["Collection Editor"] = "Modifica l'insieme";
+$a->strings["Members"] = "Membri";
+$a->strings["All Connected Channels"] = "Tutti i canali connessi";
+$a->strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo.";
+$a->strings["Page owner information could not be retrieved."] = "Impossibile ottenere informazioni sul proprietario della pagina.";
+$a->strings["Album not found."] = "Album non trovato.";
+$a->strings["Delete Album"] = "Elimina album";
+$a->strings["Delete Photo"] = "Elimina foto";
+$a->strings["%1\$s was tagged in %2\$s by %3\$s"] = "%3\$s ha taggato %1\$s in %2\$s";
+$a->strings["a photo"] = "una foto";
+$a->strings["No photos selected"] = "Nessuna foto selezionata";
+$a->strings["Access to this item is restricted."] = "Questo elemento non è visibile a tutti.";
+$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Hai usato %1$.2f Mb di %2$.2f Mb disponibili per le foto.";
+$a->strings["You have used %1$.2f Mbytes of photo storage."] = "Hai usato %1$.2f Mb di spazio per le foto.";
+$a->strings["Upload Photos"] = "Carica foto";
+$a->strings["New album name: "] = "Nome del nuovo album: ";
+$a->strings["or existing album name: "] = "o nome di un album esistente: ";
+$a->strings["Do not show a status post for this upload"] = "Non creare un messaggio di stato per questo caricamento";
+$a->strings["Permissions"] = "Permessi";
+$a->strings["Contact Photos"] = "Foto dei contatti";
+$a->strings["Edit Album"] = "Modifica album";
+$a->strings["Show Newest First"] = "Prima i più recenti";
+$a->strings["Show Oldest First"] = "Prima i più vecchi";
+$a->strings["View Photo"] = "Guarda la foto";
+$a->strings["Permission denied. Access to this item may be restricted."] = "Permesso negato. L'accesso a questo elemento può essere stato limitato.";
+$a->strings["Photo not available"] = "Foto non disponibile";
+$a->strings["Use as profile photo"] = "Usa come foto del profilo";
+$a->strings["View Full Size"] = "Vedi nelle dimensioni originali";
+$a->strings["Edit photo"] = "Modifica la foto";
+$a->strings["Rotate CW (right)"] = "Ruota (senso orario)";
+$a->strings["Rotate CCW (left)"] = "Ruota (senso antiorario)";
+$a->strings["New album name"] = "Nuovo nome dell'album";
+$a->strings["Caption"] = "Titolo";
+$a->strings["Add a Tag"] = "Aggiungi tag";
+$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Per esempio: @luca, @Maria_Bianchi, @bob@example.com, #California, #camping";
+$a->strings["View Album"] = "Guarda l'album";
+$a->strings["Recent Photos"] = "Foto recenti";
+$a->strings["sent you a private message"] = "ti ha inviato un messaggio privato";
+$a->strings["added your channel"] = "ha aggiunto il tuo canale";
+$a->strings["g A l F d"] = "g A l d F";
+$a->strings["[today]"] = "[oggi]";
+$a->strings["posted an event"] = "ha creato un evento";
+$a->strings["- select -"] = "- scegli -";
+$a->strings["Menu updated."] = "Menù aggiornato.";
+$a->strings["Unable to update menu."] = "Impossibile aggiornare il menù.";
+$a->strings["Menu created."] = "Menù creato.";
+$a->strings["Unable to create menu."] = "Impossibile creare il menù.";
+$a->strings["Manage Menus"] = "Gestione menù";
+$a->strings["Drop"] = "Elimina";
+$a->strings["New"] = "Novità";
+$a->strings["Create a new menu"] = "Crea un nuovo menù";
+$a->strings["Delete this menu"] = "Elimina questo menù";
+$a->strings["Edit menu contents"] = "Modifica i contenuti del menù";
+$a->strings["Edit this menu"] = "Modifica questo menù";
+$a->strings["New Menu"] = "Nuovo menù";
+$a->strings["Menu name"] = "Nome del menù";
+$a->strings["Must be unique, only seen by you"] = "Deve essere unico, lo vedrai solo tu";
+$a->strings["Menu title"] = "Titolo del menù";
+$a->strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti";
+$a->strings["Menu deleted."] = "Menù eliminato.";
+$a->strings["Menu could not be deleted."] = "Il menù non può essere eliminato.";
+$a->strings["Edit Menu"] = "Modifica menù";
+$a->strings["Add or remove entries to this menu"] = "Aggiungi o rimuovi elementi di questo menù";
+$a->strings["Welcome to %s"] = "%s ti dà il benvenuto";
+$a->strings["Check Mail"] = "Controlla i messaggi";
+$a->strings["Unable to lookup recipient."] = "Impossibile associare un destinatario.";
+$a->strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto.";
+$a->strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto.";
+$a->strings["Selected channel has private message restrictions. Send failed."] = "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito.";
+$a->strings["Messages"] = "Messaggi";
$a->strings["Message deleted."] = "Messaggio eliminato.";
$a->strings["Conversation removed."] = "Conversazione rimossa.";
+$a->strings["Send Private Message"] = "Invia un messaggio privato";
+$a->strings["To:"] = "A:";
+$a->strings["Subject:"] = "Oggetto:";
$a->strings["No messages."] = "Nessun messaggio.";
-$a->strings["Unknown sender - %s"] = "Mittente sconosciuto - %s";
-$a->strings["You and %s"] = "Tu e %s";
-$a->strings["%s and You"] = "";
-$a->strings["Delete conversation"] = "Elimina la conversazione";
-$a->strings["D, d M Y - g:i A"] = "D d M Y - G:i";
-$a->strings["%d message"] = array(
- 0 => "%d messaggio",
- 1 => "%d messaggi",
-);
-$a->strings["Message not available."] = "Messaggio non disponibile.";
$a->strings["Delete message"] = "Elimina il messaggio";
-$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Nessuna comunicazione sicura disponibile, <strong>Potresti</strong> essere in grado di rispondere dalla pagina del profilo del mittente.";
+$a->strings["D, d M Y - g:i A"] = "D d M Y - G:i";
+$a->strings["Message not found."] = "Messaggio non trovato.";
+$a->strings["Delete conversation"] = "Elimina la conversazione";
+$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Non è disponibile alcun sistema per comunicare in modo sicuro. Puoi verificare se <strong>eventualmente</strong> è possibile rispondere dalla pagina del profilo del mittente.";
$a->strings["Send Reply"] = "Invia la risposta";
-$a->strings["Friends of %s"] = "Amici di %s";
-$a->strings["No friends to display."] = "Nessun amico da visualizzare.";
-$a->strings["Theme settings updated."] = "";
+$a->strings["No profile"] = "Nessun profilo";
+$a->strings["Help:"] = "Guida:";
+$a->strings["Not Found"] = "Non disponibile";
+$a->strings["Page not found."] = "Pagina non trovata.";
+$a->strings["Remote Authentication"] = "Autenticazione a distanza";
+$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)";
+$a->strings["Authenticate"] = "Autenticazione";
+$a->strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
+$a->strings["Empty post discarded."] = "L'articolo vuoto è stato ignorato.";
+$a->strings["System error. Post not saved."] = "Errore di sistema. Articolo non salvato.";
+$a->strings["Wall Photos"] = "Foto della bacheca";
+$a->strings["Remove term"] = "Rimuovi termine";
+$a->strings["Commented Order"] = "Ultimi commenti";
+$a->strings["Sort by Comment Date"] = "Per data del commento";
+$a->strings["Posted Order"] = "Ultimi articoli";
+$a->strings["Sort by Post Date"] = "Per data di creazione";
+$a->strings["Personal"] = "Personali";
+$a->strings["Posts that mention or involve you"] = "Articoli che ti riguardano o ti menzionano";
+$a->strings["Activity Stream - by date"] = "Elenco attività - per data";
+$a->strings["Starred"] = "Preferiti";
+$a->strings["Favourite Posts"] = "Articoli preferiti";
+$a->strings["Spam"] = "Spam";
+$a->strings["Posts flagged as SPAM"] = "Articoli marcati come spam";
+$a->strings["Refresh"] = "Aggiorna";
+$a->strings["Me"] = "Io";
+$a->strings["Best Friends"] = "Buoni amici";
+$a->strings["Co-workers"] = "Colleghi";
+$a->strings["Former Friends"] = "Ex amici";
+$a->strings["Acquaintances"] = "Conoscenti";
+$a->strings["Everybody"] = "Tutti";
+$a->strings["Search Results For:"] = "Cerca risultati con:";
+$a->strings["No such group"] = "Impossibile trovare l'insieme";
+$a->strings["Group is empty"] = "L'insieme è vuoto";
+$a->strings["Contact: "] = "Contatto:";
+$a->strings["Invalid contact."] = "Contatto non valido.";
+$a->strings["Approve"] = "Approva";
+$a->strings["Block"] = "Blocca";
+$a->strings["Ignore"] = "Ignora";
+$a->strings["Connection updated."] = "Contatto aggiornato.";
+$a->strings["Connection update failed."] = "Impossibile aggiornare il contatto.";
+$a->strings["Introductions and Connection Requests"] = "Richieste di contatto e di amicizia";
+$a->strings["No pending introductions."] = "Nessuna richiesta in attesa.";
+$a->strings["System error. Please try again later."] = "Errore di sistema. Riprovare più tardi.";
+$a->strings["Hide this contact from others"] = "Nascondi questo contatto agli altri";
+$a->strings["Post a new friend activity"] = "Pubblica sulla bacheca che hai un nuovo contatto";
+$a->strings["if applicable"] = "se possibile";
+$a->strings["Discard"] = "Rifiuta";
+$a->strings["Could not access contact record."] = "Non è possibile accedere alle informazioni sul contatto.";
+$a->strings["Could not locate selected profile."] = "Non riesco a trovare il profilo selezionato.";
+$a->strings["Failed to update connection record."] = "Impossibile aggiornare le informazioni di contatto.";
+$a->strings["Could not access address book record."] = "Impossibile accedere alle informazioni della rubrica.";
+$a->strings["Refresh failed - channel is currently unavailable."] = "Il canale non è disponibile - impossibile aggiornare.";
+$a->strings["Channel has been unblocked"] = "Il canale è stato sbloccato";
+$a->strings["Channel has been blocked"] = "Il canale è stato bloccato";
+$a->strings["Unable to set address book parameters."] = "Impossibile impostare i parametri della rubrica.";
+$a->strings["Channel has been unignored"] = "Il canale non sarà più ignorato";
+$a->strings["Channel has been ignored"] = "Il canale sarà ignorato";
+$a->strings["Channel has been unarchived"] = "Il canale non è più archiviato";
+$a->strings["Channel has been archived"] = "Il canale è stato archiviato";
+$a->strings["Channel has been unhidden"] = "Il canale non è più nascosto";
+$a->strings["Channel has been hidden"] = "Il canale è stato nascosto";
+$a->strings["Channel has been approved"] = "Il canale è stato approvato";
+$a->strings["Channel has been unapproved"] = "Il canale non è più approvato";
+$a->strings["Contact has been removed."] = "Il contatto è stato rimosso.";
+$a->strings["View %s's profile"] = "Guarda il profilo di %s";
+$a->strings["Refresh Permissions"] = "Aggiorna i permessi";
+$a->strings["Fetch updated permissions"] = "Scarica i permessi aggiornati";
+$a->strings["Unblock"] = "Sblocca";
+$a->strings["Block or Unblock this connection"] = "Per bloccare o meno questo contatto";
+$a->strings["Unignore"] = "Non ignorare";
+$a->strings["Ignore or Unignore this connection"] = "Per ignorare o meno questo contatto";
+$a->strings["Unarchive"] = "Non archiviare";
+$a->strings["Archive"] = "Archivia";
+$a->strings["Archive or Unarchive this connection"] = "Per archiviare o meno questo contatto";
+$a->strings["Unhide"] = "Non nascondere";
+$a->strings["Hide"] = "Nascondi";
+$a->strings["Hide or Unhide this connection"] = "Per nascondere o meno questo contatto";
+$a->strings["Delete this connection"] = "Elimina questo contatto";
+$a->strings["Unknown"] = "Sconosciuto";
+$a->strings["Approve this connection"] = "Approva questo contatto";
+$a->strings["Accept connection to allow communication"] = "Accetta il contatto per poter comunicare";
+$a->strings["Automatic Permissions Settings"] = "Permessi predefiniti";
+$a->strings["Connections: settings for %s"] = "Contatti: impostazioni per %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."] = "Quando ricevi una richiesta di amicizia da un canale, i permessi mostrati in questa pagina saranno applicati al nuovo contatto con l'approvazione della richiesta. Lascia questa pagina se non vuoi proseguire.";
+$a->strings["Slide to adjust your degree of friendship"] = "Trascina per restringere il grado di amicizia da mostrare";
+$a->strings["Connection has no individual permissions!"] = "Non hai assegnato permessi individuali a questo contatto!";
+$a->strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "Questo corrisponde alle tue <a href='settings'>impostazioni di privacy</a>, ma puoi anche dare un'occhiata ai 'Permessi avanzati' per opzioni più dettagliate.";
+$a->strings["Profile Visibility"] = "Visibilità del profilo";
+$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro.";
+$a->strings["Contact Information / Notes"] = "Informazioni e annotazioni sul contatto";
+$a->strings["Edit contact notes"] = "Modifica le informazioni sul contatto";
+$a->strings["Their Settings"] = "Permessi concessi a te";
+$a->strings["My Settings"] = "I permessi che concedo";
+$a->strings["Forum Members"] = "Membro di un forum";
+$a->strings["Soapbox"] = "Comunicati e annunci";
+$a->strings["Full Sharing"] = "Condivisione totale";
+$a->strings["Cautious Sharing"] = "Condivisione prudente";
+$a->strings["Follow Only"] = "Follower";
+$a->strings["Individual Permissions"] = "Permessi individuali";
+$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."] = "I permessi individuali sono disponibili solo quando nelle <a href=\"settings\">impostazioni di sicurezza e privacy</a> scegli \"Solo chi riceve il mio permesso\". Altrimenti sono applicate le stesse impostazioni per tutti.";
+$a->strings["Advanced Permissions"] = "Permessi avanzati";
+$a->strings["Quick Links"] = "Impostazioni veloci";
+$a->strings["Visit %s's profile - %s"] = "Guarda il profilo di %s - %s";
+$a->strings["Block/Unblock contact"] = "Blocca/sblocca contatto";
+$a->strings["Ignore contact"] = "Ignora il contatto";
+$a->strings["Repair URL settings"] = "Ripara le impostazioni URL";
+$a->strings["View conversations"] = "Leggi le conversazioni";
+$a->strings["Delete contact"] = "Elimina contatto";
+$a->strings["Last update:"] = "Ultimo aggiornamento:";
+$a->strings["Update public posts"] = "Aggiorna gli articoli pubblici";
+$a->strings["Update now"] = "Aggiorna adesso";
+$a->strings["Currently blocked"] = "Attualmente bloccato";
+$a->strings["Currently ignored"] = "Attualmente ignorato";
+$a->strings["Currently archived"] = "Attualmente archiviato";
+$a->strings["Currently pending"] = "Attualmente da approvare";
+$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Le risposte ai tuoi articoli pubblici <strong>potrebbero</strong> restare comunque visibili";
+$a->strings["Blocked"] = "Bloccati";
+$a->strings["Ignored"] = "Ignorati";
+$a->strings["Hidden"] = "Nascosti";
+$a->strings["Archived"] = "Archiviati";
+$a->strings["All"] = "Tutti";
+$a->strings["Suggestions"] = "Suggerimenti";
+$a->strings["Suggest new connections"] = "Suggerisci nuovi contatti";
+$a->strings["Show pending (new) connections"] = "Richieste di amicizia in attesa";
+$a->strings["All Connections"] = "Tutti i contatti";
+$a->strings["Show all connections"] = "Mostra tutti i contatti";
+$a->strings["Unblocked"] = "Non bloccati";
+$a->strings["Only show unblocked connections"] = "Mostra solo i contatti non bloccati";
+$a->strings["Only show blocked connections"] = "Mostra solo i contatti bloccati";
+$a->strings["Only show ignored connections"] = "Mostra solo i contatti ignorati";
+$a->strings["Only show archived connections"] = "Mostra solo i contatti archiviati";
+$a->strings["Only show hidden connections"] = "Mostra solo i contatti nascosti";
+$a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+$a->strings["Edit contact"] = "Modifica il contatto";
+$a->strings["Search your connections"] = "Cerca tra i contatti";
+$a->strings["Finding: "] = "Ricerca: ";
+$a->strings["This site is not a directory server"] = "Questo sito non fornisce l'elenco generale dei canali";
+$a->strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili.";
+$a->strings["Visible to:"] = "Visibile a:";
+$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione remota non è disponibile. Hai accesso solamente a questo sito. Puoi provare ad uscire per tentare di nuovo.";
+$a->strings["Welcome %s. Remote authentication successful."] = "Ciao %s. La tua autenticazione da remoto è avvenuta con successo.";
+$a->strings["Profile not found."] = "Profilo non trovato.";
+$a->strings["Profile deleted."] = "Profilo eliminato.";
+$a->strings["Profile-"] = "Profilo-";
+$a->strings["New profile created."] = "Il nuovo profilo è stato creato.";
+$a->strings["Profile unavailable to clone."] = "Impossibile duplicare il profilo.";
+$a->strings["Profile Name is required."] = "Il nome del profilo è obbligatorio .";
+$a->strings["Marital Status"] = "Stato sentimentale";
+$a->strings["Romantic Partner"] = "Partner affettivo";
+$a->strings["Likes"] = "Cosa gli piace";
+$a->strings["Dislikes"] = "Cosa non gli piace";
+$a->strings["Work/Employment"] = "Lavoro/impiego";
+$a->strings["Religion"] = "Religione";
+$a->strings["Political Views"] = "Orientamento politico";
+$a->strings["Gender"] = "Sesso";
+$a->strings["Sexual Preference"] = "Preferenze sessuali";
+$a->strings["Homepage"] = "Homepage";
+$a->strings["Interests"] = "Interessi";
+$a->strings["Address"] = "Indirizzo";
+$a->strings["Location"] = "Luogo attuale";
+$a->strings["Profile updated."] = "Profilo aggiornato.";
+$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?";
+$a->strings["Edit Profile Details"] = "Modifica i dettagli del profilo";
+$a->strings["View this profile"] = "Guarda questo profilo";
+$a->strings["Change Profile Photo"] = "Cambia la foto del profilo";
+$a->strings["Create a new profile using these settings"] = "Crea un nuovo profilo usando queste impostazioni";
+$a->strings["Clone this profile"] = "Clona questo profilo";
+$a->strings["Delete this profile"] = "Elimina questo profilo";
+$a->strings["Profile Name:"] = "Nome del profilo:";
+$a->strings["Your Full Name:"] = "Il tuo nome completo:";
+$a->strings["Title/Description:"] = "Titolo/descrizione:";
+$a->strings["Your Gender:"] = "Sesso:";
+$a->strings["Birthday (%s):"] = "Compleanno (%s):";
+$a->strings["Street Address:"] = "Indirizzo (via/piazza):";
+$a->strings["Locality/City:"] = "Località:";
+$a->strings["Postal/Zip Code:"] = "CAP:";
+$a->strings["Country:"] = "Nazione:";
+$a->strings["Region/State:"] = "Regione/stato:";
+$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Stato sentimentale:";
+$a->strings["Who: (if applicable)"] = "Con chi: (se possibile)";
+$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Per esempio: cathy123, Cathy Williams, cathy@example.com";
+$a->strings["Since [date]:"] = "dal [data]:";
+$a->strings["Homepage URL:"] = "Indirizzo homepage:";
+$a->strings["Religious Views:"] = "Orientamento religioso:";
+$a->strings["Keywords:"] = "Parole chiave, tag:";
+$a->strings["Example: fishing photography software"] = "Per esempio: pesca fotografia programmazione";
+$a->strings["Used in directory listings"] = "Visibile nell'elenco pubblico di canali";
+$a->strings["Tell us about yourself..."] = "Raccontaci di te...";
+$a->strings["Hobbies/Interests"] = "Hobby/interessi";
+$a->strings["Contact information and Social Networks"] = "Contatti personali e i tuoi social network";
+$a->strings["My other channels"] = "I miei altri canali";
+$a->strings["Musical interests"] = "Interessi musicali";
+$a->strings["Books, literature"] = "Libri, letteratura";
+$a->strings["Television"] = "Televisione";
+$a->strings["Film/dance/culture/entertainment"] = "Film/danza/cultura/intrattenimento";
+$a->strings["Love/romance"] = "Amore";
+$a->strings["Work/employment"] = "Lavoro/impiego";
+$a->strings["School/education"] = "Scuola/educazione";
+$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Questo è il tuo profilo <strong>publico</strong>.<br /><strong>Potrebbe</strong> essere visto da chiunque attraverso internet.";
+$a->strings["Edit/Manage Profiles"] = "Modifica/gestisci i profili";
+$a->strings["Change profile photo"] = "Cambia la foto del profilo";
+$a->strings["Create New Profile"] = "Crea un nuovo profilo";
+$a->strings["Profile Image"] = "Immagine del profilo";
+$a->strings["visible to everybody"] = "visibile a tutti";
+$a->strings["Edit visibility"] = "Cambia la visibilità";
+$a->strings["Add a Channel"] = "Aggiungi un canale";
+$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "I contenuti che pubblichi finiscono in un \"canale\". Un canale può essere usato per mantenere un tuo profilo personale, per avere un blog, per creare forum di discussione o gruppi di interesse, per pagine di celebrità e molto altro. Puoi creare quanti canali vuoi a meno di limiti dati dal gestore del sito.";
+$a->strings["Channel Name"] = "Nome del canale";
+$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\"";
+$a->strings["Choose a short nickname"] = "Scegli un nome breve";
+$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale (simile a una email). Così potrai condividerlo e gli altri potranno trovarti.";
+$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Oppure <a href=\"import\">importa un tuo canale esistente</a> da un altro server/hub";
+$a->strings["Theme settings updated."] = "Le impostazioni del tema sono state aggiornate.";
$a->strings["Site"] = "Sito";
$a->strings["Users"] = "Utenti";
$a->strings["Plugins"] = "Plugin";
$a->strings["Themes"] = "Temi";
-$a->strings["DB updates"] = "";
+$a->strings["DB updates"] = "Aggiornamenti al DB";
$a->strings["Logs"] = "Log";
-$a->strings["Admin"] = "Amministrazione";
-$a->strings["Plugin Features"] = "";
+$a->strings["Plugin Features"] = "Funzionalità dei componenti aggiuntivi";
$a->strings["User registrations waiting for confirmation"] = "Utenti registrati in attesa di conferma";
-$a->strings["Normal Account"] = "Account normale";
-$a->strings["Soapbox Account"] = "Account per comunicati e annunci";
-$a->strings["Community/Celebrity Account"] = "Account per celebrità o per comunità";
-$a->strings["Automatic Friend Account"] = "Account per amicizia automatizzato";
-$a->strings["Blog Account"] = "";
-$a->strings["Private Forum"] = "";
-$a->strings["Message queues"] = "";
+$a->strings["Message queues"] = "Coda dei messaggi";
$a->strings["Administration"] = "Amministrazione";
-$a->strings["Summary"] = "Sommario";
+$a->strings["Summary"] = "Riepilogo";
$a->strings["Registered users"] = "Utenti registrati";
$a->strings["Pending registrations"] = "Registrazioni in attesa";
$a->strings["Version"] = "Versione";
$a->strings["Active plugins"] = "Plugin attivi";
$a->strings["Site settings updated."] = "Impostazioni del sito aggiornate.";
+$a->strings["No special theme for accessibility"] = "Nessun tema speciale per l'accessibilità";
$a->strings["Closed"] = "Chiusa";
$a->strings["Requires approval"] = "Richiede l'approvazione";
$a->strings["Open"] = "Aperta";
-$a->strings["No SSL policy, links will track page SSL state"] = "";
-$a->strings["Force all links to use SSL"] = "Forza tutti i linki ad usare SSL";
-$a->strings["Self-signed certificate, use SSL for local links only (discouraged)"] = "";
+$a->strings["Private"] = "Privato";
+$a->strings["Paid Access"] = "Servizio a pagamento";
+$a->strings["Free Access"] = "Servizio gratuito";
+$a->strings["Registration"] = "Registrazione";
$a->strings["File upload"] = "Caricamento file";
$a->strings["Policies"] = "Politiche";
$a->strings["Advanced"] = "Avanzate";
$a->strings["Site name"] = "Nome del sito";
-$a->strings["Banner/Logo"] = "Banner/Logo";
+$a->strings["Banner/Logo"] = "Banner o logo";
$a->strings["System language"] = "Lingua di sistema";
$a->strings["System theme"] = "Tema di sistema";
-$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["SSL link policy"] = "";
-$a->strings["Determines whether generated links should be forced to use SSL"] = "";
-$a->strings["Maximum image size"] = "Massima dimensione immagini";
+$a->strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>";
+$a->strings["Mobile system theme"] = "Tema di sistema per dispositivi mobili";
+$a->strings["Theme for mobile devices"] = "Tema per i dispositivi mobili";
+$a->strings["Accessibility system theme"] = "Tema di sistema ad alta accessibilità";
+$a->strings["Accessibility theme"] = "Tema ad alta accessibilità";
+$a->strings["Channel to use for this website's static pages"] = "Canale da usare per le pagine statiche di questo sito";
+$a->strings["Site Channel"] = "Canale del sito";
+$a->strings["Maximum image size"] = "Dimensione massima immagini";
$a->strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite.";
-$a->strings["Maximum image length"] = "";
-$a->strings["Maximum length in pixels of the longest side of uploaded images. Default is -1, which means no limits."] = "";
-$a->strings["JPEG image quality"] = "";
-$a->strings["Uploaded JPEGS will be saved at this quality setting [0-100]. Default is 100, which is full quality."] = "";
$a->strings["Register policy"] = "Politica di registrazione";
-$a->strings["Register text"] = "Testo registrazione";
+$a->strings["Access policy"] = "Tipo di accesso";
+$a->strings["Register text"] = "Testo diregistrazione";
$a->strings["Will be displayed prominently on the registration page."] = "Sarà mostrato ben visibile nella pagina di registrazione.";
$a->strings["Accounts abandoned after x days"] = "Account abbandonati dopo x giorni";
-$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Non spreca risorse di sistema controllando siti esterni per gli account abbandonati. Immettere 0 per nessun limite di tempo.";
-$a->strings["Allowed friend domains"] = "Domini amici consentiti";
-$a->strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virglola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio.";
+$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo.";
+$a->strings["Allowed friend domains"] = "Domini fidati e consentiti";
+$a->strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virglola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio.";
$a->strings["Allowed email domains"] = "Domini email consentiti";
-$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"] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio.";
+$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"] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio.";
$a->strings["Block public"] = "Blocca pagine pubbliche";
-$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Seleziona per bloccare l'accesso pubblico a tutte le pagine personali di questo sito, a meno di essere loggato.";
-$a->strings["Force publish"] = "Forza publicazione";
-$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Seleziona per forzare tutti i profili di questo sito ad essere compresi nell'elenco di questo sito.";
-$a->strings["Global directory update URL"] = "URL aggiornamento Elenco Globale";
-$a->strings["URL to update the global directory. If this is not set, the global directory is completely unavailable to the application."] = "URL dell'elenco globale. Se vuoto, l'elenco globale sarà completamente disabilitato.";
-$a->strings["Allow threaded items"] = "";
-$a->strings["Allow infinite level threading for items on this site."] = "";
-$a->strings["Private posts by default for new users"] = "";
-$a->strings["Set default post permissions for all new members to the default privacy group rather than public."] = "";
-$a->strings["Block multiple registrations"] = "Blocca registrazioni multiple";
-$a->strings["Disallow users to register additional accounts for use as pages."] = "Non permette all'utente di registrare account extra da usare come pagine.";
-$a->strings["OpenID support"] = "Supporto OpenID";
-$a->strings["OpenID support for registration and logins."] = "Supporta OpenID per la registrazione e il login";
-$a->strings["Fullname check"] = "Controllo nome completo";
-$a->strings["Force users to register with a space between firstname and lastname in Full name, as an antispam measure"] = "Forza gli utenti a registrarsi con uno spazio tra il nome e il cognome in \"Nome completo\", come misura antispam";
-$a->strings["UTF-8 Regular expressions"] = "Espressioni regolari UTF-8";
-$a->strings["Use PHP UTF8 regular expressions"] = "Usa le espressioni regolari PHP in UTF8";
-$a->strings["Show Community Page"] = "Mostra pagina Comunità";
-$a->strings["Display a Community page showing all recent public postings on this site."] = "Mostra una pagina Comunità con tutti i recenti messaggi pubblici su questo sito.";
-$a->strings["Enable OStatus support"] = "Abilita supporto OStatus";
-$a->strings["Provide built-in OStatus (identi.ca, status.net, etc.) compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed."] = "Fornisce compatibiltà OStatuts (identi.ca, status.net, etc.). Tutte le comunicazioni in OStatus sono pubbliche, per cui avvisi di provacy verranno occasionalmente mostrati.";
-$a->strings["Enable Diaspora support"] = "Abilita il supporto a Diaspora";
-$a->strings["Provide built-in Diaspora network compatibility."] = "Fornisce compatibilità con il network Diaspora.";
-$a->strings["Only allow Friendica contacts"] = "Permetti solo contatti Friendica";
-$a->strings["All contacts must use Friendica protocols. All other built-in communication protocols disabled."] = "Tutti i contatti devono usare il protocollo di Friendica. Tutti gli altri protocolli sono disabilitati.";
-$a->strings["Verify SSL"] = "Verifica SSL";
-$a->strings["If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites."] = "Se vuoi, puoi abilitare il controllo rigoroso dei certificati.Questo significa che non potrai collegarti (del tutto) con siti con certificati SSL auto-firmati.";
-$a->strings["Proxy user"] = "Utente Proxy";
-$a->strings["Proxy URL"] = "URL Proxy";
+$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso.";
+$a->strings["Force publish"] = "Forza la publicazione del profilo";
+$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Seleziona per mostrare nell'elenco dei canali del sito <strong>tutti</strong> i profili registrati.";
+$a->strings["Proxy user"] = "Utente proxy";
+$a->strings["Proxy URL"] = "URL proxy";
$a->strings["Network timeout"] = "Timeout rete";
-$a->strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valore in secondi. Imposta a 0 per illimitato (non raccomandato).";
-$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["This does not include updates prior to 1139, which did not return a status."] = "";
-$a->strings["Mark success (if update was manually applied)"] = "";
-$a->strings["Attempt to execute this update step automatically"] = "";
+$a->strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valore in secondi. Imposta a 0 per illimitato (sconsigliato).";
+$a->strings["Delivery interval"] = "Recapito ritardato";
+$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."] = "RItarda il processo di recapito di questo numero di secondi per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati.";
+$a->strings["Poll interval"] = "Intervallo di polling";
+$a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Ritarda i processi di polling in background di questo numero di secondi per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'.";
+$a->strings["Maximum Load Average"] = "Carico massimo medio";
+$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50.";
+$a->strings["Update has been marked successful"] = "L'aggiornamento è stato marcato come eseguito.";
+$a->strings["Executing %s failed. Check system logs."] = "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema.";
+$a->strings["Update %s was successfully applied."] = "L'aggiornamento %s è terminato correttamente.";
+$a->strings["Update %s did not return a status. Unknown if it succeeded."] = "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente.";
+$a->strings["Update function %s could not be found."] = "Impossibile trovare la funzione di aggiornamento %s";
+$a->strings["No failed updates."] = "Nessun aggiornamento fallito.";
+$a->strings["Failed Updates"] = "Aggiornamenti falliti.";
+$a->strings["Mark success (if update was manually applied)"] = "Marca come eseguito (se applicato manualmente).";
+$a->strings["Attempt to execute this update step automatically"] = "Tenta di eseguire in automatico questo passaggio dell'aggiornamento.";
$a->strings["%s user blocked/unblocked"] = array(
- 0 => "",
- 1 => "",
+ 0 => "%s utente bloccato/sbloccato",
+ 1 => "%s utenti bloccati/sbloccati",
);
$a->strings["%s user deleted"] = array(
0 => "%s utente cancellato",
1 => "%s utenti cancellati",
);
-$a->strings["User '%s' deleted"] = "Utente '%s' cancellato";
+$a->strings["Account not found"] = "Account non trovato";
+$a->strings["User '%s' deleted"] = "Utente '%s' eliminato";
$a->strings["User '%s' unblocked"] = "Utente '%s' sbloccato";
$a->strings["User '%s' blocked"] = "Utente '%s' bloccato";
+$a->strings["Normal Account"] = "Account normale";
+$a->strings["Soapbox Account"] = "Account per comunicati e annunci";
+$a->strings["Community/Celebrity Account"] = "Account per celebrità o per comunità";
+$a->strings["Automatic Friend Account"] = "Account per amicizia automatizzato";
$a->strings["select all"] = "seleziona tutti";
$a->strings["User registrations waiting for confirm"] = "Richieste di registrazione in attesa di conferma";
$a->strings["Request date"] = "Data richiesta";
-$a->strings["Email"] = "Email";
$a->strings["No registrations."] = "Nessuna registrazione.";
$a->strings["Deny"] = "Nega";
-$a->strings["Site admin"] = "";
$a->strings["Register date"] = "Data registrazione";
$a->strings["Last login"] = "Ultimo accesso";
-$a->strings["Last item"] = "Ultimo elemento";
-$a->strings["Account"] = "Account";
-$a->strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Gli utenti selezionati saranno cancellati!\\n\\nTutto quello che gli utenti hanno inviato su questo sito sarà permanentemente canellato!\\n\\nSei sicuro?";
-$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?"] = "L'utente {0} sarà cancellato!\\n\\nTutto quello che ha inviato su questo sito sarà permanentemente canellato!\\n\\nSei sicuro?";
-$a->strings["Plugin %s disabled."] = "Plugin %s disabilitato.";
-$a->strings["Plugin %s enabled."] = "Plugin %s abilitato.";
-$a->strings["Disable"] = "Disabilita";
-$a->strings["Enable"] = "Abilita";
-$a->strings["Toggle"] = "Inverti";
-$a->strings["Author: "] = "Autore: ";
-$a->strings["Maintainer: "] = "Manutentore: ";
+$a->strings["Service Class"] = "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?"] = "Gli utenti selezionati saranno eliminati!\\n\\nTutto quello che gli utenti hanno pubblicato su questo sito sarà permanentemente eliminato!\\n\\nConfermi?";
+$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?"] = "L'utente {0} sarà eliminato!\\n\\nTutto quello che ha pubblicato su questo sito sarà permanentemente eliminato!\\n\\nConfermi?";
+$a->strings["Plugin %s disabled."] = "Plugin %s non attivo.";
+$a->strings["Plugin %s enabled."] = "Plugin %s attivo.";
+$a->strings["Disable"] = "Disattiva";
+$a->strings["Enable"] = "Attiva";
+$a->strings["Toggle"] = "Attiva/disattiva";
+$a->strings["Author: "] = "Autore:";
+$a->strings["Maintainer: "] = "Gestore:";
$a->strings["No themes found."] = "Nessun tema trovato.";
-$a->strings["Screenshot"] = "";
+$a->strings["Screenshot"] = "Istantanea dello schermo";
$a->strings["[Experimental]"] = "[Sperimentale]";
$a->strings["[Unsupported]"] = "[Non supportato]";
-$a->strings["Log settings updated."] = "Impostazioni Log aggiornate.";
+$a->strings["Log settings updated."] = "Impostazioni di log aggiornate.";
$a->strings["Clear"] = "Pulisci";
$a->strings["Debugging"] = "Debugging";
-$a->strings["Log file"] = "File di Log";
-$a->strings["Must be writable by web server. Relative to your Friendica top-level directory."] = "Deve essere scrivibile dal server web. Relativo alla tua directory Friendica.";
-$a->strings["Log level"] = "Livello di Log";
-$a->strings["Close"] = "Chiudi";
-$a->strings["FTP Host"] = "Indirizzo FTP";
-$a->strings["FTP Path"] = "Percorso FTP";
-$a->strings["FTP User"] = "Utente FTP";
-$a->strings["FTP Password"] = "Pasword FTP";
-$a->strings["Requested profile is not available."] = "Profilo richiesto non disponibile.";
+$a->strings["Log file"] = "File di log";
+$a->strings["Must be writable by web server. Relative to your Red top-level directory."] = "Deve essere scrivibile dal web server. È relativa alla cartella dove è installato Red.";
+$a->strings["Log level"] = "Livello di log";
+$a->strings["No valid account found."] = "Nessun account valido trovato.";
+$a->strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
+$a->strings["Site Member (%s)"] = "Utente del sito (%s)";
+$a->strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s";
+$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non può essere reimpostata.";
+$a->strings["Password Reset"] = "Reimposta la password";
+$a->strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto.";
+$a->strings["Your new password is"] = "La tua nuova password è";
+$a->strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
+$a->strings["click here to login"] = "clicca qui per accedere";
+$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso.";
+$a->strings["Your password has changed at %s"] = "La tua password su %s è cambiata";
+$a->strings["Forgot your Password?"] = "Hai dimenticato la password?";
+$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
+$a->strings["Email Address"] = "Indirizzo email";
+$a->strings["Reset"] = "Reimposta";
+$a->strings["Nothing to import."] = "Non c'è niente da importare.";
+$a->strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio server";
+$a->strings["Imported file is empty."] = "Il file da importare è vuoto.";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
+$a->strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita.";
+$a->strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
+$a->strings["Import completed."] = "L'importazione è terminata con successo!";
+$a->strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso.";
+$a->strings["Import Channel"] = "Importa un canale";
+$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi scaricare i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file che hai esportato. Saranno importati solamente l'identità e i contatti. L'importazione dei contenuti non è ancora disponibile.";
+$a->strings["File to Upload"] = "File da caricare";
+$a->strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio server/hub";
+$a->strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)";
+$a->strings["Your old login email address"] = "L'email che usavi per accedere sul vecchio server";
+$a->strings["Your old login password"] = "La password per il vecchio server";
+$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Per ciascuna opzione, scegli se vuoi rendere questo server il tuo indirizzo primario, oppure se preferisci che lo rimanga il vecchio. Potrai pubblicare da entrambi i server, ma solamente uno sarà marcato come primario per i tuoi file, foto, ecc.";
+$a->strings["Make this hub my primary location"] = "Rendi questo server il mio indirizzo primario";
+$a->strings["Create a new channel"] = "Crea un nuovo canale";
+$a->strings["Channel Manager"] = "Gestione canali";
+$a->strings["Current Channel"] = "Canale attuale";
+$a->strings["Attach to one of your channels by selecting it."] = "Seleziona il canale a cui vuoi passare.";
+$a->strings["Default Channel"] = "Canale predefinito";
+$a->strings["Make Default"] = "Rendi predefinito";
+$a->strings["Total votes"] = "Totale voti";
+$a->strings["Average Rating"] = "Media";
+$a->strings["Profile Match"] = "Profili corrispondenti";
+$a->strings["No keywords to match. Please add keywords to your default profile."] = "Nessuna parola chiave per le ricerche. Aggiungi parole chiave al tuo profilo predefinito.";
+$a->strings["is interested in:"] = "interessi personali:";
+$a->strings["Contact settings applied."] = "Contatto modificato.";
+$a->strings["Contact update failed."] = "Le modifiche al contatto non sono state salvate.";
+$a->strings["Contact not found."] = "Contatto non trovato.";
+$a->strings["Repair Contact Settings"] = "Ripara le impostazioni del contatto";
+$a->strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = "<strong>ATTENZIONE: Queste sono impostazioni avanzate</strong> e se inserisci informazioni errate le tue comunicazioni con questo contatto potrebbero non funzionare più";
+$a->strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Clicca <strong>adesso</strong> il tasto 'Indietro' del browser se non hai la certezza assoluta di quel che stai facendo.";
+$a->strings["Return to contact editor"] = "Ritorna alla modifica del contatto";
+$a->strings["Account Nickname"] = "Nome utente";
+$a->strings["@Tagname - overrides Name/Nickname"] = "@TagName - sostituirà il nome utente";
+$a->strings["Account URL"] = "URL dell'utente";
+$a->strings["Friend Request URL"] = "URL di richiesta amicizia";
+$a->strings["Friend Confirm URL"] = "URL di conferma amicizia";
+$a->strings["Notification Endpoint URL"] = "URL per le notifiche";
+$a->strings["Poll/Feed URL"] = "URL del feed";
+$a->strings["New photo from this URL"] = "Nuova foto da questo URL";
+$a->strings["invalid target signature"] = "la firma riscontrata non è valida";
+$a->strings["Channel added."] = "Canale aggiunto.";
+$a->strings["Contacts who are not members of a group"] = "Contatti che non sono in nessun insieme";
+$a->strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
+$a->strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito.";
+$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente.";
+$a->strings["Image exceeds size limit of %d"] = "La dimensione dell'immagine supera il limite di %d";
+$a->strings["Unable to process image."] = "Impossibile elaborare l'immagine.";
+$a->strings["Photo not available."] = "Foto non disponibile.";
+$a->strings["Upload File:"] = "Carica un file:";
+$a->strings["Select a profile:"] = "Seleziona un profilo:";
+$a->strings["Upload Profile Photo"] = "Carica la foto del profilo";
+$a->strings["Upload"] = "Carica";
+$a->strings["skip this step"] = "salta questo passaggio";
+$a->strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
+$a->strings["Crop Image"] = "Ritaglia immagine";
+$a->strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione.";
+$a->strings["Done Editing"] = "Modifica terminata";
+$a->strings["Image uploaded successfully."] = "Immagine caricata con successo.";
+$a->strings["Image upload failed."] = "Il caricamento dell'immagine è fallito.";
+$a->strings["Image size reduction [%s] failed."] = "Il ridimensionamento del'immagine [%s] è fallito.";
+$a->strings["Item not found"] = "Elemento non trovato";
+$a->strings["Edit post"] = "Modifica articolo";
+$a->strings["Insert YouTube video"] = "Inserisci video da YouTube";
+$a->strings["Insert Vorbis [.ogg] video"] = "Inserisci video Vorbis [.ogg]";
+$a->strings["Insert Vorbis [.ogg] audio"] = "Inserisci audio Vorbis [.ogg]";
+$a->strings["Invalid request identifier."] = "L'identificativo della richiesta non è valido.";
+$a->strings["System"] = "Sistema";
+$a->strings["Introductions"] = "Richieste di amicizia";
+$a->strings["Show Ignored Requests"] = "Mostra le richieste ignorate";
+$a->strings["Hide Ignored Requests"] = "Nascondi le richieste ignorate";
+$a->strings["Notification type: "] = "Tipo di notifica: ";
+$a->strings["Friend Suggestion"] = "Suggerimento di amicizia";
+$a->strings["suggested by %s"] = "suggerito da %s";
+$a->strings["Claims to be known to you: "] = "Dice di conoscerti: ";
+$a->strings["yes"] = "si";
+$a->strings["no"] = "no";
+$a->strings["Approve as: "] = "Approva come: ";
+$a->strings["Friend"] = "Amico";
+$a->strings["Sharer"] = "";
+$a->strings["Fan/Admirer"] = "Fan/Ammiratore";
+$a->strings["Friend/Connect Request"] = "Richiesta di amicizia";
+$a->strings["New Follower"] = "Nuovo follower";
+$a->strings["No introductions."] = "Nessuna richiesta di amicizia.";
+$a->strings["%s liked %s's post"] = "A %s è piaciuto l'articolo di %s";
+$a->strings["%s disliked %s's post"] = "A %s non è piaciuto l'articolo di %s";
+$a->strings["%s is now friends with %s"] = "%s è ora amico di %s";
+$a->strings["%s created a new post"] = "%s ha creato un nuovo articolo";
+$a->strings["%s commented on %s's post"] = "%s ha commentato l'articolo di %s";
+$a->strings["No more network notifications."] = "Non ci sono nuove notifiche dalla rete.";
+$a->strings["Network Notifications"] = "Notifiche dalla rete";
+$a->strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema.";
+$a->strings["System Notifications"] = "Notifiche di sistema";
+$a->strings["No more personal notifications."] = "Non ci sono nuove notifiche personali.";
+$a->strings["Personal Notifications"] = "Notifiche personali";
+$a->strings["No more home notifications."] = "Non ci sono nuove notifiche dalla bacheca.";
+$a->strings["Home Notifications"] = "Notifiche dalla bacheca";
+$a->strings["Post successful."] = "Inviato!";
+$a->strings["Item is not editable"] = "L'elemento non è modificabile";
$a->strings["Access to this profile has been restricted."] = "L'accesso a questo profilo è stato limitato.";
-$a->strings["Tips for New Members"] = "Consigli per i Nuovi Utenti";
-$a->strings["{0} wants to be your friend"] = "{0} vuole essere tuo amico";
-$a->strings["{0} sent you a message"] = "{0} ti ha inviato un messaggio";
-$a->strings["{0} requested registration"] = "{0} chiede la registrazione";
-$a->strings["{0} commented %s's post"] = "{0} ha commentato il post di %s";
-$a->strings["{0} liked %s's post"] = "a {0} piace il post di %s";
-$a->strings["{0} disliked %s's post"] = "a {0} non piace il post di %s";
-$a->strings["{0} is now friends with %s"] = "{0} ora è amico di %s";
-$a->strings["{0} posted"] = "{0} ha inviato un nuovo messaggio";
-$a->strings["{0} tagged %s's post with #%s"] = "{0} ha taggato il post di %s con #%s";
-$a->strings["{0} mentioned you in a post"] = "{0} ti ha citato in un post";
-$a->strings["Contacts who are not members of a group"] = "";
-$a->strings["OpenID protocol error. No ID returned."] = "";
-$a->strings["Account not found and OpenID registration is not permitted on this site."] = "";
-$a->strings["Login failed."] = "Accesso fallito.";
-$a->strings["Contact added"] = "";
-$a->strings["Common Friends"] = "Amici in comune";
-$a->strings["No contacts in common."] = "";
-$a->strings["link"] = "";
-$a->strings["Item has been removed."] = "L'oggetto è stato rimosso.";
-$a->strings["Applications"] = "Applicazioni";
-$a->strings["No installed applications."] = "Nessuna applicazione installata.";
-$a->strings["Search"] = "Cerca";
-$a->strings["Profile not found."] = "Profilo non trovato.";
-$a->strings["Profile Name is required."] = "Il nome profilo è obbligatorio .";
-$a->strings["Marital Status"] = "";
-$a->strings["Romantic Partner"] = "";
-$a->strings["Likes"] = "";
-$a->strings["Dislikes"] = "";
-$a->strings["Work/Employment"] = "";
-$a->strings["Religion"] = "Religione";
-$a->strings["Political Views"] = "Orientamento Politico";
-$a->strings["Gender"] = "Sesso";
-$a->strings["Sexual Preference"] = "Preferenza sessuale";
-$a->strings["Homepage"] = "Homepage";
-$a->strings["Interests"] = "Interessi";
-$a->strings["Address"] = "";
-$a->strings["Location"] = "Posizione";
-$a->strings["Profile updated."] = "Profilo aggiornato.";
-$a->strings[" and "] = "";
-$a->strings["public profile"] = "profilo pubblico";
-$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "";
-$a->strings[" - Visit %1\$s's %2\$s"] = "";
-$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha un %2\$s aggiornato. Ha cambiato %3\$s";
-$a->strings["Profile deleted."] = "Profilo elminato.";
-$a->strings["Profile-"] = "Profilo-";
-$a->strings["New profile created."] = "Il nuovo profilo è stato creato.";
-$a->strings["Profile unavailable to clone."] = "Impossibile duplicare il profilo.";
-$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?";
-$a->strings["Edit Profile Details"] = "Modifica i dettagli del profilo";
-$a->strings["View this profile"] = "Visualizza questo profilo";
-$a->strings["Create a new profile using these settings"] = "Crea un nuovo profilo usando queste impostazioni";
-$a->strings["Clone this profile"] = "Clona questo profilo";
-$a->strings["Delete this profile"] = "Elimina questo profilo";
-$a->strings["Profile Name:"] = "Nome del profilo:";
-$a->strings["Your Full Name:"] = "Il tuo nome completo:";
-$a->strings["Title/Description:"] = "Breve descrizione (es. titolo, posizione, altro):";
-$a->strings["Your Gender:"] = "Il tuo sesso:";
-$a->strings["Birthday (%s):"] = "Compleanno (%s)";
-$a->strings["Street Address:"] = "Indirizzo (via/piazza):";
-$a->strings["Locality/City:"] = "Località:";
-$a->strings["Postal/Zip Code:"] = "CAP:";
-$a->strings["Country:"] = "Nazione:";
-$a->strings["Region/State:"] = "Regione/Stato:";
-$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Stato sentimentale:";
-$a->strings["Who: (if applicable)"] = "Con chi: (se possibile)";
-$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Esempio: cathy123, Cathy Williams, cathy@example.com";
-$a->strings["Since [date]:"] = "";
-$a->strings["Sexual Preference:"] = "Preferenze sessuali:";
-$a->strings["Homepage URL:"] = "Homepage:";
-$a->strings["Hometown:"] = "";
-$a->strings["Political Views:"] = "Orientamento politico:";
-$a->strings["Religious Views:"] = "Orientamento religioso:";
-$a->strings["Public Keywords:"] = "Parole chiave visibili a tutti:";
-$a->strings["Private Keywords:"] = "Parole chiave private:";
-$a->strings["Likes:"] = "";
-$a->strings["Dislikes:"] = "";
-$a->strings["Example: fishing photography software"] = "Esempio: pesca fotografia programmazione";
-$a->strings["(Used for suggesting potential friends, can be seen by others)"] = "(E' utilizzato per suggerire potenziali amici, può essere visto da altri)";
-$a->strings["(Used for searching profiles, never shown to others)"] = "(Usato per cercare tra i profili, non è mai visibile agli altri)";
-$a->strings["Tell us about yourself..."] = "Raccontaci di te...";
-$a->strings["Hobbies/Interests"] = "Hobby/interessi";
-$a->strings["Contact information and Social Networks"] = "Informazioni su contatti e social network";
-$a->strings["Musical interests"] = "Interessi musicali";
-$a->strings["Books, literature"] = "Libri, letteratura";
-$a->strings["Television"] = "Televisione";
-$a->strings["Film/dance/culture/entertainment"] = "Film/danza/cultura/intrattenimento";
-$a->strings["Love/romance"] = "Amore";
-$a->strings["Work/employment"] = "Lavoro/impiego";
-$a->strings["School/education"] = "Scuola/educazione";
-$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Questo è il tuo profilo <strong>publico</strong>.<br /><strong>Potrebbe</strong> essere visto da chiunque attraverso internet.";
-$a->strings["Age: "] = "Età : ";
-$a->strings["Edit/Manage Profiles"] = "Modifica / Gestisci profili";
-$a->strings["Change profile photo"] = "Cambia la foto del profilo";
-$a->strings["Create New Profile"] = "Crea un nuovo profilo";
-$a->strings["Profile Image"] = "Immagine del Profilo";
-$a->strings["visible to everybody"] = "visibile a tutti";
-$a->strings["Edit visibility"] = "Modifica visibilità";
-$a->strings["Save to Folder:"] = "";
-$a->strings["- select -"] = "";
-$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
-$a->strings["No potential page delegates located."] = "Nessun potenziale delegato per la pagina è stato trovato.";
-$a->strings["Delegate Page Management"] = "Gestione delegati per la pagina";
-$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "I Delegati sono in grando di gestire tutti gli aspetti di questa pagina, tranne per i settaggi di base dell'account. Non delegare il tuo account personale a nessuno di cui non ti fidi ciecamente.";
-$a->strings["Existing Page Managers"] = "Gestori Pagina Esistenti";
-$a->strings["Existing Page Delegates"] = "Delegati Pagina Esistenti";
-$a->strings["Potential Delegates"] = "Delegati Potenziali";
-$a->strings["Add"] = "Aggiungi";
-$a->strings["No entries."] = "Nessun articolo.";
-$a->strings["Source (bbcode) text:"] = "";
-$a->strings["Source (Diaspora) text to convert to BBcode:"] = "";
-$a->strings["Source input: "] = "";
-$a->strings["bb2html: "] = "";
-$a->strings["bb2html2bb: "] = "";
-$a->strings["bb2md: "] = "";
-$a->strings["bb2md2html: "] = "";
-$a->strings["bb2dia2bb: "] = "";
-$a->strings["bb2md2html2bb: "] = "";
-$a->strings["Source input (Diaspora format): "] = "";
-$a->strings["diaspora2bb: "] = "";
-$a->strings["Friend Suggestions"] = "Contatti suggeriti";
+$a->strings["Poke/Prod"] = "";
+$a->strings["poke, prod or do other things to somebody"] = "Manda un poke, un prod o altro";
+$a->strings["Recipient"] = "Destinatario";
+$a->strings["Choose what you wish to do to recipient"] = "Scegli cosa vuoi inviare al destinatario";
+$a->strings["Make this post private"] = "Rendi privato questo articolo";
+$a->strings["Not available."] = "Non disponibile.";
+$a->strings["Community"] = "Comunità";
+$a->strings["No results."] = "Nessun risultato.";
+$a->strings["Files"] = "Elenco file";
+$a->strings["Friend suggestion sent."] = "Suggerimento di amicizia inviato.";
+$a->strings["Suggest Friends"] = "Suggerisci amici";
+$a->strings["Suggest a friend for %s"] = "Suggerisci un amico a %s";
+$a->strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
+$a->strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
+$a->strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
+$a->strings["Visible To"] = "Visibile a";
+$a->strings["All Contacts (with secure profile access)"] = "Tutti i contatti (con accesso fidato al profilo)";
+$a->strings["Version %s"] = "Versione %s";
+$a->strings["Installed plugins/addons/apps:"] = "App e componenti aggiuntivi instalati:";
+$a->strings["No installed plugins/addons/apps"] = "Nessuna app o componente aggiuntivo installato";
+$a->strings["Red"] = "Red";
+$a->strings["This is Red - another decentralized, distributed communications project by the folks at Friendica."] = "Questo è Red - un progetto di comunicazione decentralizzata e distribuita dagli autori di Friendica.";
+$a->strings["Running at web location"] = "In esecuzione sull'indirizzo web";
+$a->strings["Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn more about the Friendica and/or Red project."] = "Visita <a href=\"http://friendica.com\">Friendica.com</a> per scoprire di più sul progetto Red o sul progetto Friendica.";
+$a->strings["Bug reports and issues: please visit"] = "Per segnalare bug e problemi: visita";
+$a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - dot com"] = "Per suggerimenti, ringraziamenti, donazioni, ecc - scrivi a \"info chiocciola friendica punto com\"";
$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo è un sito nuovo, riprova tra 24 ore.";
-$a->strings["Ignore/Hide"] = "Ignora / Nascondi";
-$a->strings["Global Directory"] = "Elenco globale";
-$a->strings["Find on this site"] = "Cerca nel sito";
-$a->strings["Site Directory"] = "Elenco del sito";
-$a->strings["Gender: "] = "Genere:";
-$a->strings["Gender:"] = "Genere:";
-$a->strings["Status:"] = "Stato:";
-$a->strings["Homepage:"] = "Homepage:";
-$a->strings["About:"] = "Informazioni:";
-$a->strings["No entries (some entries may be hidden)."] = "Nessuna voce (qualche voce potrebbe essere nascosta).";
-$a->strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
-$a->strings["Please join us on Friendica"] = "";
-$a->strings["%s : Message delivery failed."] = "%s: la consegna del messaggio fallita.";
-$a->strings["%d message sent."] = array(
- 0 => "%d messaggio inviato.",
- 1 => "%d messaggi inviati.",
-);
-$a->strings["You have no more invitations available"] = "Non hai altri inviti disponibili";
-$a->strings["Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks."] = "";
-$a->strings["To accept this invitation, please visit and register at %s or any other public Friendica website."] = "";
-$a->strings["Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join."] = "";
-$a->strings["Our apologies. This system is not currently configured to connect with other public sites or invite members."] = "";
-$a->strings["Send invitations"] = "Invia inviti";
-$a->strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
-$a->strings["You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web."] = "";
-$a->strings["You will need to supply this invitation code: \$invite_code"] = "Sarà necessario fornire questo codice invito: \$invite_code";
-$a->strings["Once you have registered, please connect with me via my profile page at:"] = "Una volta registrato, connettiti con me dal mio profilo:";
-$a->strings["For more information about the Friendica project and why we feel it is important, please visit http://friendica.com"] = "";
-$a->strings["This may occasionally happen if contact was requested by both persons and it has already been approved."] = "";
-$a->strings["Response from remote site was not understood."] = "Errore di comunicazione con l'altro sito.";
-$a->strings["Unexpected response from remote site: "] = "La risposta dell'altro sito non può essere gestita: ";
-$a->strings["Confirmation completed successfully."] = "Conferma completata con successo.";
-$a->strings["Remote site reported: "] = "Il sito remoto riporta: ";
-$a->strings["Temporary failure. Please wait and try again."] = "Problema temporaneo. Attendi e riprova.";
-$a->strings["Introduction failed or was revoked."] = "La presentazione ha generato un errore o è stata revocata.";
-$a->strings["Unable to set contact photo."] = "Impossibile impostare la foto del contatto.";
-$a->strings["%1\$s is now friends with %2\$s"] = "%1\$s e %2\$s adesso sono amici";
-$a->strings["No user record found for '%s' "] = "Nessun utente trovato '%s'";
-$a->strings["Our site encryption key is apparently messed up."] = "La nostra chiave di criptazione del sito sembra essere corrotta.";
-$a->strings["Empty site URL was provided or URL could not be decrypted by us."] = "E' stato fornito un indirizzo vuoto o non possiamo decrittare l'indirizzo.";
-$a->strings["Contact record was not found for you on our site."] = "Il contatto non è stato trovato sul nostro sito.";
-$a->strings["Site public key not available in contact record for URL %s."] = "La chiave pubblica del sito non è disponibile per l'URL %s";
-$a->strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = "L'ID fornito dal tuo sistema è duplicato sul nostro sistema. Se riprovi dovrebbe funzionare.";
-$a->strings["Unable to set your contact credentials on our system."] = "Impossibile impostare le credenziali del tuo contatto sul nostro sistema.";
-$a->strings["Unable to update your contact profile details on our system"] = "Impossibile aggiornare i dettagli del tuo contatto sul nostro sistema";
-$a->strings["Connection accepted at %s"] = "Connession accettata su %s";
-$a->strings["%1\$s has joined %2\$s"] = "";
-$a->strings["Google+ Import Settings"] = "";
-$a->strings["Enable Google+ Import"] = "";
-$a->strings["Google Account ID"] = "";
-$a->strings["Google+ Import Settings saved."] = "";
-$a->strings["Facebook disabled"] = "Facebook disabilitato";
-$a->strings["Updating contacts"] = "Aggiornamento contatti";
-$a->strings["Facebook API key is missing."] = "Chiave API Facebook mancante.";
-$a->strings["Facebook Connect"] = "Facebook Connect";
-$a->strings["Install Facebook connector for this account."] = "Installa Facebook connector per questo account";
-$a->strings["Remove Facebook connector"] = "Rimuovi Facebook connector";
-$a->strings["Re-authenticate [This is necessary whenever your Facebook password is changed.]"] = "Ri-autentica [Questo è necessario ogni volta che cambia la password di Facebook.]";
-$a->strings["Post to Facebook by default"] = "Invia sempre a Facebook";
-$a->strings["Facebook friend linking has been disabled on this site. The following settings will have no effect."] = "";
-$a->strings["Facebook friend linking has been disabled on this site. If you disable it, you will be unable to re-enable it."] = "";
-$a->strings["Link all your Facebook friends and conversations on this website"] = "Collega tutti i tuoi amici di Facebook e le conversazioni su questo sito";
-$a->strings["Facebook conversations consist of your <em>profile wall</em> and your friend <em>stream</em>."] = "Le conversazione su Facebook sono composte dai i tuoi messsaggi in bacheca e dai messaggi dei tuoi amici";
-$a->strings["On this website, your Facebook friend stream is only visible to you."] = "Su questo sito, i messaggi dai vostri amici su Facebook è visibile solo a te.";
-$a->strings["The following settings determine the privacy of your Facebook profile wall on this website."] = "Le seguenti impostazioni determinano la privacy della vostra bacheca di Facebook su questo sito.";
-$a->strings["On this website your Facebook profile wall conversations will only be visible to you"] = "Su questo sito, le conversazioni sulla tua bacheca di Facebook saranno visibili solo a te";
-$a->strings["Do not import your Facebook profile wall conversations"] = "Non importare le conversazione sulla tua bacheca di Facebook";
-$a->strings["If you choose to link conversations and leave both of these boxes unchecked, your Facebook profile wall will be merged with your profile wall on this website and your privacy settings on this website will be used to determine who may see the conversations."] = "Se scegli di collegare le conversazioni e lasci entrambi questi box non segnati, la tua bacheca di Facebook sarà fusa con la tua bacheca su questao sito, e le impostazioni di privacy su questo sito saranno usate per decidere chi potrà vedere le conversazioni.";
-$a->strings["Comma separated applications to ignore"] = "Elenco separato da virgola di applicazioni da ignorare";
-$a->strings["Problems with Facebook Real-Time Updates"] = "Problemi con gli aggiornamenti in tempo reale con Facebook";
-$a->strings["Facebook Connector Settings"] = "Impostazioni del connettore Facebook";
-$a->strings["Facebook API Key"] = "Facebook API Key";
-$a->strings["Error: it appears that you have specified the App-ID and -Secret in your .htconfig.php file. As long as they are specified there, they cannot be set using this form.<br><br>"] = "Error: it appears that you have specified the App-ID and -Secret in your .htconfig.php file. As long as they are specified there, they cannot be set using this form.<br><br>";
-$a->strings["Error: the given API Key seems to be incorrect (the application access token could not be retrieved)."] = "Error: the given API Key seems to be incorrect (the application access token could not be retrieved).";
-$a->strings["The given API Key seems to work correctly."] = "L' API Key fornita sembra funzionare correttamente.";
-$a->strings["The correctness of the API Key could not be detected. Something strange's going on."] = "";
-$a->strings["App-ID / API-Key"] = "App-ID / API-Key";
-$a->strings["Application secret"] = "Application secret";
-$a->strings["Polling Interval in minutes (minimum %1\$s minutes)"] = "";
-$a->strings["Synchronize comments (no comments on Facebook are missed, at the cost of increased system load)"] = "";
-$a->strings["Real-Time Updates"] = "Aggiornamenti Real-Time";
-$a->strings["Real-Time Updates are activated."] = "Gli aggiornamenti in tempo reale sono attivi";
-$a->strings["Deactivate Real-Time Updates"] = "Disattiva gli aggiornamenti in tempo reale";
-$a->strings["Real-Time Updates not activated."] = "Gli aggiornamenti in tempo reale non sono attivi";
-$a->strings["Activate Real-Time Updates"] = "Attiva gli aggiornamenti in tempo reale";
-$a->strings["The new values have been saved."] = "I nuovi valori sono stati salvati.";
-$a->strings["Post to Facebook"] = "Invia a Facebook";
-$a->strings["Post to Facebook cancelled because of multi-network access permission conflict."] = "Invio su Facebook annullato per un conflitto nei permessi di accesso.";
-$a->strings["View on Friendica"] = "Vedi su Friendica";
-$a->strings["Facebook post failed. Queued for retry."] = "Invio a Facebook fallito. In attesa di riprovare.";
-$a->strings["Your Facebook connection became invalid. Please Re-authenticate."] = "";
-$a->strings["Facebook connection became invalid"] = "";
-$a->strings["Hi %1\$s,\n\nThe connection between your accounts on %2\$s and Facebook became invalid. This usually happens after you change your Facebook-password. To enable the connection again, you have to %3\$sre-authenticate the Facebook-connector%4\$s."] = "";
-$a->strings["StatusNet AutoFollow settings updated."] = "";
-$a->strings["StatusNet AutoFollow Settings"] = "";
-$a->strings["Automatically follow any StatusNet followers/mentioners"] = "";
-$a->strings["Bg settings updated."] = "";
-$a->strings["Bg Settings"] = "";
-$a->strings["How many contacts to display on profile sidebar"] = "Quanti contatti visualizzare nella barra laterale del profilo";
-$a->strings["Lifetime of the cache (in hours)"] = "";
-$a->strings["Cache Statistics"] = "";
-$a->strings["Number of items"] = "";
-$a->strings["Size of the cache"] = "";
-$a->strings["Delete the whole cache"] = "";
-$a->strings["Facebook Post disabled"] = "";
-$a->strings["Facebook Post"] = "";
-$a->strings["Install Facebook Post connector for this account."] = "";
-$a->strings["Remove Facebook Post connector"] = "";
-$a->strings["Facebook Post Settings"] = "";
-$a->strings["%d person likes this"] = array(
- 0 => "piace a %d persona",
- 1 => "piace a %d persone",
-);
-$a->strings["%d person doesn't like this"] = array(
- 0 => "non piace a %d persona",
- 1 => "non piace a %d persone",
-);
-$a->strings["Get added to this list!"] = "";
-$a->strings["Generate new key"] = "Genera una nuova chiave";
-$a->strings["Widgets key"] = "Chiave Widget";
-$a->strings["Widgets available"] = "Widget disponibili";
-$a->strings["Connect on Friendica!"] = "Connettiti su Friendica!";
-$a->strings["bitchslap"] = "";
-$a->strings["bitchslapped"] = "";
-$a->strings["shag"] = "";
-$a->strings["shagged"] = "";
-$a->strings["do something obscenely biological to"] = "";
-$a->strings["did something obscenely biological to"] = "";
-$a->strings["point out the poke feature to"] = "";
-$a->strings["pointed out the poke feature to"] = "";
-$a->strings["declare undying love for"] = "";
-$a->strings["declared undying love for"] = "";
-$a->strings["patent"] = "";
-$a->strings["patented"] = "";
-$a->strings["stroke beard"] = "";
-$a->strings["stroked their beard at"] = "";
-$a->strings["bemoan the declining standards of modern secondary and tertiary education to"] = "";
-$a->strings["bemoans the declining standards of modern secondary and tertiary education to"] = "";
-$a->strings["hug"] = "";
-$a->strings["hugged"] = "";
-$a->strings["kiss"] = "";
-$a->strings["kissed"] = "";
-$a->strings["raise eyebrows at"] = "";
-$a->strings["raised their eyebrows at"] = "";
-$a->strings["insult"] = "";
-$a->strings["insulted"] = "";
-$a->strings["praise"] = "";
-$a->strings["praised"] = "";
-$a->strings["be dubious of"] = "";
-$a->strings["was dubious of"] = "";
-$a->strings["eat"] = "";
-$a->strings["ate"] = "";
-$a->strings["giggle and fawn at"] = "";
-$a->strings["giggled and fawned at"] = "";
-$a->strings["doubt"] = "";
-$a->strings["doubted"] = "";
-$a->strings["glare"] = "";
-$a->strings["glared at"] = "";
-$a->strings["YourLS Settings"] = "Impostazioni YourLS";
-$a->strings["URL: http://"] = "URL: http://";
-$a->strings["Username:"] = "Nome utente:";
-$a->strings["Password:"] = "Password:";
-$a->strings["Use SSL "] = "Usa SSL";
-$a->strings["yourls Settings saved."] = "Impostazioni yourls salvate.";
-$a->strings["Post to LiveJournal"] = "Posta su LiveJournal";
-$a->strings["LiveJournal Post Settings"] = "Impostazioni post LiveJournal";
-$a->strings["Enable LiveJournal Post Plugin"] = "Abilita il plugin LiveJournal";
-$a->strings["LiveJournal username"] = "LiveJournal username";
-$a->strings["LiveJournal password"] = "LiveJournal password";
-$a->strings["Post to LiveJournal by default"] = "Posta su LiveJournal di default";
-$a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "Impostazioni per NSWF (Filtro Contenuti Generico)";
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW. This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Questo plugin cerca nei messagi le parole/testo che inserisci qui sotto, e collassa i messaggi che li contengono, per non mostrare contenuto inappropriato nel momento sbagliato, come contenuto a sfondo sessuale che puo' essere inappropriato in un ambiente di lavoro. E' educato (e consigliato) taggare i messaggi che contengono nudità con #NSFW (Not Safe For Work: Non Sicuro Per il Lavoro). Questo filtro puo' cercare anche qualsiasi parola che inserisci, quindi puo' essere usato come filtro di contenuti generico.";
-$a->strings["Enable Content filter"] = "Abilita il Filtro Contenuti";
-$a->strings["Comma separated list of keywords to hide"] = "Elenco separato da virgole di parole da nascondere";
-$a->strings["Use /expression/ to provide regular expressions"] = "Utilizza /espressione/ per inserire espressioni regolari";
-$a->strings["NSFW Settings saved."] = "Impostazioni NSFW salvate.";
-$a->strings["%s - Click to open/close"] = "%s - Clicca per aprire / chiudere";
-$a->strings["Forums"] = "Forum";
-$a->strings["Forums:"] = "";
-$a->strings["Page settings updated."] = "";
-$a->strings["Page Settings"] = "";
-$a->strings["How many forums to display on sidebar without paging"] = "";
-$a->strings["Randomise Page/Forum list"] = "";
-$a->strings["Show pages/forums on profile page"] = "";
-$a->strings["Planets Settings"] = "";
-$a->strings["Enable Planets Plugin"] = "";
-$a->strings["Login"] = "Accedi";
-$a->strings["OpenID"] = "OpenID";
-$a->strings["Latest users"] = "Ultimi utenti";
-$a->strings["Most active users"] = "Utenti più attivi";
-$a->strings["Latest photos"] = "Ultime foto";
-$a->strings["Latest likes"] = "Ultimi \"mi piace\"";
-$a->strings["event"] = "l'evento";
-$a->strings["No access"] = "";
-$a->strings["Could not open component for editing"] = "";
-$a->strings["Go back to the calendar"] = "";
-$a->strings["Event data"] = "";
-$a->strings["Calendar"] = "";
-$a->strings["Special color"] = "";
-$a->strings["Subject"] = "";
-$a->strings["Starts"] = "";
-$a->strings["Ends"] = "";
-$a->strings["Description"] = "";
-$a->strings["Recurrence"] = "";
-$a->strings["Frequency"] = "";
-$a->strings["Daily"] = "Giornalmente";
-$a->strings["Weekly"] = "Settimanalmente";
-$a->strings["Monthly"] = "Mensilmente";
-$a->strings["Yearly"] = "";
-$a->strings["days"] = "giorni";
-$a->strings["weeks"] = "settimane";
-$a->strings["months"] = "mesi";
-$a->strings["years"] = "anni";
-$a->strings["Interval"] = "";
-$a->strings["All %select% %time%"] = "";
-$a->strings["Days"] = "";
-$a->strings["Sunday"] = "Domenica";
-$a->strings["Monday"] = "Lunedì";
-$a->strings["Tuesday"] = "Martedì";
-$a->strings["Wednesday"] = "Mercoledì";
-$a->strings["Thursday"] = "Giovedì";
-$a->strings["Friday"] = "Venerdì";
-$a->strings["Saturday"] = "Sabato";
-$a->strings["First day of week:"] = "";
-$a->strings["Day of month"] = "";
-$a->strings["#num#th of each month"] = "";
-$a->strings["#num#th-last of each month"] = "";
-$a->strings["#num#th #wkday# of each month"] = "";
-$a->strings["#num#th-last #wkday# of each month"] = "";
-$a->strings["Month"] = "";
-$a->strings["#num#th of the given month"] = "";
-$a->strings["#num#th-last of the given month"] = "";
-$a->strings["#num#th #wkday# of the given month"] = "";
-$a->strings["#num#th-last #wkday# of the given month"] = "";
-$a->strings["Repeat until"] = "";
-$a->strings["Infinite"] = "";
-$a->strings["Until the following date"] = "";
-$a->strings["Number of times"] = "";
-$a->strings["Exceptions"] = "";
-$a->strings["none"] = "";
-$a->strings["Notification"] = "";
-$a->strings["Notify by"] = "";
-$a->strings["E-Mail"] = "";
-$a->strings["On Friendica / Display"] = "";
-$a->strings["Time"] = "";
-$a->strings["Hours"] = "";
-$a->strings["Minutes"] = "";
-$a->strings["Seconds"] = "";
-$a->strings["Weeks"] = "";
-$a->strings["before the"] = "";
-$a->strings["start of the event"] = "";
-$a->strings["end of the event"] = "";
-$a->strings["Add a notification"] = "";
-$a->strings["The event #name# will start at #date"] = "";
-$a->strings["#name# is about to begin."] = "";
-$a->strings["Saved"] = "";
-$a->strings["U.S. Time Format (mm/dd/YYYY)"] = "";
-$a->strings["German Time Format (dd.mm.YYYY)"] = "";
-$a->strings["Private Events"] = "";
-$a->strings["Private Addressbooks"] = "";
-$a->strings["Friendica-Native events"] = "";
-$a->strings["Friendica-Contacts"] = "";
-$a->strings["Your Friendica-Contacts"] = "";
-$a->strings["Something went wrong when trying to import the file. Sorry. Maybe some events were imported anyway."] = "";
-$a->strings["Something went wrong when trying to import the file. Sorry."] = "";
-$a->strings["The ICS-File has been imported."] = "";
-$a->strings["No file was uploaded."] = "";
-$a->strings["Import a ICS-file"] = "";
-$a->strings["ICS-File"] = "";
-$a->strings["Overwrite all #num# existing events"] = "";
-$a->strings["New event"] = "";
-$a->strings["Today"] = "";
-$a->strings["Day"] = "";
-$a->strings["Week"] = "";
-$a->strings["Reload"] = "";
-$a->strings["Date"] = "";
-$a->strings["Error"] = "";
-$a->strings["The calendar has been updated."] = "";
-$a->strings["The new calendar has been created."] = "";
-$a->strings["The calendar has been deleted."] = "";
-$a->strings["Calendar Settings"] = "";
-$a->strings["Date format"] = "";
-$a->strings["Time zone"] = "";
-$a->strings["Calendars"] = "";
-$a->strings["Create a new calendar"] = "";
-$a->strings["Limitations"] = "";
-$a->strings["Warning"] = "";
-$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "";
-$a->strings["Synchronizing this calendar with the iPhone"] = "";
-$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "";
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
-$a->strings["Extended calendar with CalDAV-support"] = "";
-$a->strings["noreply"] = "nessuna risposta";
-$a->strings["Notification: "] = "";
-$a->strings["The database tables have been installed."] = "";
-$a->strings["An error occurred during the installation."] = "";
-$a->strings["The database tables have been updated."] = "";
-$a->strings["An error occurred during the update."] = "";
-$a->strings["No system-wide settings yet."] = "";
-$a->strings["Database status"] = "";
-$a->strings["Installed"] = "";
-$a->strings["Upgrade needed"] = "";
-$a->strings["Please back up all calendar data (the tables beginning with dav_*) before proceeding. While all calendar events <i>should</i> be converted to the new database structure, it's always safe to have a backup. Below, you can have a look at the database-queries that will be made when pressing the 'update'-button."] = "";
-$a->strings["Upgrade"] = "";
-$a->strings["Not installed"] = "";
-$a->strings["Install"] = "";
-$a->strings["Unknown"] = "";
-$a->strings["Something really went wrong. I cannot recover from this state automatically, sorry. Please go to the database backend, back up the data, and delete all tables beginning with 'dav_' manually. Afterwards, this installation routine should be able to reinitialize the tables automatically."] = "";
-$a->strings["Troubleshooting"] = "";
-$a->strings["Manual creation of the database tables:"] = "";
-$a->strings["Show SQL-statements"] = "";
-$a->strings["Private Calendar"] = "";
-$a->strings["Friendica Events: Mine"] = "";
-$a->strings["Friendica Events: Contacts"] = "";
-$a->strings["Private Addresses"] = "";
-$a->strings["Friendica Contacts"] = "";
-$a->strings["Allow to use your friendica id (%s) to connecto to external unhosted-enabled storage (like ownCloud). See <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>"] = "Permette di usare il tuo id friendica (%s) per collegarsi a storage esterni che supportano unhosted (come ownCloud). Vedi <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>";
-$a->strings["Template URL (with {category})"] = "Template URL (con {category})";
-$a->strings["OAuth end-point"] = "OAuth end-point";
-$a->strings["Api"] = "Api";
-$a->strings["Member since:"] = "Membro dal:";
-$a->strings["Three Dimensional Tic-Tac-Toe"] = "Tic-Tac-Toe tridimensionale";
-$a->strings["3D Tic-Tac-Toe"] = "3D Tic-Tac-Toe";
-$a->strings["New game"] = "Nuova partita";
-$a->strings["New game with handicap"] = "Nuova partita con handicap";
-$a->strings["Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "] = "Tic-tac-toe tridimensionale è come il gioco tradizionale, solo che si gioca su livelli multipli contemporaneamente.";
-$a->strings["In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."] = "In questo caso ci sono tre livelli. Puoi vincere mettendo tre segni in fila su ogni livello, anche verso l'alto, il basso e diagonalmente anche attraverso i diversi livelli.";
-$a->strings["The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."] = "L'handicap disabilita la casella centrale sul livello di mezzo, perchè il giocatore che si prende quella casella spesso ha un deciso vantaggio.";
-$a->strings["You go first..."] = "Cominci tu...";
-$a->strings["I'm going first this time..."] = "Comincio io questa volta...";
-$a->strings["You won!"] = "Hai vinto!";
-$a->strings["\"Cat\" game!"] = "Stallo!";
-$a->strings["I won!"] = "Ho vinto!";
-$a->strings["Randplace Settings"] = "Impostazioni Randplace";
-$a->strings["Enable Randplace Plugin"] = "Abilita il plugin Randplace";
-$a->strings["Post to Dreamwidth"] = "Posta su Dreamwidth";
-$a->strings["Dreamwidth Post Settings"] = "Impostazioni post Dreamwidth";
-$a->strings["Enable dreamwidth Post Plugin"] = "Abilita il plugin dreamwidth";
-$a->strings["dreamwidth username"] = "dreamwidth username";
-$a->strings["dreamwidth password"] = "Password dreamwidth";
-$a->strings["Post to dreamwidth by default"] = "Invia a dreamwidth per impostazione predefinita";
-$a->strings["Post to Drupal"] = "Invia a Drupal";
-$a->strings["Drupal Post Settings"] = "Impostazioni invio a Drupal";
-$a->strings["Enable Drupal Post Plugin"] = "Abilita il plugin di invio a Drupal";
-$a->strings["Drupal username"] = "Drupal username";
-$a->strings["Drupal password"] = "Drupal password";
-$a->strings["Post Type - article,page,or blog"] = "Tipo di post - article,page o blog";
-$a->strings["Drupal site URL"] = "Indirizzo del sito Drupal";
-$a->strings["Drupal site uses clean URLS"] = "Il sito Drupal usa URL puliti";
-$a->strings["Post to Drupal by default"] = "Invia a Drupal per impostazione predefinita";
-$a->strings["Post from Friendica"] = "Messaggio da Friendica";
-$a->strings["Startpage Settings"] = "";
-$a->strings["Home page to load after login - leave blank for profile wall"] = "";
-$a->strings["Examples: &quot;network&quot; or &quot;notifications/system&quot;"] = "";
-$a->strings["Geonames settings updated."] = "Impostazioni di geonames aggiornate.";
-$a->strings["Geonames Settings"] = "Impostazioni Geonames";
-$a->strings["Enable Geonames Plugin"] = "Abilita plugin Geonames";
-$a->strings["Your account on %s will expire in a few days."] = "";
-$a->strings["Your Friendica account is about to expire."] = "";
-$a->strings["Hi %1\$s,\n\nYour account on %2\$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"] = "";
-$a->strings["Upload a file"] = "Carica un file";
-$a->strings["Drop files here to upload"] = "Trascina un file qui per caricarlo";
-$a->strings["Failed"] = "Caricamento fallito";
-$a->strings["No files were uploaded."] = "Nessun file è stato caricato.";
-$a->strings["Uploaded file is empty"] = "Il file caricato è vuoto";
-$a->strings["File has an invalid extension, it should be one of "] = "Il file ha un'estensione non valida, dovrebbe essere una tra ";
-$a->strings["Upload was cancelled, or server error encountered"] = "Il caricamento è stato cancellato, o si è verificato un errore sul server";
-$a->strings["OEmbed settings updated"] = "Impostazioni OEmbed aggiornate";
-$a->strings["Use OEmbed for YouTube videos"] = "Usa OEmbed per i video di YouTube";
-$a->strings["URL to embed:"] = "URL da incorporare:";
-$a->strings["show/hide"] = "";
-$a->strings["No forum subscriptions"] = "";
-$a->strings["Forumlist settings updated."] = "";
-$a->strings["Forumlist Settings"] = "";
-$a->strings["Randomise forum list"] = "";
-$a->strings["Show forums on profile page"] = "";
-$a->strings["Impressum"] = "Impressum";
-$a->strings["Site Owner"] = "Proprietario del sito";
-$a->strings["Email Address"] = "Indirizzo email";
-$a->strings["Postal Address"] = "Indirizzo";
-$a->strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = "Il plugin Impressum deve essere configurato!<br>Aggiungi almeno il Proprietario del sito.";
-$a->strings["The page operators name."] = "Nome del gestore della pagina.";
-$a->strings["Site Owners Profile"] = "Profilo del proprietario del sito";
-$a->strings["Profile address of the operator."] = "Indirizzo del profilo del gestore della pagina";
-$a->strings["How to contact the operator via snail mail. You can use BBCode here."] = "";
-$a->strings["Notes"] = "Note";
-$a->strings["Additional notes that are displayed beneath the contact information. You can use BBCode here."] = "";
-$a->strings["How to contact the operator via email. (will be displayed obfuscated)"] = "";
-$a->strings["Footer note"] = "Footer delle note";
-$a->strings["Text for the footer. You can use BBCode here."] = "";
-$a->strings["Report Bug"] = "Segnala un Bug";
-$a->strings["No Timeline settings updated."] = "";
-$a->strings["No Timeline Settings"] = "";
-$a->strings["Disable Archive selector on profile wall"] = "";
-$a->strings["\"Blockem\" Settings"] = "Impostazioni \"Blockem\"";
-$a->strings["Comma separated profile URLS to block"] = "Lista, separata da virgola, di indirizzi da bloccare";
-$a->strings["BLOCKEM Settings saved."] = "Impostazioni salvate.";
-$a->strings["Blocked %s - Click to open/close"] = "%s bloccato - Clicca per aprire/chiudere";
-$a->strings["Unblock Author"] = "Sblocca autore";
-$a->strings["Block Author"] = "Blocca autore";
-$a->strings["blockem settings updated"] = "Impostazioni 'blockem' aggiornate.";
-$a->strings[":-)"] = ":-)";
-$a->strings[":-("] = ":-(";
-$a->strings["lol"] = "lol";
-$a->strings["Quick Comment Settings"] = "Impostazioni commento rapido";
-$a->strings["Quick comments are found near comment boxes, sometimes hidden. Click them to provide simple replies."] = "Trovi i commenti rapidi vicino al box dei commenti, a volte nascosti. Cliccali per inviare semplici risposte.";
-$a->strings["Enter quick comments, one per line"] = "Inserire un commento rapido, uno per linea";
-$a->strings["Quick Comment settings saved."] = "Impostazioni commento rapido salvate.";
-$a->strings["Tile Server URL"] = "";
-$a->strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "";
-$a->strings["Default zoom"] = "Default zoom";
-$a->strings["The default zoom level. (1:world, 18:highest)"] = "";
-$a->strings["Editplain settings updated."] = "Impostazioni 'Editplain' aggiornate.";
-$a->strings["Group Text"] = "";
-$a->strings["Use a text only (non-image) group selector in the \"group edit\" menu"] = "";
-$a->strings["Could NOT install Libravatar successfully.<br>It requires PHP >= 5.3"] = "";
-$a->strings["generic profile image"] = "immagine generica del profilo";
-$a->strings["random geometric pattern"] = "";
-$a->strings["monster face"] = "";
-$a->strings["computer generated face"] = "";
-$a->strings["retro arcade style face"] = "";
-$a->strings["Your PHP version %s is lower than the required PHP >= 5.3."] = "";
-$a->strings["This addon is not functional on your server."] = "";
-$a->strings["Information"] = "";
-$a->strings["Gravatar addon is installed. Please disable the Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if nothing was found at Libravatar."] = "";
-$a->strings["Default avatar image"] = "";
-$a->strings["Select default avatar image if none was found. See README"] = "";
-$a->strings["Libravatar settings updated."] = "";
-$a->strings["Post to libertree"] = "";
-$a->strings["libertree Post Settings"] = "";
-$a->strings["Enable Libertree Post Plugin"] = "";
-$a->strings["Libertree API token"] = "";
-$a->strings["Libertree site URL"] = "";
-$a->strings["Post to Libertree by default"] = "";
-$a->strings["Altpager settings updated."] = "";
-$a->strings["Alternate Pagination Setting"] = "";
-$a->strings["Use links to \"newer\" and \"older\" pages in place of page numbers?"] = "";
-$a->strings["The MathJax addon renders mathematical formulae written using the LaTeX syntax surrounded by the usual $$ or an eqnarray block in the postings of your wall,network tab and private mail."] = "";
-$a->strings["Use the MathJax renderer"] = "";
-$a->strings["MathJax Base URL"] = "";
-$a->strings["The URL for the javascript file that should be included to use MathJax. Can be either the MathJax CDN or another installation of MathJax."] = "";
-$a->strings["Editplain Settings"] = "Impostazioni Editplain";
-$a->strings["Disable richtext status editor"] = "Disabilita l'editor di testo visuale";
-$a->strings["Libravatar addon is installed, too. Please disable Libravatar addon or this Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if nothing was found at Libravatar."] = "";
-$a->strings["Select default avatar image if none was found at Gravatar. See README"] = "";
-$a->strings["Rating of images"] = "";
-$a->strings["Select the appropriate avatar rating for your site. See README"] = "";
-$a->strings["Gravatar settings updated."] = "";
-$a->strings["Your Friendica test account is about to expire."] = "";
-$a->strings["Hi %1\$s,\n\nYour test account on %2\$s will expire in less than five days. We hope you enjoyed this test drive and use this opportunity to find a permanent Friendica website for your integrated social communications. A list of public sites is available at http://dir.friendica.com/siteinfo - and for more information on setting up your own Friendica server please see the Friendica project website at http://friendica.com."] = "";
-$a->strings["\"pageheader\" Settings"] = "Impostazioni \"pageheader\"";
-$a->strings["pageheader Settings saved."] = "Impostazioni salvate.";
-$a->strings["Post to Insanejournal"] = "";
-$a->strings["InsaneJournal Post Settings"] = "";
-$a->strings["Enable InsaneJournal Post Plugin"] = "";
-$a->strings["InsaneJournal username"] = "";
-$a->strings["InsaneJournal password"] = "";
-$a->strings["Post to InsaneJournal by default"] = "";
-$a->strings["Jappix Mini addon settings"] = "";
-$a->strings["Activate addon"] = "";
-$a->strings["Do <em>not</em> insert the Jappixmini Chat-Widget into the webinterface"] = "";
-$a->strings["Jabber username"] = "";
-$a->strings["Jabber server"] = "";
-$a->strings["Jabber BOSH host"] = "";
-$a->strings["Jabber password"] = "";
-$a->strings["Encrypt Jabber password with Friendica password (recommended)"] = "";
-$a->strings["Friendica password"] = "";
-$a->strings["Approve subscription requests from Friendica contacts automatically"] = "";
-$a->strings["Subscribe to Friendica contacts automatically"] = "";
-$a->strings["Purge internal list of jabber addresses of contacts"] = "";
-$a->strings["Add contact"] = "";
-$a->strings["View Source"] = "Vedi sorgente";
-$a->strings["Post to StatusNet"] = "Invia a StatusNet";
-$a->strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "Contatta l'amministratore del sito.<br/>L'URL delle API fornito non è valido.";
-$a->strings["We could not contact the StatusNet API with the Path you entered."] = "Non possiamo conttattare le API di StatusNet con il percorso che hai inserito.";
-$a->strings["StatusNet settings updated."] = "Impostazioni StatusNet aggiornate.";
-$a->strings["StatusNet Posting Settings"] = "Impostazioni di invio a StatusNet";
-$a->strings["Globally Available StatusNet OAuthKeys"] = "OAuthKeys globali di StatusNet";
-$a->strings["There are preconfigured OAuth key pairs for some StatusNet servers available. If you are useing one of them, please use these credentials. If not feel free to connect to any other StatusNet instance (see below)."] = "Esistono coppie di chiavi OAuth precofigurate per alcuni server StatusNet. Se usi uno di questi server, per favore scegli queste credenziali. Altrimenti sei libero di collegarti a un'altra installazione di StatusNet (vedi sotto).";
-$a->strings["Provide your own OAuth Credentials"] = "Fornisci le tue credenziali OAuth";
-$a->strings["No consumer key pair for StatusNet found. Register your Friendica Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendica installation at your favorited StatusNet installation."] = "Nessuna coppia di chiavi consumer trovate per StatusNet. Registra il tuo account Friendica come un client desktop nel tuo account StatusNet, copia la coppia di chiavi consumer qui e inserisci l'url base delle API.<br/>Prima di registrare la tua coppia di chiavi OAuth, chiedi all'amministratore se esiste già una coppia di chiavi per questo sito Friendica presso la tua installazione StatusNet preferita.";
-$a->strings["OAuth Consumer Key"] = "OAuth Consumer Key";
-$a->strings["OAuth Consumer Secret"] = "OAuth Consumer Secret";
-$a->strings["Base API Path (remember the trailing /)"] = "Indirizzo di base per le API (ricorda la / alla fine)";
-$a->strings["To connect to your StatusNet account click the button below to get a security code from StatusNet which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to StatusNet."] = "Per collegare il tuo account StatusNet, clicca sul bottone per ottenere un codice di sicurezza da StatusNet, che dovrai copiare nel box sottostante e poi inviare la form. Solo i tuoi messaggi <strong>pubblici</strong> saranno inviati a StatusNet.";
-$a->strings["Log in with StatusNet"] = "Accedi con StatuNet";
-$a->strings["Copy the security code from StatusNet here"] = "Copia il codice di sicurezza da StatusNet qui";
-$a->strings["Cancel Connection Process"] = "Annulla il processo di connessione";
-$a->strings["Current StatusNet API is"] = "Le API StatusNet correnti sono";
-$a->strings["Cancel StatusNet Connection"] = "Annulla la connessione a StatusNet";
-$a->strings["Currently connected to: "] = "Al momento connesso con:";
-$a->strings["If enabled all your <strong>public</strong> postings can be posted to the associated StatusNet account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Se abilitato tutti i tuoi messaggi <strong>pubblici</strong> possono essere inviati all'account StatusNet associato. Puoi scegliere di farlo sempre (qui) o ogni volta che invii, nelle impostazioni di privacy del messaggio.";
-$a->strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to StatusNet will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "";
-$a->strings["Allow posting to StatusNet"] = "Permetti l'invio a StatusNet";
-$a->strings["Send public postings to StatusNet by default"] = "Invia sempre i messaggi pubblici a StatusNet";
-$a->strings["Send linked #-tags and @-names to StatusNet"] = "";
-$a->strings["Clear OAuth configuration"] = "Rimuovi la configurazione OAuth";
-$a->strings["API URL"] = "API URL";
-$a->strings["Infinite Improbability Drive"] = "";
-$a->strings["Post to Tumblr"] = "Pubblica su Tumblr";
-$a->strings["Tumblr Post Settings"] = "Impostazioni di invio a Tumblr";
-$a->strings["Enable Tumblr Post Plugin"] = "Abilita Plugin Tumblr";
-$a->strings["Tumblr login"] = "Tumblr login";
-$a->strings["Tumblr password"] = "Tumblr password";
-$a->strings["Post to Tumblr by default"] = "Pubblica su Tumblr di default";
-$a->strings["Numfriends settings updated."] = "Impostazioni \"Numfriends' aggiornate.";
-$a->strings["Numfriends Settings"] = "Impostazioni Numfriends";
-$a->strings["Gnot settings updated."] = "Impostazioni di \"Gnot\" aggiornate.";
-$a->strings["Gnot Settings"] = "Impostazioni Gnot";
-$a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Permetti di raggruppare le notifiche dei commenti in thread su Gmail e anonimizza l'oggetto";
-$a->strings["Enable this plugin/addon?"] = "Abilita questo plugin?";
-$a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Notifica] Commento alla conversazione #%d";
-$a->strings["Post to Wordpress"] = "Pubblica su Wordpress";
-$a->strings["WordPress Post Settings"] = "Impostazioni invio a WordPress";
-$a->strings["Enable WordPress Post Plugin"] = "Abilita plugin \"invia a WordPress\"";
-$a->strings["WordPress username"] = "nome utente WordPress";
-$a->strings["WordPress password"] = "password WordPress";
-$a->strings["WordPress API URL"] = "WordPress API URL";
-$a->strings["Post to WordPress by default"] = "Pubblica su WordPress di default";
-$a->strings["Provide a backlink to the Friendica post"] = "";
-$a->strings["Read the original post and comment stream on Friendica"] = "";
-$a->strings["\"Show more\" Settings"] = "Impostazioni \"Mostra altro\"";
-$a->strings["Enable Show More"] = "Abilita \"Mostra altro\"";
-$a->strings["Cutting posts after how much characters"] = "";
-$a->strings["Show More Settings saved."] = "Impostazioni \"Mostra altro\" salvate.";
-$a->strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "Questo sito è monitorato con lo strumento di analisi <a href='http://www.piwik.org'>Piwik</a>.";
-$a->strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "Se non vuoi che le tue visite vengono registrate in questo modo è possibile <a href='%s'>impostare un cookie per evitare che Piwik rintracci ulteriori visite del sito</a> (opt-out).";
-$a->strings["Piwik Base URL"] = "Piwik Base URL";
-$a->strings["Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)"] = "";
-$a->strings["Site ID"] = "Site ID";
-$a->strings["Show opt-out cookie link?"] = "Mostra il link per il cookie opt-out?";
-$a->strings["Asynchronous tracking"] = "";
-$a->strings["Post to Twitter"] = "Invia a Twitter";
-$a->strings["Twitter settings updated."] = "Impostazioni di Twitter aggiornate.";
-$a->strings["Twitter Posting Settings"] = "Impostazioni di invio a Twitter";
-$a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Nessuna coppia di chiavi per Twitter trovata. Contatta l'amministratore del sito.";
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Il plugin Twitter è abilitato ma non hai ancora collegato i tuoi account Friendica e Twitter. Per farlo, clicca il bottone qui sotto per ricevere un PIN da Twitter che dovrai copiare nel campo qui sotto. Solo i tuoi post <strong>pubblici</strong> saranno inviati a Twitter.";
-$a->strings["Log in with Twitter"] = "Accedi con Twitter";
-$a->strings["Copy the PIN from Twitter here"] = "Copia il PIN da Twitter qui";
-$a->strings["If enabled all your <strong>public</strong> postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Se abilitato tutti i tuoi messaggi <strong>pubblici</strong> possono essere inviati all'account Twitter associato. Puoi scegliere di farlo sempre (qui) o ogni volta che invii, nelle impostazioni di privacy del messaggio.";
-$a->strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "";
-$a->strings["Allow posting to Twitter"] = "Permetti l'invio a Twitter";
-$a->strings["Send public postings to Twitter by default"] = "Invia sempre i messaggi pubblici a Twitter";
-$a->strings["Send linked #-tags and @-names to Twitter"] = "";
-$a->strings["Consumer key"] = "Consumer key";
-$a->strings["Consumer secret"] = "Consumer secret";
-$a->strings["IRC Settings"] = "Impostazioni IRC";
-$a->strings["Channel(s) to auto connect (comma separated)"] = "Canali a cui autocollegarsi (separati da virgola)";
-$a->strings["Popular Channels (comma separated)"] = "Canali popolari (separati da virgola)";
-$a->strings["IRC settings saved."] = "Impostazioni IRC salvate.";
-$a->strings["IRC Chatroom"] = "Stanza IRC";
-$a->strings["Popular Channels"] = "Canali Popolari";
-$a->strings["Fromapp settings updated."] = "";
-$a->strings["FromApp Settings"] = "";
-$a->strings["The application name you would like to show your posts originating from."] = "";
-$a->strings["Use this application name even if another application was used."] = "";
-$a->strings["Post to blogger"] = "Posta su blogger";
-$a->strings["Blogger Post Settings"] = "Impostazioni post per blogger";
-$a->strings["Enable Blogger Post Plugin"] = "Abilita il plugin Blogger";
-$a->strings["Blogger username"] = "Blogger username";
-$a->strings["Blogger password"] = "Blogger password";
-$a->strings["Blogger API URL"] = "Blogger API URL";
-$a->strings["Post to Blogger by default"] = "";
-$a->strings["Post to Posterous"] = "Invia a Posterous";
-$a->strings["Posterous Post Settings"] = "Impostazioni di invio a Posterous";
-$a->strings["Enable Posterous Post Plugin"] = "Abilita il plugin di invio a Posterous";
-$a->strings["Posterous login"] = "Posterous login";
-$a->strings["Posterous password"] = "Posterous password";
-$a->strings["Posterous site ID"] = "";
-$a->strings["Posterous API token"] = "";
-$a->strings["Post to Posterous by default"] = "Invia sempre a Posterous";
-$a->strings["Theme settings"] = "Impostazioni tema";
-$a->strings["Set resize level for images in posts and comments (width and height)"] = "";
-$a->strings["Set font-size for posts and comments"] = "";
-$a->strings["Set theme width"] = "";
-$a->strings["Color scheme"] = "Schema colori";
-$a->strings["Your posts and conversations"] = "I tuoi messaggi e le tue conversazioni";
-$a->strings["Your profile page"] = "Pagina del tuo profilo";
-$a->strings["Your contacts"] = "";
-$a->strings["Your photos"] = "Le tue foto";
-$a->strings["Your events"] = "I tuoi eventi";
-$a->strings["Personal notes"] = "Note personali";
-$a->strings["Your personal photos"] = "Le tue foto personali";
-$a->strings["Community Pages"] = "";
-$a->strings["Community Profiles"] = "";
-$a->strings["Last users"] = "Ultimi utenti";
-$a->strings["Last likes"] = "Ultimi \"mi piace\"";
-$a->strings["Last photos"] = "Ultime foto";
-$a->strings["Find Friends"] = "Trova Amici";
-$a->strings["Local Directory"] = "Elenco Locale";
-$a->strings["Similar Interests"] = "Interessi simili";
-$a->strings["Invite Friends"] = "Invita amici";
-$a->strings["Earth Layers"] = "";
-$a->strings["Set zoomfactor for Earth Layers"] = "";
-$a->strings["Set longitude (X) for Earth Layers"] = "";
-$a->strings["Set latitude (Y) for Earth Layers"] = "";
-$a->strings["Help or @NewHere ?"] = "Serve aiuto? Sei nuovo?";
-$a->strings["Connect Services"] = "Servizi di conessione";
-$a->strings["Last Tweets"] = "";
-$a->strings["Set twitter search term"] = "";
-$a->strings["don't show"] = "non mostrare";
-$a->strings["show"] = "mostra";
-$a->strings["Show/hide boxes at right-hand column:"] = "";
-$a->strings["Set line-height for posts and comments"] = "";
-$a->strings["Set resolution for middle column"] = "";
-$a->strings["Set color scheme"] = "";
-$a->strings["Set zoomfactor for Earth Layer"] = "";
-$a->strings["Last tweets"] = "";
-$a->strings["Alignment"] = "Allineamento";
-$a->strings["Left"] = "Sinistra";
-$a->strings["Center"] = "Centrato";
-$a->strings["Set colour scheme"] = "";
-$a->strings["j F, Y"] = "j F Y";
-$a->strings["j F"] = "j F";
-$a->strings["Birthday:"] = "Compleanno:";
-$a->strings["Age:"] = "Età:";
-$a->strings["for %1\$d %2\$s"] = "";
-$a->strings["Tags:"] = "Tag:";
-$a->strings["Religion:"] = "Religione:";
-$a->strings["Hobbies/Interests:"] = "Hobby/Interessi:";
-$a->strings["Contact information and Social Networks:"] = "Informazioni su contatti e social network:";
-$a->strings["Musical interests:"] = "Interessi musicali:";
-$a->strings["Books, literature:"] = "Libri, letteratura:";
-$a->strings["Television:"] = "Televisione:";
-$a->strings["Film/dance/culture/entertainment:"] = "Film/danza/cultura/intrattenimento:";
-$a->strings["Love/Romance:"] = "Amore:";
-$a->strings["Work/employment:"] = "Lavoro:";
-$a->strings["School/education:"] = "Scuola:";
-$a->strings["Unknown | Not categorised"] = "Sconosciuto | non categorizzato";
-$a->strings["Block immediately"] = "Blocca immediatamente";
-$a->strings["Shady, spammer, self-marketer"] = "Shady, spammer, self-marketer";
-$a->strings["Known to me, but no opinion"] = "Lo conosco, ma non ho un'opinione particolare";
-$a->strings["OK, probably harmless"] = "E' ok, probabilmente innocuo";
-$a->strings["Reputable, has my trust"] = "Rispettabile, ha la mia fiducia";
-$a->strings["Frequently"] = "Frequentemente";
-$a->strings["Hourly"] = "Ogni ora";
-$a->strings["Twice daily"] = "Due volte al dì";
-$a->strings["OStatus"] = "Ostatus";
-$a->strings["RSS/Atom"] = "RSS / Atom";
-$a->strings["Zot!"] = "Zot!";
-$a->strings["LinkedIn"] = "LinkedIn";
-$a->strings["XMPP/IM"] = "XMPP/IM";
-$a->strings["MySpace"] = "MySpace";
-$a->strings["Male"] = "Maschio";
-$a->strings["Female"] = "Femmina";
-$a->strings["Currently Male"] = "Al momento maschio";
-$a->strings["Currently Female"] = "Al momento femmina";
-$a->strings["Mostly Male"] = "Prevalentemente maschio";
-$a->strings["Mostly Female"] = "Prevalentemente femmina";
-$a->strings["Transgender"] = "Transgender";
-$a->strings["Intersex"] = "Intersex";
-$a->strings["Transsexual"] = "Transessuale";
-$a->strings["Hermaphrodite"] = "Ermafrodito";
-$a->strings["Neuter"] = "Neutro";
-$a->strings["Non-specific"] = "Non specificato";
-$a->strings["Other"] = "Altro";
-$a->strings["Undecided"] = "Indeciso";
-$a->strings["Males"] = "Maschi";
-$a->strings["Females"] = "Femmine";
-$a->strings["Gay"] = "Gay";
-$a->strings["Lesbian"] = "Lesbica";
-$a->strings["No Preference"] = "Nessuna preferenza";
-$a->strings["Bisexual"] = "Bisessuale";
-$a->strings["Autosexual"] = "Autosessuale";
-$a->strings["Abstinent"] = "Astinente";
-$a->strings["Virgin"] = "Vergine";
-$a->strings["Deviant"] = "Deviato";
-$a->strings["Fetish"] = "Fetish";
-$a->strings["Oodles"] = "Un sacco";
-$a->strings["Nonsexual"] = "Asessuato";
-$a->strings["Single"] = "Single";
-$a->strings["Lonely"] = "Solitario";
-$a->strings["Available"] = "Disponibile";
-$a->strings["Unavailable"] = "Non disponibile";
-$a->strings["Has crush"] = "";
-$a->strings["Infatuated"] = "";
-$a->strings["Dating"] = "Disponibile a un incontro";
-$a->strings["Unfaithful"] = "Infedele";
-$a->strings["Sex Addict"] = "Sesso-dipendente";
-$a->strings["Friends"] = "Amici";
-$a->strings["Friends/Benefits"] = "Amici con benefici";
-$a->strings["Casual"] = "Casual";
-$a->strings["Engaged"] = "Impegnato";
-$a->strings["Married"] = "Sposato";
-$a->strings["Imaginarily married"] = "";
-$a->strings["Partners"] = "Partners";
-$a->strings["Cohabiting"] = "Coinquilino";
-$a->strings["Common law"] = "";
-$a->strings["Happy"] = "Felice";
-$a->strings["Not looking"] = "";
-$a->strings["Swinger"] = "Scambista";
-$a->strings["Betrayed"] = "Tradito";
-$a->strings["Separated"] = "Separato";
-$a->strings["Unstable"] = "Instabile";
-$a->strings["Divorced"] = "Divorziato";
-$a->strings["Imaginarily divorced"] = "";
-$a->strings["Widowed"] = "Vedovo";
-$a->strings["Uncertain"] = "Incerto";
-$a->strings["It's complicated"] = "";
-$a->strings["Don't care"] = "Non interessa";
-$a->strings["Ask me"] = "Chiedimelo";
-$a->strings["Starts:"] = "Inizia:";
-$a->strings["Finishes:"] = "Finisce:";
-$a->strings["(no subject)"] = "(nessun oggetto)";
-$a->strings[" on Last.fm"] = "";
-$a->strings["prev"] = "prec";
-$a->strings["first"] = "primo";
-$a->strings["last"] = "ultimo";
-$a->strings["next"] = "succ";
-$a->strings["newer"] = "";
-$a->strings["older"] = "";
-$a->strings["No contacts"] = "Nessun contatto";
-$a->strings["%d Contact"] = array(
- 0 => "%d contatto",
- 1 => "%d contatti",
-);
-$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["January"] = "Gennaio";
-$a->strings["February"] = "Febbraio";
-$a->strings["March"] = "Marzo";
-$a->strings["April"] = "Aprile";
-$a->strings["May"] = "Maggio";
-$a->strings["June"] = "Giugno";
-$a->strings["July"] = "Luglio";
-$a->strings["August"] = "Agosto";
-$a->strings["September"] = "Settembre";
-$a->strings["October"] = "Ottobre";
-$a->strings["November"] = "Novembre";
-$a->strings["December"] = "Dicembre";
-$a->strings["bytes"] = "bytes";
-$a->strings["Click to open/close"] = "Clicca per aprire/chiudere";
-$a->strings["default"] = "default";
-$a->strings["Select an alternate language"] = "Seleziona una diversa lingua";
-$a->strings["activity"] = "attività";
-$a->strings["post"] = "messaggio";
-$a->strings["Item filed"] = "";
-$a->strings["Sharing notification from Diaspora network"] = "Notifica di condivisione dal network Diaspora*";
-$a->strings["Attachments:"] = "Allegati:";
-$a->strings["view full size"] = "vedi a schermo intero";
-$a->strings["Embedded content"] = "Contenuto incorporato";
-$a->strings["Embedding disabled"] = "Embed disabilitato";
-$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."] = "Un gruppo eliminato con questo nome è stato ricreato. I permessi esistenti su un elemento <strong>possono</strong> essere applicati a questo gruppo e tutti i membri futuri. Se questo non è ciò che si intende, si prega di creare un altro gruppo con un nome diverso.";
-$a->strings["Default privacy group for new contacts"] = "";
-$a->strings["Everybody"] = "Tutti";
-$a->strings["edit"] = "modifica";
-$a->strings["Edit group"] = "Modifica gruppo";
-$a->strings["Create a new group"] = "Crea un nuovo gruppo";
-$a->strings["Contacts not in any group"] = "Contatti in nessun gruppo.";
-$a->strings["Logout"] = "Esci";
-$a->strings["End this session"] = "Finisci questa sessione";
-$a->strings["Status"] = "Stato";
-$a->strings["Sign in"] = "Entra";
-$a->strings["Home Page"] = "Home Page";
-$a->strings["Create an account"] = "Crea un account";
-$a->strings["Help and documentation"] = "Guida e documentazione";
-$a->strings["Apps"] = "Applicazioni";
-$a->strings["Addon applications, utilities, games"] = "Applicazioni, utilità e giochi aggiuntivi";
-$a->strings["Search site content"] = "Cerca nel contenuto del sito";
-$a->strings["Conversations on this site"] = "Conversazioni su questo sito";
-$a->strings["Directory"] = "Elenco";
-$a->strings["People directory"] = "Elenco delle persone";
-$a->strings["Conversations from your friends"] = "Conversazioni dai tuoi amici";
-$a->strings["Friend Requests"] = "Richieste di amicizia";
-$a->strings["See all notifications"] = "Vedi tutte le notifiche";
-$a->strings["Mark all system notifications seen"] = "";
-$a->strings["Private mail"] = "Posta privata";
-$a->strings["Inbox"] = "In arrivo";
-$a->strings["Outbox"] = "Inviati";
-$a->strings["Manage"] = "Gestisci";
-$a->strings["Manage other pages"] = "Gestisci altre pagine";
-$a->strings["Profiles"] = "Profili";
-$a->strings["Manage/edit profiles"] = "Gestisci/modifica i profili";
-$a->strings["Manage/edit friends and contacts"] = "Gestisci/modifica amici e contatti";
-$a->strings["Site setup and configuration"] = "Configurazione del sito";
-$a->strings["Nothing new here"] = "Niente di nuovo qui";
-$a->strings["Add New Contact"] = "Aggiungi nuovo contatto";
-$a->strings["Enter address or web location"] = "Inserisci posizione o indirizzo web";
-$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Esempio: bob@example.com, http://example.com/barbara";
-$a->strings["%d invitation available"] = array(
- 0 => "%d invito disponibile",
- 1 => "%d inviti disponibili",
-);
-$a->strings["Find People"] = "Trova persone";
-$a->strings["Enter name or interest"] = "Inserisci un nome o un interesse";
-$a->strings["Connect/Follow"] = "Connetti/segui";
-$a->strings["Examples: Robert Morgenstein, Fishing"] = "Esempi: Mario Rossi, Pesca";
-$a->strings["Random Profile"] = "Profilo causale";
-$a->strings["Networks"] = "Reti";
-$a->strings["All Networks"] = "Tutte le Reti";
-$a->strings["Saved Folders"] = "Cartelle Salvate";
-$a->strings["Everything"] = "Tutto";
-$a->strings["Categories"] = "Categorie";
-$a->strings["Logged out."] = "Uscita effettuata.";
-$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Abbiamo incontrato un problema mentre contattavamo il server OpenID che ci hai fornito. Controlla di averlo scritto giusto.";
-$a->strings["The error message was:"] = "Il messaggio riportato era:";
-$a->strings["Miscellaneous"] = "Varie";
-$a->strings["year"] = "anno";
-$a->strings["month"] = "mese";
-$a->strings["day"] = "giorno";
-$a->strings["never"] = "mai";
-$a->strings["less than a second ago"] = "meno di un secondo fa";
-$a->strings["week"] = "settimana";
-$a->strings["hour"] = "ora";
-$a->strings["hours"] = "ore";
-$a->strings["minute"] = "minuto";
-$a->strings["minutes"] = "minuti";
-$a->strings["second"] = "secondo";
-$a->strings["seconds"] = "secondi";
-$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s fa";
-$a->strings["%s's birthday"] = "";
-$a->strings["Happy Birthday %s"] = "";
-$a->strings["From: "] = "Da: ";
-$a->strings["Image/photo"] = "Immagine/foto";
-$a->strings["$1 wrote:"] = "$1 ha scritto:";
-$a->strings["Encrypted content"] = "";
-$a->strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'";
-$a->strings["[no subject]"] = "[nessun oggetto]";
-$a->strings["Visible to everybody"] = "Visibile a tutti";
-$a->strings["Friendica Notification"] = "Notifica Friendica";
-$a->strings["Thank You,"] = "Grazie,";
-$a->strings["%s Administrator"] = "Amministratore %s";
-$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
-$a->strings["[Friendica:Notify] New mail received at %s"] = "[Friendica:Notifica] Nuovo messaggio privato ricevuto su %s";
-$a->strings["%1\$s sent you a new private message at %2\$s."] = "";
-$a->strings["%1\$s sent you %2\$s."] = "";
-$a->strings["a private message"] = "un messaggio privato";
-$a->strings["Please visit %s to view and/or reply to your private messages."] = "Visita %s per vedere e/o rispodere ai tuoi messaggi privati.";
-$a->strings["%1\$s commented on [url=%2\$s]a %3\$s[/url]"] = "";
-$a->strings["%1\$s commented on [url=%2\$s]%3\$s's %4\$s[/url]"] = "";
-$a->strings["%1\$s commented on [url=%2\$s]your %3\$s[/url]"] = "";
-$a->strings["[Friendica:Notify] Comment to conversation #%1\$d by %2\$s"] = "";
-$a->strings["%s commented on an item/conversation you have been following."] = "%s ha commentato un elemento che stavi seguendo.";
-$a->strings["Please visit %s to view and/or reply to the conversation."] = "Visita %s per vedere e/o commentare la conversazione";
-$a->strings["[Friendica:Notify] %s posted to your profile wall"] = "[Friendica:Notifica] %s ha scritto sulla tua bacheca";
-$a->strings["%1\$s posted to your profile wall at %2\$s"] = "";
-$a->strings["%1\$s posted to [url=%2\$s]your wall[/url]"] = "";
-$a->strings["[Friendica:Notify] %s tagged you"] = "[Friendica:Notifica] %s ti ha taggato";
-$a->strings["%1\$s tagged you at %2\$s"] = "";
-$a->strings["%1\$s [url=%2\$s]tagged you[/url]."] = "";
-$a->strings["[Friendica:Notify] %1\$s poked you"] = "";
-$a->strings["%1\$s poked you at %2\$s"] = "";
-$a->strings["%1\$s [url=%2\$s]poked you[/url]."] = "";
-$a->strings["[Friendica:Notify] %s tagged your post"] = "[Friendica:Notifica] %s ha taggato un tuo messaggio";
-$a->strings["%1\$s tagged your post at %2\$s"] = "";
-$a->strings["%1\$s tagged [url=%2\$s]your post[/url]"] = "";
-$a->strings["[Friendica:Notify] Introduction received"] = "[Friendica:Notifica] Hai ricevuto una presentazione";
-$a->strings["You've received an introduction from '%1\$s' at %2\$s"] = "";
-$a->strings["You've received [url=%1\$s]an introduction[/url] from %2\$s."] = "";
-$a->strings["You may visit their profile at %s"] = "Puoi visitare il suo profilo presso %s";
-$a->strings["Please visit %s to approve or reject the introduction."] = "Visita %s per approvare o rifiutare la presentazione.";
-$a->strings["[Friendica:Notify] Friend suggestion received"] = "[Friendica:Notifica] Hai ricevuto un suggerimento di amicizia";
-$a->strings["You've received a friend suggestion from '%1\$s' at %2\$s"] = "";
-$a->strings["You've received [url=%1\$s]a friend suggestion[/url] for %2\$s from %3\$s."] = "";
-$a->strings["Name:"] = "Nome:";
-$a->strings["Photo:"] = "Foto:";
-$a->strings["Please visit %s to approve or reject the suggestion."] = "Visita %s per approvare o rifiutare il suggerimento.";
-$a->strings["Connect URL missing."] = "URL di connessione mancante.";
-$a->strings["This site is not configured to allow communications with other networks."] = "Questo sito non è configurato per permettere la comunicazione con altri network.";
-$a->strings["No compatible communication protocols or feeds were discovered."] = "Non sono stati trovati protocolli di comunicazione o feed compatibili.";
-$a->strings["The profile address specified does not provide adequate information."] = "L'indirizzo del profilo specificato non fornisce adeguate informazioni.";
-$a->strings["An author or name was not found."] = "Non è stato trovato un nome o un autore";
-$a->strings["No browser URL could be matched to this address."] = "Nessun URL puo' essere associato a questo indirizzo.";
-$a->strings["Unable to match @-style Identity Address with a known protocol or email contact."] = "";
-$a->strings["Use mailto: in front of address to force email check."] = "";
-$a->strings["The profile address specified belongs to a network which has been disabled on this site."] = "L'indirizzo del profilo specificato appartiene a un network che è stato disabilitato su questo sito.";
-$a->strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "Profilo limitato. Questa persona non sarà in grado di ricevere notifiche personali da te.";
-$a->strings["Unable to retrieve contact information."] = "Impossibile recuperare informazioni sul contatto.";
-$a->strings["following"] = "segue";
-$a->strings["A new person is sharing with you at "] = "Una nuova persona sta condividendo con te da ";
-$a->strings["You have a new follower at "] = "Una nuova persona ti segue su ";
-$a->strings["Archives"] = "";
-$a->strings["An invitation is required."] = "E' richiesto un invito.";
-$a->strings["Invitation could not be verified."] = "L'invito non puo' essere verificato.";
-$a->strings["Invalid OpenID url"] = "Url OpenID non valido";
-$a->strings["Please enter the required information."] = "Inserisci le informazioni richieste.";
-$a->strings["Please use a shorter name."] = "Usa un nome più corto.";
-$a->strings["Name too short."] = "Il nome è troppo corto.";
-$a->strings["That doesn't appear to be your full (First Last) name."] = "Questo non sembra essere il tuo nome completo (Nome Cognome).";
-$a->strings["Your email domain is not among those allowed on this site."] = "Il dominio della tua email non è tra quelli autorizzati su questo sito.";
-$a->strings["Not a valid email address."] = "L'indirizzo email non è valido.";
-$a->strings["Cannot use that email."] = "Non puoi usare quell'email.";
-$a->strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Il tuo nome utente puo' contenere solo \"a-z\", \"0-9\", \"-\", e \"_\", e deve cominciare con una lettera.";
-$a->strings["Nickname is already registered. Please choose another."] = "Nome utente già registrato. Scegline un altro.";
-$a->strings["Nickname was once registered here and may not be re-used. Please choose another."] = "Questo nome utente stato già registrato. Per favore, sceglierne uno nuovo.";
-$a->strings["SERIOUS ERROR: Generation of security keys failed."] = "ERRORE GRAVE: La generazione delle chiavi di sicurezza è fallita.";
-$a->strings["An error occurred during registration. Please try again."] = "C'è stato un errore durante la registrazione. Prova ancora.";
-$a->strings["An error occurred creating your default profile. Please try again."] = "C'è stato un errore nella creazione del tuo profilo. Prova ancora.";
-$a->strings["Welcome "] = "Ciao";
-$a->strings["Please upload a profile photo."] = "Carica una foto per il profilo.";
-$a->strings["Welcome back "] = "Ciao ";
-$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "";
-$a->strings["stopped following"] = "";
-$a->strings["Poke"] = "";
-$a->strings["View Status"] = "Visualizza stato";
-$a->strings["View Profile"] = "Visualizza profilo";
-$a->strings["View Photos"] = "Visualizza foto";
-$a->strings["Network Posts"] = "";
-$a->strings["Edit Contact"] = "Modifica contatti";
-$a->strings["Send PM"] = "Invia messaggio privato";
-$a->strings["%1\$s poked %2\$s"] = "";
-$a->strings["post/item"] = "post/elemento";
-$a->strings["%1\$s marked %2\$s's %3\$s as favorite"] = "%1\$s ha segnato il/la %3\$s di %2\$s come preferito";
-$a->strings["Categories:"] = "";
-$a->strings["Filed under:"] = "";
-$a->strings["remove"] = "rimuovi";
-$a->strings["Delete Selected Items"] = "Cancella elementi selezionati";
-$a->strings["%s likes this."] = "Piace a %s.";
-$a->strings["%s doesn't like this."] = "Non piace a %s.";
-$a->strings["<span %1\$s>%2\$d people</span> like this."] = "Piace a <span %1\$s>%2\$d persone</span>.";
-$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = "Non piace a <span %1\$s>%2\$d persone</span>.";
-$a->strings["and"] = "e";
-$a->strings[", and %d other people"] = "e altre %d persone";
-$a->strings["%s like this."] = "Piace a %s.";
-$a->strings["%s don't like this."] = "Non piace a %s.";
-$a->strings["Visible to <strong>everybody</strong>"] = "Visibile a <strong>tutti</strong>";
-$a->strings["Please enter a video link/URL:"] = "Inserisci un collegamento video / URL:";
-$a->strings["Please enter an audio link/URL:"] = "Inserisci un collegamento audio / URL:";
-$a->strings["Tag term:"] = "Tag:";
-$a->strings["Where are you right now?"] = "Dove sei ora?";
-$a->strings["upload photo"] = "carica foto";
-$a->strings["attach file"] = "allega file";
-$a->strings["web link"] = "link web";
-$a->strings["Insert video link"] = "Inserire collegamento video";
-$a->strings["video link"] = "link video";
-$a->strings["Insert audio link"] = "Inserisci collegamento audio";
-$a->strings["audio link"] = "link audio";
-$a->strings["set location"] = "posizione";
-$a->strings["clear location"] = "canc. pos.";
-$a->strings["permissions"] = "permessi";
-$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["Delete this item?"] = "Cancellare questo elemento?";
-$a->strings["show fewer"] = "mostra di meno";
-$a->strings["Update %s failed. See error logs."] = "";
-$a->strings["Update Error at %s"] = "";
+$a->strings["Ignore/Hide"] = "Ignora/nascondi";
+$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!";
+$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio.";
+$a->strings["Registration successful. Please check your email for validation instructions."] = "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata.";
+$a->strings["Your registration is pending approval by the site owner."] = "La tua richiesta è in attesa di approvazione da parte dell'amministratore del sito.";
+$a->strings["Your registration can not be processed."] = "La tua registrazione non puo' essere acquisita.";
+$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Questo sito ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani.";
+$a->strings["Terms of Service"] = "Condizioni d'Uso";
+$a->strings["I accept the %s for this website"] = "Accetto le %s di questo sito";
+$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ho più di 13 anni e accetto le %s di questo sito";
+$a->strings["Membership on this site is by invitation only."] = "Per registrarsi su questo sito è necessario un invito.";
+$a->strings["Please enter your invitation code"] = "Inserisci il codice dell'invito";
+$a->strings["Your email address"] = "Il tuo indirizzo email";
+$a->strings["Choose a password"] = "Scegli una password";
+$a->strings["Please re-enter your password"] = "Ripeti la password per verifica";
+$a->strings["Please login."] = "Accedi.";
+$a->strings["Remove My Account"] = "Elimina il mio account";
+$a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Questo comando rimuoverà completamente il tuo account. Una volta rimosso non potrai più recuperarlo.";
+$a->strings["Please enter your password for verification:"] = "Inserisci la tua password per verifica:";
+$a->strings["Mood"] = "Umore";
+$a->strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici";
+$a->strings["Theme settings"] = "Impostazioni del tema";
+$a->strings["Set font-size for posts and comments"] = "Scegli le dimensioni del carattere per articoli e commenti";
+$a->strings["Set line-height for posts and comments"] = "Scegli l'altezza della riga per articoli e commenti";
+$a->strings["Set colour scheme"] = "Scegli lo schema di colore";
+$a->strings["Draw shadows"] = "Aggiungi l'ombreggiatura";
+$a->strings["Navigation bar colour"] = "Colore della barra di navigazione";
+$a->strings["Display style"] = "Stile di visualizzazione";
+$a->strings["Display colour of links - hex value, do not include the #"] = "Scegli il colore dei link - in esadecimale, senza #";
+$a->strings["Icons"] = "Icone";
+$a->strings["Shiny style"] = "Effetto lucido";
+$a->strings["Corner radius"] = "Raggio dell'angolo";
+$a->strings["0-99 default: 5"] = "0-99 predefinito: 5";
+$a->strings["Update %s failed. See error logs."] = "%s: aggiornamento fallito. Controlla i log di errore.";
+$a->strings["Update Error at %s"] = "Errore di aggiornamento su %s";
$a->strings["Create a New Account"] = "Crea un nuovo account";
-$a->strings["Nickname or Email address: "] = "Nome utente o indirizzo email: ";
-$a->strings["Password: "] = "Password: ";
-$a->strings["Or login using OpenID: "] = "O entra con OpenID:";
+$a->strings["Password"] = "Password";
+$a->strings["Remember me"] = "Ricorda i miei dati";
$a->strings["Forgot your password?"] = "Hai dimenticato la password?";
-$a->strings["Requested account is not available."] = "";
-$a->strings["Edit profile"] = "Modifica il profilo";
-$a->strings["Message"] = "Messaggio";
-$a->strings["g A l F d"] = "g A l d F";
+$a->strings["Requested channel is not available."] = "Il canale che cerchi non è disponibile.";
+$a->strings[" Sorry, you don't have the permission to view this profile. "] = "Purtroppo non hai il permesso di vedere questo profilo.";
+$a->strings["Profiles"] = "Profili";
+$a->strings["Manage/edit profiles"] = "Gestisci/modifica i profili";
+$a->strings["Edit Profile"] = "Modifica il profilo";
$a->strings["F d"] = "d F";
-$a->strings["[today]"] = "[oggi]";
$a->strings["Birthday Reminders"] = "Promemoria compleanni";
$a->strings["Birthdays this week:"] = "Compleanni questa settimana:";
$a->strings["[No description]"] = "[Nessuna descrizione]";
$a->strings["Event Reminders"] = "Promemoria";
$a->strings["Events this week:"] = "Eventi di questa settimana:";
-$a->strings["Status Messages and Posts"] = "";
-$a->strings["Profile Details"] = "";
-$a->strings["Events and Calendar"] = "";
-$a->strings["Only You Can See This"] = "";
+$a->strings["Channel"] = "Canale";
+$a->strings["Status Messages and Posts"] = "Articoli e messaggi di stato";
+$a->strings["About"] = "Informazioni";
+$a->strings["Profile Details"] = "Dettagli del profilo";
+$a->strings["Events and Calendar"] = "Calendario eventi";
+$a->strings["Webpages"] = "Pagine web";
+$a->strings["Manage Webpages"] = "Gestisci le pagine web";
+$a->strings["toggle mobile"] = "attiva/disattiva versione mobile";
diff --git a/view/it/update_fail_eml.tpl b/view/it/update_fail_eml.tpl
new file mode 100644
index 000000000..a7df8fc2f
--- /dev/null
+++ b/view/it/update_fail_eml.tpl
@@ -0,0 +1,13 @@
+Hey,
+I'm the web server at {{$sitename}};
+
+The Red Matrix developers released update {{$update}} recently,
+but when I tried to install it, something went terribly wrong.
+This needs to be fixed soon and it requires human intervention.
+Please contact a Red developer if you can not figure out how to
+fix it on your own. My database might be invalid.
+
+The error message is '{{$error}}'.
+
+Apologies for the inconvenience,
+ your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/js/mod_connections.js b/view/js/mod_connections.js
index 9d4a03340..6bfa039a8 100644
--- a/view/js/mod_connections.js
+++ b/view/js/mod_connections.js
@@ -22,6 +22,10 @@ $(".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');
@@ -37,6 +41,11 @@ function connectFullShare() {
}
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');
@@ -48,6 +57,11 @@ function connectCautiousShare() {
}
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');
@@ -62,6 +76,11 @@ function connectForum() {
}
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');
@@ -72,6 +91,11 @@ function connectSoapBox() {
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_network.js b/view/js/mod_network.js
new file mode 100644
index 000000000..7c3a9d246
--- /dev/null
+++ b/view/js/mod_network.js
@@ -0,0 +1,9 @@
+$(document).ready(function() {
+ var a;
+ a = $("#search-text").autocomplete({
+ serviceUrl: baseurl + '/search_ac',
+ minChars: 2,
+ width: 350,
+ });
+});
+
diff --git a/view/js/mod_poke.js b/view/js/mod_poke.js
new file mode 100644
index 000000000..fa00ac2d5
--- /dev/null
+++ b/view/js/mod_poke.js
@@ -0,0 +1,13 @@
+$(document).ready(function() {
+ var a;
+ a = $("#poke-recip").autocomplete({
+ serviceUrl: baseurl + '/acl',
+ minChars: 2,
+ width: 350,
+ onSelect: function(value,data) {
+ $("#poke-recip-complete").val(data);
+ }
+ });
+ a.setOptions({ params: { type: 'a' }});
+
+});
diff --git a/view/js/mod_settings.js b/view/js/mod_settings.js
index bcfa9b574..1695372eb 100644
--- a/view/js/mod_settings.js
+++ b/view/js/mod_settings.js
@@ -19,3 +19,93 @@ $(document).ready(function() {
});
+function channel_privacy_macro(n) {
+ if(n == 0) {
+ $('#id_view_stream option').eq(0).attr('selected','selected');
+ $('#id_view_profile option').eq(0).attr('selected','selected');
+ $('#id_view_photos option').eq(0).attr('selected','selected');
+ $('#id_view_contacts option').eq(0).attr('selected','selected');
+ $('#id_view_storage option').eq(0).attr('selected','selected');
+ $('#id_view_pages option').eq(0).attr('selected','selected');
+ $('#id_send_stream option').eq(0).attr('selected','selected');
+ $('#id_post_wall option').eq(0).attr('selected','selected');
+ $('#id_post_comments option').eq(0).attr('selected','selected');
+ $('#id_post_mail option').eq(0).attr('selected','selected');
+ $('#id_post_photos option').eq(0).attr('selected','selected');
+ $('#id_tag_deliver option').eq(0).attr('selected','selected');
+ $('#id_chat option').eq(0).attr('selected','selected');
+ $('#id_write_storage option').eq(0).attr('selected','selected');
+ $('#id_write_pages option').eq(0).attr('selected','selected');
+ $('#id_delegate option').eq(0).attr('selected','selected');
+ $('#id_profile_in_directory_onoff .off').removeClass('hidden');
+ $('#id_profile_in_directory_onoff .on').addClass('hidden');
+ $('#id_profile_in_directory').val(0);
+ }
+ if(n == 1) {
+ $('#id_view_stream option').eq(1).attr('selected','selected');
+ $('#id_view_profile option').eq(1).attr('selected','selected');
+ $('#id_view_photos option').eq(1).attr('selected','selected');
+ $('#id_view_contacts option').eq(1).attr('selected','selected');
+ $('#id_view_storage option').eq(1).attr('selected','selected');
+ $('#id_view_pages option').eq(1).attr('selected','selected');
+ $('#id_send_stream option').eq(1).attr('selected','selected');
+ $('#id_post_wall option').eq(1).attr('selected','selected');
+ $('#id_post_comments option').eq(1).attr('selected','selected');
+ $('#id_post_mail option').eq(1).attr('selected','selected');
+ $('#id_post_photos option').eq(1).attr('selected','selected');
+ $('#id_tag_deliver option').eq(1).attr('selected','selected');
+ $('#id_chat option').eq(1).attr('selected','selected');
+ $('#id_write_storage option').eq(1).attr('selected','selected');
+ $('#id_write_pages option').eq(1).attr('selected','selected');
+ $('#id_delegate option').eq(0).attr('selected','selected');
+ $('#id_profile_in_directory_onoff .off').removeClass('hidden');
+ $('#id_profile_in_directory_onoff .on').addClass('hidden');
+ $('#id_profile_in_directory').val(0);
+ }
+ if(n == 2) {
+ $('#id_view_stream option').eq(5).attr('selected','selected');
+ $('#id_view_profile option').eq(5).attr('selected','selected');
+ $('#id_view_photos option').eq(5).attr('selected','selected');
+ $('#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_post_wall option').eq(1).attr('selected','selected');
+ $('#id_post_comments option').eq(1).attr('selected','selected');
+ $('#id_post_mail option').eq(1).attr('selected','selected');
+ $('#id_post_photos option').eq(0).attr('selected','selected');
+ $('#id_tag_deliver option').eq(1).attr('selected','selected');
+ $('#id_chat option').eq(1).attr('selected','selected');
+ $('#id_write_storage option').eq(0).attr('selected','selected');
+ $('#id_write_pages option').eq(0).attr('selected','selected');
+ $('#id_delegate option').eq(0).attr('selected','selected');
+ $('#id_profile_in_directory_onoff .on').removeClass('hidden');
+ $('#id_profile_in_directory_onoff .off').addClass('hidden');
+ $('#id_profile_in_directory').val(1);
+ }
+ if(n == 3) {
+ $('#id_view_stream option').eq(5).attr('selected','selected');
+ $('#id_view_profile option').eq(5).attr('selected','selected');
+ $('#id_view_photos option').eq(5).attr('selected','selected');
+ $('#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(4).attr('selected','selected');
+ $('#id_post_wall option').eq(4).attr('selected','selected');
+ $('#id_post_comments option').eq(4).attr('selected','selected');
+ $('#id_post_mail option').eq(4).attr('selected','selected');
+ $('#id_post_photos option').eq(2).attr('selected','selected');
+ $('#id_tag_deliver option').eq(1).attr('selected','selected');
+ $('#id_chat option').eq(4).attr('selected','selected');
+ $('#id_write_storage option').eq(2).attr('selected','selected');
+ $('#id_write_pages option').eq(2).attr('selected','selected');
+ $('#id_delegate option').eq(0).attr('selected','selected');
+ $('#id_profile_in_directory_onoff .on').removeClass('hidden');
+ $('#id_profile_in_directory_onoff .off').addClass('hidden');
+ $('#id_profile_in_directory').val(1);
+
+ }
+
+
+
+} \ No newline at end of file
diff --git a/view/nb-no/follow_notify_eml.tpl b/view/nb-no/follow_notify_eml.tpl
index 73a347027..ba07b19da 100644
--- a/view/nb-no/follow_notify_eml.tpl
+++ b/view/nb-no/follow_notify_eml.tpl
@@ -1,14 +1,14 @@
-Kjære $[myname],
+Dear {{$myname}},
-Du har en ny følgesvenn på $[sitename] - '$[requestor]'.
+You have a new follower at {{$sitename}} - '{{$requestor}}'.
-Du kan besøke profilen deres på $[url].
+You may visit their profile at {{$url}}.
-Vennligst logg inn på ditt sted for å godkjenne eller ignorere/avbryte forespørselen.
+Please login to your site to approve or ignore/cancel the request.
-$[siteurl]
+{{$siteurl}}
-Med vennlig hilsen,
+Regards,
- $[sitename] administrator \ No newline at end of file
+ {{$sitename}} administrator
diff --git a/view/nb-no/friend_complete_eml.tpl b/view/nb-no/friend_complete_eml.tpl
index 4526c94d0..1c647b994 100644
--- a/view/nb-no/friend_complete_eml.tpl
+++ b/view/nb-no/friend_complete_eml.tpl
@@ -1,22 +1,22 @@
-Kjære $[username],
+Dear {{$username}},
- Gode nyheter... '$[fn]' ved '$[dfrn_url]' har godtatt
-din forespørsel om kobling hos '$[sitename]'.
+ Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
-Dere er nå gjensidige venner og kan utveksle statusoppdateringer, bilder og e-post
-uten hindringer.
+You are now mutual friends and may exchange status updates, photos, and email
+without restriction.
-Vennligst besøk din side "Kontakter" ved $[sitename] hvis du ønsker å gjøre
-noen endringer på denne forbindelsen.
+Please visit your 'Connnections' page at {{$sitename}} if you wish to make
+any changes to this relationship.
-$[siteurl]
+{{$siteurl}}
-[For eksempel, så kan du lage en egen profil med informasjon som ikke er
-tilgjengelig for alle - og angi visningsrettigheter til '$[fn]'].
+[For instance, you may create a separate profile with information that is not
+available to the general public - and assign viewing rights to '{{$fn}}'].
-Med vennlig hilsen,
+Sincerely,
- $[sitename] administrator
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/nb-no/htconfig.tpl b/view/nb-no/htconfig.tpl
new file mode 100644
index 000000000..493cb5d00
--- /dev/null
+++ b/view/nb-no/htconfig.tpl
@@ -0,0 +1,70 @@
+<?php
+
+// Set the following for your MySQL installation
+// Copy or rename this file to .htconfig.php
+
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
+
+/*
+ * Notice: Many of the following settings will be available in the admin panel
+ * after a successful site install. Once they are set in the admin panel, they
+ * are stored in the DB - and the DB setting will over-ride any corresponding
+ * setting in this file
+ *
+ * The command-line tool util/config is able to query and set the DB items
+ * directly if for some reason the admin panel is not available and a system
+ * setting requires modification.
+ *
+ */
+
+
+// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
+// It can be changed later and only applies to timestamps for anonymous viewers.
+
+$default_timezone = '{{$timezone}}';
+
+// What is your site name?
+
+$a->config['system']['baseurl'] = '{{$siteurl}}';
+$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['location_hash'] = '{{$site_id}}';
+
+// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
+// Be certain to create your own personal account before setting
+// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
+// the registration page. REGISTER_APPROVE requires you set 'admin_email'
+// to the email address of an already registered person who can authorise
+// and/or approve/deny the request.
+
+$a->config['system']['register_policy'] = REGISTER_OPEN;
+$a->config['system']['register_text'] = '';
+$a->config['system']['admin_email'] = '{{$adminmail}}';
+
+// Maximum size of an imported message, 0 is unlimited
+
+$a->config['system']['max_import_size'] = 200000;
+
+// maximum size of uploaded photos
+
+$a->config['system']['maximagesize'] = 800000;
+
+// Location of PHP command line processor
+
+$a->config['system']['php_path'] = '{{$phpath}}';
+
+// Configure how we communicate with directory servers.
+// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
+// DIRECTORY_MODE_SECONDARY = caching directory or mirror
+// DIRECTORY_MODE_PRIMARY = main directory server
+// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
+
+$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
+
+// default system theme
+
+$a->config['system']['theme'] = 'redbasic';
+
diff --git a/view/nb-no/intro_complete_eml.tpl b/view/nb-no/intro_complete_eml.tpl
index 17b0be5a8..2c2428d68 100644
--- a/view/nb-no/intro_complete_eml.tpl
+++ b/view/nb-no/intro_complete_eml.tpl
@@ -1,22 +1,22 @@
-Kjære $[username],
+Dear {{$username}},
- '$[fn]' ved '$[dfrn_url]' har godtatt
-din forespørsel om kobling ved $[sitename]'.
+ '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
- '$[fn]' har valgt å godta deg som "fan", som begrenser
-noen typer kommunikasjon - slik som private meldinger og noen profilhandlinger.
-Hvis dette er en kjendis- eller forumside, så ble disse innstillingene
-angitt automatisk.
+ '{{$fn}}' has chosen to accept you a "fan", which restricts
+some forms of communication - such as private messaging and some profile
+interactions. If this is a celebrity or community page, these settings were
+applied automatically.
- '$[fn]' kan velge å utvide dette til en to-veis eller mer åpen
-forbindelse i fremtiden.
+ '{{$fn}}' may choose to extend this into a two-way or more permissive
+relationship in the future.
- Du vil nå motta offentlige statusoppdateringer fra '$[fn]',
-som vil vises på din "Nettverk"-side ved
+ You will start receiving public status updates from '{{$fn}}',
+which will appear on your 'Matrix' page at
-$[siteurl]
+{{$siteurl}}
-Med vennlig hilsen,
+Sincerely,
- $[sitename] administrator \ No newline at end of file
+ {{$sitename}} Administrator
diff --git a/view/nb-no/lostpass_eml.tpl b/view/nb-no/lostpass_eml.tpl
index 762c8c2e9..3b79d2791 100644
--- a/view/nb-no/lostpass_eml.tpl
+++ b/view/nb-no/lostpass_eml.tpl
@@ -1,32 +1,32 @@
-Kjære $[username],
- En forespørsel ble nylig mottatt hos $[sitename] om å tilbakestille din kontos
-passord. For å godkjenne denne forespørselen, vennligst velg bekreftelseslenken
-nedenfor eller lim den inn på adresselinjen i nettleseren din.
+Dear {{$username}},
+ A request was recently received at {{$sitename}} to reset your account
+password. In order to confirm this request, please select the verification link
+below or paste it into your web browser address bar.
-Hvis du IKKE har spurt om denne endringen, vennligst IKKE følg lenken
-som er oppgitt og ignorer og/eller slett denne e-posten.
+If you did NOT request this change, please DO NOT follow the link
+provided and ignore and/or delete this email.
-Passordet ditt vil ikke bli endret med mindre vi kan forsikre oss om at du
-sendte denne forespørselen.
+Your password will not be changed unless we can verify that you
+issued this request.
-Følg denne lenken for å bekrefte din identitet:
+Follow this link to verify your identity:
-$[reset_link]
+{{$reset_link}}
-Du vil da motta en oppfølgings melding med det nye passordet.
+You will then receive a follow-up message containing the new password.
-Du kan endre passordet på siden for dine kontoinnstillinger etter innlogging.
+You may change that password from your account settings page after logging in.
-Innloggingsdetaljene er som følger:
+The login details are as follows:
-Nettstedsadresse:»$[siteurl]
-Brukernavn:»$[email]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
-Beste hilsen,
- $[sitename] administrator
+Sincerely,
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/nb-no/passchanged_eml.tpl b/view/nb-no/passchanged_eml.tpl
index 6f153d38c..0d94be3c2 100644
--- a/view/nb-no/passchanged_eml.tpl
+++ b/view/nb-no/passchanged_eml.tpl
@@ -1,20 +1,20 @@
-Kjære $[username],
- Ditt passord har blitt endret som forespurt. Vennligst ta vare på denne
-meldingen for sikkerhets skyld (eller bytt passordet ditt umiddelbart til
-noe du husker).
+Dear {{$username}},
+ Your password has been changed as requested. Please retain this
+information for your records (or change your password immediately to
+something that you will remember).
-Dine logg inn-detaljer er som følger:
+Your login details are as follows:
-Nettsted:»$[siteurl]
-Brukernavn:»$[email]
-Passord:»$[new_password]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+Password: {{$new_password}}
-Du kan endre dette passordet på din side for kontoinnstillinger etter innlogging.
+You may change that password from your account settings page after logging in.
-Med vennlig hilsen,
- $[sitename] administrator
+Sincerely,
+ {{$sitename}} Administrator
- \ No newline at end of file
+
diff --git a/view/nb-no/register_open_eml.tpl b/view/nb-no/register_open_eml.tpl
index 345ca0b65..4b397201c 100644
--- a/view/nb-no/register_open_eml.tpl
+++ b/view/nb-no/register_open_eml.tpl
@@ -1,34 +1,19 @@
-Kjære $[username],
- Takk for at du registrerte deg hos $[sitename]. Kontoen din er opprettet.
-Innloggingsdetaljene er som følger:
+An account has been created at {{$sitename}} for this email address.
+The login details are as follows:
+Site Location: {{$siteurl}}
+Login: {{$email}}
+Password: (the password which was provided during registration)
-Nettstedsadresse:»$[siteurl]
-Brukernavn:»$[email]
-Passord:»$[password]
+If this account was created without your knowledge and is not desired, you may
+visit this site and reset the password. This will allow you to remove the
+account from the links on the Settings page, and we
+apologise for any inconvenience.
-Du kan endre passordet ditt på siden "Innstillinger" etter at du har logget
-inn.
+Thank you and welcome to {{$sitename}}.
-Vennligst bruk litt tid til å se over de andre kontoinnstillingene på den siden.
+Sincerely,
+ {{$sitename}} Administrator
-Du vil antakelig ønske å legge til litt grunnleggende informasjon til standardprofilen din
-(på siden "Profiler") slik at folk lettere kan finne deg.
-
-Vi anbefaler å oppgi fullt navn, legge til et profilbilde,
-legge til noen "nøkkelord" for profilen (svært nyttig for å få nye venner) - og
-kanskje hvilket land du bor i, hvis du ikke ønsker å være mer spesifikk
-enn det.
-
-Vi respekterer ditt privatliv fullt ut, og ingen av disse elementene er nødvendige.
-Hvis du er ny og ikke kjenner noen her, så kan de hjelpe
-deg å få noen nye og interessante venner.
-
-
-Takk og velkommen til $[sitename].
-
-Beste hilsen,
- $[sitename] administrator
-
- \ No newline at end of file
+
diff --git a/view/nb-no/register_verify_eml.tpl b/view/nb-no/register_verify_eml.tpl
index 4c2176d7d..85d9a12d3 100644
--- a/view/nb-no/register_verify_eml.tpl
+++ b/view/nb-no/register_verify_eml.tpl
@@ -1,25 +1,25 @@
-En ny forespørsel om brukerregistering ble mottatt hos $[sitename] og krever
-din godkjenning.
+A new user registration request was received at {{$sitename}} which requires
+your approval.
-Innloggingsdetaljene er som følger:
+The login details are as follows:
-Fullt navn:»$[username]
-Nettstedsadresse:»$[siteurl]
-Brukernavn:»$[email]
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+IP Address: {{$details}}
+To approve this request please visit the following link:
-For å godkjenne denne forespørselen, vennligst besøk følgende lenke:
+{{$siteurl}}/regmod/allow/{{$hash}}
-$[siteurl]/regmod/allow/$[hash]
+To deny the request and remove the account, please visit:
-For å avslå denne forespørselen og fjerne kontoen, vennligst besøk:
+{{$siteurl}}/regmod/deny/{{$hash}}
-$[siteurl]/regmod/deny/$[hash]
+Thank you.
-Mange takk.
diff --git a/view/nb-no/request_notify_eml.tpl b/view/nb-no/request_notify_eml.tpl
index e6a62c51f..d01b8ff27 100644
--- a/view/nb-no/request_notify_eml.tpl
+++ b/view/nb-no/request_notify_eml.tpl
@@ -1,17 +1,17 @@
-Kjære $[myname],
+Dear {{$myname}},
-Du har akkurat mottatt en kontaktforespørsel hos $[sitename]
+You have just received a connection request at {{$sitename}}
-fra '$[requestor]'.
+from '{{$requestor}}'.
-Du kan besøke profilen på $[url].
+You may visit their profile at {{$url}}.
-Vennligst logg inn på ditt nettsted for å se hele introduksjonen
-og godkjenne eller ignorere/avbryte forespørselen.
+Please login to your site to view the complete introduction
+and approve or ignore/cancel the request.
-$[siteurl]
+{{$siteurl}}
-Beste hilsen,
+Regards,
- $[siteurl] administrator \ No newline at end of file
+ {{$sitename}} administrator
diff --git a/view/nb-no/update_fail_eml.tpl b/view/nb-no/update_fail_eml.tpl
index a4a3cf950..a7df8fc2f 100644
--- a/view/nb-no/update_fail_eml.tpl
+++ b/view/nb-no/update_fail_eml.tpl
@@ -1,11 +1,13 @@
-Hei,
-jeg er $sitename.
-Friendica-utviklerne slapp nylig oppdateringen $update,
-men da jeg prøvde å installere den, gikk noe forferdelig galt.
-Dette trenger å bli fikset raskt og jeg kan ikke gjøre det alene. Vennligst kontakt en
-Friendica-utvikler hvis du ikke kan hjelpe meg på egenhånd. Databasen min er kanskje ugyldig.
+Hey,
+I'm the web server at {{$sitename}};
+
+The Red Matrix developers released update {{$update}} recently,
+but when I tried to install it, something went terribly wrong.
+This needs to be fixed soon and it requires human intervention.
+Please contact a Red developer if you can not figure out how to
+fix it on your own. My database might be invalid.
-Feilmeldingen er '$error'.
+The error message is '{{$error}}'.
-Jeg beklager,
-din Friendica-tjener hos $siteurl \ No newline at end of file
+Apologies for the inconvenience,
+ your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/php/default.php b/view/php/default.php
index 80c8070b2..ae4da50b4 100644
--- a/view/php/default.php
+++ b/view/php/default.php
@@ -10,8 +10,8 @@
<aside><?php if(x($page,'aside')) echo $page['aside']; ?></aside>
<section><?php if(x($page,'content')) echo $page['content']; ?>
<div id="page-footer"></div>
- <div id="pause"></div>
- </section>
+ <div id="pause"></div>
+ </section>
<right_aside><?php if(x($page,'right_aside')) echo $page['right_aside']; ?></right_aside>
<footer><?php if(x($page,'footer')) echo $page['footer']; ?></footer>
</body>
diff --git a/view/php/theme_init.php b/view/php/theme_init.php
index 68d6e4cd1..e4a56acc3 100644
--- a/view/php/theme_init.php
+++ b/view/php/theme_init.php
@@ -7,12 +7,17 @@ require_once('include/plugin.php');
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/bin/jquery.slider.min.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_js('js/jquery.js');
+head_add_js('js/jquery-migrate-1.1.1.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('library/fancybox/jquery.fancybox-1.3.4.pack.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');
head_add_js('library/jquery_ac/friendica.complete.js');
@@ -24,3 +29,5 @@ head_add_js('js/webtoolkit.base64.js');
head_add_js('js/main.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');
diff --git a/view/pt-br/follow_notify_eml.tpl b/view/pt-br/follow_notify_eml.tpl
new file mode 100644
index 000000000..ba07b19da
--- /dev/null
+++ b/view/pt-br/follow_notify_eml.tpl
@@ -0,0 +1,14 @@
+
+Dear {{$myname}},
+
+You have a new follower at {{$sitename}} - '{{$requestor}}'.
+
+You may visit their profile at {{$url}}.
+
+Please login to your site to approve or ignore/cancel the request.
+
+{{$siteurl}}
+
+Regards,
+
+ {{$sitename}} administrator
diff --git a/view/pt-br/friend_complete_eml.tpl b/view/pt-br/friend_complete_eml.tpl
new file mode 100644
index 000000000..1c647b994
--- /dev/null
+++ b/view/pt-br/friend_complete_eml.tpl
@@ -0,0 +1,22 @@
+
+Dear {{$username}},
+
+ Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
+
+You are now mutual friends and may exchange status updates, photos, and email
+without restriction.
+
+Please visit your 'Connnections' page at {{$sitename}} if you wish to make
+any changes to this relationship.
+
+{{$siteurl}}
+
+[For instance, you may create a separate profile with information that is not
+available to the general public - and assign viewing rights to '{{$fn}}'].
+
+Sincerely,
+
+ {{$sitename}} Administrator
+
+
diff --git a/view/pt-br/htconfig.tpl b/view/pt-br/htconfig.tpl
new file mode 100644
index 000000000..493cb5d00
--- /dev/null
+++ b/view/pt-br/htconfig.tpl
@@ -0,0 +1,70 @@
+<?php
+
+// Set the following for your MySQL installation
+// Copy or rename this file to .htconfig.php
+
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
+
+/*
+ * Notice: Many of the following settings will be available in the admin panel
+ * after a successful site install. Once they are set in the admin panel, they
+ * are stored in the DB - and the DB setting will over-ride any corresponding
+ * setting in this file
+ *
+ * The command-line tool util/config is able to query and set the DB items
+ * directly if for some reason the admin panel is not available and a system
+ * setting requires modification.
+ *
+ */
+
+
+// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
+// It can be changed later and only applies to timestamps for anonymous viewers.
+
+$default_timezone = '{{$timezone}}';
+
+// What is your site name?
+
+$a->config['system']['baseurl'] = '{{$siteurl}}';
+$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['location_hash'] = '{{$site_id}}';
+
+// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
+// Be certain to create your own personal account before setting
+// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
+// the registration page. REGISTER_APPROVE requires you set 'admin_email'
+// to the email address of an already registered person who can authorise
+// and/or approve/deny the request.
+
+$a->config['system']['register_policy'] = REGISTER_OPEN;
+$a->config['system']['register_text'] = '';
+$a->config['system']['admin_email'] = '{{$adminmail}}';
+
+// Maximum size of an imported message, 0 is unlimited
+
+$a->config['system']['max_import_size'] = 200000;
+
+// maximum size of uploaded photos
+
+$a->config['system']['maximagesize'] = 800000;
+
+// Location of PHP command line processor
+
+$a->config['system']['php_path'] = '{{$phpath}}';
+
+// Configure how we communicate with directory servers.
+// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
+// DIRECTORY_MODE_SECONDARY = caching directory or mirror
+// DIRECTORY_MODE_PRIMARY = main directory server
+// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
+
+$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
+
+// default system theme
+
+$a->config['system']['theme'] = 'redbasic';
+
diff --git a/view/pt-br/intro_complete_eml.tpl b/view/pt-br/intro_complete_eml.tpl
new file mode 100644
index 000000000..2c2428d68
--- /dev/null
+++ b/view/pt-br/intro_complete_eml.tpl
@@ -0,0 +1,22 @@
+
+Dear {{$username}},
+
+ '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
+
+ '{{$fn}}' has chosen to accept you a "fan", which restricts
+some forms of communication - such as private messaging and some profile
+interactions. If this is a celebrity or community page, these settings were
+applied automatically.
+
+ '{{$fn}}' may choose to extend this into a two-way or more permissive
+relationship in the future.
+
+ You will start receiving public status updates from '{{$fn}}',
+which will appear on your 'Matrix' page at
+
+{{$siteurl}}
+
+Sincerely,
+
+ {{$sitename}} Administrator
diff --git a/view/pt-br/lostpass_eml.tpl b/view/pt-br/lostpass_eml.tpl
new file mode 100644
index 000000000..3b79d2791
--- /dev/null
+++ b/view/pt-br/lostpass_eml.tpl
@@ -0,0 +1,32 @@
+
+Dear {{$username}},
+ A request was recently received at {{$sitename}} to reset your account
+password. In order to confirm this request, please select the verification link
+below or paste it into your web browser address bar.
+
+If you did NOT request this change, please DO NOT follow the link
+provided and ignore and/or delete this email.
+
+Your password will not be changed unless we can verify that you
+issued this request.
+
+Follow this link to verify your identity:
+
+{{$reset_link}}
+
+You will then receive a follow-up message containing the new password.
+
+You may change that password from your account settings page after logging in.
+
+The login details are as follows:
+
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+
+
+
+
+Sincerely,
+ {{$sitename}} Administrator
+
+
diff --git a/view/pt-br/passchanged_eml.tpl b/view/pt-br/passchanged_eml.tpl
new file mode 100644
index 000000000..0d94be3c2
--- /dev/null
+++ b/view/pt-br/passchanged_eml.tpl
@@ -0,0 +1,20 @@
+
+Dear {{$username}},
+ Your password has been changed as requested. Please retain this
+information for your records (or change your password immediately to
+something that you will remember).
+
+
+Your login details are as follows:
+
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+Password: {{$new_password}}
+
+You may change that password from your account settings page after logging in.
+
+
+Sincerely,
+ {{$sitename}} Administrator
+
+
diff --git a/view/pt-br/register_open_eml.tpl b/view/pt-br/register_open_eml.tpl
new file mode 100644
index 000000000..4b397201c
--- /dev/null
+++ b/view/pt-br/register_open_eml.tpl
@@ -0,0 +1,19 @@
+
+An account has been created at {{$sitename}} for this email address.
+The login details are as follows:
+
+Site Location: {{$siteurl}}
+Login: {{$email}}
+Password: (the password which was provided during registration)
+
+If this account was created without your knowledge and is not desired, you may
+visit this site and reset the password. This will allow you to remove the
+account from the links on the Settings page, and we
+apologise for any inconvenience.
+
+Thank you and welcome to {{$sitename}}.
+
+Sincerely,
+ {{$sitename}} Administrator
+
+
diff --git a/view/pt-br/register_verify_eml.tpl b/view/pt-br/register_verify_eml.tpl
new file mode 100644
index 000000000..85d9a12d3
--- /dev/null
+++ b/view/pt-br/register_verify_eml.tpl
@@ -0,0 +1,25 @@
+
+A new user registration request was received at {{$sitename}} which requires
+your approval.
+
+
+The login details are as follows:
+
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+IP Address: {{$details}}
+
+To approve this request please visit the following link:
+
+
+{{$siteurl}}/regmod/allow/{{$hash}}
+
+
+To deny the request and remove the account, please visit:
+
+
+{{$siteurl}}/regmod/deny/{{$hash}}
+
+
+Thank you.
+
diff --git a/view/pt-br/request_notify_eml.tpl b/view/pt-br/request_notify_eml.tpl
new file mode 100644
index 000000000..d01b8ff27
--- /dev/null
+++ b/view/pt-br/request_notify_eml.tpl
@@ -0,0 +1,17 @@
+
+Dear {{$myname}},
+
+You have just received a connection request at {{$sitename}}
+
+from '{{$requestor}}'.
+
+You may visit their profile at {{$url}}.
+
+Please login to your site to view the complete introduction
+and approve or ignore/cancel the request.
+
+{{$siteurl}}
+
+Regards,
+
+ {{$sitename}} administrator
diff --git a/view/pt-br/update_fail_eml.tpl b/view/pt-br/update_fail_eml.tpl
new file mode 100644
index 000000000..a7df8fc2f
--- /dev/null
+++ b/view/pt-br/update_fail_eml.tpl
@@ -0,0 +1,13 @@
+Hey,
+I'm the web server at {{$sitename}};
+
+The Red Matrix developers released update {{$update}} recently,
+but when I tried to install it, something went terribly wrong.
+This needs to be fixed soon and it requires human intervention.
+Please contact a Red developer if you can not figure out how to
+fix it on your own. My database might be invalid.
+
+The error message is '{{$error}}'.
+
+Apologies for the inconvenience,
+ your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/ru/follow_notify_eml.tpl b/view/ru/follow_notify_eml.tpl
new file mode 100644
index 000000000..ba07b19da
--- /dev/null
+++ b/view/ru/follow_notify_eml.tpl
@@ -0,0 +1,14 @@
+
+Dear {{$myname}},
+
+You have a new follower at {{$sitename}} - '{{$requestor}}'.
+
+You may visit their profile at {{$url}}.
+
+Please login to your site to approve or ignore/cancel the request.
+
+{{$siteurl}}
+
+Regards,
+
+ {{$sitename}} administrator
diff --git a/view/ru/friend_complete_eml.tpl b/view/ru/friend_complete_eml.tpl
new file mode 100644
index 000000000..1c647b994
--- /dev/null
+++ b/view/ru/friend_complete_eml.tpl
@@ -0,0 +1,22 @@
+
+Dear {{$username}},
+
+ Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
+
+You are now mutual friends and may exchange status updates, photos, and email
+without restriction.
+
+Please visit your 'Connnections' page at {{$sitename}} if you wish to make
+any changes to this relationship.
+
+{{$siteurl}}
+
+[For instance, you may create a separate profile with information that is not
+available to the general public - and assign viewing rights to '{{$fn}}'].
+
+Sincerely,
+
+ {{$sitename}} Administrator
+
+
diff --git a/view/ru/htconfig.tpl b/view/ru/htconfig.tpl
new file mode 100644
index 000000000..493cb5d00
--- /dev/null
+++ b/view/ru/htconfig.tpl
@@ -0,0 +1,70 @@
+<?php
+
+// Set the following for your MySQL installation
+// Copy or rename this file to .htconfig.php
+
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
+
+/*
+ * Notice: Many of the following settings will be available in the admin panel
+ * after a successful site install. Once they are set in the admin panel, they
+ * are stored in the DB - and the DB setting will over-ride any corresponding
+ * setting in this file
+ *
+ * The command-line tool util/config is able to query and set the DB items
+ * directly if for some reason the admin panel is not available and a system
+ * setting requires modification.
+ *
+ */
+
+
+// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
+// It can be changed later and only applies to timestamps for anonymous viewers.
+
+$default_timezone = '{{$timezone}}';
+
+// What is your site name?
+
+$a->config['system']['baseurl'] = '{{$siteurl}}';
+$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['location_hash'] = '{{$site_id}}';
+
+// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
+// Be certain to create your own personal account before setting
+// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
+// the registration page. REGISTER_APPROVE requires you set 'admin_email'
+// to the email address of an already registered person who can authorise
+// and/or approve/deny the request.
+
+$a->config['system']['register_policy'] = REGISTER_OPEN;
+$a->config['system']['register_text'] = '';
+$a->config['system']['admin_email'] = '{{$adminmail}}';
+
+// Maximum size of an imported message, 0 is unlimited
+
+$a->config['system']['max_import_size'] = 200000;
+
+// maximum size of uploaded photos
+
+$a->config['system']['maximagesize'] = 800000;
+
+// Location of PHP command line processor
+
+$a->config['system']['php_path'] = '{{$phpath}}';
+
+// Configure how we communicate with directory servers.
+// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
+// DIRECTORY_MODE_SECONDARY = caching directory or mirror
+// DIRECTORY_MODE_PRIMARY = main directory server
+// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
+
+$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
+
+// default system theme
+
+$a->config['system']['theme'] = 'redbasic';
+
diff --git a/view/ru/intro_complete_eml.tpl b/view/ru/intro_complete_eml.tpl
new file mode 100644
index 000000000..2c2428d68
--- /dev/null
+++ b/view/ru/intro_complete_eml.tpl
@@ -0,0 +1,22 @@
+
+Dear {{$username}},
+
+ '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
+
+ '{{$fn}}' has chosen to accept you a "fan", which restricts
+some forms of communication - such as private messaging and some profile
+interactions. If this is a celebrity or community page, these settings were
+applied automatically.
+
+ '{{$fn}}' may choose to extend this into a two-way or more permissive
+relationship in the future.
+
+ You will start receiving public status updates from '{{$fn}}',
+which will appear on your 'Matrix' page at
+
+{{$siteurl}}
+
+Sincerely,
+
+ {{$sitename}} Administrator
diff --git a/view/ru/lostpass_eml.tpl b/view/ru/lostpass_eml.tpl
new file mode 100644
index 000000000..3b79d2791
--- /dev/null
+++ b/view/ru/lostpass_eml.tpl
@@ -0,0 +1,32 @@
+
+Dear {{$username}},
+ A request was recently received at {{$sitename}} to reset your account
+password. In order to confirm this request, please select the verification link
+below or paste it into your web browser address bar.
+
+If you did NOT request this change, please DO NOT follow the link
+provided and ignore and/or delete this email.
+
+Your password will not be changed unless we can verify that you
+issued this request.
+
+Follow this link to verify your identity:
+
+{{$reset_link}}
+
+You will then receive a follow-up message containing the new password.
+
+You may change that password from your account settings page after logging in.
+
+The login details are as follows:
+
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+
+
+
+
+Sincerely,
+ {{$sitename}} Administrator
+
+
diff --git a/view/ru/passchanged_eml.tpl b/view/ru/passchanged_eml.tpl
new file mode 100644
index 000000000..0d94be3c2
--- /dev/null
+++ b/view/ru/passchanged_eml.tpl
@@ -0,0 +1,20 @@
+
+Dear {{$username}},
+ Your password has been changed as requested. Please retain this
+information for your records (or change your password immediately to
+something that you will remember).
+
+
+Your login details are as follows:
+
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+Password: {{$new_password}}
+
+You may change that password from your account settings page after logging in.
+
+
+Sincerely,
+ {{$sitename}} Administrator
+
+
diff --git a/view/ru/register_open_eml.tpl b/view/ru/register_open_eml.tpl
new file mode 100644
index 000000000..4b397201c
--- /dev/null
+++ b/view/ru/register_open_eml.tpl
@@ -0,0 +1,19 @@
+
+An account has been created at {{$sitename}} for this email address.
+The login details are as follows:
+
+Site Location: {{$siteurl}}
+Login: {{$email}}
+Password: (the password which was provided during registration)
+
+If this account was created without your knowledge and is not desired, you may
+visit this site and reset the password. This will allow you to remove the
+account from the links on the Settings page, and we
+apologise for any inconvenience.
+
+Thank you and welcome to {{$sitename}}.
+
+Sincerely,
+ {{$sitename}} Administrator
+
+
diff --git a/view/ru/register_verify_eml.tpl b/view/ru/register_verify_eml.tpl
new file mode 100644
index 000000000..85d9a12d3
--- /dev/null
+++ b/view/ru/register_verify_eml.tpl
@@ -0,0 +1,25 @@
+
+A new user registration request was received at {{$sitename}} which requires
+your approval.
+
+
+The login details are as follows:
+
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+IP Address: {{$details}}
+
+To approve this request please visit the following link:
+
+
+{{$siteurl}}/regmod/allow/{{$hash}}
+
+
+To deny the request and remove the account, please visit:
+
+
+{{$siteurl}}/regmod/deny/{{$hash}}
+
+
+Thank you.
+
diff --git a/view/ru/request_notify_eml.tpl b/view/ru/request_notify_eml.tpl
new file mode 100644
index 000000000..d01b8ff27
--- /dev/null
+++ b/view/ru/request_notify_eml.tpl
@@ -0,0 +1,17 @@
+
+Dear {{$myname}},
+
+You have just received a connection request at {{$sitename}}
+
+from '{{$requestor}}'.
+
+You may visit their profile at {{$url}}.
+
+Please login to your site to view the complete introduction
+and approve or ignore/cancel the request.
+
+{{$siteurl}}
+
+Regards,
+
+ {{$sitename}} administrator
diff --git a/view/ru/strings.php b/view/ru/strings.php
index 6559f8fd4..6ad205af8 100644
--- a/view/ru/strings.php
+++ b/view/ru/strings.php
@@ -4,842 +4,1064 @@ function string_plural_select_ru($n){
return ($n%10==1 && $n%100!=11 ? 0 : $n%10>=2 && $n%10<=4 && ($n%100<10 || $n%100>=20) ? 1 : 2);;
}
;
-$a->strings["Post successful."] = "УÑпешно добавлено.";
-$a->strings["[Embedded content - reload page to view]"] = "[Ð’Ñтроенное Ñодержание - перезагрузите Ñтраницу Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра]";
-$a->strings["Contact settings applied."] = "УÑтановки контакта принÑÑ‚Ñ‹.";
-$a->strings["Contact update failed."] = "Обновление контакта неудачное.";
-$a->strings["Permission denied."] = "Ðет разрешениÑ.";
-$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."] = "<strong>Ð’ÐИМÐÐИЕ: Это крайне важно!</strong> ЕÑли вы введете неверную информацию, ваша ÑвÑзь Ñ Ñтим контактом переÑтанет работать.";
-$a->strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "ПожалуйÑта, нажмите клавишу вашего браузера 'Back' или 'Ðазад' <strong>ÑейчаÑ</strong>, еÑли вы не уверены, что делаете на Ñтой Ñтранице.";
-$a->strings["Return to contact editor"] = "";
-$a->strings["Name"] = "ИмÑ";
-$a->strings["Account Nickname"] = "Ðик аккаунта";
-$a->strings["@Tagname - overrides Name/Nickname"] = "";
-$a->strings["Account URL"] = "URL аккаунта";
-$a->strings["Friend Request URL"] = "URL запроÑа в друзьÑ";
-$a->strings["Friend Confirm URL"] = "URL Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð°";
-$a->strings["Notification Endpoint URL"] = "URL Ñндпоинта уведомлениÑ";
-$a->strings["Poll/Feed URL"] = "URL опроÑа/ленты";
-$a->strings["New photo from this URL"] = "Ðовое фото из Ñтой URL";
-$a->strings["Submit"] = "Подтвердить";
-$a->strings["Help:"] = "Помощь:";
+$a->strings["Visible to everybody"] = "Видно вÑем";
+$a->strings["show"] = "показывать";
+$a->strings["don't show"] = "не показывать";
+$a->strings[" and "] = "и";
+$a->strings["public profile"] = "Публичный профиль";
+$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s изменил %2\$s на &ldquo;%3\$s&rdquo;";
+$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"] = "";
+$a->strings["%1\$s posted to your profile wall at %2\$s"] = "";
+$a->strings["%1\$s posted to [zrl=%2\$s]your wall[/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["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["Unknown | Not categorised"] = "ÐеизвеÑтные | Без категории";
+$a->strings["Block immediately"] = "Ðемедленно заблокировать";
+$a->strings["Shady, spammer, self-marketer"] = "";
+$a->strings["Known to me, but no opinion"] = "";
+$a->strings["OK, probably harmless"] = "OK, наверное безвредно";
+$a->strings["Reputable, has my trust"] = "Ðвторитетно, имеет мое доверие";
+$a->strings["Frequently"] = "ЧаÑто";
+$a->strings["Hourly"] = "ЕжечаÑно";
+$a->strings["Twice daily"] = "Два раза в день";
+$a->strings["Daily"] = "Ежедневно";
+$a->strings["Weekly"] = "Еженедельно";
+$a->strings["Monthly"] = "ЕжемеÑÑчно";
+$a->strings["Friendica"] = "Friendica";
+$a->strings["OStatus"] = "OStatus";
+$a->strings["RSS/Atom"] = "RSS/Atom";
+$a->strings["Email"] = "E-mail";
+$a->strings["Diaspora"] = "Diaspora";
+$a->strings["Facebook"] = "Facebook";
+$a->strings["Zot!"] = "Zot!";
+$a->strings["LinkedIn"] = "LinkedIn";
+$a->strings["XMPP/IM"] = "XMPP/IM";
+$a->strings["MySpace"] = "MySpace";
+$a->strings["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 => "",
+ 1 => "",
+ 2 => "",
+);
+$a->strings["Find Channels"] = "ПоиÑк каналов";
+$a->strings["Enter name or interest"] = "Впишите Ð¸Ð¼Ñ Ð¸Ð»Ð¸ интереÑ";
+$a->strings["Connect/Follow"] = "Добавить/Ñледовать";
+$a->strings["Examples: Robert Morgenstein, Fishing"] = "Примеры: Владимир Ильич, Революционер";
+$a->strings["Find"] = "ПоиÑк";
+$a->strings["Channel Suggestions"] = "Рекомендации каналов";
+$a->strings["Similar Interests"] = "Похожие интереÑÑ‹";
+$a->strings["Random Profile"] = "Случайные";
+$a->strings["Invite Friends"] = "ПриглаÑить друзей";
+$a->strings["Saved Folders"] = "Запомненные папки";
+$a->strings["Everything"] = "Ð’Ñе";
+$a->strings["Categories"] = "Категории";
+$a->strings["%d connection in common"] = array(
+ 0 => "%d ÑовмеÑтный канал",
+ 1 => "%d ÑовмеÑтных канала",
+ 2 => "%d ÑовмеÑтных каналов",
+);
+$a->strings["show more"] = "показать вÑе";
+$a->strings["Miscellaneous"] = "Прочее";
+$a->strings["year"] = "год";
+$a->strings["month"] = "меÑÑц";
+$a->strings["day"] = "день";
+$a->strings["never"] = "никогда";
+$a->strings["less than a second ago"] = "менее чем одну Ñекунду назад";
+$a->strings["years"] = "лет";
+$a->strings["months"] = "меÑ.";
+$a->strings["week"] = "неделÑ";
+$a->strings["weeks"] = "недель";
+$a->strings["days"] = "дней";
+$a->strings["hour"] = "чаÑ";
+$a->strings["hours"] = "чаÑов";
+$a->strings["minute"] = "минута";
+$a->strings["minutes"] = "минут";
+$a->strings["second"] = "Ñекунда";
+$a->strings["seconds"] = "Ñекунд";
+$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s назад";
+$a->strings["Cannot locate DNS info for database server '%s'"] = "";
+$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["General Features"] = "Главные функции";
+$a->strings["Content Expiration"] = "";
+$a->strings["Remove old posts/comments after a period of 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["Extended Identity Sharing"] = "";
+$a->strings[" "] = " ";
+$a->strings["Expert Mode"] = "ЭкÑпертный режим";
+$a->strings["Enable Expert Mode to provide advanced configuration options"] = "";
+$a->strings["Post Composition Features"] = "";
+$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["Network and Stream Filtering"] = "Ð¤Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ñети и потока";
+$a->strings["Search by Date"] = "ПоиÑк по дате";
+$a->strings["Ability to select posts by date ranges"] = "";
+$a->strings["Collections Filter"] = "Фильтр коллекций";
+$a->strings["Enable widget to display Network posts only from selected collections"] = "";
+$a->strings["Saved Searches"] = "Запомненные поиÑки";
+$a->strings["Save search terms for re-use"] = "";
+$a->strings["Network Personal Tab"] = "";
+$a->strings["Enable tab to display only Network posts that you've interacted on"] = "";
+$a->strings["Network New Tab"] = "";
+$a->strings["Enable tab to display all new Network activity"] = "";
+$a->strings["Affinity Tool"] = "";
+$a->strings["Filter stream activity by depth of relationships"] = "";
+$a->strings["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["Ability to file posts under folders"] = "";
+$a->strings["Dislike Posts"] = "Сообщение не нравитÑÑ";
+$a->strings["Ability to dislike posts/comments"] = "";
+$a->strings["Star Posts"] = "Помечать ÑообщениÑ";
+$a->strings["Ability to mark special posts with a star indicator"] = "";
+$a->strings["Tag Cloud"] = "Облако тегов";
+$a->strings["Provide a personal tag cloud on your channel page"] = "";
+$a->strings["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 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["Welcome "] = "Добро пожаловать";
+$a->strings["Please upload a profile photo."] = "Загрузите пожалуйÑта фотографию профилÑ.";
+$a->strings["Welcome back "] = "Добро пожаловать";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "";
+$a->strings["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["Not Found"] = "Ðе найдено";
-$a->strings["Page not found."] = "Страница не найдена.";
-$a->strings["File exceeds size limit of %d"] = "Файл превышает предельный размер %d";
-$a->strings["File upload failed."] = "Загрузка файла не удалаÑÑŒ.";
-$a->strings["Friend suggestion sent."] = "Приглашение в Ð´Ñ€ÑƒÐ·ÑŒÑ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¾.";
-$a->strings["Suggest Friends"] = "Предложить друзей";
-$a->strings["Suggest a friend for %s"] = "Предложить друга Ð´Ð»Ñ %s.";
-$a->strings["Event title and start time are required."] = "";
-$a->strings["l, F j"] = "l, j F";
-$a->strings["Edit event"] = "Редактировать мероприÑтие";
-$a->strings["link to source"] = "ÑÑылка на иÑточник";
+$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["Create New Event"] = "Создать новое мероприÑтие";
-$a->strings["Previous"] = "Ðазад";
-$a->strings["Next"] = "Далее";
-$a->strings["hour:minute"] = "чаÑ:минута";
-$a->strings["Event details"] = "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ мероприÑтии";
-$a->strings["Format is %s %s. Starting date and Title are required."] = "";
-$a->strings["Event Starts:"] = "Ðачало мероприÑтиÑ:";
-$a->strings["Required"] = "";
-$a->strings["Finish date/time is not known or not relevant"] = "Дата/Ð²Ñ€ÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ð½Ðµ извеÑтны, или не указаны";
-$a->strings["Event Finishes:"] = "Окончание мероприÑтиÑ:";
-$a->strings["Adjust for viewer timezone"] = "ÐаÑтройка чаÑового поÑÑа";
-$a->strings["Description:"] = "ОпиÑание:";
-$a->strings["Location:"] = "Откуда:";
-$a->strings["Title:"] = "";
-$a->strings["Share this event"] = "ПоделитеÑÑŒ Ñтим мероприÑтием";
-$a->strings["Cancel"] = "Отмена";
-$a->strings["Tag removed"] = "Ключевое Ñлово удалено";
-$a->strings["Remove Item Tag"] = "Удалить ключевое Ñлово";
-$a->strings["Select a tag to remove: "] = "Выберите ключевое Ñлово Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ: ";
-$a->strings["Remove"] = "Удалить";
-$a->strings["%s welcomes %s"] = "%s приветÑтвует %s";
-$a->strings["Authorize application connection"] = "Разрешить ÑвÑзь Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼";
-$a->strings["Return to your app and insert this Securty Code:"] = "ВернитеÑÑŒ в ваше приложение и задайте Ñтот код:";
-$a->strings["Please login to continue."] = "ПожалуйÑта, войдите Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ.";
-$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "";
-$a->strings["Yes"] = "Да";
-$a->strings["No"] = "Ðет";
+$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["created a new post"] = "Ñоздал новое Ñообщение";
+$a->strings["commented on %s's post"] = "";
+$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["Contact Photos"] = "Фотографии контакта";
-$a->strings["Upload New Photos"] = "Загрузить новые фото";
-$a->strings["everybody"] = "каждый";
-$a->strings["Contact information unavailable"] = "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ контакте недоÑтупна";
-$a->strings["Profile Photos"] = "Фотографии профилÑ";
-$a->strings["Album not found."] = "Ðльбом не найден.";
-$a->strings["Delete Album"] = "Удалить альбом";
-$a->strings["Delete Photo"] = "Удалить фото";
-$a->strings["was tagged in a"] = "отмечен/а/ в";
+$a->strings["Upload New Photos"] = "Загрузить новые фотографии";
+$a->strings["Male"] = "МужÑкой";
+$a->strings["Female"] = "ЖенÑкий";
+$a->strings["Currently Male"] = "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¼ÑƒÐ¶Ñкой";
+$a->strings["Currently Female"] = "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¶ÐµÐ½Ñкий";
+$a->strings["Mostly Male"] = "Ð’ оÑновном мужÑкой";
+$a->strings["Mostly Female"] = "Ð’ оÑновном женÑкий";
+$a->strings["Transgender"] = "ТранÑÑекÑуал";
+$a->strings["Intersex"] = "Intersex";
+$a->strings["Transsexual"] = "ТранÑÑекÑуал";
+$a->strings["Hermaphrodite"] = "Гермафродит";
+$a->strings["Neuter"] = "Среднего рода";
+$a->strings["Non-specific"] = "ÐеÑпецифичеÑкий";
+$a->strings["Other"] = "Другой";
+$a->strings["Undecided"] = "Ðерешительный";
+$a->strings["Males"] = "Самец";
+$a->strings["Females"] = "Самка";
+$a->strings["Gay"] = "Гей";
+$a->strings["Lesbian"] = "ЛеÑбиÑнка";
+$a->strings["No Preference"] = "Без предпочтений";
+$a->strings["Bisexual"] = "Двуполый";
+$a->strings["Autosexual"] = "Autosexual";
+$a->strings["Abstinent"] = "Воздержанный";
+$a->strings["Virgin"] = "ДевÑтвенница";
+$a->strings["Deviant"] = "ОтклонÑющийÑÑ Ð¾Ñ‚ нормы";
+$a->strings["Fetish"] = "Фетиш";
+$a->strings["Oodles"] = "МножеÑтвенный";
+$a->strings["Nonsexual"] = "ÐеÑекÑуальный";
+$a->strings["Single"] = "Одинок";
+$a->strings["Lonely"] = "Уединенный";
+$a->strings["Available"] = "ДоÑтупный";
+$a->strings["Unavailable"] = "ÐедоÑтупный";
+$a->strings["Has crush"] = "";
+$a->strings["Infatuated"] = "Влюбленный";
+$a->strings["Dating"] = "";
+$a->strings["Unfaithful"] = "Ðеверный";
+$a->strings["Sex Addict"] = "Ð¡ÐµÐºÑ Ð½Ð°Ñ€ÐºÐ¾Ð¼Ð°Ð½";
+$a->strings["Friends"] = "ДрузьÑ";
+$a->strings["Friends/Benefits"] = "";
+$a->strings["Casual"] = "Случайный";
+$a->strings["Engaged"] = "Помолвленный";
+$a->strings["Married"] = "Женат";
+$a->strings["Imaginarily married"] = "МыÑленно женат";
+$a->strings["Partners"] = "Партнеры";
+$a->strings["Cohabiting"] = "СожительÑтвующие";
+$a->strings["Common law"] = "";
+$a->strings["Happy"] = "СчаÑтливый";
+$a->strings["Not looking"] = "";
+$a->strings["Swinger"] = "";
+$a->strings["Betrayed"] = "";
+$a->strings["Separated"] = "";
+$a->strings["Unstable"] = "КолеблющийÑÑ";
+$a->strings["Divorced"] = "Разведенный";
+$a->strings["Imaginarily divorced"] = "МыÑленно разведенный";
+$a->strings["Widowed"] = "Овдовевший";
+$a->strings["Uncertain"] = "Ðеопределенный";
+$a->strings["It's complicated"] = "Это Ñложно";
+$a->strings["Don't care"] = "Ðе заботьтеÑÑŒ";
+$a->strings["Ask me"] = "СпроÑи менÑ";
+$a->strings["Not a valid email address"] = "Ðе дейÑтвительный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты";
+$a->strings["Your email domain is not among those allowed on this site"] = "Домен Ñлектронной почты не входит в чиÑло тех, которые разрешены на Ñтом Ñайте";
+$a->strings["Your email address is already registered at this site."] = "Ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты уже зарегиÑтрирован на Ñтом Ñайте.";
+$a->strings["An invitation is required."] = "ТребуетÑÑ Ð¿Ñ€Ð¸Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ.";
+$a->strings["Invitation could not be verified."] = "Ðе удалоÑÑŒ проверить приглашение.";
+$a->strings["Please enter the required information."] = "ПожалуйÑта, введите необходимую информацию.";
+$a->strings["Failed to store account information."] = "Ðе удалоÑÑŒ Ñохранить информацию аккаунта.";
+$a->strings["Registration request at %s"] = "ТребуетÑÑ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ð° %s";
+$a->strings["Administrator"] = "ÐдминиÑтратор";
+$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["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["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["Invalid data packet"] = "";
+$a->strings["Unable to verify channel signature"] = "Ðевозможно проверить Ñигнатуру канала";
+$a->strings["Unable to verify site signature for %s"] = "";
+$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["default"] = "по умолчанию";
+$a->strings["Select an alternate language"] = "Выбор альтернативного Ñзыка";
$a->strings["photo"] = "фото";
-$a->strings["by"] = "Ñ";
-$a->strings["Image exceeds size limit of "] = "Размер фото превышает лимит ";
-$a->strings["Image file is empty."] = "Файл Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¿ÑƒÑÑ‚.";
-$a->strings["Unable to process image."] = "Ðевозможно обработать фото.";
-$a->strings["Image upload failed."] = "Загрузка фото неудачнаÑ.";
-$a->strings["Public access denied."] = "Свободный доÑтуп закрыт.";
-$a->strings["No photos selected"] = "Ðе выбрано фото.";
-$a->strings["Access to this item is restricted."] = "ДоÑтуп к Ñтому пункту ограничен.";
-$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "";
-$a->strings["You have used %1$.2f Mbytes of photo storage."] = "";
-$a->strings["Upload Photos"] = "Загрузить фото";
-$a->strings["New album name: "] = "Ðазвание нового альбома: ";
-$a->strings["or existing album name: "] = "или название ÑущеÑтвующего альбома: ";
-$a->strings["Do not show a status post for this upload"] = "Ðе показывать ÑтатуÑ-Ñообщение Ð´Ð»Ñ Ñтой закачки";
-$a->strings["Permissions"] = "РазрешениÑ";
-$a->strings["Edit Album"] = "Редактировать альбом";
-$a->strings["Show Newest First"] = "";
-$a->strings["Show Oldest First"] = "";
-$a->strings["View Photo"] = "ПроÑмотр фото";
-$a->strings["Permission denied. Access to this item may be restricted."] = "Ðет разрешениÑ. ДоÑтуп к Ñтому Ñлементу ограничен.";
-$a->strings["Photo not available"] = "Фото недоÑтупно";
-$a->strings["View photo"] = "ПроÑмотр фото";
-$a->strings["Edit photo"] = "Редактировать фото";
-$a->strings["Use as profile photo"] = "ИÑпользовать как фото профилÑ";
+$a->strings["event"] = "мероприÑтие";
+$a->strings["status"] = "ÑтатуÑ";
+$a->strings["comment"] = "комментарий";
+$a->strings["activity"] = "активноÑÑ‚ÑŒ";
+$a->strings["Logged out."] = "Вышел из ÑиÑтемы.";
+$a->strings["Failed authentication"] = "Ошибка аутентификации";
+$a->strings["Login failed."] = "Ðе удалоÑÑŒ войти.";
+$a->strings["Channel is blocked on this site."] = "Канал блокируетÑÑ Ð½Ð° Ñтом Ñайте.";
+$a->strings["Channel location missing."] = "МеÑтоположение канала отÑутÑтвует.";
+$a->strings["Channel discovery failed. Website may be down or misconfigured."] = "";
+$a->strings["Response from remote channel was not understood."] = "";
+$a->strings["Response from remote channel was incomplete."] = "";
+$a->strings["local account not found."] = "локальный аккаунт не найден.";
+$a->strings["Cannot connect to yourself."] = "ÐÐµÐ»ÑŒÐ·Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ Ðº Ñамому Ñебе.";
+$a->strings["Can view my \"public\" stream and posts"] = "Может проÑматривать мои \"публичные\" поток и ÑообщениÑ";
+$a->strings["Can view my \"public\" channel profile"] = "Может проÑматривать мой \"публичный\" профиль канала";
+$a->strings["Can view my \"public\" photo albums"] = "Может проÑматривать мои \"публичные\" фотоальбомы";
+$a->strings["Can view my \"public\" address book"] = "Может проÑматривать мою \"публичную\" адреÑную книгу";
+$a->strings["Can view my \"public\" file storage"] = "Может проÑматривать мои \"публичные\" файлы";
+$a->strings["Can view my \"public\" pages"] = "Может проÑматривать мои \"публичные\" Ñтраницы";
+$a->strings["Can send me their channel stream and posts"] = "Может приÑлать мне Ñвои потоки и ÑообщениÑ";
+$a->strings["Can post on my channel page (\"wall\")"] = "Может публиковать на моей Ñтранице канала (\"Ñтена\")";
+$a->strings["Can comment on my posts"] = "Может комментировать мои ÑообщениÑ";
+$a->strings["Can send me private mail messages"] = "Может отправлÑÑ‚ÑŒ мне личные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñл. почте";
+$a->strings["Can post photos to my photo albums"] = "Может публиковать фотографии в мои фотоальбомы";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "";
+$a->strings["Advanced - useful for creating group forum channels"] = "";
+$a->strings["Can chat with me (when available)"] = "";
+$a->strings["Requires compatible chat plugin"] = "";
+$a->strings["Can write to my \"public\" file storage"] = "";
+$a->strings["Can edit my \"public\" pages"] = "Может редактировать мои \"публичные\" Ñтраницы";
+$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["Item was not found."] = "Элемент не найден.";
+$a->strings["No source file."] = "Ðет иÑходного файла.";
+$a->strings["Cannot locate file to replace"] = "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файл, чтобы заменить";
+$a->strings["Cannot locate file to revise/update"] = "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файл Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑмотра / обновлениÑ";
+$a->strings["File exceeds size limit of %d"] = "Файл превышает предельный размер %d";
+$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["Private Message"] = "Личное Ñообщение";
-$a->strings["View Full Size"] = "ПроÑмотреть полный размер";
-$a->strings["Tags: "] = "Ключевые Ñлова: ";
-$a->strings["[Remove any tag]"] = "[Удалить любое ключевое Ñлово]";
-$a->strings["Rotate CW (right)"] = "";
-$a->strings["Rotate CCW (left)"] = "";
-$a->strings["New album name"] = "Ðазвание нового альбома";
-$a->strings["Caption"] = "ПодпиÑÑŒ";
-$a->strings["Add a Tag"] = "Добавить ключевое Ñлово (таг)";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Пример: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping";
-$a->strings["I like this (toggle)"] = "ÐравитÑÑ";
-$a->strings["I don't like this (toggle)"] = "Ðе нравитÑÑ";
-$a->strings["Share"] = "ПоделитьÑÑ";
-$a->strings["Please wait"] = "ПожалуйÑта, подождите";
-$a->strings["This is you"] = "Это вы";
-$a->strings["Comment"] = "Комментарий";
-$a->strings["Preview"] = "предварительный проÑмотр";
-$a->strings["Delete"] = "Удалить";
-$a->strings["View Album"] = "ПроÑмотреть альбом";
-$a->strings["Recent Photos"] = "ПоÑледние фото";
-$a->strings["Not available."] = "ÐедоÑтупно.";
-$a->strings["Community"] = "СообщеÑтво";
-$a->strings["No results."] = "Ðет результатов.";
-$a->strings["This is Friendica, version"] = "Это Friendica, верÑиÑ";
-$a->strings["running at web location"] = "работает на веб-узле";
-$a->strings["Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn more about the Friendica project."] = "";
-$a->strings["Bug reports and issues: please visit"] = "Отчет об ошибках и проблемах: пожалуйÑта, поÑетите";
-$a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - dot com"] = "";
-$a->strings["Installed plugins/addons/apps:"] = "";
-$a->strings["No installed plugins/addons/apps"] = "Ðет уÑтановленных плагинов / добавок / приложений";
-$a->strings["Item not found"] = "Элемент не найден";
-$a->strings["Edit post"] = "Редактировать Ñообщение";
-$a->strings["Post to Email"] = "Отправить на Email";
$a->strings["Edit"] = "Редактировать";
-$a->strings["Upload photo"] = "Загрузить фото";
-$a->strings["Attach file"] = "Приложить файл";
+$a->strings["Delete"] = "Удалить";
+$a->strings["Select"] = "Выбрать";
+$a->strings["save to folder"] = "Ñохранить в папку";
+$a->strings["add star"] = "добавить маркировку";
+$a->strings["remove star"] = "удалить маркировку";
+$a->strings["toggle star status"] = "переключение ÑтатуÑа маркировки";
+$a->strings["starred"] = "помеченные";
+$a->strings["add tag"] = "добавить тег";
+$a->strings["I like this (toggle)"] = "мне Ñто нравитÑÑ (переключение)";
+$a->strings["I don't like this (toggle)"] = "мне Ñто не нравитÑÑ (переключение)";
+$a->strings["Share this"] = "ПоделитьÑÑ Ñтим";
+$a->strings["share"] = "поделитьÑÑ";
+$a->strings["View %s's profile - %s"] = "";
+$a->strings["to"] = "к";
+$a->strings["Wall-to-Wall"] = "Стена-к-Стене";
+$a->strings["via Wall-To-Wall:"] = "через Стена-к-Стене:";
+$a->strings[" from %s"] = " от %s";
+$a->strings["Please wait"] = "Подождите пожалуйÑта";
+$a->strings["%d comment"] = array(
+ 0 => "%d комментарий",
+ 1 => "%d комментариÑ",
+ 2 => "%d комментариев",
+);
+$a->strings["This is you"] = "Это вы";
+$a->strings["Submit"] = "Отправить";
+$a->strings["Bold"] = "Жирный";
+$a->strings["Italic"] = "КурÑив";
+$a->strings["Underline"] = "Подчеркнутый";
+$a->strings["Quote"] = "Цитата";
+$a->strings["Code"] = "Код";
+$a->strings["Image"] = "Изображение";
+$a->strings["Link"] = "СÑылка";
+$a->strings["Video"] = "Видео";
+$a->strings["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["Insert YouTube video"] = "Ð’Ñтавить видео YouTube";
-$a->strings["Insert Vorbis [.ogg] video"] = "Ð’Ñтавить Vorbis [.ogg] видео";
-$a->strings["Insert Vorbis [.ogg] audio"] = "Ð’Ñтавить Vorbis [.ogg] аудио";
-$a->strings["Set your location"] = "Задать ваше меÑтоположение";
-$a->strings["Clear browser location"] = "ОчиÑтить меÑтонахождение браузера";
+$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["CC: email addresses"] = "Копии на email адреÑа";
+$a->strings["permissions"] = "разрешениÑ";
$a->strings["Public post"] = "Публичное Ñообщение";
-$a->strings["Set title"] = "УÑтановить заголовок";
-$a->strings["Categories (comma-separated list)"] = "Категории (ÑпиÑок через запÑтую)";
$a->strings["Example: bob@example.com, mary@example.com"] = "Пример: bob@example.com, mary@example.com";
-$a->strings["This introduction has already been accepted."] = "Этот Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» уже принÑÑ‚.";
-$a->strings["Profile location is not valid or does not contain profile information."] = "МеÑтоположение Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ ÑвлÑетÑÑ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑтимым или не Ñодержит информацию о профиле.";
-$a->strings["Warning: profile location has no identifiable owner name."] = "Внимание: меÑтоположение Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð½Ðµ имеет идентифицируемого имени владельца.";
-$a->strings["Warning: profile location has no profile photo."] = "Внимание: меÑтоположение Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð½Ðµ имеет еще фотографии профилÑ.";
-$a->strings["%d required parameter was not found at the given location"] = array(
- 0 => "%d требуемый параметр не был найден в заданном меÑте",
- 1 => "%d требуемых параметров не были найдены в заданном меÑте",
- 2 => "%d требуемых параметров не были найдены в заданном меÑте",
+$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["Image/photo"] = "Изображение / фото";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "";
+$a->strings["post"] = "Ñообщение";
+$a->strings["$1 wrote:"] = "$1 пиÑал:";
+$a->strings["Encrypted content"] = "Зашифрованное Ñодержание";
+$a->strings["No channel."] = "Ðе канал.";
+$a->strings["Common connections"] = "Общие каналы";
+$a->strings["No connections in common."] = "Общих каналов нет.";
+$a->strings["Event title and start time are required."] = "Ðазвание ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ Ð¸ Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° требуетÑÑ.";
+$a->strings["l, F j"] = "l, F j";
+$a->strings["Edit event"] = "Редактировать мероприÑтие";
+$a->strings["Create New Event"] = "Создать новое мероприÑтие";
+$a->strings["Previous"] = "ПредыдущаÑ";
+$a->strings["Next"] = "СледующаÑ";
+$a->strings["hour:minute"] = "чаÑÑ‹:минуты";
+$a->strings["Event details"] = "Детали мероприÑтиÑ";
+$a->strings["Format is %s %s. Starting date and Title are required."] = "Формат: %s %s. Дата начала и название необходимы.";
+$a->strings["Event Starts:"] = "Ðачало мероприÑтий:";
+$a->strings["Required"] = "Ðеобходимо";
+$a->strings["Finish date/time is not known or not relevant"] = "Дата Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ / Ð²Ñ€ÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ð½Ðµ извеÑтны или не релевантны";
+$a->strings["Event Finishes:"] = "\t\nКонец мероприÑтий:";
+$a->strings["Adjust for viewer timezone"] = "Отрегулируйте Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра чаÑовых поÑÑов";
+$a->strings["Description:"] = "ОпиÑание:";
+$a->strings["Title:"] = "Заголовок:";
+$a->strings["Share this event"] = "ПоделитьÑÑ Ñтим мероприÑтием";
+$a->strings["Object store: failed"] = "";
+$a->strings["thing/stuff added"] = "";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "";
+$a->strings["not yet implemented."] = "еще не реализовано.";
+$a->strings["Add Stuff to your Profile"] = "";
+$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["Total invitation limit exceeded."] = "";
+$a->strings["%s : Not a valid email address."] = "%s : Ðе дейÑтвительный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты.";
+$a->strings["Please join us on Red"] = "ПожалуйÑта, приÑоединÑйтеÑÑŒ к нам в Red";
+$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "";
+$a->strings["%s : Message delivery failed."] = "%s : ДоÑтавка ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ðµ удалаÑÑŒ.";
+$a->strings["%d message sent."] = array(
+ 0 => "%d Ñообщение отправленно.",
+ 1 => "%d ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ð¾.",
+ 2 => "%d Ñообщений отправленно.",
);
-$a->strings["Introduction complete."] = "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ñоздан.";
-$a->strings["Unrecoverable protocol error."] = "ÐеиÑÐ¿Ñ€Ð°Ð²Ð¸Ð¼Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° протокола.";
-$a->strings["Profile unavailable."] = "Профиль недоÑтупен.";
-$a->strings["%s has received too many connection requests today."] = "К %s пришло ÑÐµÐ³Ð¾Ð´Ð½Ñ Ñлишком много запроÑов на подключение.";
-$a->strings["Spam protection measures have been invoked."] = "Были применены меры защиты от Ñпама.";
-$a->strings["Friends are advised to please try again in 24 hours."] = "Ð”Ñ€ÑƒÐ·ÑŒÑ Ñоветуют попробовать еще раз в ближайшие 24 чаÑа.";
-$a->strings["Invalid locator"] = "ÐедопуÑтимый локатор";
-$a->strings["Invalid email address."] = "";
-$a->strings["This account has not been configured for email. Request failed."] = "";
-$a->strings["Unable to resolve your name at the provided location."] = "Ðе удаетÑÑ ÑƒÑтановить ваше Ð¸Ð¼Ñ Ð½Ð° предложенном меÑтоположении.";
-$a->strings["You have already introduced yourself here."] = "Ð’Ñ‹ уже ввели информацию о Ñебе здеÑÑŒ.";
-$a->strings["Apparently you are already friends with %s."] = "Похоже, что вы уже Ð´Ñ€ÑƒÐ·ÑŒÑ Ñ %s.";
-$a->strings["Invalid profile URL."] = "Ðеверный URL профилÑ.";
-$a->strings["Disallowed profile URL."] = "Запрещенный URL профилÑ.";
-$a->strings["Failed to update contact record."] = "Ðе удалоÑÑŒ обновить запиÑÑŒ контакта.";
-$a->strings["Your introduction has been sent."] = "Ваш Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½.";
-$a->strings["Please login to confirm introduction."] = "Ð”Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа войдите пожалуйÑта Ñ Ð¿Ð°Ñ€Ð¾Ð»ÐµÐ¼.";
-$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Ðеверно идентифицирован вход. ПожалуйÑта, войдите в <strong>Ñтот</strong> профиль.";
-$a->strings["Hide this contact"] = "";
-$a->strings["Welcome home %s."] = "Добро пожаловать домой, %s!";
-$a->strings["Please confirm your introduction/connection request to %s."] = "ПожалуйÑта, подтвердите краткую информацию / Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° подключение к %s.";
-$a->strings["Confirm"] = "Подтвердить";
-$a->strings["[Name Withheld]"] = "[Ð˜Ð¼Ñ Ð½Ðµ разглашаетÑÑ]";
-$a->strings["Please enter your 'Identity Address' from one of the following supported communications networks:"] = "";
-$a->strings["<strike>Connect as an email follower</strike> (Coming soon)"] = "";
-$a->strings["If you are not yet a member of the free social web, <a href=\"http://dir.friendica.com/siteinfo\">follow this link to find a public Friendica site and join us today</a>."] = "";
-$a->strings["Friend/Connection Request"] = "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð² Ð´Ñ€ÑƒÐ·ÑŒÑ / на подключение";
-$a->strings["Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"] = "Примеры: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca";
-$a->strings["Please answer the following:"] = "ПожалуйÑта, ответьте Ñледующее:";
-$a->strings["Does %s know you?"] = "%s знает ваÑ?";
-$a->strings["Add a personal note:"] = "Добавить личную заметку:";
-$a->strings["Friendica"] = "Friendica";
-$a->strings["StatusNet/Federated Social Web"] = "StatusNet / Federated Social Web";
-$a->strings["Diaspora"] = "Diaspora";
-$a->strings[" - please do not use this form. Instead, enter %s into your Diaspora search bar."] = "";
-$a->strings["Your Identity Address:"] = "Ваш идентификационный адреÑ:";
-$a->strings["Submit Request"] = "Отправить запроÑ";
-$a->strings["Friendica Social Communications Server - Setup"] = "";
-$a->strings["Could not connect to database."] = "Ðе удалоÑÑŒ подключитьÑÑ Ðº базе данных.";
+$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 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["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["View"] = "ПроÑмотр";
+$a->strings["Authorize application connection"] = "";
+$a->strings["Return to your app and insert this Securty Code:"] = "";
+$a->strings["Please login to continue."] = "ПожалуйÑта, войдите, чтобы продолжить.";
+$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "";
+$a->strings["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["Item not available."] = "Элемент недоÑтупен.";
+$a->strings["Red Matrix Server - Setup"] = "Red Matrix Сервер - УÑтановка";
+$a->strings["Could not connect to database."] = "Ðе удалоÑÑŒ подключитьÑÑ Ðº Ñерверу баз данных.";
+$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "";
$a->strings["Could not create table."] = "Ðе удалоÑÑŒ Ñоздать таблицу.";
-$a->strings["Your Friendica site database has been installed."] = "База данных Ñайта уÑтановлена.";
-$a->strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = "Вам может понадобитьÑÑ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ файл \"database.sql\" вручную Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ PhpMyAdmin или MySQL.";
-$a->strings["Please see the file \"INSTALL.txt\"."] = "ПожалуйÑта, Ñмотрите файл \"INSTALL.txt\".";
-$a->strings["System check"] = "";
-$a->strings["Check again"] = "Проверить еще раз";
+$a->strings["Your site database has been installed."] = "Ваша база данных уÑтановлена.";
+$a->strings["You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."] = "";
+$a->strings["Please see the file \"install/INSTALL.txt\"."] = "ПожалуйÑта, обратитеÑÑŒ к файлу \"install/INSTALL.txt\".";
+$a->strings["System check"] = "Проверка ÑиÑтемы";
+$a->strings["Check again"] = "Проверить Ñнова";
$a->strings["Database connection"] = "Подключение к базе данных";
-$a->strings["In order to install Friendica we need to know how to connect to your database."] = "";
-$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "ПожалуйÑта, ÑвÑжитеÑÑŒ Ñ Ð²Ð°ÑˆÐ¸Ð¼ хоÑтинг-провайдером или админиÑтратором Ñайта, еÑли у Ð²Ð°Ñ ÐµÑÑ‚ÑŒ вопроÑÑ‹ об Ñтих параметрах.";
-$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Базы данных, ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð½Ð¸Ð¶Ðµ, должна уже ÑущеÑтвовать. ЕÑли Ñтого нет, пожалуйÑта, Ñоздайте ее перед продолжением.";
+$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "";
+$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "";
+$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "";
$a->strings["Database Server Name"] = "Ð˜Ð¼Ñ Ñервера базы данных";
-$a->strings["Database Login Name"] = "Логин базы данных";
-$a->strings["Database Login Password"] = "Пароль базы данных";
+$a->strings["Default is localhost"] = "По умолчанию localhost";
+$a->strings["Database Port"] = "Порт базы данных";
+$a->strings["Communication port number - use 0 for default"] = "Порт коммуникации - иÑпользуйте 0 по умолчанию";
+$a->strings["Database Login Name"] = "Ð˜Ð¼Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº базе данных";
+$a->strings["Database Login Password"] = "Пароль Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº базе данных";
$a->strings["Database Name"] = "Ð˜Ð¼Ñ Ð±Ð°Ð·Ñ‹ данных";
$a->strings["Site administrator email address"] = "ÐÐ´Ñ€ÐµÑ Ñлектронной почты админиÑтратора Ñайта";
$a->strings["Your account email address must match this in order to use the web admin panel."] = "";
-$a->strings["Please select a default timezone for your website"] = "ПожалуйÑта, выберите чаÑовой поÑÑ Ð¿Ð¾ умолчанию Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñайта";
+$a->strings["Website URL"] = "URL веб-Ñайта";
+$a->strings["Please use SSL (https) URL if available."] = "ПожалуйÑта, иÑпользуйте SSL (https) URL еÑли возможно.";
+$a->strings["Please select a default timezone for your website"] = "";
$a->strings["Site settings"] = "ÐаÑтройки Ñайта";
-$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Ðе удалоÑÑŒ найти PATH веб-Ñервера в уÑтановках PHP.";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"] = "";
-$a->strings["PHP executable path"] = "PHP executable path";
+$a->strings["Could not find a command line version of PHP in the web server PATH."] = "";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "";
+$a->strings["PHP executable path"] = "PHP executable путь";
$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "";
$a->strings["Command line PHP"] = "Command line PHP";
-$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Ðе включено \"register_argc_argv\" в уÑтановках PHP.";
-$a->strings["This is required for message delivery to work."] = "Это необходимо Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ доÑтавки Ñообщений.";
-$a->strings["PHP register_argc_argv"] = "";
-$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Ошибка: Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ \"openssl_pkey_new\" в Ñтой ÑиÑтеме не в ÑоÑтоÑнии генерировать ключи шифрованиÑ";
-$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "ЕÑли вы работаете под Windows, Ñм. \"http://www.php.net/manual/en/openssl.installation.php\".";
-$a->strings["Generate encryption keys"] = "Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ñ‹Ñ… ключей";
+$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "";
+$a->strings["This is required for message delivery to work."] = "";
+$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "";
+$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "";
+$a->strings["Generate encryption keys"] = "";
$a->strings["libCurl PHP module"] = "libCurl PHP модуль";
$a->strings["GD graphics PHP module"] = "GD graphics PHP модуль";
$a->strings["OpenSSL PHP module"] = "OpenSSL PHP модуль";
$a->strings["mysqli PHP module"] = "mysqli PHP модуль";
$a->strings["mb_string PHP module"] = "mb_string PHP модуль";
-$a->strings["Apache mod_rewrite module"] = "";
-$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Ошибка: необходим модуль веб-Ñервера Apache mod-rewrite, но он не уÑтановлен.";
-$a->strings["Error: libCURL PHP module required but not installed."] = "Ошибка: необходим libCURL PHP модуль, но он не уÑтановлен.";
-$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Ошибка: необходим PHP модуль GD графики Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ JPEG, но он не уÑтановлен.";
-$a->strings["Error: openssl PHP module required but not installed."] = "Ошибка: необходим PHP модуль OpenSSL, но он не уÑтановлен.";
-$a->strings["Error: mysqli PHP module required but not installed."] = "Ошибка: необходим PHP модуль MySQLi, но он не уÑтановлен.";
-$a->strings["Error: mb_string PHP module required but not installed."] = "Ошибка: необходим PHP модуль mb_string, но он не уÑтановлен.";
-$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "Веб-инÑталлÑтору требуетÑÑ Ñоздать файл Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ \". htconfig.php\" в верхней папке веб-Ñервера, но он не в ÑоÑтоÑнии Ñто Ñделать.";
-$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Это наиболее чаÑтые параметры разрешений, когда веб-Ñервер не может запиÑать файлы в папке - даже еÑли вы можете.";
-$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Friendica top folder."] = "";
-$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "";
-$a->strings[".htconfig.php is writable"] = ".htconfig.php is writable";
+$a->strings["mcrypt PHP module"] = "mcrypt PHP модуль";
+$a->strings["Apache mod_rewrite module"] = "Apache mod_rewrite модуль";
+$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "";
+$a->strings["proc_open"] = "proc_open";
+$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "";
+$a->strings["Error: libCURL PHP module required but not installed."] = "";
+$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "";
+$a->strings["Error: openssl PHP module required but not installed."] = "";
+$a->strings["Error: mysqli PHP module required but not installed."] = "";
+$a->strings["Error: mb_string PHP module required but not installed."] = "";
+$a->strings["Error: mcrypt PHP module required but not installed."] = "";
+$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "";
+$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "";
+$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "";
+$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "";
+$a->strings[".htconfig.php is writable"] = ".htconfig.php доÑтупен Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи";
+$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "";
+$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory view/tpl/smarty3/ under the Red top level folder."] = "";
+$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "";
+$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["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."] = "";
-$a->strings["Url rewrite is working"] = "";
-$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Файл конфигурации базы данных \".htconfig.php\" не могла быть запиÑан. ПожалуйÑта, иÑпользуйте приложенный текÑÑ‚, чтобы Ñоздать конфигурационный файл в корневом каталоге веб-Ñервера.";
-$a->strings["Errors encountered creating database tables."] = "Обнаружены ошибки при Ñоздании таблиц базы данных.";
-$a->strings["<h1>What next</h1>"] = "";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "Ð’ÐЖÐО: Вам нужно будет [вручную] уÑтановить запланированное задание Ð´Ð»Ñ Ñ€ÐµÐ³Ð¸Ñтратора.";
-$a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
-$a->strings["Time Conversion"] = "ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ";
-$a->strings["Friendika provides this service for sharing events with other networks and friends in unknown timezones."] = "";
-$a->strings["UTC time: %s"] = "UTC времÑ: %s";
-$a->strings["Current timezone: %s"] = "Ваш чаÑовой поÑÑ: %s";
-$a->strings["Converted localtime: %s"] = "Ваше изменённое времÑ: %s";
-$a->strings["Please select your timezone:"] = "Выберите пожалуйÑта ваш чаÑовой поÑÑ:";
-$a->strings["Poke/Prod"] = "";
-$a->strings["poke, prod or do other things to somebody"] = "";
-$a->strings["Recipient"] = "";
-$a->strings["Choose what you wish to do to recipient"] = "";
-$a->strings["Make this post private"] = "";
-$a->strings["Profile Match"] = "Похожие профили";
-$a->strings["No keywords to match. Please add keywords to your default profile."] = "Ðет ÑоответÑтвующих ключевых Ñлов. ПожалуйÑта, добавьте ключевые Ñлова Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾ умолчанию.";
-$a->strings["is interested in:"] = "";
-$a->strings["Connect"] = "Подключить";
-$a->strings["No matches"] = "Ðет ÑоответÑтвий";
-$a->strings["Remote privacy information not available."] = "Ð›Ð¸Ñ‡Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾ недоÑтупна.";
-$a->strings["Visible to:"] = "Кто может видеть:";
-$a->strings["No such group"] = "Ðет такой группы";
-$a->strings["Group is empty"] = "Группа пуÑта";
-$a->strings["Group: "] = "Группа: ";
-$a->strings["Select"] = "Выберите";
-$a->strings["View %s's profile @ %s"] = "";
-$a->strings["%s from %s"] = "%s Ñ %s";
-$a->strings["View in context"] = "Смотреть в контекÑте";
-$a->strings["%d comment"] = array(
- 0 => "%d комментарий",
- 1 => "%d комментариев",
- 2 => "%d комментариев",
-);
-$a->strings["comment"] = array(
- 0 => "",
- 1 => "",
- 2 => "комментарий",
-);
-$a->strings["show more"] = "показать больше";
-$a->strings["like"] = "";
-$a->strings["dislike"] = "не нравитÑа";
-$a->strings["Share this"] = "";
-$a->strings["share"] = "делитьÑÑ";
-$a->strings["Bold"] = "";
-$a->strings["Italic"] = "";
-$a->strings["Underline"] = "";
-$a->strings["Quote"] = "";
-$a->strings["Code"] = "";
-$a->strings["Image"] = "";
-$a->strings["Link"] = "";
-$a->strings["Video"] = "";
-$a->strings["add star"] = "пометить";
-$a->strings["remove star"] = "убрать метку";
-$a->strings["toggle star status"] = "переключить ÑтатуÑ";
-$a->strings["starred"] = "помечено";
-$a->strings["add tag"] = "добавить ключевое Ñлово (таг)";
-$a->strings["save to folder"] = "Ñохранить в папке";
-$a->strings["to"] = "к";
-$a->strings["Wall-to-Wall"] = "Стена-на-Стену";
-$a->strings["via Wall-To-Wall:"] = "через Стена-на-Стену:";
-$a->strings["Welcome to %s"] = "Добро пожаловать на %s!";
-$a->strings["Invalid request identifier."] = "Ðеверный идентификатор запроÑа.";
-$a->strings["Discard"] = "ОтказатьÑÑ";
-$a->strings["Ignore"] = "Игнорировать";
-$a->strings["System"] = "СиÑтема";
-$a->strings["Network"] = "Сеть";
-$a->strings["Personal"] = "ПерÑонал";
-$a->strings["Home"] = "ГлавнаÑ";
-$a->strings["Introductions"] = "ЗапроÑÑ‹";
-$a->strings["Messages"] = "СообщениÑ";
-$a->strings["Show Ignored Requests"] = "Показать проигнорированные запроÑÑ‹";
-$a->strings["Hide Ignored Requests"] = "Скрыть проигнорированные запроÑÑ‹";
-$a->strings["Notification type: "] = "Тип уведомлениÑ: ";
-$a->strings["Friend Suggestion"] = "Предложение в друзьÑ";
-$a->strings["suggested by %s"] = "предложено юзером %s";
-$a->strings["Hide this contact from others"] = "Скрыть Ñтот контакт от других";
-$a->strings["Post a new friend activity"] = "";
-$a->strings["if applicable"] = "";
-$a->strings["Approve"] = "Одобрить";
-$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["Notifications"] = "УведомлениÑ";
-$a->strings["%s liked %s's post"] = "%s нравитÑÑ %s Ñообшение";
-$a->strings["%s disliked %s's post"] = "%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 Ñообщение";
-$a->strings["No more network notifications."] = "Уведомлений из Ñети больше нет.";
-$a->strings["Network Notifications"] = "Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ñети";
-$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["Could not access contact record."] = "Ðе удалоÑÑŒ получить доÑтуп к запиÑи контакта.";
-$a->strings["Could not locate selected profile."] = "Ðе удалоÑÑŒ найти выбранный профиль.";
-$a->strings["Contact updated."] = "Контакт обновлен.";
-$a->strings["Contact has been blocked"] = "Контакт заблокирован";
-$a->strings["Contact has been unblocked"] = "Контакт разблокирован";
-$a->strings["Contact has been ignored"] = "Контакт проигнорирован";
-$a->strings["Contact has been unignored"] = "У контакта отменено игнорирование";
-$a->strings["Contact has been archived"] = "";
-$a->strings["Contact has been unarchived"] = "";
-$a->strings["Contact has been removed."] = "Контакт удален.";
-$a->strings["You are mutual friends with %s"] = "У Ð’Ð°Ñ Ð²Ð·Ð°Ð¸Ð¼Ð½Ð°Ñ Ð´Ñ€ÑƒÐ¶Ð±Ð° Ñ %s";
-$a->strings["You are sharing with %s"] = "Ð’Ñ‹ делитеÑÑŒ Ñ %s";
-$a->strings["%s is sharing with you"] = "%s делитÑа Ñ Ð’Ð°Ð¼Ð¸";
-$a->strings["Private communications are not available for this contact."] = "Личные коммуникации недоÑтупны Ð´Ð»Ñ Ñтого контакта.";
-$a->strings["Never"] = "Ðикогда";
-$a->strings["(Update was successful)"] = "(Обновление было уÑпешно)";
-$a->strings["(Update was not successful)"] = "(Обновление не удалоÑÑŒ)";
-$a->strings["Suggest friends"] = "Предложить друзей";
-$a->strings["Network type: %s"] = "Сеть: %s";
-$a->strings["%d contact in common"] = array(
- 0 => "%d Контакт",
- 1 => "%d Контактов",
- 2 => "%d Контактов",
-);
-$a->strings["View all contacts"] = "Показать вÑе контакты";
-$a->strings["Unblock"] = "Разблокировать";
-$a->strings["Block"] = "Блокировать";
-$a->strings["Toggle Blocked status"] = "";
-$a->strings["Unignore"] = "Ðе игнорировать";
-$a->strings["Toggle Ignored status"] = "";
-$a->strings["Unarchive"] = "";
-$a->strings["Archive"] = "";
-$a->strings["Toggle Archive status"] = "";
-$a->strings["Repair"] = "ВоÑÑтановить";
-$a->strings["Advanced Contact Settings"] = "";
-$a->strings["Communications lost with this contact!"] = "";
-$a->strings["Contact Editor"] = "Редактор контакта";
-$a->strings["Profile Visibility"] = "ВидимоÑÑ‚ÑŒ профилÑ";
-$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "ПожалуйÑта, выберите профиль, который вы хотите отображать %s, когда проÑмотр вашего Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñен.";
-$a->strings["Contact Information / Notes"] = "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ контакте / Заметки";
-$a->strings["Edit contact notes"] = "Редактировать заметки контакта";
-$a->strings["Visit %s's profile [%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["Replies/likes to your public posts <strong>may</strong> still be visible"] = "";
-$a->strings["Suggestions"] = "";
-$a->strings["Suggest potential friends"] = "";
-$a->strings["All Contacts"] = "Ð’Ñе контакты";
-$a->strings["Show all contacts"] = "";
-$a->strings["Unblocked"] = "";
-$a->strings["Only show unblocked contacts"] = "";
-$a->strings["Blocked"] = "";
-$a->strings["Only show blocked contacts"] = "";
-$a->strings["Ignored"] = "";
-$a->strings["Only show ignored contacts"] = "";
-$a->strings["Archived"] = "";
-$a->strings["Only show archived contacts"] = "";
-$a->strings["Hidden"] = "";
-$a->strings["Only show hidden contacts"] = "";
-$a->strings["Mutual Friendship"] = "Ð’Ð·Ð°Ð¸Ð¼Ð½Ð°Ñ Ð´Ñ€ÑƒÐ¶Ð±Ð°";
-$a->strings["is a fan of yours"] = "ÑвлÑетÑÑ Ð²Ð°ÑˆÐ¸Ð¼ поклонником";
-$a->strings["you are a fan of"] = "Вы - поклонник";
-$a->strings["Edit contact"] = "Редактировать контакт";
-$a->strings["Contacts"] = "Контакты";
-$a->strings["Search your contacts"] = "ПоиÑк ваших контактов";
-$a->strings["Finding: "] = "Результат поиÑка: ";
-$a->strings["Find"] = "Ðайти";
-$a->strings["No valid account found."] = "Ðе найдено дейÑтвительного аккаунта.";
-$a->strings["Password reset request issued. Check your email."] = "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑÐ±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑÑ‚. Проверьте вашу Ñлектронную почту.";
-$a->strings["Password reset requested at %s"] = "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑÐ±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½ %s";
-$a->strings["Administrator"] = "ÐдминиÑтратор";
-$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ðµ может быть проверен. (Ð’Ñ‹, возможно, ранее предÑтавлÑли его.) Попытка ÑброÑа Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð°Ñ.";
-$a->strings["Password Reset"] = "Ð¡Ð±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ";
-$a->strings["Your password has been reset as requested."] = "Ваш пароль был Ñброшен по требованию.";
-$a->strings["Your new password is"] = "Ваш новый пароль";
-$a->strings["Save or copy your new password - and then"] = "Сохраните или Ñкопируйте новый пароль - и затем";
-$a->strings["click here to login"] = "нажмите здеÑÑŒ Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð°";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Ваш пароль может быть изменен на Ñтранице <em>ÐаÑтройки</em> поÑле уÑпешного входа.";
-$a->strings["Forgot your Password?"] = "Забыли пароль?";
-$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Введите Ð°Ð´Ñ€ÐµÑ Ñлектронной почты и подтвердите, что вы хотите ÑброÑить ваш пароль. Затем проверьте Ñвою Ñлектронную почту Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐ¸Ñ… инÑтрукций.";
-$a->strings["Nickname or Email: "] = "Ðик или E-mail: ";
-$a->strings["Reset"] = "СброÑ";
+$a->strings["Url rewrite is working"] = "Url rewrite работает";
+$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "";
+$a->strings["Errors encountered creating database tables."] = "";
+$a->strings["<h1>What next</h1>"] = "<h1>Что дальше</h1>";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "";
+$a->strings["%1\$s is following %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["Display settings"] = "Параметры диÑплеÑ";
-$a->strings["Connector settings"] = "ÐаÑтройки ÑоединителÑ";
-$a->strings["Plugin settings"] = "ÐаÑтройки плагина";
-$a->strings["Connected apps"] = "";
-$a->strings["Export personal data"] = "ЭкÑпорт личных данных";
-$a->strings["Remove account"] = "";
-$a->strings["Settings"] = "ÐаÑтройки";
-$a->strings["Missing some important data!"] = "Ðе хватает важных данных!";
+$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["Missing some important data!"] = "ОтÑутÑтвуют некоторые важные данные!";
$a->strings["Update"] = "Обновление";
-$a->strings["Failed to connect with email account using the settings provided."] = "Ðе удалоÑÑŒ подключитьÑÑ Ðº аккаунту e-mail, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ðµ наÑтройки.";
-$a->strings["Email settings updated."] = "ÐаÑтройки Ñл. почты обновлены.";
-$a->strings["Passwords do not match. Password unchanged."] = "Пароли не Ñовпадают. Пароль не изменен.";
-$a->strings["Empty passwords are not allowed. Password unchanged."] = "ПуÑтые пароли не допуÑкаютÑÑ. Пароль не изменен.";
+$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[" Please use a shorter name."] = " ПожалуйÑта, иÑпользуйте более короткое имÑ.";
-$a->strings[" Name too short."] = " Ð˜Ð¼Ñ Ñлишком короткое.";
-$a->strings[" Not valid email."] = " Ðеверный e-mail.";
-$a->strings[" Cannot change to that email."] = " Ðевозможно изменить на Ñтот e-mail.";
-$a->strings["Private forum has no privacy permissions. Using default privacy group."] = "";
-$a->strings["Private forum has no privacy permissions and no default privacy group."] = "";
-$a->strings["Settings updated."] = "ÐаÑтройки обновлены.";
+$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["Consumer Key"] = "Consumer Key";
-$a->strings["Consumer Secret"] = "Consumer Secret";
+$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["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 Plugin settings configured"] = "Ðет Ñконфигурированных наÑтроек плагина";
-$a->strings["Plugin Settings"] = "ÐаÑтройки плагина";
-$a->strings["Built-in support for %s connectivity is %s"] = "Ð’ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° Ð´Ð»Ñ %s подключение %s";
-$a->strings["enabled"] = "подключено";
-$a->strings["disabled"] = "отключено";
-$a->strings["StatusNet"] = "StatusNet";
-$a->strings["Email access is disabled on this site."] = "ДоÑтуп Ñл. почты отключен на Ñтом Ñайте.";
-$a->strings["Connector Settings"] = "ÐаÑтройки ÑоединителÑ";
-$a->strings["Email/Mailbox Setup"] = "ÐаÑтройка Ñл. почты / почтового Ñщика";
-$a->strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = "ЕÑли вы хотите общатьÑÑ Ñ Email контактами, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñтот ÑÐµÑ€Ð²Ð¸Ñ (по желанию), пожалуйÑта, уточните, как подключитьÑÑ Ðº вашему почтовому Ñщику.";
-$a->strings["Last successful email check:"] = "ПоÑледнÑÑ ÑƒÑÐ¿ÐµÑˆÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° Ñлектронной почты:";
-$a->strings["IMAP server name:"] = "Ð˜Ð¼Ñ IMAP Ñервера:";
-$a->strings["IMAP port:"] = "Порт IMAP:";
-$a->strings["Security:"] = "БезопаÑноÑÑ‚ÑŒ:";
-$a->strings["None"] = "Ðичего";
-$a->strings["Email login name:"] = "Логин Ñл. почты:";
-$a->strings["Email password:"] = "Пароль Ñл. почты:";
-$a->strings["Reply-to address:"] = "ÐÐ´Ñ€ÐµÑ Ð´Ð»Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð°:";
-$a->strings["Send public posts to all email contacts:"] = "ОтправлÑÑ‚ÑŒ открытые ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° вÑе контакты Ñлектронной почты:";
-$a->strings["Action after import:"] = "ДейÑтвие поÑле импорта:";
-$a->strings["Mark as seen"] = "";
-$a->strings["Move to folder"] = "";
-$a->strings["Move to folder:"] = "";
-$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["Number of items to display per page:"] = "";
-$a->strings["Maximum of 100 items"] = "";
-$a->strings["Don't show emoticons"] = "не показывать emoticons";
-$a->strings["Normal Account Page"] = "";
-$a->strings["This account is a normal personal profile"] = "Этот аккаунт ÑвлÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ перÑональным профилем";
-$a->strings["Soapbox Page"] = "";
-$a->strings["Automatically approve all connection/friend requests as read-only fans"] = "ÐвтоматичеÑки одобрÑÑŽÑ‚ÑÑ Ð²Ñе Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ / запроÑÑ‹ в друзьÑ, \"только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ\" поклонниками";
-$a->strings["Community Forum/Celebrity Account"] = "";
-$a->strings["Automatically approve all connection/friend requests as read-write fans"] = "ÐвтоматичеÑки одобрÑÑŽÑ‚ÑÑ Ð²Ñе Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ / запроÑÑ‹ в друзьÑ, \"Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸ запиÑей\" поклонников";
-$a->strings["Automatic Friend Page"] = "";
-$a->strings["Automatically approve all connection/friend requests as friends"] = "ÐвтоматичеÑки одобрÑÑŽÑ‚ÑÑ Ð²Ñе Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ / запроÑÑ‹ в друзьÑ, раÑширÑетÑÑ ÑпиÑок друзей";
-$a->strings["Private Forum [Experimental]"] = "";
-$a->strings["Private forum - approved members only"] = "";
-$a->strings["OpenID:"] = "OpenID:";
-$a->strings["(Optional) Allow this OpenID to login to this account."] = "(ÐеобÑзательно) Разрешить Ñтому OpenID входить в Ñтот аккаунт";
-$a->strings["Publish your default profile in your local site directory?"] = "Публиковать ваш профиль по умолчанию в вашем локальном каталоге на Ñайте?";
-$a->strings["Publish your default profile in the global social directory?"] = "Публиковать ваш профиль по умолчанию в глобальном Ñоциальном каталоге?";
-$a->strings["Hide your contact/friend list from viewers of your default profile?"] = "Скрывать ваш ÑпиÑок контактов/друзей от поÑетителей вашего Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾ умолчанию?";
-$a->strings["Hide your profile details from unknown viewers?"] = "Скрыть данные Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¸Ð· неизвеÑтных зрителей?";
-$a->strings["Allow friends to post to your profile page?"] = "Разрешить друзьÑм оÑтавлÑÑ‚ÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° Ñтраницу вашего профилÑ?";
-$a->strings["Allow friends to tag your posts?"] = "Разрешить друзьÑм отмечÑÑ‚ÑŒ ваши ÑообщениÑ?";
-$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Позвольть предлогать Вам потенциальных друзей?";
-$a->strings["Permit unknown people to send you private mail?"] = "";
-$a->strings["Profile is <strong>not published</strong>."] = "Профиль <strong>не публикуетÑÑ</strong>.";
-$a->strings["or"] = "или";
-$a->strings["Your Identity 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 personal notes:"] = "Срок Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… заметок:";
-$a->strings["Expire starred posts:"] = "Срок Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑƒÑеÑнных Ñообщений:";
-$a->strings["Expire photos:"] = "Срок Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ð¹:";
-$a->strings["Only expire posts by others:"] = "";
+$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["Password Settings"] = "ÐаÑтройки паролÑ";
$a->strings["New Password:"] = "Ðовый пароль:";
-$a->strings["Confirm:"] = "Подтвердите:";
-$a->strings["Leave password fields blank unless changing"] = "ОÑтавьте Ð¿Ð¾Ð»Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿ÑƒÑтыми, еÑли он не изменÑетÑÑ";
-$a->strings["Basic Settings"] = "ОÑновные параметры";
-$a->strings["Full Name:"] = "Полное имÑ:";
+$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->strings["Default Post Location:"] = "Откуда по умолчанию:";
+$a->strings["Use Browser Location:"] = "ИÑпользуйте указание браузерa:";
$a->strings["Security and Privacy Settings"] = "Параметры безопаÑноÑти и конфиденциальноÑти";
-$a->strings["Maximum Friend Requests/Day:"] = "МакÑимум запроÑов в Ð´Ñ€ÑƒÐ·ÑŒÑ Ð² день:";
-$a->strings["(to prevent spam abuse)"] = "(Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñпама)";
-$a->strings["Default Post Permissions"] = "Разрешение на ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию";
+$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["Notification Settings"] = "ÐаÑтройка уведомлений";
+$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["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["Manage Identities and/or Pages"] = "Управление идентификацией и / или Ñтраницами";
-$a->strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = "";
-$a->strings["Select an identity to manage: "] = "Выберите идентификацию Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ: ";
-$a->strings["Search Results For:"] = "";
-$a->strings["Remove term"] = "Удалить Ñлемент";
-$a->strings["Saved Searches"] = "запомненные поиÑки";
-$a->strings["add"] = "добавить";
-$a->strings["Commented Order"] = "Прокомментированный запроÑ";
-$a->strings["Sort by Comment Date"] = "";
-$a->strings["Posted Order"] = "Отправленный запроÑ";
-$a->strings["Sort by Post Date"] = "";
-$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["Shared Links"] = "";
-$a->strings["Interesting Links"] = "";
-$a->strings["Warning: This group contains %s member from an insecure network."] = array(
- 0 => "Внимание: Эта группа Ñодержит %s учаÑтника Ñ Ð½ÐµÐ·Ð°Ñ‰Ð¸Ñ‰ÐµÐ½Ð½Ð¾Ð¹ Ñети.",
- 1 => "Внимание: Эта группа Ñодержит %s учаÑтников Ñ Ð½ÐµÐ·Ð°Ñ‰Ð¸Ñ‰ÐµÐ½Ð½Ð¾Ð¹ Ñети.",
- 2 => "Внимание: Эта группа Ñодержит %s учаÑтников Ñ Ð½ÐµÐ·Ð°Ñ‰Ð¸Ñ‰ÐµÐ½Ð½Ð¾Ð¹ Ñети.",
-);
-$a->strings["Private messages to this group are at risk of public disclosure."] = "Личные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ðº Ñтой группе находÑÑ‚ÑÑ Ð¿Ð¾Ð´ угрозой обнародованиÑ.";
-$a->strings["Contact: "] = "Контакт: ";
-$a->strings["Private messages to this person are at risk of public disclosure."] = "Личные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñтому человеку находÑÑ‚ÑÑ Ð¿Ð¾Ð´ угрозой обнародованиÑ.";
-$a->strings["Invalid contact."] = "ÐедопуÑтимый контакт.";
-$a->strings["Personal Notes"] = "Личные заметки";
-$a->strings["Save"] = "Сохранить";
-$a->strings["Number of daily wall messages for %s exceeded. Message failed."] = "";
-$a->strings["No recipient selected."] = "Ðе выбран получатель.";
-$a->strings["Unable to check your home location."] = "";
-$a->strings["Message could not be sent."] = "Сообщение не может быть отправлено.";
-$a->strings["Message collection failure."] = "";
-$a->strings["Message sent."] = "Сообщение отправлено.";
-$a->strings["No recipient."] = "";
-$a->strings["Please enter a link URL:"] = "ПожалуйÑта, введите URL ÑÑылки:";
+$a->strings["Public access denied."] = "ОбщеÑтвенный доÑтуп запрещен.";
+$a->strings["No connections."] = "Ðикаких каналов.";
+$a->strings["Visit %s's profile [%s]"] = "";
+$a->strings["View Connnections"] = "ПроÑмотр каналов";
+$a->strings["Tag removed"] = "Тег удален";
+$a->strings["Remove Item Tag"] = "Удалить Тег";
+$a->strings["Select a tag to remove: "] = "Выбрать тег Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ: ";
+$a->strings["Remove"] = "Удалить";
+$a->strings["No potential page delegates located."] = "";
+$a->strings["Delegate Page Management"] = "";
+$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "";
+$a->strings["Existing Page Managers"] = "";
+$a->strings["Existing Page Delegates"] = "";
+$a->strings["Potential Delegates"] = "";
+$a->strings["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["Collection created."] = "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ñоздана.";
+$a->strings["Could not create collection."] = "Ðе удалоÑÑŒ Ñоздать коллекцию.";
+$a->strings["Collection name changed."] = "Ð˜Ð¼Ñ ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ð¸ изменено.";
+$a->strings["Create a collection of channels."] = "";
+$a->strings["Collection Name: "] = "Ðазвание коллекции:";
+$a->strings["Members are visible to other channels"] = "";
+$a->strings["Collection removed."] = "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð°.";
+$a->strings["Unable to remove collection."] = "Ðевозможно удалить коллекцию.";
+$a->strings["Collection Editor"] = "Редактор коллекций";
+$a->strings["Members"] = "УчаÑтники";
+$a->strings["All Connected Channels"] = "Ð’Ñе подключенные каналы";
+$a->strings["Click on a channel to add or remove."] = "";
+$a->strings["Page owner information could not be retrieved."] = "";
+$a->strings["Album not found."] = "Ðльбом не найден.";
+$a->strings["Delete Album"] = "Удалить альбом";
+$a->strings["Delete Photo"] = "Удалить фотографию";
+$a->strings["%1\$s was tagged in %2\$s by %3\$s"] = "";
+$a->strings["a photo"] = "фотографиÑ";
+$a->strings["No photos selected"] = "Ðикакие фотографии не выбраны";
+$a->strings["Access to this item is restricted."] = "ДоÑтуп к Ñтому Ñлементу ограничен.";
+$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "";
+$a->strings["You have used %1$.2f Mbytes of photo storage."] = "";
+$a->strings["Upload Photos"] = "Загрузить фотографии";
+$a->strings["New album name: "] = "Ðазвание нового альбома:";
+$a->strings["or existing album name: "] = "или ÑущеÑтвующий альбом:";
+$a->strings["Do not show a status post for this upload"] = "";
+$a->strings["Permissions"] = "РазрешениÑ";
+$a->strings["Contact Photos"] = "Фотографии канала";
+$a->strings["Edit Album"] = "Редактировать Фотоальбом";
+$a->strings["Show Newest First"] = "Показать новые первыми";
+$a->strings["Show Oldest First"] = "Показать Ñтарые первыми";
+$a->strings["View Photo"] = "ПоÑмотреть фотографию";
+$a->strings["Permission denied. Access to this item may be restricted."] = "";
+$a->strings["Photo not available"] = "Ð¤Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð½Ðµ доÑтупна";
+$a->strings["Use as profile photo"] = "ИÑпользовать в качеÑтве фотографии профилÑ";
+$a->strings["View Full Size"] = "ПоÑмотреть в полный размер";
+$a->strings["Edit photo"] = "Редактировать фотографию";
+$a->strings["Rotate CW (right)"] = "Повернуть CW (направо)";
+$a->strings["Rotate CCW (left)"] = "Повернуть CCW (налево)";
+$a->strings["New album name"] = "Ðовое название альбома:";
+$a->strings["Caption"] = "ПодпиÑÑŒ";
+$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["Not found."] = "Ðе найдено.";
+$a->strings["- select -"] = "- выбрать -";
+$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["If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders."] = "";
$a->strings["To:"] = "Кому:";
$a->strings["Subject:"] = "Тема:";
-$a->strings["Your message:"] = "Ваше Ñообщение:";
-$a->strings["Welcome to Friendica"] = "Добро пожаловать в Friendica";
-$a->strings["New Member Checklist"] = "Ðовый контрольный ÑпиÑок учаÑтников";
-$a->strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page. A link to this page will be visible from your home page for two weeks after your initial registration and then will quietly disappear."] = "";
-$a->strings["Getting Started"] = "";
-$a->strings["Friendica Walk-Through"] = "";
-$a->strings["On your <em>Quick Start</em> page - find a brief introduction to your profile and network tabs, make some new connections, and find some groups to join."] = "";
-$a->strings["Go to Your Settings"] = "";
-$a->strings["On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web."] = "";
-$a->strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = "ПроÑмотрите другие уÑтановки, в чаÑтноÑти, параметры конфиденциальноÑти. Ðеопубликованные пункты каталога Ñ Ñ‡Ð°Ñтными номерами телефона. Ð’ общем, вам, вероÑтно, Ñледует опубликовать Ñвою информацию - еÑли вÑе ваши Ð´Ñ€ÑƒÐ·ÑŒÑ Ð¸ потенциальные Ð´Ñ€ÑƒÐ·ÑŒÑ Ñ‚Ð¾Ñ‡Ð½Ð¾ знают, как Ð²Ð°Ñ Ð½Ð°Ð¹Ñ‚Ð¸.";
-$a->strings["Profile"] = "Профиль";
-$a->strings["Upload Profile Photo"] = "Загрузить фото профилÑ";
-$a->strings["Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not."] = "Загрузите фотографию профилÑ, еÑли вы еще не Ñделали Ñто. ИÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð»Ð¸, что люди Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ фотографиÑми имеют в деÑÑÑ‚ÑŒ раз больше шанÑов подружитьÑÑ, чем люди, которые Ñтого не делают.";
-$a->strings["Edit Your Profile"] = "";
-$a->strings["Edit your <strong>default</strong> profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors."] = "Отредактируйте профиль <strong>по умолчанию</strong> на Ñвой ​​вкуÑ. ПроÑмотрите уÑтановки Ð´Ð»Ñ ÑÐ¾ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ ÑпиÑка друзей и ÑÐ¾ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¾Ñ‚ неизвеÑтных поÑетителей.";
-$a->strings["Profile Keywords"] = "";
-$a->strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = "УÑтановите некоторые публичные ключевые Ñлова Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾ умолчанию, которые опиÑывают ваши интереÑÑ‹. Мы можем быть в ÑоÑтоÑнии найти других людей Ñо Ñхожими интереÑами и предложить дружбу.";
-$a->strings["Connecting"] = "";
-$a->strings["Facebook"] = "Facebook";
-$a->strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = "Ðвторизуйте Facebook Connector , еÑли у Ð²Ð°Ñ ÑƒÐ¶Ðµ еÑÑ‚ÑŒ аккаунт на Facebook, и мы (по желанию) импортируем вÑех ваших друзей и беÑеды Ñ Facebook.";
-$a->strings["<em>If</em> this is your own personal server, installing the Facebook addon may ease your transition to the free social web."] = "";
-$a->strings["Importing Emails"] = "";
-$a->strings["Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = "";
-$a->strings["Go to Your Contacts Page"] = "";
-$a->strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Add New Contact</em> dialog."] = "";
-$a->strings["Go to Your Site's Directory"] = "";
-$a->strings["The Directory page lets you find other people in this network or other federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on their profile page. Provide your own Identity Address if requested."] = "Ðа Ñтранице каталога вы можете найти других людей в Ñтой Ñети или на других похожих Ñайтах. Ищите ÑÑылки <em>Подключить</em> или <em>Следовать</em> на Ñтраницах их профилей. Укажите Ñвой ÑобÑтвенный Ð°Ð´Ñ€ÐµÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸, еÑли требуетÑÑ.";
-$a->strings["Finding New People"] = "";
-$a->strings["On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours."] = "";
-$a->strings["Groups"] = "Группы";
-$a->strings["Group Your Contacts"] = "";
-$a->strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = "ПоÑле того, как вы найдете неÑколько друзей, организуйте их в группы чаÑтных беÑед в боковой панели на Ñтранице Контакты, а затем вы можете взаимодейÑтвовать Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ группой приватно или на вашей Ñтранице Сеть.";
-$a->strings["Why Aren't My Posts Public?"] = "";
-$a->strings["Friendica respects your privacy. By default, your posts will only show up to people you've added as friends. For more information, see the help section from the link above."] = "";
-$a->strings["Getting Help"] = "";
-$a->strings["Go to the Help Section"] = "";
-$a->strings["Our <strong>help</strong> pages may be consulted for detail on other program features and resources."] = "Ðаши Ñтраницы <strong>помощи</strong> могут проконÑультировать о подробноÑÑ‚ÑÑ… и возможноÑÑ‚ÑÑ… программы и реÑурÑа.";
-$a->strings["Item not available."] = "Пункт не доÑтупен.";
-$a->strings["Item was not found."] = "Пункт не был найден.";
-$a->strings["Group created."] = "Группа Ñоздана.";
-$a->strings["Could not create group."] = "Ðе удалоÑÑŒ Ñоздать группу.";
-$a->strings["Group not found."] = "Группа не найдена.";
-$a->strings["Group name changed."] = "Ðазвание группы изменено.";
-$a->strings["Permission denied"] = "ДоÑтуп запрещен";
-$a->strings["Create a group of contacts/friends."] = "Создать группу контактов / друзей.";
-$a->strings["Group Name: "] = "Ðазвание группы: ";
-$a->strings["Group removed."] = "Группа удалена.";
-$a->strings["Unable to remove group."] = "Ðе удаетÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ группу.";
-$a->strings["Group Editor"] = "Редактор групп";
-$a->strings["Members"] = "УчаÑтники";
-$a->strings["Click on a contact to add or remove."] = "Ðажмите на контакт, чтобы добавить или удалить.";
-$a->strings["Invalid profile identifier."] = "ÐедопуÑтимый идентификатор профилÑ.";
-$a->strings["Profile Visibility Editor"] = "Редактор видимоÑти профилÑ";
-$a->strings["Visible To"] = "Видимый длÑ";
-$a->strings["All Contacts (with secure profile access)"] = "Ð’Ñе контакты (Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñным доÑтупом к профилю)";
-$a->strings["No contacts."] = "Ðет контактов.";
-$a->strings["View Contacts"] = "ПроÑмотр контактов";
-$a->strings["Registration details for %s"] = "ПодробноÑти региÑтрации Ð´Ð»Ñ %s";
-$a->strings["Registration successful. Please check your email for further instructions."] = "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ ÑƒÑпешна. ПожалуйÑта, проверьте Ñвою Ñлектронную почту Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐ¸Ñ… инÑтрукций.";
-$a->strings["Failed to send email message. Here is the message that failed."] = "Ðевозможно отправить Ñообщение Ñлектронной почтой. Вот Ñообщение, которое не удалоÑÑŒ.";
-$a->strings["Your registration can not be processed."] = "Ваша региÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ может быть обработана.";
-$a->strings["Registration request at %s"] = "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° региÑтрацию на %s";
-$a->strings["Your registration is pending approval by the site owner."] = "Ваша региÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð² ожидании Ð¾Ð´Ð¾Ð±Ñ€ÐµÐ½Ð¸Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑŒÑ†ÐµÐ¼ Ñайта.";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "";
-$a->strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "Ð’Ñ‹ можете (по желанию), заполнить Ñту форму Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ OpenID, Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ Ð²Ð°Ñˆ OpenID и нажав клавишу \"РегиÑтрациÑ\".";
-$a->strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "ЕÑли вы не знакомы Ñ OpenID, пожалуйÑта, оÑтавьте Ñто поле пуÑтым и заполните оÑтальные Ñлементы.";
-$a->strings["Your OpenID (optional): "] = "Ваш OpenID (необÑзательно):";
-$a->strings["Include your profile in member directory?"] = "Включить ваш профиль в каталог учаÑтников?";
-$a->strings["Membership on this site is by invitation only."] = "ЧленÑтво на Ñайте только по приглашению.";
-$a->strings["Your invitation ID: "] = "ID вашего приглашениÑ:";
-$a->strings["Registration"] = "РегиÑтрациÑ";
-$a->strings["Your Full Name (e.g. Joe Smith): "] = "Ваше полное Ð¸Ð¼Ñ (например, Joe Smith): ";
-$a->strings["Your Email Address: "] = "Ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты: ";
-$a->strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@\$sitename</strong>'."] = "Выбор пÑевдонима профилÑ. Он должен начинатьÑÑ Ñ Ð±ÑƒÐºÐ²Ñ‹. ÐÐ´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ³Ð¾ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð½Ð° данном Ñайте будет в Ñтом Ñлучае '<strong>nickname@\$sitename</strong>'.";
-$a->strings["Choose a nickname: "] = "Выберите пÑевдоним: ";
-$a->strings["Register"] = "РегиÑтрациÑ";
-$a->strings["People Search"] = "ПоиÑк людей";
-$a->strings["status"] = "ÑтатуÑ";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s нравитÑÑ %3\$s от %2\$s ";
-$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s не нравитÑÑ %3\$s от %2\$s ";
-$a->strings["Item not found."] = "Пункт не найден.";
-$a->strings["Access denied."] = "ДоÑтуп запрещен.";
-$a->strings["Photos"] = "Фото";
-$a->strings["Files"] = "";
-$a->strings["Account approved."] = "Ðккаунт утвержден.";
-$a->strings["Registration revoked for %s"] = "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð¼ÐµÐ½ÐµÐ½Ð° Ð´Ð»Ñ %s";
-$a->strings["Please login."] = "ПожалуйÑта, войдите Ñ Ð¿Ð°Ñ€Ð¾Ð»ÐµÐ¼.";
-$a->strings["Unable to locate original post."] = "Ðе удалоÑÑŒ найти оригинальный поÑÑ‚.";
-$a->strings["Empty post discarded."] = "ПуÑтое Ñообщение отбраÑываетÑÑ.";
-$a->strings["Wall Photos"] = "Фото Ñтены";
-$a->strings["System error. Post not saved."] = "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. Сообщение не Ñохранено.";
-$a->strings["This message was sent to you by %s, a member of the Friendica social network."] = "";
-$a->strings["You may visit them online at %s"] = "Ð’Ñ‹ можете поÑетить их в онлайне на %s";
-$a->strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = "ПожалуйÑта, ÑвÑжитеÑÑŒ Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÐµÐ»ÐµÐ¼, ответив на Ñто Ñообщение, еÑли вы не хотите получать Ñти ÑообщениÑ.";
-$a->strings["%s posted an update."] = "%s отправил/а/ обновление.";
-$a->strings["%1\$s is currently %2\$s"] = "";
-$a->strings["Mood"] = "";
-$a->strings["Set your current mood and tell your friends"] = "";
-$a->strings["Image uploaded but image cropping failed."] = "Изображение загружено, но обрезка Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ удалаÑÑŒ.";
-$a->strings["Image size reduction [%s] failed."] = "Уменьшение размера Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ [%s] не удалоÑÑŒ.";
-$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "";
-$a->strings["Unable to process image"] = "Ðе удаетÑÑ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ изображение";
-$a->strings["Image exceeds size limit of %d"] = "Изображение превышает предельный размер %d";
-$a->strings["Upload File:"] = "Загрузить файл:";
-$a->strings["Select a profile:"] = "";
-$a->strings["Upload"] = "Загрузить";
-$a->strings["skip this step"] = "пропуÑтить Ñтот шаг";
-$a->strings["select a photo from your photo albums"] = "выберите фото из ваших фотоальбомов";
-$a->strings["Crop Image"] = "Обрезать изображение";
-$a->strings["Please adjust the image cropping for optimum viewing."] = "ПожалуйÑта, наÑтройте обрезку Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ проÑмотра.";
-$a->strings["Done Editing"] = "Редактирование выполнено";
-$a->strings["Image uploaded successfully."] = "Изображение загружено уÑпешно.";
-$a->strings["No profile"] = "Ðет профилÑ";
-$a->strings["Remove My Account"] = "Удалить мой аккаунт";
-$a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Это позволит полноÑтью удалить ваш аккаунт. Как только Ñто будет Ñделано, аккаунт воÑÑтановлению не подлежит.";
-$a->strings["Please enter your password for verification:"] = "ПожалуйÑта, введите Ñвой пароль Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸:";
-$a->strings["New Message"] = "Ðовое Ñообщение";
-$a->strings["Unable to locate contact information."] = "Ðе удалоÑÑŒ найти контактную информацию.";
-$a->strings["Message deleted."] = "Сообщение удалено.";
-$a->strings["Conversation removed."] = "БеÑеда удалена.";
$a->strings["No messages."] = "Ðет Ñообщений.";
-$a->strings["Unknown sender - %s"] = "";
-$a->strings["You and %s"] = "";
-$a->strings["%s and You"] = "%s и Вы";
-$a->strings["Delete conversation"] = "Удалить иÑторию общениÑ";
-$a->strings["D, d M Y - g:i A"] = "D, d M Y - g:i A";
-$a->strings["%d message"] = array(
- 0 => "%d Ñообщение",
- 1 => "%d Ñообщений",
- 2 => "%d Ñообщений",
-);
-$a->strings["Message not available."] = "Сообщение не доÑтупно.";
$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["Friends of %s"] = "%s ДрузьÑ";
-$a->strings["No friends to display."] = "Ðет друзей.";
-$a->strings["Theme settings updated."] = "";
+$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["Unable to locate original post."] = "Ðе удалоÑÑŒ найти оригинал.";
+$a->strings["Empty post discarded."] = "ОтказатьÑÑ Ð¾Ñ‚ пуÑтой почты.";
+$a->strings["System error. Post not saved."] = "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. Сообщение не Ñохранено.";
+$a->strings["Wall Photos"] = "Стена фотографий";
+$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["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["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["Theme settings updated."] = "ÐаÑтройки темы обновленны.";
$a->strings["Site"] = "Сайт";
$a->strings["Users"] = "Пользователи";
$a->strings["Plugins"] = "Плагины";
-$a->strings["Themes"] = "";
-$a->strings["DB updates"] = "";
+$a->strings["Themes"] = "Темы";
+$a->strings["DB updates"] = "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных";
$a->strings["Logs"] = "Журналы";
-$a->strings["Admin"] = "ÐдминиÑтратор";
-$a->strings["Plugin Features"] = "";
-$a->strings["User registrations waiting for confirmation"] = "РегиÑтрации пользователей, ожидающие подтверждениÑ";
-$a->strings["Normal Account"] = "Обычный аккаунт";
-$a->strings["Soapbox Account"] = "Ðккаунт Витрина";
-$a->strings["Community/Celebrity Account"] = "Ðккаунт СообщеÑтво / ЗнаменитоÑÑ‚ÑŒ";
-$a->strings["Automatic Friend Account"] = "\"ÐвтоматичеÑкий друг\" Ðккаунт";
-$a->strings["Blog Account"] = "";
-$a->strings["Private Forum"] = "";
-$a->strings["Message queues"] = "";
+$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"] = "ЗарегиÑтрированные пользователи";
-$a->strings["Pending registrations"] = "Ожидающие региÑтрации";
-$a->strings["Version"] = "ВерÑиÑ";
+$a->strings["Registered users"] = "Ð’Ñего пользователeй";
+$a->strings["Pending registrations"] = "Ждут утверждениÑ";
+$a->strings["Version"] = "ВерÑÐ¸Ñ ÑиÑтемы";
$a->strings["Active plugins"] = "Ðктивные плагины";
-$a->strings["Site settings updated."] = "УÑтановки Ñайта обновлены.";
-$a->strings["Closed"] = "Закрыто";
-$a->strings["Requires approval"] = "ТребуетÑÑ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ðµ";
-$a->strings["Open"] = "Открыто";
+$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["No SSL policy, links will track page SSL state"] = "";
$a->strings["Force all links to use SSL"] = "ЗаÑтавить вÑе ÑÑылки иÑпользовать SSL";
-$a->strings["Self-signed certificate, use SSL for local links only (discouraged)"] = "";
-$a->strings["File upload"] = "Загрузка файлов";
-$a->strings["Policies"] = "Политики";
-$a->strings["Advanced"] = "РаÑширенный";
+$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["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["SSL link policy"] = "";
-$a->strings["Determines whether generated links should be forced to use SSL"] = "СÑылки должны быть вынуждены иÑпользовать SSL";
-$a->strings["Maximum image size"] = "МакÑимальный размер изображениÑ";
+$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["SSL link policy"] = "Правила SSL-ÑÑылки";
+$a->strings["Determines whether generated links should be forced to use SSL"] = "";
+$a->strings["Maximum image size"] = "МакÑимальный размер";
$a->strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "";
-$a->strings["Maximum image length"] = "";
-$a->strings["Maximum length in pixels of the longest side of uploaded images. Default is -1, which means no limits."] = "";
-$a->strings["JPEG image quality"] = "";
-$a->strings["Uploaded JPEGS will be saved at this quality setting [0-100]. Default is 100, which is full quality."] = "";
-$a->strings["Register policy"] = "Политика региÑтрациÑ";
+$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"] = "Ðккаунт ÑчитаетÑÑ Ð¿Ð¾Ñле x дней не воÑпользованным";
+$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["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["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["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["Force publish"] = "ЗаÑтавить публиковать";
$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "";
-$a->strings["Global directory update URL"] = "URL Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ каталога";
-$a->strings["URL to update the global directory. If this is not set, the global directory is completely unavailable to the application."] = "";
-$a->strings["Allow threaded items"] = "";
-$a->strings["Allow infinite level threading for items on this site."] = "";
-$a->strings["Private posts by default for new users"] = "";
-$a->strings["Set default post permissions for all new members to the default privacy group rather than public."] = "";
-$a->strings["Block multiple registrations"] = "Блокировать множеÑтвенные региÑтрации";
-$a->strings["Disallow users to register additional accounts for use as pages."] = "Запретить пользователÑм региÑтрировать дополнительные аккаунты Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² качеÑтве Ñтраниц.";
-$a->strings["OpenID support"] = "Поддержка OpenID";
-$a->strings["OpenID support for registration and logins."] = "";
-$a->strings["Fullname check"] = "Проверка полного имени";
-$a->strings["Force users to register with a space between firstname and lastname in Full name, as an antispam measure"] = "";
-$a->strings["UTF-8 Regular expressions"] = "UTF-8 регулÑрные выражениÑ";
-$a->strings["Use PHP UTF8 regular expressions"] = "";
-$a->strings["Show Community Page"] = "Показать Ñтраницу ÑообщеÑтва";
-$a->strings["Display a Community page showing all recent public postings on this site."] = "Показывать Ñтраницу ÑообщеÑтва Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ вÑех поÑледних публичных Ñообщений на Ñтом Ñайте.";
-$a->strings["Enable OStatus support"] = "Включить поддержку OStatus";
-$a->strings["Provide built-in OStatus (identi.ca, status.net, etc.) compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed."] = "";
-$a->strings["Enable Diaspora support"] = "Включить поддержку Diaspora";
-$a->strings["Provide built-in Diaspora network compatibility."] = "";
-$a->strings["Only allow Friendica contacts"] = "Позвольть только Friendica контакты";
-$a->strings["All contacts must use Friendica protocols. All other built-in communication protocols disabled."] = "Ð’Ñе контакты должны иÑпользовать только Friendica протоколы. Ð’Ñе другие вÑтроенные коммуникационные протоколы отключены.";
-$a->strings["Verify SSL"] = "Проверка SSL";
-$a->strings["If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites."] = "";
-$a->strings["Proxy user"] = "ПрокÑи пользователь";
-$a->strings["Proxy URL"] = "ПрокÑи URL";
-$a->strings["Network timeout"] = "Тайм-аут Ñети";
+$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["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["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."] = "";
@@ -848,9 +1070,8 @@ $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["This does not include updates prior to 1139, which did not return a status."] = "";
+$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(
@@ -859,1161 +1080,422 @@ $a->strings["%s user blocked/unblocked"] = array(
2 => "",
);
$a->strings["%s user deleted"] = array(
- 0 => "%s человек удален",
- 1 => "%s чел. удалено",
- 2 => "%s чел. удалено",
+ 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["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["Email"] = "Эл. почта";
-$a->strings["No registrations."] = "Ðет региÑтраций.";
-$a->strings["Deny"] = "Отклонить";
-$a->strings["Site admin"] = "";
+$a->strings["User registrations waiting for confirm"] = "РегиÑтрации пользователей ждут подтверждениÑ";
+$a->strings["Request date"] = "Дата запроÑа";
+$a->strings["No registrations."] = "Ðовых региÑтраций пока нет.";
+$a->strings["Approve"] = "Утвердить";
+$a->strings["Deny"] = "Запретить";
+$a->strings["Block"] = "Заблокировать";
+$a->strings["Unblock"] = "Разрешить";
$a->strings["Register date"] = "Дата региÑтрации";
$a->strings["Last login"] = "ПоÑледний вход";
-$a->strings["Last item"] = "ПоÑледний пункт";
-$a->strings["Account"] = "Ðккаунт";
-$a->strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Выбранные пользователи будут удалены!\\n\\nÐ’Ñе, что Ñти пользователи напиÑали на Ñтом Ñайте, будет удалено!\\n\\nÐ’Ñ‹ уверены в вашем дейÑтвии?";
-$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?"] = "Пользователь {0} будет удален!\\n\\nÐ’Ñе, что Ñтот пользователь напиÑал на Ñтом Ñайте, будет удалено!\\n\\nÐ’Ñ‹ уверены в вашем дейÑтвии?";
+$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["Disable"] = "Запретить";
+$a->strings["Enable"] = "Разрешить";
$a->strings["Toggle"] = "Переключить";
-$a->strings["Author: "] = "Ðвтор:";
-$a->strings["Maintainer: "] = "";
-$a->strings["No themes found."] = "";
+$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["[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 Friendica top-level directory."] = "";
-$a->strings["Log level"] = "Уровень лога";
-$a->strings["Close"] = "Закрыть";
-$a->strings["FTP Host"] = "FTP хоÑÑ‚";
-$a->strings["FTP Path"] = "Путь FTP";
-$a->strings["FTP User"] = "FTP пользователь";
-$a->strings["FTP Password"] = "FTP пароль";
-$a->strings["Requested profile is not available."] = "Запрашиваемый профиль недоÑтупен.";
-$a->strings["Access to this profile has been restricted."] = "ДоÑтуп к Ñтому профилю ограничен.";
-$a->strings["Tips for New Members"] = "Советы Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… учаÑтников";
-$a->strings["{0} wants to be your friend"] = "{0} хочет Ñтать Вашим другом";
-$a->strings["{0} sent you a message"] = "{0} отправил Вам Ñообщение";
-$a->strings["{0} requested registration"] = "{0} Ñ‚Ñ€ÐµÐ±ÑƒÐµÐ¼Ð°Ñ Ñ€ÐµÐ³Ð¸ÑтрациÑ";
-$a->strings["{0} commented %s's post"] = "{0} прокомментировал Ñообщение от %s";
-$a->strings["{0} liked %s's post"] = "{0} нравитÑÑ Ñообщение от %s";
-$a->strings["{0} disliked %s's post"] = "{0} не нравитÑÑ Ñообщение от %s";
-$a->strings["{0} is now friends with %s"] = "{0} теперь Ð´Ñ€ÑƒÐ·ÑŒÑ Ñ %s";
-$a->strings["{0} posted"] = "{0} опубликовано";
-$a->strings["{0} tagged %s's post with #%s"] = "{0} пометил Ñообщение %s Ñ #%s";
-$a->strings["{0} mentioned you in a post"] = "{0} упоменул Ð’Ð°Ñ Ð² Ñообщение";
-$a->strings["Contacts who are not members of a group"] = "";
-$a->strings["OpenID protocol error. No ID returned."] = "";
-$a->strings["Account not found and OpenID registration is not permitted on this site."] = "Ðккаунт не найден и OpenID региÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ допуÑкаетÑÑ Ð½Ð° Ñтом Ñайте.";
-$a->strings["Login failed."] = "Войти не удалоÑÑŒ.";
-$a->strings["Contact added"] = "";
-$a->strings["Common Friends"] = "Общие друзьÑ";
-$a->strings["No contacts in common."] = "";
-$a->strings["link"] = "";
-$a->strings["Item has been removed."] = "Пункт был удален.";
-$a->strings["Applications"] = "ПриложениÑ";
-$a->strings["No installed applications."] = "Ðет уÑтановленных приложений.";
-$a->strings["Search"] = "ПоиÑк";
+$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["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["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["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"] = "Ð’Ñе каналы";
+$a->strings["Show all connections"] = "ПроÑмотр вÑех каналов";
+$a->strings["Unblocked"] = "Разрешенные";
+$a->strings["Only show unblocked connections"] = "Показать только разрешенные каналы";
+$a->strings["Only show blocked connections"] = "Показать только заблокированные каналы";
+$a->strings["Only show ignored connections"] = "Показать только проигнорированные каналы";
+$a->strings["Only show archived connections"] = "Показать только архивированные каналы";
+$a->strings["Only show hidden connections"] = "Показать только Ñкрытые каналы";
+$a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+$a->strings["Edit contact"] = "Редактировать канал";
+$a->strings["Search your connections"] = "ПоиÑк каналов";
+$a->strings["Finding: "] = "ПоиÑк:";
+$a->strings["This site is not a directory server"] = "Этот Ñайт не ÑвлÑетÑÑ Ñервером каталога";
+$a->strings["Remote privacy information not available."] = "";
+$a->strings["Visible to:"] = "Кому видно:";
+$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["Profile not found."] = "Профиль не найден.";
-$a->strings["Profile Name is required."] = "Ðеобходимо Ð¸Ð¼Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ.";
-$a->strings["Marital Status"] = "";
-$a->strings["Romantic Partner"] = "";
-$a->strings["Likes"] = "";
-$a->strings["Dislikes"] = "";
-$a->strings["Work/Employment"] = "";
-$a->strings["Religion"] = "";
-$a->strings["Political Views"] = "";
-$a->strings["Gender"] = "";
-$a->strings["Sexual Preference"] = "";
-$a->strings["Homepage"] = "";
-$a->strings["Interests"] = "";
-$a->strings["Address"] = "";
-$a->strings["Location"] = "";
-$a->strings["Profile updated."] = "Профиль обновлен.";
-$a->strings[" and "] = "";
-$a->strings["public profile"] = "";
-$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "";
-$a->strings[" - Visit %1\$s's %2\$s"] = "";
-$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "";
$a->strings["Profile deleted."] = "Профиль удален.";
$a->strings["Profile-"] = "Профиль-";
$a->strings["New profile created."] = "Ðовый профиль Ñоздан.";
$a->strings["Profile unavailable to clone."] = "Профиль недоÑтупен Ð´Ð»Ñ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ.";
-$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Скрывать ваш ÑпиÑок контактов / друзей от поÑетителей Ñтого профилÑ?";
-$a->strings["Edit Profile Details"] = "Редактировать детали профилÑ";
-$a->strings["View this profile"] = "ПроÑмотреть Ñтот профиль";
-$a->strings["Create a new profile using these settings"] = "Создать новый профиль, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñти наÑтройки";
+$a->strings["Profile Name is required."] = "Ð˜Ð¼Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ÑÑ.";
+$a->strings["Marital Status"] = "Семейное положение";
+$a->strings["Romantic Partner"] = "РомантичеÑкий партнер";
+$a->strings["Likes"] = "мне нравитьÑÑ";
+$a->strings["Dislikes"] = "мне не-нравитьÑÑ";
+$a->strings["Work/Employment"] = "Работа / ЗанÑтоÑÑ‚ÑŒ";
+$a->strings["Religion"] = "РелигиÑ";
+$a->strings["Political Views"] = "ПолитичеÑкие взглÑды";
+$a->strings["Gender"] = "Пол";
+$a->strings["Sexual Preference"] = "СекÑÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ";
+$a->strings["Homepage"] = "ДомашнÑÑ Ñтраница";
+$a->strings["Interests"] = "ИнтереÑÑ‹";
+$a->strings["Address"] = "ÐдреÑ";
+$a->strings["Location"] = "МеÑто";
+$a->strings["Profile updated."] = "Профиль обновлен.";
+$a->strings["Hide your contact/friend list from viewers of this profile?"] = "";
+$a->strings["Edit Profile Details"] = "Редактирование профилÑ";
+$a->strings["View this profile"] = "ПоÑмотреть Ñтот профиль";
+$a->strings["Change Profile Photo"] = "Изменить фотографию профилÑ";
+$a->strings["Create a new profile using these settings"] = "";
$a->strings["Clone this profile"] = "Клонировать Ñтот профиль";
$a->strings["Delete this profile"] = "Удалить Ñтот профиль";
$a->strings["Profile Name:"] = "Ð˜Ð¼Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ:";
$a->strings["Your Full Name:"] = "Ваше полное имÑ:";
-$a->strings["Title/Description:"] = "Заголовок / ОпиÑание:";
+$a->strings["Title/Description:"] = "Ðазвание / ОпиÑание:";
$a->strings["Your Gender:"] = "Ваш пол:";
-$a->strings["Birthday (%s):"] = "День Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ (%s):";
-$a->strings["Street Address:"] = "ÐдреÑ:";
-$a->strings["Locality/City:"] = "Город / ÐаÑеленный пункт:";
+$a->strings["Birthday (%s):"] = "Ваш День Ð Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ (%s):";
+$a->strings["Street Address:"] = "Улица:";
+$a->strings["Locality/City:"] = "ÐаÑеленный пункт / город:";
$a->strings["Postal/Zip Code:"] = "Почтовый индекÑ:";
$a->strings["Country:"] = "Страна:";
-$a->strings["Region/State:"] = "Район / ОблаÑÑ‚ÑŒ:";
-$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Семейное положение:";
-$a->strings["Who: (if applicable)"] = "Кто: (еÑли требуетÑÑ)";
-$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Примеры: cathy123, КÑти УильÑмÑ, cathy@example.com";
-$a->strings["Since [date]:"] = "";
-$a->strings["Sexual Preference:"] = "СекÑуальные предпочтениÑ:";
-$a->strings["Homepage URL:"] = "ÐÐ´Ñ€ÐµÑ Ð´Ð¾Ð¼Ð°ÑˆÐ½ÐµÐ¹ Ñтранички:";
-$a->strings["Hometown:"] = "";
-$a->strings["Political Views:"] = "ПолитичеÑкие взглÑды:";
+$a->strings["Region/State:"] = "Регион / ОблаÑÑ‚ÑŒ:";
+$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "";
+$a->strings["Who: (if applicable)"] = "Кто: (еÑли Ñто применимо)";
+$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "";
+$a->strings["Since [date]:"] = "С тех пор [date]:";
+$a->strings["Homepage URL:"] = "URL-Ð°Ð´Ñ€ÐµÑ Ð´Ð¾Ð¼Ð°ÑˆÐ½ÐµÐ¹ Ñтраницы:";
$a->strings["Religious Views:"] = "Религиозные взглÑды:";
-$a->strings["Public Keywords:"] = "ОбщеÑтвенные ключевые Ñлова:";
-$a->strings["Private Keywords:"] = "Личные ключевые Ñлова:";
-$a->strings["Likes:"] = "";
-$a->strings["Dislikes:"] = "";
-$a->strings["Example: fishing photography software"] = "Пример: рыбалка фотографии программное обеÑпечение";
-$a->strings["(Used for suggesting potential friends, can be seen by others)"] = "(ИÑпользуетÑÑ Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‚ÐµÐ½Ñ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¼ друзьÑм, могут увидеть другие)";
-$a->strings["(Used for searching profiles, never shown to others)"] = "(ИÑпользуетÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка профилей, никогда не показываетÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ð¼)";
+$a->strings["Keywords:"] = "Ключевые Ñлова:";
+$a->strings["Example: fishing photography software"] = "Пример: fishing photography software";
+$a->strings["Used in directory listings"] = "";
$a->strings["Tell us about yourself..."] = "РаÑÑкажите нам о Ñебе ...";
-$a->strings["Hobbies/Interests"] = "Хобби / ИнтереÑÑ‹";
-$a->strings["Contact information and Social Networks"] = "ÐšÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ Ñоциальные Ñети";
+$a->strings["Hobbies/Interests"] = "Хобби / интереÑÑ‹";
+$a->strings["Contact information and Social Networks"] = "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ Ñоциальные Ñети канала";
+$a->strings["My other channels"] = "Мои другие каналы";
$a->strings["Musical interests"] = "Музыкальные интереÑÑ‹";
$a->strings["Books, literature"] = "Книги, литература";
$a->strings["Television"] = "Телевидение";
$a->strings["Film/dance/culture/entertainment"] = "Кино / танцы / культура / развлечениÑ";
-$a->strings["Love/romance"] = "Любовь / романтика";
-$a->strings["Work/employment"] = "Работа / занÑтоÑÑ‚ÑŒ";
+$a->strings["Love/romance"] = "Любовь / РоманÑ";
+$a->strings["Work/employment"] = "Работа / ЗанÑтоÑÑ‚ÑŒ";
$a->strings["School/education"] = "Школа / образование";
-$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Это ваш <strong>публичный</strong> профиль. <br /> Он <strong>может</strong> быть виден каждому, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð˜Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚.";
-$a->strings["Age: "] = "ВозраÑÑ‚: ";
-$a->strings["Edit/Manage Profiles"] = "Редактировать профиль";
-$a->strings["Change profile photo"] = "Изменить фото профилÑ";
+$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["Profile Image"] = "Изображение профилÑ";
+$a->strings["visible to everybody"] = "видно вÑем";
$a->strings["Edit visibility"] = "Редактировать видимоÑÑ‚ÑŒ";
-$a->strings["Save to Folder:"] = "Сохранить в папку:";
-$a->strings["- select -"] = "";
-$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s tagged %2\$s's %3\$s в %4\$s";
-$a->strings["No potential page delegates located."] = "";
-$a->strings["Delegate Page Management"] = "Делегировать управление Ñтраницей";
-$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "";
-$a->strings["Existing Page Managers"] = "СущеÑтвующие менеджеры Ñтраницы";
-$a->strings["Existing Page Delegates"] = "СущеÑтвующие уполномоченные Ñтраницы";
-$a->strings["Potential Delegates"] = "";
-$a->strings["Add"] = "Добавить";
-$a->strings["No entries."] = "Ðет запиÑей.";
-$a->strings["Source (bbcode) text:"] = "";
-$a->strings["Source (Diaspora) text to convert to BBcode:"] = "";
-$a->strings["Source input: "] = "";
-$a->strings["bb2html: "] = "";
-$a->strings["bb2html2bb: "] = "";
-$a->strings["bb2md: "] = "";
-$a->strings["bb2md2html: "] = "";
-$a->strings["bb2dia2bb: "] = "";
-$a->strings["bb2md2html2bb: "] = "";
-$a->strings["Source input (Diaspora format): "] = "";
-$a->strings["diaspora2bb: "] = "";
-$a->strings["Friend Suggestions"] = "ÐŸÑ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ·ÐµÐ¹";
-$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "";
-$a->strings["Ignore/Hide"] = "Проигнорировать/Скрыть";
-$a->strings["Global Directory"] = "Глобальный каталог";
-$a->strings["Find on this site"] = "Ðайти на Ñтом Ñайте";
-$a->strings["Site Directory"] = "Каталог Ñайта";
-$a->strings["Gender: "] = "Пол: ";
-$a->strings["Gender:"] = "Пол:";
-$a->strings["Status:"] = "СтатуÑ:";
-$a->strings["Homepage:"] = "ДомашнÑÑ Ñтраничка:";
-$a->strings["About:"] = "О Ñебе:";
-$a->strings["No entries (some entries may be hidden)."] = "Ðет запиÑей (некоторые запиÑи могут быть Ñкрыты).";
-$a->strings["%s : Not a valid email address."] = "%s: Ðеверный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты.";
-$a->strings["Please join us on Friendica"] = "";
-$a->strings["%s : Message delivery failed."] = "%s: ДоÑтавка ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ðµ удалаÑÑŒ.";
-$a->strings["%d message sent."] = array(
- 0 => "%d Ñообщение отправлено.",
- 1 => "%d Ñообщений отправлено.",
- 2 => "%d Ñообщений отправлено.",
-);
-$a->strings["You have no more invitations available"] = "У Ð²Ð°Ñ Ð½ÐµÑ‚ больше приглашений";
-$a->strings["Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks."] = "";
-$a->strings["To accept this invitation, please visit and register at %s or any other public Friendica website."] = "";
-$a->strings["Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join."] = "";
-$a->strings["Our apologies. This system is not currently configured to connect with other public sites or invite members."] = "";
-$a->strings["Send invitations"] = "Отправить приглашениÑ";
-$a->strings["Enter email addresses, one per line:"] = "Введите адреÑа Ñлектронной почты, по одному в Ñтроке:";
-$a->strings["You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web."] = "";
-$a->strings["You will need to supply this invitation code: \$invite_code"] = "Вам нужно будет предоÑтавить Ñтот код приглашениÑ: \$invite_code";
-$a->strings["Once you have registered, please connect with me via my profile page at:"] = "ПоÑле того как вы зарегиÑтрировалиÑÑŒ, пожалуйÑта, ÑвÑжитеÑÑŒ Ñо мной через мою Ñтраницу Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾ адреÑу:";
-$a->strings["For more information about the Friendica project and why we feel it is important, please visit http://friendica.com"] = "";
-$a->strings["This may occasionally happen if contact was requested by both persons and it has already been approved."] = "";
-$a->strings["Response from remote site was not understood."] = "Ответ от удаленного Ñайта не был понÑÑ‚.";
-$a->strings["Unexpected response from remote site: "] = "Ðеожиданный ответ от удаленного Ñайта: ";
-$a->strings["Confirmation completed successfully."] = "Подтверждение уÑпешно завершено.";
-$a->strings["Remote site reported: "] = "Удаленный Ñайт Ñообщил: ";
-$a->strings["Temporary failure. Please wait and try again."] = "Временные неудачи. Подождите и попробуйте еще раз.";
-$a->strings["Introduction failed or was revoked."] = "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡ÐµÐ½ или был отозван.";
-$a->strings["Unable to set contact photo."] = "Ðе удаетÑÑ ÑƒÑтановить фото контакта.";
-$a->strings["%1\$s is now friends with %2\$s"] = "%1\$s и %2\$s теперь друзьÑ";
-$a->strings["No user record found for '%s' "] = "Ðе найдено запиÑи Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ '%s' ";
-$a->strings["Our site encryption key is apparently messed up."] = "Ðаш ключ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñайта, по-видимому, перепуталÑÑ.";
-$a->strings["Empty site URL was provided or URL could not be decrypted by us."] = "Был предоÑтавлен пуÑтой URL Ñайта ​​или URL не может быть раÑшифрован нами.";
-$a->strings["Contact record was not found for you on our site."] = "ЗапиÑÑŒ контакта не найдена Ð´Ð»Ñ Ð²Ð°Ñ Ð½Ð° нашем Ñайте.";
-$a->strings["Site public key not available in contact record for URL %s."] = "";
-$a->strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = "ID, предложенный вашей ÑиÑтемой, ÑвлÑетÑÑ Ð´ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ‚Ð¾Ð¼ в нашей ÑиÑтеме. Он должен работать, еÑли вы повторите попытку.";
-$a->strings["Unable to set your contact credentials on our system."] = "Ðе удалоÑÑŒ уÑтановить ваши учетные данные контакта в нашей ÑиÑтеме.";
-$a->strings["Unable to update your contact profile details on our system"] = "Ðе удаетÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ ваши контактные детали Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð² нашей ÑиÑтеме";
-$a->strings["Connection accepted at %s"] = "Подключение принÑто в %s";
-$a->strings["%1\$s has joined %2\$s"] = "";
-$a->strings["Google+ Import Settings"] = "";
-$a->strings["Enable Google+ Import"] = "";
-$a->strings["Google Account ID"] = "";
-$a->strings["Google+ Import Settings saved."] = "";
-$a->strings["Facebook disabled"] = "Facebook отключен";
-$a->strings["Updating contacts"] = "Обновление контактов";
-$a->strings["Facebook API key is missing."] = "ОтÑутÑтвует ключ Facebook API.";
-$a->strings["Facebook Connect"] = "Facebook подключение";
-$a->strings["Install Facebook connector for this account."] = "УÑтановить Facebook Connector Ð´Ð»Ñ Ñтого аккаунта.";
-$a->strings["Remove Facebook connector"] = "Удалить Facebook Connector";
-$a->strings["Re-authenticate [This is necessary whenever your Facebook password is changed.]"] = "";
-$a->strings["Post to Facebook by default"] = "ОтправлÑÑ‚ÑŒ на Facebook по умолчанию";
-$a->strings["Facebook friend linking has been disabled on this site. The following settings will have no effect."] = "";
-$a->strings["Facebook friend linking has been disabled on this site. If you disable it, you will be unable to re-enable it."] = "";
-$a->strings["Link all your Facebook friends and conversations on this website"] = "";
-$a->strings["Facebook conversations consist of your <em>profile wall</em> and your friend <em>stream</em>."] = "";
-$a->strings["On this website, your Facebook friend stream is only visible to you."] = "";
-$a->strings["The following settings determine the privacy of your Facebook profile wall on this website."] = "";
-$a->strings["On this website your Facebook profile wall conversations will only be visible to you"] = "";
-$a->strings["Do not import your Facebook profile wall conversations"] = "Ðе импортировать Facebook разговоров Ñ Ð’Ð°ÑˆÐµÐ¹ Ñтраницы";
-$a->strings["If you choose to link conversations and leave both of these boxes unchecked, your Facebook profile wall will be merged with your profile wall on this website and your privacy settings on this website will be used to determine who may see the conversations."] = "";
-$a->strings["Comma separated applications to ignore"] = "Игнорировать Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ (ÑпиÑок через запÑтую)";
-$a->strings["Problems with Facebook Real-Time Updates"] = "";
-$a->strings["Facebook Connector Settings"] = "ÐаÑтройки Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Facebook";
-$a->strings["Facebook API Key"] = "Facebook API Key";
-$a->strings["Error: it appears that you have specified the App-ID and -Secret in your .htconfig.php file. As long as they are specified there, they cannot be set using this form.<br><br>"] = "";
-$a->strings["Error: the given API Key seems to be incorrect (the application access token could not be retrieved)."] = "";
-$a->strings["The given API Key seems to work correctly."] = "";
-$a->strings["The correctness of the API Key could not be detected. Something strange's going on."] = "";
-$a->strings["App-ID / API-Key"] = "App-ID / API-Key";
-$a->strings["Application secret"] = "Секрет приложениÑ";
-$a->strings["Polling Interval in minutes (minimum %1\$s minutes)"] = "";
-$a->strings["Synchronize comments (no comments on Facebook are missed, at the cost of increased system load)"] = "";
-$a->strings["Real-Time Updates"] = "";
-$a->strings["Real-Time Updates are activated."] = "";
-$a->strings["Deactivate Real-Time Updates"] = "Отключить Real-Time обновлениÑ";
-$a->strings["Real-Time Updates not activated."] = "";
-$a->strings["Activate Real-Time Updates"] = "Ðктивировать Real-Time обновлениÑ";
-$a->strings["The new values have been saved."] = "";
-$a->strings["Post to Facebook"] = "Отправить на Facebook";
-$a->strings["Post to Facebook cancelled because of multi-network access permission conflict."] = "Отправка на Facebook отменена из-за конфликта разрешений доÑтупа разных Ñетей.";
-$a->strings["View on Friendica"] = "";
-$a->strings["Facebook post failed. Queued for retry."] = "Ошибка отправки ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° Facebook. Ð’ очереди на еще одну попытку.";
-$a->strings["Your Facebook connection became invalid. Please Re-authenticate."] = "";
-$a->strings["Facebook connection became invalid"] = "Facebook подключение не удалоÑÑŒ";
-$a->strings["Hi %1\$s,\n\nThe connection between your accounts on %2\$s and Facebook became invalid. This usually happens after you change your Facebook-password. To enable the connection again, you have to %3\$sre-authenticate the Facebook-connector%4\$s."] = "";
-$a->strings["StatusNet AutoFollow settings updated."] = "";
-$a->strings["StatusNet AutoFollow Settings"] = "";
-$a->strings["Automatically follow any StatusNet followers/mentioners"] = "";
-$a->strings["Bg settings updated."] = "";
-$a->strings["Bg Settings"] = "";
-$a->strings["How many contacts to display on profile sidebar"] = "";
-$a->strings["Lifetime of the cache (in hours)"] = "";
-$a->strings["Cache Statistics"] = "";
-$a->strings["Number of items"] = "";
-$a->strings["Size of the cache"] = "";
-$a->strings["Delete the whole cache"] = "";
-$a->strings["Facebook Post disabled"] = "";
-$a->strings["Facebook Post"] = "";
-$a->strings["Install Facebook Post connector for this account."] = "";
-$a->strings["Remove Facebook Post connector"] = "";
-$a->strings["Facebook Post Settings"] = "";
-$a->strings["%d person likes this"] = array(
- 0 => "",
- 1 => "",
- 2 => "",
-);
-$a->strings["%d person doesn't like this"] = array(
- 0 => "",
- 1 => "",
- 2 => "",
-);
-$a->strings["Get added to this list!"] = "";
-$a->strings["Generate new key"] = "Сгенерировать новый ключ";
-$a->strings["Widgets key"] = "Ключ виджетов";
-$a->strings["Widgets available"] = "Виджеты доÑтупны";
-$a->strings["Connect on Friendica!"] = "Подключены к Friendica!";
-$a->strings["bitchslap"] = "";
-$a->strings["bitchslapped"] = "";
-$a->strings["shag"] = "";
-$a->strings["shagged"] = "";
-$a->strings["do something obscenely biological to"] = "";
-$a->strings["did something obscenely biological to"] = "";
-$a->strings["point out the poke feature to"] = "";
-$a->strings["pointed out the poke feature to"] = "";
-$a->strings["declare undying love for"] = "";
-$a->strings["declared undying love for"] = "";
-$a->strings["patent"] = "";
-$a->strings["patented"] = "";
-$a->strings["stroke beard"] = "";
-$a->strings["stroked their beard at"] = "";
-$a->strings["bemoan the declining standards of modern secondary and tertiary education to"] = "";
-$a->strings["bemoans the declining standards of modern secondary and tertiary education to"] = "";
-$a->strings["hug"] = "";
-$a->strings["hugged"] = "";
-$a->strings["kiss"] = "";
-$a->strings["kissed"] = "";
-$a->strings["raise eyebrows at"] = "";
-$a->strings["raised their eyebrows at"] = "";
-$a->strings["insult"] = "";
-$a->strings["insulted"] = "";
-$a->strings["praise"] = "";
-$a->strings["praised"] = "";
-$a->strings["be dubious of"] = "";
-$a->strings["was dubious of"] = "";
-$a->strings["eat"] = "";
-$a->strings["ate"] = "";
-$a->strings["giggle and fawn at"] = "";
-$a->strings["giggled and fawned at"] = "";
-$a->strings["doubt"] = "";
-$a->strings["doubted"] = "";
-$a->strings["glare"] = "";
-$a->strings["glared at"] = "";
-$a->strings["YourLS Settings"] = "";
-$a->strings["URL: http://"] = "URL: http://";
-$a->strings["Username:"] = "ИмÑ:";
-$a->strings["Password:"] = "Пароль:";
-$a->strings["Use SSL "] = "ИÑпользовать SSL";
-$a->strings["yourls Settings saved."] = "ÐаÑтройки Ñохранены.";
-$a->strings["Post to LiveJournal"] = "";
-$a->strings["LiveJournal Post Settings"] = "";
-$a->strings["Enable LiveJournal Post Plugin"] = "Включить LiveJournal плагин Ñообщений";
-$a->strings["LiveJournal username"] = "";
-$a->strings["LiveJournal password"] = "";
-$a->strings["Post to LiveJournal by default"] = "";
-$a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "";
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW. This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";
-$a->strings["Enable Content filter"] = "Включить фильтр Ñодержимого";
-$a->strings["Comma separated list of keywords to hide"] = "ключевые Ñлова, которые Ñкрыть (ÑпиÑок через запÑтую)";
-$a->strings["Use /expression/ to provide regular expressions"] = "";
-$a->strings["NSFW Settings saved."] = "NSFW ÐаÑтройки Ñохранены.";
-$a->strings["%s - Click to open/close"] = "%s - Ðажмите Ð´Ð»Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ / закрытиÑ";
-$a->strings["Forums"] = "Форумы";
-$a->strings["Forums:"] = "";
-$a->strings["Page settings updated."] = "";
-$a->strings["Page Settings"] = "";
-$a->strings["How many forums to display on sidebar without paging"] = "";
-$a->strings["Randomise Page/Forum list"] = "";
-$a->strings["Show pages/forums on profile page"] = "";
-$a->strings["Planets Settings"] = "";
-$a->strings["Enable Planets Plugin"] = "";
-$a->strings["Login"] = "Вход";
-$a->strings["OpenID"] = "OpenID";
-$a->strings["Latest users"] = "";
-$a->strings["Most active users"] = "Самые активные пользователи";
-$a->strings["Latest photos"] = "";
-$a->strings["Latest likes"] = "";
-$a->strings["event"] = "мероприÑтие";
-$a->strings["No access"] = "";
-$a->strings["Could not open component for editing"] = "";
-$a->strings["Go back to the calendar"] = "";
-$a->strings["Event data"] = "";
-$a->strings["Calendar"] = "";
-$a->strings["Special color"] = "";
-$a->strings["Subject"] = "";
-$a->strings["Starts"] = "";
-$a->strings["Ends"] = "";
-$a->strings["Description"] = "";
-$a->strings["Recurrence"] = "";
-$a->strings["Frequency"] = "";
-$a->strings["Daily"] = "Ежедневно";
-$a->strings["Weekly"] = "Еженедельно";
-$a->strings["Monthly"] = "ЕжемеÑÑчно";
-$a->strings["Yearly"] = "";
-$a->strings["days"] = "дней";
-$a->strings["weeks"] = "недель";
-$a->strings["months"] = "меÑ.";
-$a->strings["years"] = "лет";
-$a->strings["Interval"] = "";
-$a->strings["All %select% %time%"] = "";
-$a->strings["Days"] = "";
-$a->strings["Sunday"] = "ВоÑкреÑенье";
-$a->strings["Monday"] = "Понедельник";
-$a->strings["Tuesday"] = "Вторник";
-$a->strings["Wednesday"] = "Среда";
-$a->strings["Thursday"] = "Четверг";
-$a->strings["Friday"] = "ПÑтница";
-$a->strings["Saturday"] = "Суббота";
-$a->strings["First day of week:"] = "";
-$a->strings["Day of month"] = "";
-$a->strings["#num#th of each month"] = "";
-$a->strings["#num#th-last of each month"] = "";
-$a->strings["#num#th #wkday# of each month"] = "";
-$a->strings["#num#th-last #wkday# of each month"] = "";
-$a->strings["Month"] = "";
-$a->strings["#num#th of the given month"] = "";
-$a->strings["#num#th-last of the given month"] = "";
-$a->strings["#num#th #wkday# of the given month"] = "";
-$a->strings["#num#th-last #wkday# of the given month"] = "";
-$a->strings["Repeat until"] = "";
-$a->strings["Infinite"] = "";
-$a->strings["Until the following date"] = "";
-$a->strings["Number of times"] = "";
-$a->strings["Exceptions"] = "";
-$a->strings["none"] = "";
-$a->strings["Notification"] = "";
-$a->strings["Notify by"] = "";
-$a->strings["E-Mail"] = "";
-$a->strings["On Friendica / Display"] = "";
-$a->strings["Time"] = "";
-$a->strings["Hours"] = "";
-$a->strings["Minutes"] = "";
-$a->strings["Seconds"] = "";
-$a->strings["Weeks"] = "";
-$a->strings["before the"] = "";
-$a->strings["start of the event"] = "";
-$a->strings["end of the event"] = "";
-$a->strings["Add a notification"] = "";
-$a->strings["The event #name# will start at #date"] = "";
-$a->strings["#name# is about to begin."] = "";
-$a->strings["Saved"] = "";
-$a->strings["U.S. Time Format (mm/dd/YYYY)"] = "";
-$a->strings["German Time Format (dd.mm.YYYY)"] = "";
-$a->strings["Private Events"] = "";
-$a->strings["Private Addressbooks"] = "";
-$a->strings["Friendica-Native events"] = "";
-$a->strings["Friendica-Contacts"] = "";
-$a->strings["Your Friendica-Contacts"] = "";
-$a->strings["Something went wrong when trying to import the file. Sorry. Maybe some events were imported anyway."] = "";
-$a->strings["Something went wrong when trying to import the file. Sorry."] = "";
-$a->strings["The ICS-File has been imported."] = "";
-$a->strings["No file was uploaded."] = "";
-$a->strings["Import a ICS-file"] = "";
-$a->strings["ICS-File"] = "";
-$a->strings["Overwrite all #num# existing events"] = "";
-$a->strings["New event"] = "";
-$a->strings["Today"] = "";
-$a->strings["Day"] = "";
-$a->strings["Week"] = "";
-$a->strings["Reload"] = "";
-$a->strings["Date"] = "";
-$a->strings["Error"] = "";
-$a->strings["The calendar has been updated."] = "";
-$a->strings["The new calendar has been created."] = "";
-$a->strings["The calendar has been deleted."] = "";
-$a->strings["Calendar Settings"] = "";
-$a->strings["Date format"] = "";
-$a->strings["Time zone"] = "";
-$a->strings["Calendars"] = "";
-$a->strings["Create a new calendar"] = "";
-$a->strings["Limitations"] = "";
-$a->strings["Warning"] = "";
-$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "";
-$a->strings["Synchronizing this calendar with the iPhone"] = "";
-$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "";
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
-$a->strings["Extended calendar with CalDAV-support"] = "";
-$a->strings["noreply"] = "без ответа";
-$a->strings["Notification: "] = "";
-$a->strings["The database tables have been installed."] = "";
-$a->strings["An error occurred during the installation."] = "";
-$a->strings["The database tables have been updated."] = "";
-$a->strings["An error occurred during the update."] = "";
-$a->strings["No system-wide settings yet."] = "";
-$a->strings["Database status"] = "";
-$a->strings["Installed"] = "";
-$a->strings["Upgrade needed"] = "";
-$a->strings["Please back up all calendar data (the tables beginning with dav_*) before proceeding. While all calendar events <i>should</i> be converted to the new database structure, it's always safe to have a backup. Below, you can have a look at the database-queries that will be made when pressing the 'update'-button."] = "";
-$a->strings["Upgrade"] = "";
-$a->strings["Not installed"] = "";
-$a->strings["Install"] = "";
-$a->strings["Unknown"] = "";
-$a->strings["Something really went wrong. I cannot recover from this state automatically, sorry. Please go to the database backend, back up the data, and delete all tables beginning with 'dav_' manually. Afterwards, this installation routine should be able to reinitialize the tables automatically."] = "";
-$a->strings["Troubleshooting"] = "";
-$a->strings["Manual creation of the database tables:"] = "";
-$a->strings["Show SQL-statements"] = "";
-$a->strings["Private Calendar"] = "";
-$a->strings["Friendica Events: Mine"] = "";
-$a->strings["Friendica Events: Contacts"] = "";
-$a->strings["Private Addresses"] = "";
-$a->strings["Friendica Contacts"] = "";
-$a->strings["Allow to use your friendica id (%s) to connecto to external unhosted-enabled storage (like ownCloud). See <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>"] = "";
-$a->strings["Template URL (with {category})"] = "";
-$a->strings["OAuth end-point"] = "";
-$a->strings["Api"] = "Api";
-$a->strings["Member since:"] = "ЗарегиÑтрирован Ñ:";
-$a->strings["Three Dimensional Tic-Tac-Toe"] = "Трехмерные креÑтики-нолики";
-$a->strings["3D Tic-Tac-Toe"] = "3D Tic-Tac-Toe";
-$a->strings["New game"] = "ÐÐ¾Ð²Ð°Ñ Ð¸Ð³Ñ€Ð°";
-$a->strings["New game with handicap"] = "ÐÐ¾Ð²Ð°Ñ Ð¸Ð³Ñ€Ð° Ñ Ð³Ð°Ð½Ð´Ð¸ÐºÐ°Ð¿Ð¾Ð¼";
-$a->strings["Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "] = "Ð¢Ñ€ÐµÑ…Ð¼ÐµÑ€Ð½Ð°Ñ Ð¸Ð³Ñ€Ð° в креÑтики-нолики точно Ñ‚Ð°ÐºÐ°Ñ Ð¶Ðµ, как Ñ‚Ñ€Ð°Ð´Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ð¸Ð³Ñ€Ð°, за иÑключением того, что она играетÑÑ Ð½Ð° неÑкольких уровнÑÑ… одновременно.";
-$a->strings["In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."] = "Ð’ Ñтом Ñлучае ÑущеÑтвуют три уровнÑ. Ð’Ñ‹ выиграете, поÑтавив три в Ñ€Ñд на любом уровне, а также вверх, вниз и по диагонали на разных уровнÑÑ….";
-$a->strings["The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."] = "Игра Ñ Ð³Ð°Ð½Ð´Ð¸ÐºÐ°Ð¿Ð¾Ð¼ отключает центральное положение на Ñреднем уровне, потому что игрок, занимающий Ñту площадь, чаÑто имеет неÑправедливое преимущеÑтво.";
-$a->strings["You go first..."] = "Вы хотите первым...";
-$a->strings["I'm going first this time..."] = "Я буду первым на Ñтот раз...";
-$a->strings["You won!"] = "Вы выиграли!";
-$a->strings["\"Cat\" game!"] = "Игра \"Кошка\"!";
-$a->strings["I won!"] = "Я выиграл!";
-$a->strings["Randplace Settings"] = "ÐаÑтройки Случайного меÑта";
-$a->strings["Enable Randplace Plugin"] = "Включить Randplace плагин";
-$a->strings["Post to Dreamwidth"] = "";
-$a->strings["Dreamwidth Post Settings"] = "Dreamwidth наÑтройки Ñообщений";
-$a->strings["Enable dreamwidth Post Plugin"] = "Включить dreamwidth плагин Ñообщений";
-$a->strings["dreamwidth username"] = "dreamwidth Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ";
-$a->strings["dreamwidth password"] = "dreamwidth пароль";
-$a->strings["Post to dreamwidth by default"] = "";
-$a->strings["Post to Drupal"] = "";
-$a->strings["Drupal Post Settings"] = "";
-$a->strings["Enable Drupal Post Plugin"] = "Включить Drupal плагин Ñообщений";
-$a->strings["Drupal username"] = "Drupal Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ";
-$a->strings["Drupal password"] = "Drupal пароль";
-$a->strings["Post Type - article,page,or blog"] = "";
-$a->strings["Drupal site URL"] = "Drupal site URL";
-$a->strings["Drupal site uses clean URLS"] = "";
-$a->strings["Post to Drupal by default"] = "";
-$a->strings["Post from Friendica"] = "Сообщение от Friendica";
-$a->strings["Startpage Settings"] = "";
-$a->strings["Home page to load after login - leave blank for profile wall"] = "";
-$a->strings["Examples: &quot;network&quot; or &quot;notifications/system&quot;"] = "";
-$a->strings["Geonames settings updated."] = "";
-$a->strings["Geonames Settings"] = "";
-$a->strings["Enable Geonames Plugin"] = "Включить Geonames плагин";
-$a->strings["Your account on %s will expire in a few days."] = "";
-$a->strings["Your Friendica account is about to expire."] = "";
-$a->strings["Hi %1\$s,\n\nYour account on %2\$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"] = "";
-$a->strings["Upload a file"] = "Загрузить файл";
-$a->strings["Drop files here to upload"] = "Перетащите файлы Ñюда Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸";
-$a->strings["Failed"] = "Ошибка";
-$a->strings["No files were uploaded."] = "Ðет загруженных файлов.";
-$a->strings["Uploaded file is empty"] = "Загруженный файл пуÑтой";
-$a->strings["File has an invalid extension, it should be one of "] = "Файл имеет недопуÑтимое раÑширение, оно должно быть одним из Ñледующих ";
-$a->strings["Upload was cancelled, or server error encountered"] = "Загрузка была отменена, или произошла ошибка Ñервера";
-$a->strings["OEmbed settings updated"] = "OEmbed наÑтройки обновлены";
-$a->strings["Use OEmbed for YouTube videos"] = "ИÑпользовать OEmbed Ð´Ð»Ñ Ð²Ð¸Ð´ÐµÐ¾ YouTube";
-$a->strings["URL to embed:"] = "URL Ð´Ð»Ñ Ð²ÑтраиваниÑ:";
-$a->strings["show/hide"] = "";
-$a->strings["No forum subscriptions"] = "";
-$a->strings["Forumlist settings updated."] = "";
-$a->strings["Forumlist Settings"] = "";
-$a->strings["Randomise forum list"] = "";
-$a->strings["Show forums on profile page"] = "";
-$a->strings["Impressum"] = "Impressum";
-$a->strings["Site Owner"] = "Владелец Ñайта";
+$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["Create"] = "Создать";
+$a->strings["No valid account found."] = "ДейÑтвительный аккаунт не найден.";
+$a->strings["Password reset request issued. Check your email."] = "";
+$a->strings["Site Member (%s)"] = "УчаÑтник Ñайта (%s)";
+$a->strings["Password reset requested at %s"] = "ТребуетÑÑ ÑÐ±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ð° %s";
+$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "";
+$a->strings["Password Reset"] = "СброÑить пароль";
+$a->strings["Your password has been reset as requested."] = "";
+$a->strings["Your new password is"] = "Ваш новый пароль";
+$a->strings["Save or copy your new password - and then"] = "";
+$a->strings["click here to login"] = "нажмите здеÑÑŒ чтобы выйти";
+$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "";
+$a->strings["Your password has changed at %s"] = "Пароль изменен на %s";
+$a->strings["Forgot your Password?"] = "Забыли пароль или логин?";
+$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "";
$a->strings["Email Address"] = "ÐÐ´Ñ€ÐµÑ Ñлектронной почты";
-$a->strings["Postal Address"] = "Почтовый адреÑ";
-$a->strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = "РаÑширение Impressum должно быть наÑтроено!<br /> ПожалуйÑта, добавьте по крайней мере переменную <tt>владельца</tt> в ваш конфигурационный файл. ОпиÑание других переменных можно найти в файле README Ð´Ð»Ñ Ñ€Ð°ÑширениÑ.";
-$a->strings["The page operators name."] = "";
-$a->strings["Site Owners Profile"] = "Профиль владельцев Ñайта";
-$a->strings["Profile address of the operator."] = "";
-$a->strings["How to contact the operator via snail mail. You can use BBCode here."] = "";
-$a->strings["Notes"] = "Заметки";
-$a->strings["Additional notes that are displayed beneath the contact information. You can use BBCode here."] = "";
-$a->strings["How to contact the operator via email. (will be displayed obfuscated)"] = "";
-$a->strings["Footer note"] = "";
-$a->strings["Text for the footer. You can use BBCode here."] = "";
-$a->strings["Report Bug"] = "Сообщить об ошибке";
-$a->strings["No Timeline settings updated."] = "";
-$a->strings["No Timeline Settings"] = "";
-$a->strings["Disable Archive selector on profile wall"] = "";
-$a->strings["\"Blockem\" Settings"] = "\"Blockem\" наÑтройки";
-$a->strings["Comma separated profile URLS to block"] = "URLS, которые заблокировать (ÑпиÑок через запÑтую)";
-$a->strings["BLOCKEM Settings saved."] = "BLOCKEM-ÐаÑтройки Ñохранены.";
-$a->strings["Blocked %s - Click to open/close"] = "Заблокированные %s - Ðажмите, чтобы открыть/закрыть";
-$a->strings["Unblock Author"] = "";
-$a->strings["Block Author"] = "Блокировать Ðвтора";
-$a->strings["blockem settings updated"] = "\"Blockem\" наÑтройки обновлены";
-$a->strings[":-)"] = ":-)";
-$a->strings[":-("] = ":-(";
-$a->strings["lol"] = "lol";
-$a->strings["Quick Comment Settings"] = "";
-$a->strings["Quick comments are found near comment boxes, sometimes hidden. Click them to provide simple replies."] = "";
-$a->strings["Enter quick comments, one per line"] = "Введите короткие комментарии, по одному в Ñтроке:";
-$a->strings["Quick Comment settings saved."] = "";
-$a->strings["Tile Server URL"] = "";
-$a->strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "СпиÑок <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">общедоÑтупных Ñерверов</a>";
-$a->strings["Default zoom"] = "zoom по умолчанию";
-$a->strings["The default zoom level. (1:world, 18:highest)"] = "";
-$a->strings["Editplain settings updated."] = "Editplain наÑтройки обновлены.";
-$a->strings["Group Text"] = "";
-$a->strings["Use a text only (non-image) group selector in the \"group edit\" menu"] = "";
-$a->strings["Could NOT install Libravatar successfully.<br>It requires PHP >= 5.3"] = "";
-$a->strings["generic profile image"] = "";
-$a->strings["random geometric pattern"] = "";
-$a->strings["monster face"] = "";
-$a->strings["computer generated face"] = "";
-$a->strings["retro arcade style face"] = "";
-$a->strings["Your PHP version %s is lower than the required PHP >= 5.3."] = "";
-$a->strings["This addon is not functional on your server."] = "";
-$a->strings["Information"] = "";
-$a->strings["Gravatar addon is installed. Please disable the Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if nothing was found at Libravatar."] = "";
-$a->strings["Default avatar image"] = "";
-$a->strings["Select default avatar image if none was found. See README"] = "";
-$a->strings["Libravatar settings updated."] = "";
-$a->strings["Post to libertree"] = "";
-$a->strings["libertree Post Settings"] = "";
-$a->strings["Enable Libertree Post Plugin"] = "";
-$a->strings["Libertree API token"] = "";
-$a->strings["Libertree site URL"] = "";
-$a->strings["Post to Libertree by default"] = "";
-$a->strings["Altpager settings updated."] = "";
-$a->strings["Alternate Pagination Setting"] = "";
-$a->strings["Use links to \"newer\" and \"older\" pages in place of page numbers?"] = "";
-$a->strings["The MathJax addon renders mathematical formulae written using the LaTeX syntax surrounded by the usual $$ or an eqnarray block in the postings of your wall,network tab and private mail."] = "";
-$a->strings["Use the MathJax renderer"] = "";
-$a->strings["MathJax Base URL"] = "";
-$a->strings["The URL for the javascript file that should be included to use MathJax. Can be either the MathJax CDN or another installation of MathJax."] = "";
-$a->strings["Editplain Settings"] = "Editplain наÑтройки";
-$a->strings["Disable richtext status editor"] = "Отключить richtext status editor";
-$a->strings["Libravatar addon is installed, too. Please disable Libravatar addon or this Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if nothing was found at Libravatar."] = "";
-$a->strings["Select default avatar image if none was found at Gravatar. See README"] = "";
-$a->strings["Rating of images"] = "";
-$a->strings["Select the appropriate avatar rating for your site. See README"] = "";
-$a->strings["Gravatar settings updated."] = "";
-$a->strings["Your Friendica test account is about to expire."] = "";
-$a->strings["Hi %1\$s,\n\nYour test account on %2\$s will expire in less than five days. We hope you enjoyed this test drive and use this opportunity to find a permanent Friendica website for your integrated social communications. A list of public sites is available at http://dir.friendica.com/siteinfo - and for more information on setting up your own Friendica server please see the Friendica project website at http://friendica.com."] = "";
-$a->strings["\"pageheader\" Settings"] = "";
-$a->strings["pageheader Settings saved."] = "";
-$a->strings["Post to Insanejournal"] = "";
-$a->strings["InsaneJournal Post Settings"] = "";
-$a->strings["Enable InsaneJournal Post Plugin"] = "Включить InsaneJournal плагин Ñообщений";
-$a->strings["InsaneJournal username"] = "";
-$a->strings["InsaneJournal password"] = "";
-$a->strings["Post to InsaneJournal by default"] = "";
-$a->strings["Jappix Mini addon settings"] = "";
-$a->strings["Activate addon"] = "";
-$a->strings["Do <em>not</em> insert the Jappixmini Chat-Widget into the webinterface"] = "";
-$a->strings["Jabber username"] = "";
-$a->strings["Jabber server"] = "";
-$a->strings["Jabber BOSH host"] = "";
-$a->strings["Jabber password"] = "";
-$a->strings["Encrypt Jabber password with Friendica password (recommended)"] = "";
-$a->strings["Friendica password"] = "";
-$a->strings["Approve subscription requests from Friendica contacts automatically"] = "";
-$a->strings["Subscribe to Friendica contacts automatically"] = "";
-$a->strings["Purge internal list of jabber addresses of contacts"] = "";
-$a->strings["Add contact"] = "";
-$a->strings["View Source"] = "ПроÑмотр HTML-кода";
-$a->strings["Post to StatusNet"] = "Отправить на StatusNet";
-$a->strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "ПожалуйÑта, обратитеÑÑŒ к админиÑтратору Ñайта. <br /> Предложенный URL API недейÑтвителен.";
-$a->strings["We could not contact the StatusNet API with the Path you entered."] = "Мы не Ñмогли ÑвÑзатьÑÑ Ñ API StatusNet Ñ Ð¼Ð°Ñ€ÑˆÑ€ÑƒÑ‚Ð¾Ð¼, который вы ввели.";
-$a->strings["StatusNet settings updated."] = "ÐаÑтройки StatusNet обновлены.";
-$a->strings["StatusNet Posting Settings"] = "ÐаÑтройка отправки Ñообщений на StatusNet";
-$a->strings["Globally Available StatusNet OAuthKeys"] = "Глобально доÑтупные StatusNet OAuthKeys";
-$a->strings["There are preconfigured OAuth key pairs for some StatusNet servers available. If you are useing one of them, please use these credentials. If not feel free to connect to any other StatusNet instance (see below)."] = "ДоÑтупны предварительно Ñконфигурированные OAuth пары ключей Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñерверов StatusNet. ЕÑли вы иÑпользуете один из них, пожалуйÑта, иÑпользуйте Ñти учетные данные. ЕÑли нет, не ÑтеÑнÑйтеÑÑŒ подключитьÑÑ Ðº любому другому ÑкземплÑру StatusNet (Ñм. ниже).";
-$a->strings["Provide your own OAuth Credentials"] = "Укажите Ñвои ÑобÑтвенные Ð¿Ð¾Ð»Ð½Ð¾Ð¼Ð¾Ñ‡Ð¸Ñ OAuth";
-$a->strings["No consumer key pair for StatusNet found. Register your Friendica Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendica installation at your favorited StatusNet installation."] = "";
-$a->strings["OAuth Consumer Key"] = "OAuth Consumer Key";
-$a->strings["OAuth Consumer Secret"] = "OAuth Consumer Secret";
-$a->strings["Base API Path (remember the trailing /)"] = "Путь базы API (помните о Ñлеше /)";
-$a->strings["To connect to your StatusNet account click the button below to get a security code from StatusNet which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to StatusNet."] = "Чтобы подключитьÑÑ Ðº StatusNet аккаунту, нажмите на кнопку ниже, чтобы получить код безопаÑноÑти от StatusNet, который нужно Ñкопировать в поле ввода ниже, и отправить форму. Только ваши <strong>публичные ÑообщениÑ</strong> будут отправлÑÑ‚ÑŒÑÑ Ð½Ð° StatusNet.";
-$a->strings["Log in with StatusNet"] = "Войдите Ñо StatusNet";
-$a->strings["Copy the security code from StatusNet here"] = "Скопируйте код безопаÑноÑти от StatusNet здеÑÑŒ";
-$a->strings["Cancel Connection Process"] = "Отмена процеÑÑа подключениÑ";
-$a->strings["Current StatusNet API is"] = "Текущим StatusNet API ÑвлÑетÑÑ";
-$a->strings["Cancel StatusNet Connection"] = "Отмена StatusNet подключениÑ";
-$a->strings["Currently connected to: "] = "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ñоединены Ñ: ";
-$a->strings["If enabled all your <strong>public</strong> postings can be posted to the associated StatusNet account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "ЕÑли включено, то вÑе ваши <strong>общеÑтвенные ÑообщениÑ</strong> могут быть отправлены на ÑоответÑтвующий аккаунт StatusNet. Ð’Ñ‹ можете Ñделать Ñто по умолчанию (здеÑÑŒ) или Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð¾ при напиÑании запиÑи.";
-$a->strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to StatusNet will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "";
-$a->strings["Allow posting to StatusNet"] = "Разрешить отправку на StatusNet";
-$a->strings["Send public postings to StatusNet by default"] = "ОтправлÑÑ‚ÑŒ публичные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° StatusNet по умолчанию";
-$a->strings["Send linked #-tags and @-names to StatusNet"] = "";
-$a->strings["Clear OAuth configuration"] = "ОчиÑтить конфигурацию OAuth";
-$a->strings["API URL"] = "API URL";
-$a->strings["Infinite Improbability Drive"] = "";
-$a->strings["Post to Tumblr"] = "ÐапиÑать в Tumblr";
-$a->strings["Tumblr Post Settings"] = "Tumblr ÐаÑтройки ÑообщениÑ";
-$a->strings["Enable Tumblr Post Plugin"] = "Включить Tumblr плагин Ñообщений";
-$a->strings["Tumblr login"] = "Tumblr вход";
-$a->strings["Tumblr password"] = "Tumblr пароль";
-$a->strings["Post to Tumblr by default"] = "Сообщение Tumblr по умолчанию";
-$a->strings["Numfriends settings updated."] = "";
-$a->strings["Numfriends Settings"] = "";
-$a->strings["Gnot settings updated."] = "";
-$a->strings["Gnot Settings"] = "";
-$a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "";
-$a->strings["Enable this plugin/addon?"] = "Включить Ñтот плагин / аддон?";
-$a->strings["[Friendica:Notify] Comment to conversation #%d"] = "";
-$a->strings["Post to Wordpress"] = "Сообщение Ð´Ð»Ñ Wordpress";
-$a->strings["WordPress Post Settings"] = "ÐаÑтройки Ñообщений Ð´Ð»Ñ Wordpress";
-$a->strings["Enable WordPress Post Plugin"] = "Включить WordPress плагин Ñообщений";
-$a->strings["WordPress username"] = "WordPress Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ";
-$a->strings["WordPress password"] = "WordPress паролъ";
-$a->strings["WordPress API URL"] = "WordPress API URL";
-$a->strings["Post to WordPress by default"] = "Сообщение WordPress по умолчанию";
-$a->strings["Provide a backlink to the Friendica post"] = "";
-$a->strings["Read the original post and comment stream on Friendica"] = "";
-$a->strings["\"Show more\" Settings"] = "";
-$a->strings["Enable Show More"] = "Включить Показать больше";
-$a->strings["Cutting posts after how much characters"] = "Обрезание ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñле Ð¿Ñ€ÐµÐ²Ñ‹Ð²ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñла Ñимволов";
-$a->strings["Show More Settings saved."] = "";
-$a->strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "Этот веб-Ñайт отÑлеживаетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ <a href='http://www.piwik.org'> Piwik </ a> инÑтрумент аналитики.";
-$a->strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "ЕÑли вы не хотите, чтобы ваши поÑÐµÑ‰ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸ÑывалиÑÑŒ таким образом, вы <a href='%s'> можете уÑтановить куки Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Piwik от дальнейших поÑещений Ñайта </a> (opt-out).";
-$a->strings["Piwik Base URL"] = "Piwik оÑновной URL";
-$a->strings["Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)"] = "";
-$a->strings["Site ID"] = "ID Ñайта";
-$a->strings["Show opt-out cookie link?"] = "Показать ÑÑылку opt-out cookie?";
-$a->strings["Asynchronous tracking"] = "ÐÑинхронное отÑлеживание";
-$a->strings["Post to Twitter"] = "Отправить в Твиттер";
-$a->strings["Twitter settings updated."] = "ÐаÑтройки Твиттера обновлены.";
-$a->strings["Twitter Posting Settings"] = "ÐаÑтройка отправки Ñообщений в Твиттер";
-$a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Ðе найдено пары потребительÑких ключей Ð´Ð»Ñ Ð¢Ð²Ð¸Ñ‚Ñ‚ÐµÑ€Ð°. ПожалуйÑта, обратитеÑÑŒ к админиÑтратору Ñайта.";
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "";
-$a->strings["Log in with Twitter"] = "Войдите Ñ Ð¢Ð²Ð¸Ñ‚Ñ‚ÐµÑ€Ð¾Ð¼";
-$a->strings["Copy the PIN from Twitter here"] = "Скопируйте PIN Ñ Twitter здеÑÑŒ";
-$a->strings["If enabled all your <strong>public</strong> postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "ЕÑли включено, то вÑе ваши <strong>общеÑтвенные ÑообщениÑ</strong> могут быть отправлены на ÑвÑзанный аккаунт Твиттер. Ð’Ñ‹ можете Ñделать Ñто по умолчанию (здеÑÑŒ) или Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð¾ при напиÑании запиÑи.";
-$a->strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "";
-$a->strings["Allow posting to Twitter"] = "Разрешить отправку Ñообщений на Twitter";
-$a->strings["Send public postings to Twitter by default"] = "ОтправлÑÑ‚ÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ñех на Твиттер по умолчанию";
-$a->strings["Send linked #-tags and @-names to Twitter"] = "";
-$a->strings["Consumer key"] = "Consumer key";
-$a->strings["Consumer secret"] = "Consumer secret";
-$a->strings["IRC Settings"] = "";
-$a->strings["Channel(s) to auto connect (comma separated)"] = "";
-$a->strings["Popular Channels (comma separated)"] = "";
-$a->strings["IRC settings saved."] = "";
-$a->strings["IRC Chatroom"] = "";
-$a->strings["Popular Channels"] = "";
-$a->strings["Fromapp settings updated."] = "";
-$a->strings["FromApp Settings"] = "";
-$a->strings["The application name you would like to show your posts originating from."] = "";
-$a->strings["Use this application name even if another application was used."] = "";
-$a->strings["Post to blogger"] = "";
-$a->strings["Blogger Post Settings"] = "";
-$a->strings["Enable Blogger Post Plugin"] = "";
-$a->strings["Blogger username"] = "";
-$a->strings["Blogger password"] = "";
-$a->strings["Blogger API URL"] = "";
-$a->strings["Post to Blogger by default"] = "";
-$a->strings["Post to Posterous"] = "";
-$a->strings["Posterous Post Settings"] = "";
-$a->strings["Enable Posterous Post Plugin"] = "Включить Posterous плагин Ñообщений";
-$a->strings["Posterous login"] = "";
-$a->strings["Posterous password"] = "";
-$a->strings["Posterous site ID"] = "";
-$a->strings["Posterous API token"] = "";
-$a->strings["Post to Posterous by default"] = "";
-$a->strings["Theme settings"] = "";
-$a->strings["Set resize level for images in posts and comments (width and height)"] = "";
+$a->strings["Reset"] = "СброÑ";
+$a->strings["Nothing to import."] = "Ðичего импортировать.";
+$a->strings["Unable to download data from old server"] = "Ðевозможно загрузить данные из Ñтарого Ñервера";
+$a->strings["Imported file is empty."] = "Импортированный файл пуÑÑ‚.";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "";
+$a->strings["Channel clone failed. Import failed."] = "";
+$a->strings["Cloned channel not found. Import failed."] = "";
+$a->strings["Import completed."] = "Импорт завершен.";
+$a->strings["You must be logged in to use this feature."] = "Ð’Ñ‹ должны войти в ÑиÑтему, чтобы иÑпользовать Ñту функцию.";
+$a->strings["Import Channel"] = "Импорт канала";
+$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "";
+$a->strings["File to Upload"] = "Файл Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸";
+$a->strings["Or provide the old server/hub details"] = "";
+$a->strings["Your old identity address (xyz@example.com)"] = "";
+$a->strings["Your old login email address"] = "";
+$a->strings["Your old login password"] = "";
+$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "";
+$a->strings["Make this hub my primary location"] = "";
+$a->strings["Create a new channel"] = "Создать новый канал";
+$a->strings["Channel Manager"] = "ÐаÑтройки канала";
+$a->strings["Current Channel"] = "Текущий канал";
+$a->strings["Attach to one of your channels by selecting it."] = "";
+$a->strings["Default Channel"] = "Канал по умолчанию";
+$a->strings["Make Default"] = "Сделать Ñтандартным";
+$a->strings["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["invalid target signature"] = "";
+$a->strings["Channel added."] = "Канал добавлен.";
+$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."] = "";
+$a->strings["Image exceeds size limit of %d"] = "";
+$a->strings["Unable to process image."] = "";
+$a->strings["Photo not available."] = "Ð¤Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð½Ðµ доÑтупна.";
+$a->strings["Upload File:"] = "Загрузить файл:";
+$a->strings["Select a profile:"] = "Выберите профиль:";
+$a->strings["Upload Profile Photo"] = "Загрузить фотографию профилÑ";
+$a->strings["Upload"] = "Загрузка";
+$a->strings["skip this step"] = "пропуÑтить Ñтот шаг";
+$a->strings["select a photo from your photo albums"] = "";
+$a->strings["Crop Image"] = "Обрезать изображение";
+$a->strings["Please adjust the image cropping for optimum viewing."] = "";
+$a->strings["Done Editing"] = "Закончить редактирование";
+$a->strings["Image uploaded successfully."] = "Загрузка Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÑ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно.";
+$a->strings["Image upload failed."] = "Загрузка Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÑ Ð¿Ñ€Ð¾ÑˆÐ»Ð° безуÑпешно.";
+$a->strings["Image size reduction [%s] failed."] = "";
+$a->strings["Item not found"] = "Элемент не найден";
+$a->strings["Edit post"] = "Редактировать Ñообщение";
+$a->strings["Insert YouTube video"] = "Ð’Ñтавить YouTube видео";
+$a->strings["Insert Vorbis [.ogg] video"] = "Ð’Ñтавить Vorbis [.ogg] видео";
+$a->strings["Insert Vorbis [.ogg] audio"] = "Ð’Ñтавить Vorbis [.ogg] музыку";
+$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["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["Post successful."] = "ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно.";
+$a->strings["Item is not editable"] = "Элемент Ð½ÐµÐ»ÑŒÐ·Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ";
+$a->strings["Access to this profile has been restricted."] = "ДоÑтуп к Ñтому профилю ограничен.";
+$a->strings["Poke/Prod"] = "";
+$a->strings["poke, prod or do other things to somebody"] = "";
+$a->strings["Recipient"] = "Получатель";
+$a->strings["Choose what you wish to do to recipient"] = "";
+$a->strings["Make this post private"] = "Сделать Ñто Ñообщение личным";
+$a->strings["Not available."] = "ÐедоÑтупно.";
+$a->strings["Community"] = "СообщеÑтво";
+$a->strings["No results."] = "Ðичего не найдено.";
+$a->strings["Files"] = "Файлы";
+$a->strings["Friend suggestion sent."] = "";
+$a->strings["Suggest Friends"] = "ПриглаÑить друзей";
+$a->strings["Suggest a friend for %s"] = "";
+$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["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["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["Bug reports and issues: please visit"] = "";
+$a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - 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["Maximum daily site registrations exceeded. Please try again tomorrow."] = "";
+$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "";
+$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["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "";
+$a->strings["Terms of Service"] = "";
+$a->strings["I accept the %s for this website"] = "";
+$a->strings["I am over 13 years of age and accept the %s for this website"] = "";
+$a->strings["Membership on this site is by invitation only."] = "";
+$a->strings["Please enter your invitation code"] = "";
+$a->strings["Your email address"] = "Ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты";
+$a->strings["Choose a password"] = "Выберите пароль";
+$a->strings["Please re-enter your password"] = "";
+$a->strings["Please login."] = "Войдите пожалуйÑта.";
+$a->strings["Remove My Account"] = "Удалить мой аккаунт";
+$a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "";
+$a->strings["Please enter your password for verification:"] = "";
+$a->strings["Mood"] = "";
+$a->strings["Set your current mood and tell your friends"] = "";
+$a->strings["Theme settings"] = "ÐаÑтройки темы";
$a->strings["Set font-size for posts and comments"] = "";
-$a->strings["Set theme width"] = "";
-$a->strings["Color scheme"] = "Ð¦Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ Ñхема";
-$a->strings["Your posts and conversations"] = "Ваши ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸ беÑеды";
-$a->strings["Your profile page"] = "Страница Вашего профилÑ";
-$a->strings["Your contacts"] = "Ваши контакты";
-$a->strings["Your photos"] = "Ваши фотографии";
-$a->strings["Your events"] = "Ваши ÑобытиÑ";
-$a->strings["Personal notes"] = "Личные заметки";
-$a->strings["Your personal photos"] = "Ваши личные фотографии";
-$a->strings["Community Pages"] = "Страницы ÑообщеÑтва";
-$a->strings["Community Profiles"] = "";
-$a->strings["Last users"] = "ПоÑледние пользователи";
-$a->strings["Last likes"] = "ПоÑледние likes";
-$a->strings["Last photos"] = "ПоÑледние фото";
-$a->strings["Find Friends"] = "Ðайти друзей";
-$a->strings["Local Directory"] = "";
-$a->strings["Similar Interests"] = "Похожие интереÑÑ‹";
-$a->strings["Invite Friends"] = "ПриглаÑить друзей";
-$a->strings["Earth Layers"] = "";
-$a->strings["Set zoomfactor for Earth Layers"] = "";
-$a->strings["Set longitude (X) for Earth Layers"] = "";
-$a->strings["Set latitude (Y) for Earth Layers"] = "";
-$a->strings["Help or @NewHere ?"] = "";
-$a->strings["Connect Services"] = "Подключить Ñлужбы";
-$a->strings["Last Tweets"] = "";
-$a->strings["Set twitter search term"] = "";
-$a->strings["don't show"] = "не показывать";
-$a->strings["show"] = "показывать";
-$a->strings["Show/hide boxes at right-hand column:"] = "";
$a->strings["Set line-height for posts and comments"] = "";
-$a->strings["Set resolution for middle column"] = "";
-$a->strings["Set color scheme"] = "";
-$a->strings["Set zoomfactor for Earth Layer"] = "";
-$a->strings["Last tweets"] = "";
-$a->strings["Alignment"] = "Выравнивание";
-$a->strings["Left"] = "";
-$a->strings["Center"] = "Центр";
-$a->strings["Set colour scheme"] = "";
-$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"] = "";
-$a->strings["Tags:"] = "";
-$a->strings["Religion:"] = "РелигиÑ:";
-$a->strings["Hobbies/Interests:"] = "Хобби / ИнтереÑÑ‹:";
-$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["Unknown | Not categorised"] = "ÐеизвеÑтно | Ðе определено";
-$a->strings["Block immediately"] = "Блокировать немедленно";
-$a->strings["Shady, spammer, self-marketer"] = "Тролль, Ñпаммер, раÑÑылает рекламу";
-$a->strings["Known to me, but no opinion"] = "ИзвеÑтные мне, но нет определенного мнениÑ";
-$a->strings["OK, probably harmless"] = "Хорошо, наверное, безвредные";
-$a->strings["Reputable, has my trust"] = "Уважаемые, еÑÑ‚ÑŒ мое доверие";
-$a->strings["Frequently"] = "ЧаÑто";
-$a->strings["Hourly"] = "Раз в чаÑ";
-$a->strings["Twice daily"] = "Два раза в день";
-$a->strings["OStatus"] = "OStatus";
-$a->strings["RSS/Atom"] = "RSS/Atom";
-$a->strings["Zot!"] = "Zot!";
-$a->strings["LinkedIn"] = "LinkedIn";
-$a->strings["XMPP/IM"] = "XMPP/IM";
-$a->strings["MySpace"] = "MySpace";
-$a->strings["Male"] = "Мужчина";
-$a->strings["Female"] = "Женщина";
-$a->strings["Currently Male"] = "В данный момент мужчина";
-$a->strings["Currently Female"] = "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¶ÐµÐ½Ñ‰Ð¸Ð½Ð°";
-$a->strings["Mostly Male"] = "Ð’ оÑновном мужчина";
-$a->strings["Mostly Female"] = "Ð’ оÑновном женщина";
-$a->strings["Transgender"] = "ТранÑÑекÑуал";
-$a->strings["Intersex"] = "ИнтерÑекÑуал";
-$a->strings["Transsexual"] = "ТранÑÑекÑуал";
-$a->strings["Hermaphrodite"] = "Гермафродит";
-$a->strings["Neuter"] = "Средний род";
-$a->strings["Non-specific"] = "Ðе определен";
-$a->strings["Other"] = "Другой";
-$a->strings["Undecided"] = "Ðе решено";
-$a->strings["Males"] = "Мужчины";
-$a->strings["Females"] = "Женщины";
-$a->strings["Gay"] = "Гей";
-$a->strings["Lesbian"] = "ЛеÑбиÑнка";
-$a->strings["No Preference"] = "Без предпочтений";
-$a->strings["Bisexual"] = "БиÑекÑуал";
-$a->strings["Autosexual"] = "ÐвтоÑекÑуал";
-$a->strings["Abstinent"] = "Воздержанный";
-$a->strings["Virgin"] = "ДевÑтвенница";
-$a->strings["Deviant"] = "Deviant";
-$a->strings["Fetish"] = "Фетиш";
-$a->strings["Oodles"] = "Групповой";
-$a->strings["Nonsexual"] = "Ðет интереÑа к ÑекÑу";
-$a->strings["Single"] = "Без пары";
-$a->strings["Lonely"] = "Пока никого нет";
-$a->strings["Available"] = "ДоÑтупный";
-$a->strings["Unavailable"] = "Ðе ищу никого";
-$a->strings["Has crush"] = "";
-$a->strings["Infatuated"] = "";
-$a->strings["Dating"] = "СвиданиÑ";
-$a->strings["Unfaithful"] = "ИзменÑÑŽ Ñупругу";
-$a->strings["Sex Addict"] = "Люблю ÑекÑ";
-$a->strings["Friends"] = "ДрузьÑ";
-$a->strings["Friends/Benefits"] = "Ð”Ñ€ÑƒÐ·ÑŒÑ / ПредпочтениÑ";
-$a->strings["Casual"] = "Обычный";
-$a->strings["Engaged"] = "ЗанÑÑ‚";
-$a->strings["Married"] = "Женат / Замужем";
-$a->strings["Imaginarily married"] = "";
-$a->strings["Partners"] = "Партнеры";
-$a->strings["Cohabiting"] = "ПартнерÑтво";
-$a->strings["Common law"] = "";
-$a->strings["Happy"] = "СчаÑтлив/а/";
-$a->strings["Not looking"] = "";
-$a->strings["Swinger"] = "Свинг";
-$a->strings["Betrayed"] = "Преданный";
-$a->strings["Separated"] = "Разделенный";
-$a->strings["Unstable"] = "ÐеÑтабильный";
-$a->strings["Divorced"] = "Разведен(а)";
-$a->strings["Imaginarily divorced"] = "";
-$a->strings["Widowed"] = "Овдовевший";
-$a->strings["Uncertain"] = "Ðеопределенный";
-$a->strings["It's complicated"] = "";
-$a->strings["Don't care"] = "Ðе беÑпокоить";
-$a->strings["Ask me"] = "СпроÑите менÑ";
-$a->strings["Starts:"] = "Ðачало:";
-$a->strings["Finishes:"] = "Окончание:";
-$a->strings["(no subject)"] = "(без темы)";
-$a->strings[" on Last.fm"] = "";
-$a->strings["prev"] = "пред.";
-$a->strings["first"] = "первый";
-$a->strings["last"] = "поÑледний";
-$a->strings["next"] = "Ñлед.";
-$a->strings["newer"] = "";
-$a->strings["older"] = "";
-$a->strings["No contacts"] = "Ðет контактов";
-$a->strings["%d Contact"] = array(
- 0 => "%d контакт",
- 1 => "%d контактов",
- 2 => "%d контактов",
-);
-$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["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["bytes"] = "байт";
-$a->strings["Click to open/close"] = "Ðажмите, чтобы открыть / закрыть";
-$a->strings["default"] = "значение по умолчанию";
-$a->strings["Select an alternate language"] = "Выбор альтернативного Ñзыка";
-$a->strings["activity"] = "активноÑÑ‚ÑŒ";
-$a->strings["post"] = "";
-$a->strings["Item filed"] = "";
-$a->strings["Sharing notification from Diaspora network"] = "ДелитьÑÑ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñми из Ñети Diaspora";
-$a->strings["Attachments:"] = "ВложениÑ:";
-$a->strings["view full size"] = "поÑмотреть в полный размер";
-$a->strings["Embedded content"] = "Ð’Ñтроенное Ñодержание";
-$a->strings["Embedding disabled"] = "Ð’Ñтраивание отключено";
-$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["Everybody"] = "Каждый";
-$a->strings["edit"] = "редактировать";
-$a->strings["Edit group"] = "Редактировать группу";
-$a->strings["Create a new group"] = "Создать новую группу";
-$a->strings["Contacts not in any group"] = "";
-$a->strings["Logout"] = "Выход";
-$a->strings["End this session"] = "Конец Ñтой ÑеÑÑии";
-$a->strings["Status"] = "СтатуÑ";
-$a->strings["Sign in"] = "Вход";
-$a->strings["Home Page"] = "Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ñтраница";
-$a->strings["Create an account"] = "Создать аккаунт";
-$a->strings["Help and documentation"] = "Помощь и документациÑ";
-$a->strings["Apps"] = "ПриложениÑ";
-$a->strings["Addon applications, utilities, games"] = "Дополнительные приложениÑ, утилиты, игры";
-$a->strings["Search site content"] = "ПоиÑк по Ñайту";
-$a->strings["Conversations on this site"] = "БеÑеды на Ñтом Ñайте";
-$a->strings["Directory"] = "Каталог";
-$a->strings["People directory"] = "Каталог учаÑтников";
-$a->strings["Conversations from your friends"] = "БеÑеды Ñ Ð´Ñ€ÑƒÐ·ÑŒÑми";
-$a->strings["Friend Requests"] = "ЗапроÑÑ‹ на добавление в ÑпиÑок друзей";
-$a->strings["See all notifications"] = "ПоÑмотреть вÑе уведомлениÑ";
-$a->strings["Mark all system notifications seen"] = "";
-$a->strings["Private mail"] = "Ð›Ð¸Ñ‡Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð°";
-$a->strings["Inbox"] = "ВходÑщие";
-$a->strings["Outbox"] = "ИÑходÑщие";
-$a->strings["Manage"] = "УправлÑÑ‚ÑŒ";
-$a->strings["Manage other pages"] = "Управление другими Ñтраницами";
-$a->strings["Profiles"] = "Профили";
-$a->strings["Manage/edit profiles"] = "Управление / редактирование профилей";
-$a->strings["Manage/edit friends and contacts"] = "Управление / редактирование друзей и контактов";
-$a->strings["Site setup and configuration"] = "УÑтановка и ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñайта";
-$a->strings["Nothing new here"] = "Ðичего нового здеÑÑŒ";
-$a->strings["Add New Contact"] = "Добавить контакт";
-$a->strings["Enter address or web location"] = "Введите Ð°Ð´Ñ€ÐµÑ Ð¸Ð»Ð¸ веб-меÑтонахождение";
-$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 приглашений доÑтупно",
- 2 => "%d приглашений доÑтупно",
-);
-$a->strings["Find People"] = "ПоиÑк людей";
-$a->strings["Enter name or interest"] = "Введите Ð¸Ð¼Ñ Ð¸Ð»Ð¸ интереÑ";
-$a->strings["Connect/Follow"] = "ПодключитьÑÑ/Следовать";
-$a->strings["Examples: Robert Morgenstein, Fishing"] = "Примеры: Роберт Morgenstein, Рыбалка";
-$a->strings["Random Profile"] = "";
-$a->strings["Networks"] = "Сети";
-$a->strings["All Networks"] = "Ð’Ñе Ñети";
-$a->strings["Saved Folders"] = "";
-$a->strings["Everything"] = "Ð’ÑÑ‘";
-$a->strings["Categories"] = "Категории";
-$a->strings["Logged out."] = "Выход из ÑиÑтемы.";
-$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "";
-$a->strings["The error message was:"] = "";
-$a->strings["Miscellaneous"] = "Разное";
-$a->strings["year"] = "год";
-$a->strings["month"] = "меÑ.";
-$a->strings["day"] = "день";
-$a->strings["never"] = "никогда";
-$a->strings["less than a second ago"] = "менее Ñек. назад";
-$a->strings["week"] = "неделÑ";
-$a->strings["hour"] = "чаÑ";
-$a->strings["hours"] = "чаÑ.";
-$a->strings["minute"] = "минута";
-$a->strings["minutes"] = "мин.";
-$a->strings["second"] = "Ñекунда";
-$a->strings["seconds"] = "Ñек.";
-$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s назад";
-$a->strings["%s's birthday"] = "";
-$a->strings["Happy Birthday %s"] = "";
-$a->strings["From: "] = "От: ";
-$a->strings["Image/photo"] = "Изображение / Фото";
-$a->strings["$1 wrote:"] = "$1 напиÑал:";
-$a->strings["Encrypted content"] = "";
-$a->strings["Cannot locate DNS info for database server '%s'"] = "Ðе могу найти информацию Ð´Ð»Ñ DNS-Ñервера базы данных '%s'";
-$a->strings["[no subject]"] = "[без темы]";
-$a->strings["Visible to everybody"] = "Видимо вÑем";
-$a->strings["Friendica Notification"] = "Friendica уведомлениÑ";
-$a->strings["Thank You,"] = "СпаÑибо,";
-$a->strings["%s Administrator"] = "%s админиÑтратор";
-$a->strings["%s <!item_type!>"] = "";
-$a->strings["[Friendica:Notify] New mail received at %s"] = "";
-$a->strings["%1\$s sent you a new private message at %2\$s."] = "";
-$a->strings["%1\$s sent you %2\$s."] = "";
-$a->strings["a private message"] = "личное Ñообщение";
-$a->strings["Please visit %s to view and/or reply to your private messages."] = "";
-$a->strings["%1\$s commented on [url=%2\$s]a %3\$s[/url]"] = "";
-$a->strings["%1\$s commented on [url=%2\$s]%3\$s's %4\$s[/url]"] = "";
-$a->strings["%1\$s commented on [url=%2\$s]your %3\$s[/url]"] = "";
-$a->strings["[Friendica:Notify] Comment to conversation #%1\$d by %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."] = "";
-$a->strings["[Friendica:Notify] %s posted to your profile wall"] = "";
-$a->strings["%1\$s posted to your profile wall at %2\$s"] = "";
-$a->strings["%1\$s posted to [url=%2\$s]your wall[/url]"] = "";
-$a->strings["[Friendica:Notify] %s tagged you"] = "";
-$a->strings["%1\$s tagged you at %2\$s"] = "";
-$a->strings["%1\$s [url=%2\$s]tagged you[/url]."] = "";
-$a->strings["[Friendica:Notify] %1\$s poked you"] = "";
-$a->strings["%1\$s poked you at %2\$s"] = "";
-$a->strings["%1\$s [url=%2\$s]poked you[/url]."] = "";
-$a->strings["[Friendica:Notify] %s tagged your post"] = "";
-$a->strings["%1\$s tagged your post at %2\$s"] = "";
-$a->strings["%1\$s tagged [url=%2\$s]your post[/url]"] = "";
-$a->strings["[Friendica:Notify] Introduction received"] = "[Friendica:Сообщение] получен запроÑ";
-$a->strings["You've received an introduction from '%1\$s' at %2\$s"] = "";
-$a->strings["You've received [url=%1\$s]an introduction[/url] from %2\$s."] = "";
-$a->strings["You may visit their profile at %s"] = "";
-$a->strings["Please visit %s to approve or reject the introduction."] = "ПоÑетите %s Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ отказа запроÑа.";
-$a->strings["[Friendica:Notify] Friend suggestion received"] = "";
-$a->strings["You've received a friend suggestion from '%1\$s' at %2\$s"] = "";
-$a->strings["You've received [url=%1\$s]a friend suggestion[/url] 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["Connect URL missing."] = "Connect-URL отÑутÑтвует.";
-$a->strings["This site is not configured to allow communications with other networks."] = "Данный Ñайт не наÑтроен так, чтобы держать ÑвÑзь Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ ÑетÑми.";
-$a->strings["No compatible communication protocols or feeds were discovered."] = "Обнаружены неÑовмеÑтимые протоколы ÑвÑзи или каналы.";
-$a->strings["The profile address specified does not provide adequate information."] = "Указанный Ð°Ð´Ñ€ÐµÑ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð½Ðµ дает адекватной информации.";
-$a->strings["An author or name was not found."] = "Ðвтор или Ð¸Ð¼Ñ Ð½Ðµ найдены.";
-$a->strings["No browser URL could be matched to this address."] = "Ðет URL браузера, который ÑоответÑтвует Ñтому адреÑу.";
-$a->strings["Unable to match @-style Identity Address with a known protocol or email contact."] = "";
-$a->strings["Use mailto: in front of address to force email check."] = "";
-$a->strings["The profile address specified belongs to a network which has been disabled on this site."] = "Указанный Ð°Ð´Ñ€ÐµÑ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ñ€Ð¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ‚ Ñети, недоÑтупной на Ñтом Ñайта.";
-$a->strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "Ограниченный профиль. Этот человек не Ñможет получить прÑмые / личные ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ‚ ваÑ.";
-$a->strings["Unable to retrieve contact information."] = "Ðевозможно получить контактную информацию.";
-$a->strings["following"] = "Ñледует";
-$a->strings["A new person is sharing with you at "] = "Ðовый человек делитÑÑ Ñ Ð²Ð°Ð¼Ð¸";
-$a->strings["You have a new follower at "] = "У Ð²Ð°Ñ ÐµÑÑ‚ÑŒ новый фолловер на ";
-$a->strings["Archives"] = "";
-$a->strings["An invitation is required."] = "ТребуетÑÑ Ð¿Ñ€Ð¸Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ.";
-$a->strings["Invitation could not be verified."] = "Приглашение не может быть проверено.";
-$a->strings["Invalid OpenID url"] = "Ðеверный URL OpenID";
-$a->strings["Please enter the required information."] = "ПожалуйÑта, введите необходимую информацию.";
-$a->strings["Please use a shorter name."] = "ПожалуйÑта, иÑпользуйте более короткое имÑ.";
-$a->strings["Name too short."] = "Ð˜Ð¼Ñ Ñлишком короткое.";
-$a->strings["That doesn't appear to be your full (First Last) name."] = "КажетÑÑ, что Ñто ваше неполное (Ð˜Ð¼Ñ Ð¤Ð°Ð¼Ð¸Ð»Ð¸Ñ) имÑ.";
-$a->strings["Your email domain is not among those allowed on this site."] = "Домен вашего адреÑа Ñлектронной почты не отноÑитÑÑ Ðº чиÑлу разрешенных на Ñтом Ñайте.";
-$a->strings["Not a valid email address."] = "Ðеверный Ð°Ð´Ñ€ÐµÑ Ñлектронной почты.";
-$a->strings["Cannot use that email."] = "ÐÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать Ñтот Email.";
-$a->strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Ваш \"ник\" может Ñодержать только \"a-z\", \"0-9\", \"-\", и \"_\", а также должен начинатьÑÑ Ñ Ð±ÑƒÐºÐ²Ñ‹.";
-$a->strings["Nickname is already registered. Please choose another."] = "Такой ник уже зарегиÑтрирован. ПожалуйÑта, выберите другой.";
-$a->strings["Nickname was once registered here and may not be re-used. Please choose another."] = "";
-$a->strings["SERIOUS ERROR: Generation of security keys failed."] = "СЕРЬЕЗÐÐЯ ОШИБКÐ: Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¹ безопаÑноÑти не удалаÑÑŒ.";
-$a->strings["An error occurred during registration. Please try again."] = "Ошибка при региÑтрации. ПожалуйÑта, попробуйте еще раз.";
-$a->strings["An error occurred creating your default profile. Please try again."] = "Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ профилÑ. ПожалуйÑта, попробуйте еще раз.";
-$a->strings["Welcome "] = "Добро пожаловать, ";
-$a->strings["Please upload a profile photo."] = "ПожалуйÑта, загрузите фотографию профилÑ.";
-$a->strings["Welcome back "] = "Добро пожаловать обратно, ";
-$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "";
-$a->strings["stopped following"] = "оÑтановлено Ñледование";
-$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["%1\$s poked %2\$s"] = "";
-$a->strings["post/item"] = "";
-$a->strings["%1\$s marked %2\$s's %3\$s as favorite"] = "%1\$s пометил %2\$s %3\$s как Фаворит";
-$a->strings["Categories:"] = "";
-$a->strings["Filed under:"] = "";
-$a->strings["remove"] = "удалить";
-$a->strings["Delete Selected Items"] = "Удалить выбранные позиции";
-$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 video link/URL:"] = "";
-$a->strings["Please enter an audio link/URL:"] = "";
-$a->strings["Tag term:"] = "";
-$a->strings["Where are you right now?"] = "И где вы ÑейчаÑ?";
-$a->strings["upload photo"] = "загрузить фото";
-$a->strings["attach file"] = "приложить файл";
-$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 location"] = "уÑтановить меÑтонахождение";
-$a->strings["clear location"] = "убрать меÑтонахождение";
-$a->strings["permissions"] = "разрешениÑ";
-$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["Delete this item?"] = "Удалить Ñтот Ñлемент?";
-$a->strings["show fewer"] = "показать меньше";
+$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["Update %s failed. See error logs."] = "";
-$a->strings["Update Error at %s"] = "";
+$a->strings["Update Error at %s"] = "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° %s";
$a->strings["Create a New Account"] = "Создать новый аккаунт";
-$a->strings["Nickname or Email address: "] = "Ðик или Ð°Ð´Ñ€ÐµÑ Ñлектронной почты: ";
-$a->strings["Password: "] = "Пароль: ";
-$a->strings["Or login using OpenID: "] = "";
-$a->strings["Forgot your password?"] = "Забыли пароль?";
-$a->strings["Requested account is not available."] = "";
-$a->strings["Edit profile"] = "Редактировать профиль";
-$a->strings["Message"] = "";
-$a->strings["g A l F d"] = "g A l F d";
+$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["[today]"] = "[ÑегоднÑ]";
-$a->strings["Birthday Reminders"] = "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¾ днÑÑ… рождениÑ";
-$a->strings["Birthdays this week:"] = "Дни Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½Ð° Ñтой неделе:";
+$a->strings["Birthday Reminders"] = "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¾ ДнÑÑ… РождениÑ";
+$a->strings["Birthdays this week:"] = "Дни Ð Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½Ð° Ñтой неделе:";
$a->strings["[No description]"] = "[без опиÑаниÑ]";
-$a->strings["Event Reminders"] = "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¾ мероприÑтиÑÑ…";
+$a->strings["Event Reminders"] = "ÐÐ°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¼ÐµÑ€Ð¾Ð¿Ñ€Ð¸Ñтий";
$a->strings["Events this week:"] = "МероприÑÑ‚Ð¸Ñ Ð½Ð° Ñтой неделе:";
+$a->strings["Channel"] = "Канал";
$a->strings["Status Messages and Posts"] = "";
-$a->strings["Profile Details"] = "";
-$a->strings["Events and Calendar"] = "";
-$a->strings["Only You Can See This"] = "";
+$a->strings["About"] = "О Ñебе";
+$a->strings["Profile Details"] = "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ профиле";
+$a->strings["Events and Calendar"] = "МероприÑÑ‚Ð¸Ñ Ð¸ календарь";
+$a->strings["Webpages"] = "Веб-Ñтраницы";
+$a->strings["Manage Webpages"] = "";
+$a->strings["toggle mobile"] = "мобильное подключение";
diff --git a/view/ru/update_fail_eml.tpl b/view/ru/update_fail_eml.tpl
new file mode 100644
index 000000000..a7df8fc2f
--- /dev/null
+++ b/view/ru/update_fail_eml.tpl
@@ -0,0 +1,13 @@
+Hey,
+I'm the web server at {{$sitename}};
+
+The Red Matrix developers released update {{$update}} recently,
+but when I tried to install it, something went terribly wrong.
+This needs to be fixed soon and it requires human intervention.
+Please contact a Red developer if you can not figure out how to
+fix it on your own. My database might be invalid.
+
+The error message is '{{$error}}'.
+
+Apologies for the inconvenience,
+ your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/sv/follow_notify_eml.tpl b/view/sv/follow_notify_eml.tpl
index fee08bdca..ba07b19da 100644
--- a/view/sv/follow_notify_eml.tpl
+++ b/view/sv/follow_notify_eml.tpl
@@ -1,12 +1,14 @@
-$myname,
-'$requestor' på $sitename vill följa dina uppdateringar här på Friendika.
+Dear {{$myname}},
-Besök dennes profil på $url.
+You have a new follower at {{$sitename}} - '{{$requestor}}'.
-Logga in för att godkänna eller avslå förfrågan.
+You may visit their profile at {{$url}}.
-$siteurl
+Please login to your site to approve or ignore/cancel the request.
-Hälsningar,
-$sitename admin
+{{$siteurl}}
+
+Regards,
+
+ {{$sitename}} administrator
diff --git a/view/sv/friend_complete_eml.tpl b/view/sv/friend_complete_eml.tpl
index 2b8b0238e..1c647b994 100644
--- a/view/sv/friend_complete_eml.tpl
+++ b/view/sv/friend_complete_eml.tpl
@@ -1,17 +1,22 @@
-$username,
-Goda nyheter... '$fn' på '$dfrn_url' har accepterat din kontaktförfrågan på '$sitename'.
+Dear {{$username}},
-Ni är nu ömsesidiga vänner och kan se varandras statusuppdateringar samt skicka foton och meddelanden
-utan begränsningar.
+ Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
-Gå in på din sida 'Kontakter' på $sitename om du vill göra några
-ändringar när det gäller denna kontakt.
+You are now mutual friends and may exchange status updates, photos, and email
+without restriction.
-$siteurl
+Please visit your 'Connnections' page at {{$sitename}} if you wish to make
+any changes to this relationship.
-[Du kan exempelvis skapa en separat profil med information som inte
-är tillgänglig för vem som helst, och ge visningsrättigheter till '$fn'].
+{{$siteurl}}
-Hälsningar,
-$sitename admin
+[For instance, you may create a separate profile with information that is not
+available to the general public - and assign viewing rights to '{{$fn}}'].
+
+Sincerely,
+
+ {{$sitename}} Administrator
+
+
diff --git a/view/sv/htconfig.tpl b/view/sv/htconfig.tpl
new file mode 100644
index 000000000..493cb5d00
--- /dev/null
+++ b/view/sv/htconfig.tpl
@@ -0,0 +1,70 @@
+<?php
+
+// Set the following for your MySQL installation
+// Copy or rename this file to .htconfig.php
+
+$db_host = '{{$dbhost}}';
+$db_port = '{{$dbport}}';
+$db_user = '{{$dbuser}}';
+$db_pass = '{{$dbpass}}';
+$db_data = '{{$dbdata}}';
+
+/*
+ * Notice: Many of the following settings will be available in the admin panel
+ * after a successful site install. Once they are set in the admin panel, they
+ * are stored in the DB - and the DB setting will over-ride any corresponding
+ * setting in this file
+ *
+ * The command-line tool util/config is able to query and set the DB items
+ * directly if for some reason the admin panel is not available and a system
+ * setting requires modification.
+ *
+ */
+
+
+// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
+// It can be changed later and only applies to timestamps for anonymous viewers.
+
+$default_timezone = '{{$timezone}}';
+
+// What is your site name?
+
+$a->config['system']['baseurl'] = '{{$siteurl}}';
+$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['location_hash'] = '{{$site_id}}';
+
+// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
+// Be certain to create your own personal account before setting
+// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
+// the registration page. REGISTER_APPROVE requires you set 'admin_email'
+// to the email address of an already registered person who can authorise
+// and/or approve/deny the request.
+
+$a->config['system']['register_policy'] = REGISTER_OPEN;
+$a->config['system']['register_text'] = '';
+$a->config['system']['admin_email'] = '{{$adminmail}}';
+
+// Maximum size of an imported message, 0 is unlimited
+
+$a->config['system']['max_import_size'] = 200000;
+
+// maximum size of uploaded photos
+
+$a->config['system']['maximagesize'] = 800000;
+
+// Location of PHP command line processor
+
+$a->config['system']['php_path'] = '{{$phpath}}';
+
+// Configure how we communicate with directory servers.
+// DIRECTORY_MODE_NORMAL = directory client, we will find a directory
+// DIRECTORY_MODE_SECONDARY = caching directory or mirror
+// DIRECTORY_MODE_PRIMARY = main directory server
+// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
+
+$a->config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL;
+
+// default system theme
+
+$a->config['system']['theme'] = 'redbasic';
+
diff --git a/view/sv/intro_complete_eml.tpl b/view/sv/intro_complete_eml.tpl
index 1f24af25f..2c2428d68 100644
--- a/view/sv/intro_complete_eml.tpl
+++ b/view/sv/intro_complete_eml.tpl
@@ -1,19 +1,22 @@
-$username,
-'$fn' på '$dfrn_url' har accepterat din kontaktförfrågan på '$sitename'.
+Dear {{$username}},
-'$fn' har valt att acceptera dig som ett "fan" vilket innebär vissa begränsningar
-i kommunikationen mellan er - som till exempel personliga meddelanden och viss interaktion
-mellan profiler. Om detta är en kändis eller en gemenskap så har dessa inställningar gjorts
-per automatik.
+ '{{$fn}}' at '{{$dfrn_url}}' has accepted
+your connection request at '{{$sitename}}'.
-'$fn' kan välja att utöka detta till vanlig tvåvägskommunikation eller någon annan mer
-tillåtande kommunikationsform i framtiden.
+ '{{$fn}}' has chosen to accept you a "fan", which restricts
+some forms of communication - such as private messaging and some profile
+interactions. If this is a celebrity or community page, these settings were
+applied automatically.
-Du kommer hädanefter att få statusuppdateringar från '$fn',
-vilka kommer att synas på din Nätverk-sida på
+ '{{$fn}}' may choose to extend this into a two-way or more permissive
+relationship in the future.
-$siteurl
+ You will start receiving public status updates from '{{$fn}}',
+which will appear on your 'Matrix' page at
-Hälsningar,
-$sitename admin
+{{$siteurl}}
+
+Sincerely,
+
+ {{$sitename}} Administrator
diff --git a/view/sv/lostpass_eml.tpl b/view/sv/lostpass_eml.tpl
index df338fa69..3b79d2791 100644
--- a/view/sv/lostpass_eml.tpl
+++ b/view/sv/lostpass_eml.tpl
@@ -1,29 +1,32 @@
-$username,
-En begäran om återställning av lösenord på $sitename har mottagits.
-Gå till adressen nedan för att bekräfta denna begäran. Du kan också
-klistra in länken i adressfältet i din webbläsare.
+Dear {{$username}},
+ A request was recently received at {{$sitename}} to reset your account
+password. In order to confirm this request, please select the verification link
+below or paste it into your web browser address bar.
-Gå INTE till länken nedan om du INTE har begärt lösenordsåterställning.
-Då kan du ignorera det här meddelandet.
+If you did NOT request this change, please DO NOT follow the link
+provided and ignore and/or delete this email.
-Ditt lösenord kommer inte att återställas om vi inte kan säkerställa att du
-initierat detta.
+Your password will not be changed unless we can verify that you
+issued this request.
-Med den här länken kan du bekräfta din identitet:
+Follow this link to verify your identity:
-$reset_link
+{{$reset_link}}
-Sedan kommer du att få ett meddelande med ett nytt lösenord.
+You will then receive a follow-up message containing the new password.
-Lösenordet kan sedan ändras i dina inställningar efter att du loggat in.
+You may change that password from your account settings page after logging in.
-Detaljerna ser ut så här:
+The login details are as follows:
-Webbplats: $siteurl
-Inloggningsnamn: $email
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
-Hälsningar,
-$sitename admin
- \ No newline at end of file
+
+
+Sincerely,
+ {{$sitename}} Administrator
+
+
diff --git a/view/sv/passchanged_eml.tpl b/view/sv/passchanged_eml.tpl
index 590462468..0d94be3c2 100644
--- a/view/sv/passchanged_eml.tpl
+++ b/view/sv/passchanged_eml.tpl
@@ -1,18 +1,20 @@
-$username,
+Dear {{$username}},
+ Your password has been changed as requested. Please retain this
+information for your records (or change your password immediately to
+something that you will remember).
-Lösenordet har ändrats enligt din begäran. Behåll den här
-informationen om den skulle behövas i framtiden. (eller ändra lösenord
-på en gång till något som du kommer ihåg).
+Your login details are as follows:
-Här är dina inloggningsuppgifter:
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+Password: {{$new_password}}
-Webbplats: $siteurl
-Användarnamn: $email
-Lösenord: $new_password
+You may change that password from your account settings page after logging in.
-När du loggat in kan du byta lösenord bland inställningarna.
-Hälsningar,
-$sitename admin
+Sincerely,
+ {{$sitename}} Administrator
+
+
diff --git a/view/sv/register_open_eml.tpl b/view/sv/register_open_eml.tpl
index 1471c9b98..4b397201c 100644
--- a/view/sv/register_open_eml.tpl
+++ b/view/sv/register_open_eml.tpl
@@ -1,17 +1,19 @@
-$username,
-Tack för att du registrerat dig på $sitename. Kontot har skapats.
-Här är dina inloggningsuppgifter:
-Webbplats: $siteurl
-Användarnamn: $email
-Lösenord: $password
+An account has been created at {{$sitename}} for this email address.
+The login details are as follows:
-Lösenordet kan ändras på sidan Inställningar efter att du loggat in.
+Site Location: {{$siteurl}}
+Login: {{$email}}
+Password: (the password which was provided during registration)
-Ägna en liten stund åt att gå igenom alla kontoinställningar där.
+If this account was created without your knowledge and is not desired, you may
+visit this site and reset the password. This will allow you to remove the
+account from the links on the Settings page, and we
+apologise for any inconvenience.
-Välkommen till $sitename.
+Thank you and welcome to {{$sitename}}.
-Hälsningar,
-$sitename admin
+Sincerely,
+ {{$sitename}} Administrator
+
diff --git a/view/sv/register_verify_eml.tpl b/view/sv/register_verify_eml.tpl
index aa72bc9aa..85d9a12d3 100644
--- a/view/sv/register_verify_eml.tpl
+++ b/view/sv/register_verify_eml.tpl
@@ -1,17 +1,25 @@
-En registreringsförfrågan som kräver svar har mottagits
-på $sitename
+A new user registration request was received at {{$sitename}} which requires
+your approval.
-Här är inloggningsuppgifterna:
-Fullständigt namn: $username
-Webbplats: $siteurl
-Användarnamn: $email
+The login details are as follows:
+Site Location: {{$siteurl}}
+Login Name: {{$email}}
+IP Address: {{$details}}
-Gå till denna adress om du vill godkänna:
-$siteurl/regmod/allow/$hash
+To approve this request please visit the following link:
-Gå till denna adress om du vill avslå förfrågan och ta bort kontot:
-$siteurl/regmod/deny/$hash
+
+{{$siteurl}}/regmod/allow/{{$hash}}
+
+
+To deny the request and remove the account, please visit:
+
+
+{{$siteurl}}/regmod/deny/{{$hash}}
+
+
+Thank you.
diff --git a/view/sv/request_notify_eml.tpl b/view/sv/request_notify_eml.tpl
index 893bce17c..d01b8ff27 100644
--- a/view/sv/request_notify_eml.tpl
+++ b/view/sv/request_notify_eml.tpl
@@ -1,13 +1,17 @@
-$myname,
-Du har just fått en kontaktförfrågan på $sitename från '$requestor'
+Dear {{$myname}},
-Profilen finns på $url.
+You have just received a connection request at {{$sitename}}
-Logga in för att se hela förfrågan och godkänna eller
-avslå den.
+from '{{$requestor}}'.
-$siteurl
+You may visit their profile at {{$url}}.
-Hälsningar,
-$sitename admin
+Please login to your site to view the complete introduction
+and approve or ignore/cancel the request.
+
+{{$siteurl}}
+
+Regards,
+
+ {{$sitename}} administrator
diff --git a/view/sv/update_fail_eml.tpl b/view/sv/update_fail_eml.tpl
new file mode 100644
index 000000000..a7df8fc2f
--- /dev/null
+++ b/view/sv/update_fail_eml.tpl
@@ -0,0 +1,13 @@
+Hey,
+I'm the web server at {{$sitename}};
+
+The Red Matrix developers released update {{$update}} recently,
+but when I tried to install it, something went terribly wrong.
+This needs to be fixed soon and it requires human intervention.
+Please contact a Red developer if you can not figure out how to
+fix it on your own. My database might be invalid.
+
+The error message is '{{$error}}'.
+
+Apologies for the inconvenience,
+ your web server at {{$siteurl}} \ No newline at end of file
diff --git a/view/theme/fancyred/css/style.css b/view/theme/fancyred/css/style.css
deleted file mode 100644
index 8cc2d12e6..000000000
--- a/view/theme/fancyred/css/style.css
+++ /dev/null
@@ -1,3934 +0,0 @@
-/**
- * duepuntozero Frindika style
- * Fabio Comuni <fabrix.xm@gmail.com>
- */
-
-
-/* generals */
-body {
- font-family: helvetica,arial,freesans,clean,sans-serif;
- font-size: 12px;
- background-color: #ffffff;
- background-repeat: repeat;
- color: #000000;
- margin: 0px;
-}
-
-abbr {
- border-bottom: none;
-}
-
-aside {
-border: none;
-border-radius: 0px 0px 20px 0px;
-width: 160px;
-color: #d00;
-background: #fff;
-}
-
-
-/* icons */
-.icon {
- background-color: transparent ;
- background-repeat: no-repeat;
- display: block;
- overflow: hidden;
- text-indent: -9999px;
-/* min-width: 22px;
- height: 22px; */
-}
-.icon.text {
- text-indent: 0px;
-}
-.icon.notify {
- background-image: url("../img/notify_on.png");
- min-width: 22px;
- height: 22px;
- margin-top: -4px;
- background-position: left center;
- padding: 1px;
-}
-.icon.gear {
- background-image: url("../img/settings.png");
- min-width: 22px;
- height: 22px;
- background-position: left center;
- padding: 1px;
-}
-
-.icon.home {
- background-image: url("../img/home.png");
- min-width: 22px;
- height: 22px;
- background-position: left center;
- padding: 1px;
-}
-
-.icon.network {
- background-image: url("../img/network.png");
- min-width: 22px;
- height: 22px;
- background-position: left center;
- padding: 1px;
-}
-
-.icon.introductions {
- background-image: url("../img/introductions.png");
- min-width: 22px;
- height: 22px;
- background-position: left center;
- padding: 1px;
-}
-
-.icon.mail {
- background-image: url("../img/message.png");
- min-width: 22px;
- height: 22px;
- background-position: left center;
- padding: 1px;
-}
-
-.icon.events {
- background-image: url("../img/events.png");
- min-width: 22px;
- height: 22px;
- background-position: left center;
- padding: 1px;
-}
-
-a, a:visited, a:link { color: #dd0000; text-decoration: none; }
-a:hover { color: #dd0000; text-decoration: underline; }
-
-input {
- border: 1px solid #666666;
- -moz-border-radius: 5px;
- border-radius: 5px;
- padding: 3px;
-}
-
-img { border :0px; }
-
-
-
-
-code {
- font-family: Courier, monospace;
- display: block;
- overflow: auto;
- border: 1px solid #444;
- background: #EEE;
- color: #444;
- padding: 10px;
- margin-top: 20px;
- max-width: 80%;
- box-shadow: 5px 5px 5px #111;
- border-radius: 5px;
-}
-
-blockquote {
- background-color: #f4f8f9;
- border-left: 4px solid #dae4ee;
- padding: 0.4em;
-}
-
-.icollapse-wrapper, .ccollapse-wrapper {
- border: 1px solid #CCC;
- padding: 5px;
-}
-
-.hide-comments {
- margin-left: 5px;
-}
-
-#panel {
- background-color: ivory;
- position: absolute;
- z-index: 2;
- width: 30%;
- padding: 25px;
- border: 1px solid #444;
-}
-
-.heart {
- color: #FF0000;
- font-size: 100%;
- margin-right: 5px;
-}
-
-
-
-/* nav */
-nav {
- display: block;
-/* margin: 0px 10%; */
- border-bottom: 1px solid #d00;
-}
-nav #site-location {
- color: #888a85;
- font-size: 0.8em;
- position: absolute;
- border-radius: 1px solid #d00;
-}
-
-.error-message {
- color: #FF0000;
- font-size: 1.1em;
- border: 1px solid #FF8888;
- background-color: #FFEEEE;
- padding: 10px;
-}
-
-.info-message {
- color: #fff;
- font-size: 1.1em;
- background-color: #f00;
- padding: 10px;
-}
-
-
-nav #banner #logo-text a {
- font-size: 40px;
- font-weight: bold;
- margin-left: 3px;
- color: #000000;
-
-}
-nav #banner #logo-text a:hover { text-decoration: none; }
-
-header #site-location {
- display: none;
-}
-header #banner {
- overflow: hidden;
- text-align: center;
- width: 100%;
- font-size: 2.2em;
- font-family: tahoma, "Lucida Sans", sans;
- color: #eec;
- font-weight: bold;
-
-}
-header #banner a,
-header #banner a:active,
-header #banner a:visited,
-header #banner a:link,
-header #banner a:hover {
- color: #eec;
- text-decoration: none;
- outline: none;
- vertical-align: bottom;
-}
-header #banner #logo-img {
- height: 22px;
- margin-top: 5px;
-}
-header #banner #logo-text {
- font-size: 22px;
-}
-
-
-
-
-.nav-commlink, .nav-login-link {
- display: block;
- height: 15px;
- margin-top: 67px;
- margin-right: 2px;
- //padding: 6px 10px;
- padding: 6px 3px;
- float: left;
- bottom: 140px;
- border: 1px solid #babdb6;
- border-bottom: 0px;
- background-color: #aec0d3;
- color: #565854;
- -moz-border-radius: 5px 5px 0px 0px;
- border-radius: 5px 5px 0px 0px;
-}
-nav .nav-link {
- float: right;
- margin: 0.2em 0em;
- padding: 0em 0.5em;
- background-color: transparent !important;
-}
-
-.nav-commlink.selected {
- background-color: #ffffff;
- border-bottom: 1px solid #ffffff;
- color: #000000 !important;
- margin-top: 64px;
- padding-top: 6px;
- padding-bottom: 8px;
-}
-.nav-ajax-left {
- font-size: 0.8em;
- float: left;
- margin-top: 62px;
-}
-
-
-nav #nav-link-wrapper .nav-link {
- border-right: 1px solid #babdb6;
-}
-
-
-
-#dfrn-request-link {
- display: block;
- color: #FFFFFF;
- -webkit-border-radius: 5px ;
- -moz-border-radius: 5px;
- border-radius: 5px;
- padding: 5px;
- font-weight: bold;
- background: #3465a4 url('../img/friendika-16.png') no-repeat 95% center;
-}
-#wallmessage-link {
- display: block;
- color: #FFFFFF;
- -webkit-border-radius: 5px ;
- -moz-border-radius: 5px;
- border-radius: 5px;
- padding: 5px;
- font-weight: bold;
- background-color: #3465a4;
-}
-.tabs {
- list-style: none;
- margin: 15px 0px;
- padding: 0;
- }
-.tabs li {
- display: inline;
- font-weight: bold;
-}
-.tab {
- height: auto;
- background-color: #f00;
- color: #fff !important;
- font-weight: bold;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 20px;
- margin: 0;
- width: auto;
- box-shadow: 5px 5px 5px #444;
- 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; /* another strageness of the human mind - has to be larger than inactive tabs, or it looks smaller than them */
-}
-
-.tab a, .settings-widget a {
- border: 0;
- text-decoration: none;
- color: #fff;
-}
-
-/* footer */
-footer {
- text-align: right;
- padding-bottom: 1em;
- padding-right: 3em;
-}
-
-#powered-by {
- position: fixed;
- bottom: 1px;
- left: 15px;
- opacity: 0.3;
- filter:alpha(opacity=30);
-
-}
-
-.birthday-today, .event-today {
- font-weight: bold;
-}
-
-div.wall-item-content-wrapper.shiny {
- opacity: 1;
-}
-
-.preview {
- background: #FFFFC8;
-}
-
-#theme-preview {
- margin: 15px 0 15px 150px;
-}
-
-/* from default */
-#jot-perms-icon,
-#profile-location,
-#profile-nolocation,
-#profile-youtube,
-#profile-video,
-#profile-audio,
-#profile-link,
-#profile-title,
-#wall-image-upload,
-#wall-file-upload,
-#profile-upload-wrapper,
-#wall-image-upload-div,
-#wall-file-upload-div,
-.hover, .focus {
- cursor: pointer;
-}
-
-#jot-perms-icon {
- float: left;
-}
-
-#jot-title, #jot-category {
- border: 0px;
- margin: 0px;
- padding: 8px;
- height: 20px;
- width: 530px;
- margin-bottom: 5px;
- font-weight: bold;
- border: solid 1px #ccc;
- box-shadow: 5px 5px 5px #666 inset;
-}
-
-#jot-title::-webkit-input-placeholder{font-weight: normal;}
-#jot-category::-webkit-input-placeholder{font-weight: normal;}
-#jot-title:-moz-placeholder{font-weight: normal;}
-#jot-category:-moz-placeholder{font-weight: normal;}
-
-
-#jot-title:hover,
-#jot-title:focus,
-#jot-category:hover,
-#jot-category:focus {
- border: 1px solid #cccccc;
-}
-
-.jothidden { display:none; }
-
-
-.fakelink, .fakelink:visited, .fakelink:link {
- color: #335577;
- text-decoration: none;
- cursor: pointer;
-}
-.fakebutton {
- margin-top: 15px;
- margin-bottom: 15px;
-}
-
-.lockview {
- cursor: pointer;
-}
-
-
-#group-sidebar {
- margin-bottom: 10px;
-}
-
-.group-selected, .nets-selected, .fileas-selected, .categories-selected {
- padding: 3px;
- -moz-border-radius: 5px;
- border-radius: 5px;
- border: 1px solid #CCCCCC;
- background: #F8F8F8;
- font-weight: bold;
-}
-
-.settings-widget .selected {
- padding: 3px;
- -moz-border-radius: 5px;
- border-radius: 5px;
- font-weight: bold;
- color: #FFD700;
-}
-
-.fakelink:hover {
- color: #5588aa;
- text-decoration: underline;
- cursor: pointer;
-}
-.smalltext {
- font-size: 0.7em;
-}
-#sysmsg {
- /*width: 600px;*/
- margin-bottom: 10px;
-}
-
-#register-fill-ext {
- margin-bottom: 25px;
-}
-
-#label-register-name, #label-register-nickname, #label-register-openid {
- float: left;
- width: 350px;
- margin-top: 10px;
-}
-
-#register-name, #register-nickname {
- float: left;
- margin-top: 10px;
- width: 150px;
-}
-
-#register-openid {
- float: left;
- margin-top: 10px;
- width: 130px;
-}
-
-#register-name-end, #register-email-end, #register-nickname-end, #register-submit-end, #register-openid-end {
- clear: both;
-}
-
-#register-nickname-desc {
- margin-top: 30px;
- width: 650px;
-}
-#register-sitename {
- float: left;
- margin-top: 10px;
-}
-
-#register-submit-button {
- margin-top: 10px;
-}
-
-#main-login {
- margin-left: 100px;
- margin-top: 50px;
-}
-
-#main-login #id_username, #main-login #id_password {
- width: 200px;
- padding: 10px;
- float: left;
-}
-
-#main-login .field_end {
- clear: both;
-}
-
-#main-login .field.input label, #main-login .field.password label {
- float: left;
- width: 100px;
-}
-
-#login_standard {
- width: 350px;
- float: left;
-}
-
-
-#login_standard input,
-#login_openid input {
- width: 180px;
-}
-
-#login-extra-links {
- clear: both;
-}
-
-#register-link, #lost-password-link {
- float: left;
- font-size: 90%;
- margin-left: 100px;
-}
-
-#login-standard-end {
- clear: both;
-}
-
-#login-submit-button {
-
- margin-left: 100px;
- margin-top: 10px;
-/* margin-left: 200px; */
-}
-
-
-input#dfrn-url {
- float: left;
- background: url(../img/friendika-16.png) no-repeat;
- background-position: 2px center;
- font-size: 17px;
- padding-left: 21px;
- height: 21px;
- background-color: #FFFFFF;
- color: #000000;
- margin-bottom: 20px;
-}
-
-#dfrn-url-label {
- float: left;
- width: 250px;
-}
-
-#dfrn-request-url-end {
- clear: both;
-}
-
-#knowyouyes, #knowyouno {
- float: left;
-}
-
-#dfrn-request-knowyou-yes-wrapper, #dfrn-request-knowyou-no-wrapper {
-
- float: none;
-}
-#dfrn-request-knowyou-yes-label, #dfrn-request-knowyou-no-label {
- float: left;
- width: 75px;
- margin-left: 50px;
- margin-bottom: 7px;
-}
-#dfrn-request-knowyou-break, #dfrn-request-knowyou-end {
- clear: both;
-
-}
-
-#dfrn-request-message-wrapper {
- margin-bottom: 50px;
-}
-#dfrn-request-submit-wrapper {
- clear: both;
- margin-left: 50px;
-}
-
-#dfrn-request-info-wrapper {
- margin-left: 50px;
-}
-
-
-
-#cropimage-wrapper, #cropimage-preview-wrapper {
- float: left;
- padding: 30px;
-}
-
-#crop-image-form {
- margin-top: 30px;
- clear: both;
-}
-
-.intro-wrapper {
- margin-top: 20px;
-}
-
-.intro-fullname {
- font-size: 1.1em;
- font-weight: bold;
-
-}
-.intro-desc {
- margin-bottom: 20px;
- font-weight: bold;
-}
-
-.intro-note {
- padding: 10px;
-}
-
-.intro-end {
- padding: 30px;
-}
-
-.intro-form {
- float: left;
-}
-.intro-approve-form {
- clear: both;
-}
-.intro-approve-as-friend-end {
- clear: both;
-}
-.intro-submit-approve, .intro-submit-ignore {
- margin-right: 20px;
-}
-.intro-submit-approve {
- margin-top: 15px;
-}
-
-.intro-approve-as-friend-label, .intro-approve-as-fan-label {
- float: left;
- width: 100px;
- margin-left: 20px;
-}
-.intro-approve-as-friend, .intro-approve-as-fan {
- float: left;
-}
-.intro-form-end {
- clear: both;
-}
-.intro-approve-as-friend-desc {
- margin-top: 15px;
-}
-.intro-approve-as-end {
- clear: both;
- margin-bottom: 10px;
-}
-
-.intro-end {
- clear: both;
- margin-bottom: 30px;
-}
-.aprofile dt {
- font-weight: bold;
-}
-#page-profile .title {
- font-weight: bold;
-}
-#profile-vcard-break {
- clear: both;
-}
-#profile-extra-links {
- clear: both;
- margin-top: 10px;
-}
-
-#profile-extra-links ul {
- list-style-type: none;
- padding: 0px;
-}
-
-
-#profile-extra-links li {
- margin-top: 5px;
-}
-
-#profile-edit-links ul {
- list-style-type: none;
-}
-
-#profile-edit-links li {
- margin-top: 10px;
-}
-.profile-edit-side-div {
- float: right;
-}
-.profile-edit-side-link {
- opacity: 0.3;
- filter:alpha(opacity=30);
- float: right;
-}
-.profile-edit-side-link:hover {
- opacity: 1.0;
- filter:alpha(opacity=100);
-}
-
-.view-contact-wrapper {
- margin-top: 20px;
- float: left;
- margin-left: 20px;
- width: 180px;
-}
-
-.contact-wrapper {
- float: left;
- width: 150px;
- height: 150px;
- overflow: auto;
-}
-
-#view-contact-end {
- clear: both;
-}
-
-
-#viewconnections {
- margin-top: 15px;
-}
-#profile-edit-default-desc {
- color: #FF0000;
- border: 1px solid #FF8888;
- background-color: #FFEEEE;
- padding: 7px;
-}
-
-#profile-edit-clone-link-wrapper {
- float: left;
- margin-left: 50px;
- margin-bottom: 20px;
- width: 300px;
-}
-
-
-#profile-edit-links-end {
- clear: both;
- margin-bottom: 15px;
-}
-
-.profile-listing-photo {
- border: none;
-}
-
-.profile-edit-submit-wrapper {
- margin-top: 20px;
- margin-bottom: 20px;
-}
-
-#profile-photo-link-select-wrapper {
- margin-top: 2em;
-}
-
-#profile-photo-submit-wrapper {
- margin-top: 10px;
-}
-
-#profile-photo-wrapper img {
- width:120px;
- height:120px;
- padding: 12px;
-}
-
-#profile-edit-profile-name-label,
-#profile-edit-name-label,
-#profile-edit-pdesc-label,
-#profile-edit-gender-label,
-#profile-edit-dob-label,
-#profile-edit-address-label,
-#profile-edit-locality-label,
-#profile-edit-region-label,
-#profile-edit-postal-code-label,
-#profile-edit-country-name-label,
-#profile-edit-marital-label,
-#profile-edit-sexual-label,
-#profile-edit-politic-label,
-#profile-edit-religion-label,
-#profile-edit-pubkeywords-label,
-#profile-edit-prvkeywords-label,
-#profile-edit-homepage-label,
-#profile-edit-hometown-label {
- float: left;
- width: 175px;
-}
-
-#profile-edit-profile-name,
-#profile-edit-name,
-#profile-edit-pdesc,
-#gender-select,
-#profile-edit-dob,
-#profile-edit-address,
-#profile-edit-locality,
-#profile-edit-region,
-#profile-edit-postal-code,
-#profile-edit-country-name,
-#marital-select,
-#sexual-select,
-#profile-edit-politic,
-#profile-edit-religion,
-#profile-edit-pubkeywords,
-#profile-edit-prvkeywords,
-#profile-in-dir-yes,
-#profile-in-dir-no,
-#profile-in-netdir-yes,
-#profile-in-netdir-no,
-#hide-wall-yes,
-#hide-wall-no,
-#hide-friends-yes,
-#hide-friends-no {
- float: left;
- margin-bottom: 20px;
-}
-#settings-normal,
-#settings-soapbox,
-#settings-freelove,
-#settings-community {
- float: left;
-}
-#settings-notifications label {
- margin-left: 20px;
-}
-#settings-notify-desc, #settings-activity-desc {
- font-weight: bold;
- margin-bottom: 15px;
-}
-#settings-pagetype-desc {
- color: #666666;
- margin-bottom: 15px;
-}
-
-#profile-in-dir-yes-label,
-#profile-in-dir-no-label,
-#profile-in-netdir-yes-label,
-#profile-in-netdir-no-label,
-#hide-wall-yes-label,
-#hide-wall-no-label,
-#hide-friends-yes-label,
-#hide-friends-no-label {
- margin-left: 125px;
- float: left;
- width: 50px;
-}
-
-#profile-edit-with-label {
- width: 175px;
- margin-left: 20px;
-}
-
-#profile-publish-yes-reg,
-#profile-publish-no-reg {
- float: left;
- margin-bottom: 10px;
-}
-
-#profile-publish-yes-label-reg,
-#profile-publish-no-label-reg {
- margin-left: 350px;
- float: left;
- width: 50px;
-}
-
-#profile-publish-break-reg,
-#profile-publish-end-reg {
- clear: both;
-}
-
-
-#profile-edit-pdesc-desc,
-#profile-edit-pubkeywords-desc,
-#profile-edit-prvkeywords-desc {
- float: left;
- margin-left: 20px;
-}
-
-
-#profile-edit-homepage, #profile-edit-hometown {
- float: left;
- margin-bottom: 35px;
-}
-#settings-normal-label,
-#settings-soapbox-label,
-#settings-community-label,
-#settings-freelove-label {
- float: left;
- width: 200px;
-}
-#settings-normal-desc,
-#settings-soapbox-desc,
-#settings-community-desc,
-#settings-freelove-desc {
- /*float: left;
- margin-left: 75px;*/
- clear: left;
- color: #666666;
- display: block;
- margin-bottom: 20px
-}
-
-#profile-edit-profile-name-end,
-#profile-edit-name-end,
-#profile-edit-pdesc-end,
-#profile-edit-gender-end,
-#profile-edit-dob-end,
-#profile-edit-address-end,
-#profile-edit-locality-end,
-#profile-edit-region-end,
-#profile-edit-postal-code-end,
-#profile-edit-country-name-end,
-#profile-edit-marital-end,
-#profile-edit-sexual-end,
-#profile-edit-politic-end,
-#profile-edit-religion-end,
-#profile-edit-pubkeywords-end,
-#profile-edit-prvkeywords-end,
-#profile-edit-homepage-end,
-#profile-edit-hometown-end,
-#profile-in-dir-break,
-#profile-in-dir-end,
-#profile-in-netdir-break,
-#profile-in-netdir-end,
-#hide-wall-break,
-#hide-wall-end,
-#hide-friends-break,
-#hide-friends-end,
-#settings-normal-break,
-#settings-soapbox-break,
-#settings-community-break,
-#settings-freelove-break {
- clear: both;
-}
-
-.settings-widget ul {
- list-style-type: none;
- padding: 0px;
-}
-
-.settings-widget li {
- height: auto;
- background-color: #f00;
- color: #fff !important;
- font-weight: bold;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 5px;
- margin-bottom: 12px;
- width: auto;
- box-shadow: 5px 5px 5px #444;
- margin-left: 8px;
- padding: 4px;
-}
-
-
-#gender-select, #marital-select, #sexual-select {
- width: 220px;
-}
-
-#profile-edit-profile-name-wrapper .required {
- color: #FF0000;
- float: left;
-}
-
-#contacts-main {
- margin-top: 20px;
- margin-bottom: 20px;
-}
-
-.contact-entry-wrapper {
- float: left;
- width: 120px;
- height: 120px;
-}
-#contacts-search-end {
- margin-bottom: 10px;
-}
-
-.contact-entry-direction-icon {
- margin-top: 24px;
- margin-right: 2px;
-}
-
-.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;
-}
-
-#fsuggest-desc, #fsuggest-submit-wrapper {
- margin-top: 15px;
- margin-bottom: 15px;
-}
-
-#network-star-link{
- margin-top: 10px;
-}
-.network-star {
- float: left;
- margin-right: 5px;
-}
-#network-bmark-link {
- margin-top: 10px;
-}
-.thread-wrapper .wall-item-comment-wrapper {
- margin-left: 50px;
-}
-
-/* Give the top level post bigger shadows than the comments. This makes them appear "higher" and the comments "lower", which separates posts from each other reasonably without literally drawing a line under it */
-
-.wall-item-content-wrapper {
- position: relative;
- background: #fff;
- border-radius: 10px;
- box-shadow: 8px 8px 8px #000;
- border: 1px solid #eec;
- opacity: 0.8;
-}
-
-.wall-item-content-wrapper:hover {
- opacity: 1;
-}
-.thread-wrapper .thread-wrapper {
- margin-left: 50px;
-}
-
-.thread-end-wrapper {
- margin-left: 50px;
-}
-
-
-/* This shadow isn't quite right - not sure if it's colour or size */
-
-.wall-item-content-wrapper.comment {
- background: #fff;
- border-left: 1px solid #e0e0e0;
- margin-left: 50px;
- margin-top: 15px;
- box-shadow: 5px 5px 5px #222;
-
-}
-
-.wall-item-like.comment, .wall-item-dislike.comment {
- margin-left: 50px;
-}
-
-.wall-item-info {
- display: block;
- float: left;
- width:110px;
- margin-right:10px;
-}
-.comment .wall-item-info {
- width: 70px;
-}
-
-.wall-item-photo-wrapper {
- margin-top: 10px;
- margin-left: 10px;
- margin-bottom: 10px;
- width: 100px;
-}
-.wall-item-photo-menu-button {
- display: block;
- position: absolute;
- background-image: url("../img/photo-menu.jpg");
- background-position: top left;
- background-repeat: no-repeat;
- margin: 0px; padding: 0px;
- width: 16px;
- height: 16px;
- top: 74px; left:10px;
- overflow: hidden;
- text-indent: 40px;
- display: none;
-
-}
-.wall-item-photo-menu {
- width: auto;
- border: 2px solid #444444;
- background: #FFFFFF;
- position: absolute;
- left: 10px; top: 90px;
- display: none;
- z-index: 10000;
-}
-.wall-item-photo-menu ul { margin:0px; padding: 0px; list-style: none }
-.wall-item-photo-menu li a { display: block; padding: 2px; }
-.wall-item-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; }
-
-
-.comment .wall-item-photo-menu-button { top: 44px;}
-.comment .wall-item-photo-menu { top: 60px; }
-
-.wallwall .wwto {
- left: 50px;
- margin: 0;
- position: absolute;
- top: 70px;
- width: 30px
-}
-.wallwall .wwto img {
- width: 30px !important;
- height: 30px !important;
-}
-
-.wallwall .wall-item-photo-end {
- clear: both;
-}
-
-.wall-item-arrowphoto-wrapper {
- position: absolute;
- left: 75px;
- top: 70px;
- z-index: 100;
-}
-.wall-item-wrapper {
- /*float: left;
- margin-right: 5px;
- width: 250px;*/
- margin-left:10px;
-}
-.wall-item-lock {
- /*height: 20px;*/
- /*margin-top: 10px;*/
- left: 105px;
- position: absolute;
- top: 1px;
-}
-.comment .wall-item-lock {
- left: 65px;
-}
-
-.wall-item-ago {
- color: #888888;
- font-size: 0.8em;
-}
-
-.wall-item-location {
- overflow: hidden;
- /* add ellipsis on text overflow */
- /* this work on safari, opera, ie, chrome. */
- /* firefox users have to wait support or we */
- /* can use a jquery plugin http://bit.ly/zJskg */
- text-overflow: ellipsis;
- -o-text-overflow: ellipsis;
- width: 100%;
-}
-
-
-.item-tool {
- float: left;
- margin-right: 8px;
-}
-
-.like-rotator {
- margin-left: 5px;
-}
-
-.wall-item-delete-wrapper {
- float: right;
-}
-
-.wall-item-delete-end {
- clear: both;
-}
-
-.wall-item-delete-icon {
- border: none;
-}
-
-.wall-item-wrapper-end {
- clear: both;
-}
-.wall-item-name-link {
- font-weight: bold;
- text-decoration: none;
- color: #3172BD;
-}
-.wall-item-photo {
- border: none;
-}
-.comment .wall-item-photo {
- width: 50px !important;
- height: 50px !important;
-}
-.wall-item-content {
- margin-left: 10px;
- overflow: auto;
-}
-
-.wall-item-content img {
- max-height: 95% !important;
- max-width: 95% !important;
- box-shadow: 8px 8px 8px #666;
-}
-
-.wall-item-content img.smiley {
- box-shadow: none;
-}
-
-a.divgrow-showmore {
-bottom: 0pt;
-left: 0pt;
-cursor: pointer;
-/*TODO make this work in not-Firefox */
-background-image: -moz-linear-gradient(center top, #ccc 0%, #000 95%);
-height: 30px;
-text-shadow: 0pt 0pt 7px #000;
-background-color: transparent;
-border-radius: 0pt 0pt 3px 3px;
-border-bottom: 2px solid #ff0;
-color: #ff0;
-font-size: 0.8em;
-line-height: 48px;
-text-align: center;
-right: 0pt;
-position: absolute;
-/*Stop it blocking wall-item-tools*/
-margin-bottom: 24px;
-/*Make it work with non-shiny posts */
-opacity: 0.6;
-
-}
-
-.wall-item-title {
- float: left;
- font-weight: bold;
- /*width: 450px;*/
-}
-
-.wall-item-title-end {
- clear: both;
-}
-
-.thread-wrapper.toplevel_item {
-padding: 30px;
-width: 90%;
-}
-
-.wall-item-body {
-/* float: left; */
- /*width: 450px;*/
- margin: 10px 10px 30px;
-}
-
-.wall-item-tools {
- clear: both;
-/* background-image: url("../img/head.jpg"); */
- background-position: 0 -20px;
- background-repeat: repeat-x;
- background: #eee;
- padding: 2px;
- border-radius: 0px 0px 10px 10px;
- border: 1px #eec solid;
-}
-
-.wall-item-like, .wall-item-dislike {
- font-size: 0.8em;
- color: #878883;
- position: relative;
- bottom: 50px;
- margin-left: 120px;
- float:left;
- opacity: 0.6;
-}
-
-/*
-.wall-item-dislike {
- font-size: 0.8em;
- color: #878883;
- position: relative;
- bottom: 50px;
- margin-left: 120px;
-}
-
-*/
-.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;
-}
-
-.comment-wwedit-wrapper {
-
-}
-
-.comment-edit-photo {
- margin-top: 10px;
- margin-left: 10px;
- margin-bottom: 10px;
- width: 100px;
- float: left;
-}
-.comment-wwedit-wrapper.threaded > .comment-edit-form > .comment-edit-photo {
- width: 40px;
-}
-
-.comment-edit-photo img {
- width: 25px;
-}
-.comment-edit-text-empty, .comment-edit-text-full {
- float: left;
- margin-top: 10px;
- padding: 3px 1px 1px 3px;
- border: 1px solid #ccc;
- padding: 8px;
- border-radius: 5px 5px 5px 5px;
- box-shadow: 5px 5px 5px #666 inset;
-}
-
-.comment-edit-text-empty {
-color: gray;
-height: 1.5em;
-width: 80%; /*Too wide? */
-overflow: auto;
-margin-bottom: 10px;
-}
-
-.comment-wwedit-wrapper.threaded > .comment-edit-form > .comment-edit-text-empty {
- height: 1.5em;
-}
-
-.comment-edit-text-full {
- color: black;
- height: 150px;
- width: 80%;
- overflow: auto;
-}
-
-
-.comment-edit-text-end {
- clear: both;
-}
-
-.comment-edit-submit {
- margin: 10px 0px 10px 110px;
-}
-
-.comment-wwedit-wrapper.threaded > .comment-edit-form > .comment-edit-submit-wrapper > .comment-edit-submit {
- margin-left: 50px;
-}
-
-#profile-jot-plugin-wrapper,
-#profile-jot-submit-wrapper {
- margin-top: 15px;
- width:90%;
-}
-
-#profile-jot-submit {
- float: left;
-}
-#profile-upload-wrapper {
- float: left;
- margin-left: 30px;
-}
-#profile-attach-wrapper {
- float: left;
- margin-left: 30px;
-}
-#profile-rotator {
- float: left;
- margin-left: 30px;
-}
-#profile-link-wrapper {
- float: left;
- margin-left: 15px;
-}
-#profile-youtube-wrapper {
- float: left;
- margin-left: 15px;
-}
-#profile-video-wrapper {
- float: left;
- margin-left: 15px;
-}
-#profile-audio-wrapper {
- float: left;
- margin-left: 15px;
-}
-#profile-location-wrapper {
- float: left;
- margin-left: 15px;
-}
-#jot-preview-link {
- float: left;
- margin-left: 45px;
- margin-top: 0px !important;
-}
-
-
-#profile-nolocation-wrapper {
- float: left;
- margin-left: 15px;
-}
-#profile-title-wrapper {
- float: left;
- margin-left: 15px;
-}
-
-#profile-jot-perms {
- float: right;
- margin-left: 100px;
- font-weight: bold;
- font-size: 1.2em;
- height: auto;
- width: auto;
- background-color: #dd0000;
- border-radius: 5px;
- border: 2px outset;
- box-shadow: 5px 5px 5px #666;
- margin-right: 8px;
- padding: 4px;
-}
-
-#profile-jot-perms:active {
- box-shadow: 0 0 0 0;
-}
-
-#profile-jot-perms-end {
- /*clear: left;*/
- height: 30px;
-}
-
-#profile-jot-plugin-end{
- clear: both;
-}
-.profile-jot-net {
- float: left;
- margin-right: 10px;
- margin-top: 5px;
- margin-bottom: 5px;
-}
-
-#profile-jot-networks-end {
- clear: both;
-}
-
-#profile-jot-end {
- /*clear: both;*/
- margin-bottom: 30px;
-}
-#about-jot-submit-wrapper {
- margin-top: 15px;
-}
-#about-jot-end {
- margin-bottom: 30px;
-}
-#contacts-main {
- margin-bottom: 30px;
-}
-
-#profile-listing-desc {
- margin-left: 30px;
-}
-
-#profile-listing-new-link-wrapper {
- margin-left: 30px;
- margin-bottom: 30px;
-}
-.profile-listing-photo-wrapper {
- float: left;
-}
-
-.profile-listing-edit-buttons-wrapper {
- clear: both;
-}
-.profile-listing-photo-edit-link {
- float: left;
- width: 125px;
-}
-.profile-listing-end {
- clear: both;
-}
-.profile-listing-edit-buttons-wrapper img{
- border: none;
- margin-right: 20px;
-}
-.profile-listing {
- margin-top: 25px;
-}
-.profile-listing-name {
- float: left;
- margin-left: 32px;
- margin-top: 10px;
- color: #3172BD;
- font-weight: bold;
- width: 200px;
-
-}
-.fortune {
- margin-top: 50px;
- color: #4444FF;
- font-weight: bold;
- margin-bottom: 20px;
-}
-
-
-.directory-end {
- clear: both;
-}
-.directory-name {
- text-align: center;
-}
-.directory-photo {
- margin-left: 25px;
-}
-.directory-details {
- font-size: 0.7em;
- text-align: center;
- margin-left: 5px;
- margin-right: 5px;
-}
-.directory-item {
- float: left;
- width: 225px;
- height: 260px;
- overflow: auto;
-}
-
-#directory-search-wrapper {
- margin-top: 20px;
- margin-right: 20px;
- margin-bottom: 50px;
-}
-
-#directory-search-end {
-}
-
-.directory-photo-img {
- border: none;
-}
-
-
-.pager {
- padding: 10px;
- text-align: center;
- font-size: 1.0em;
-}
-
-
-.pager_first,
-.pager_last,
-.pager_prev,
-.pager_next,
-.pager_n {
- border: 1px solid black;
- background: #EEE;
- padding: 4px;
-}
-
-.pager_first a,
-.pager_last a,
-.pager_prev a,
-.pager_next a,
-.pager_n a {
- text-decoration: none;
-}
-
-.pager_current {
- border: 1px solid black;
- background: #FFCCCC;
- padding: 4px;
-}
-
-
-#advanced-profile-name-wrapper,
-#advanced-profile-gender-wrapper,
-#advanced-profile-dob-wrapper,
-#advanced-profile-age-wrapper,
-#advanced-profile-marital-wrapper,
-#advanced-profile-sexual-wrapper,
-#advanced-profile-homepage-wrapper,
-#advanced-profile-politic-wrapper,
-#advanced-profile-religion-wrapper,
-#advanced-profile-about-wrapper,
-#advanced-profile-interest-wrapper,
-#advanced-profile-contact-wrapper,
-#advanced-profile-music-wrapper,
-#advanced-profile-book-wrapper,
-#advanced-profile-tv-wrapper,
-#advanced-profile-film-wrapper,
-#advanced-profile-romance-wrapper,
-#advanced-profile-work-wrapper,
-#advanced-profile-education-wrapper {
- margin-top: 20px;
-}
-
-#advanced-profile-name-text,
-#advanced-profile-gender-text,
-#advanced-profile-dob-text,
-#advanced-profile-age-text,
-#advanced-profile-marital-text,
-#advanced-profile-sexual-text,
-#advanced-profile-homepage-text,
-#advanced-profile-politic-text,
-#advanced-profile-religion-text,
-#advanced-profile-about-text,
-#advanced-profile-interest-text,
-#advanced-profile-contact-text,
-#advanced-profile-music-text,
-#advanced-profile-book-text,
-#advanced-profile-tv-text,
-#advanced-profile-film-text,
-#advanced-profile-romance-text,
-#advanced-profile-work-text,
-#advanced-profile-education-text {
- width: 300px;
- float: left;
-}
-
-#advanced-profile-name-end,
-#advanced-profile-gender-end,
-#advanced-profile-dob-end,
-#advanced-profile-age-end,
-#advanced-profile-marital-end,
-#advanced-profile-sexual-end,
-#advanced-profile-homepage-end,
-#advanced-profile-politic-end,
-#advanced-profile-religion-end {
- height: 10px;
-}
-
-#advanced-profile-about-end,
-#advanced-profile-interest-end,
-#advanced-profile-contact-end,
-#advanced-profile-music-end,
-#advanced-profile-book-end,
-#advanced-profile-tv-end,
-#advanced-profile-film-end,
-#advanced-profile-romance-end,
-#advanced-profile-work-end,
-#advanced-profile-education-end {
-
-
-}
-
-#advanced-profile-name,
-#advanced-profile-gender,
-#advanced-profile-dob,
-#advanced-profile-age,
-#advanced-profile-marital,
-#advanced-profile-sexual,
-#advanced-profile-homepage,
-#advanced-profile-politic,
-#advanced-profile-religion {
- float: left;
-
-}
-
-
-#advanced-profile-about,
-#advanced-profile-interest,
-#advanced-profile-contact,
-#advanced-profile-music,
-#advanced-profile-book,
-#advanced-profile-tv,
-#advanced-profile-film,
-#advanced-profile-romance,
-#advanced-profile-work,
-#advanced-profile-education {
- margin-top: 10px;
- margin-left: 50px;
- margin-right: 20px;
- padding: 10px;
- border: 1px solid #CCCCCC;
-}
-
-#advanced-profile-with {
- float: left;
- margin-left: 15px;
-}
-
-#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-photo-menu-button {
- position: absolute;
- background-image: url("../img/photo-menu.jpg");
- background-position: top left;
- background-repeat: no-repeat;
- margin: 0px; padding: 0px;
- width: 16px;
- height: 16px;
- top: 64px; left:0px;
- overflow: hidden;
- text-indent: 40px;
- display: none;
-
-}
-.contact-photo-menu {
- width: auto;
- border: 2px solid #444444;
- background: #FFFFFF;
- position: absolute;
- left: 0px; top: 90px;
- display: none;
- z-index: 10000;
-}
-.contact-photo-menu ul { margin:0px; padding: 0px; list-style: none }
-.contact-photo-menu li a { display: block; padding: 2px; }
-.contact-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; }
-
-
-#block-message, #ignore-message, #archive-message, #lost-contact-message {
- color: #FF0000;
-}
-
-#profile-edit-insecure {
- margin-top: 20px;
- color: #FF0000;
- font-size: 1.1em;
- border: 1px solid #FF8888;
- background-color: #FFEEEE;
- padding-left: 5px;
- /*: 3px 3px 3px 5px; */
- width: 587px;
-}
-
-/* TinyMCE */
-
-DIV#profile-jot-text_toolbargroup{
-background: #FFF;
-border: 1px #111;
-/*box-shadow: 5px 5px 5px #000 inset;*/
-}
-
-/*
-#profile-jot-text_parent, .mceLayout {
- border-radius: 5px;
- -moz-border-radius: 5px;
- box-shadow: 4px 4px 3px 0 #444444;
-}
-*/
-
-
-iframe#profile-jot-text_ifr {
-width: 100% !important;
-height: 100% !important;
-box-shadow: 5px 5px 5px #000 inset !important;}
-
-tr.mceLast {
-
-}
-
-/* Not MCE */
-
-#profile-jot-text {
- height: 20px;
- color:#000;
- border: 1px solid #cccccc;
- padding: 10px;
- width: 90%;
- border-radius: 20px;
- box-shadow: 4px 4px 3px 0 #666 inset;
-}
-#profile-jot-text:hover {
- color: #000000;
-}
-
-.wall-item-photo, .photo, .contact-block-img, .my-comment-photo {
- border-radius: 5px;
- -moz-border-radius: 5px;
- box-shadow: 4px 4px 3px 0 #444444;
-}
-
-
-#datebrowse-sidebar select {
- margin-left: 25px;
- border-radius: 5px;
- -moz-border-radius: 5px;
- 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;
-}
-
-#side-bar-photos-albums ul {
- list-style: none;
-}
-
-.contact-entry-photo img, .profile-match-photo img, #photo-photo img, .directory-photo-img, .photo-album-photo, .photo-top-photo, .group-selected, .nets-selected, .fileas-selected, .categories-selected {
- border-radius: 5px;
- -moz-border-radius: 5px;
- box-shadow: 4px 4px 3px 0 #444444;
-}
-
-#profile-jot-submit {
- height: auto;
- background-color: #dd0000;
- 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;
-}
-
-#profile-jot-submit:active {
- box-shadow: 0 0 0 0;
-}
-
-#sidebar-page-list .label {
- margin-left: 5px;
-}
-
-
-.photo {
- border: 1px solid #AAAAAA;
-}
-
-.photo-top-photo, .photo-album-photo {
- padding: 10px;
- max-width: 300px;
- border: 1px solid #888888;
-}
-
-.rotleft1 {
--webkit-transform: rotate(-1deg);
--moz-transform: rotate(-1deg);
--ms-transform: rotate(-1deg);
--o-transform: rotate(-1deg);
-}
-
-.rotleft2 {
--webkit-transform: rotate(-2deg);
--moz-transform: rotate(-2deg);
--ms-transform: rotate(-2deg);
--o-transform: rotate(-2deg);
-}
-
-.rotleft3 {
--webkit-transform: rotate(-3deg);
--moz-transform: rotate(-3deg);
--ms-transform: rotate(-3deg);
--o-transform: rotate(-3deg);
-}
-
-.rotleft4 {
--webkit-transform: rotate(-4deg);
--moz-transform: rotate(-4deg);
--ms-transform: rotate(-4deg);
--o-transform: rotate(-4deg);
-}
-
-
-.rotright1 {
--webkit-transform: rotate(1deg);
--moz-transform: rotate(1deg);
--ms-transform: rotate(1deg);
--o-transform: rotate(1deg);
-}
-
-.rotright2 {
--webkit-transform: rotate(2deg);
--moz-transform: rotate(2deg);
--ms-transform: rotate(2deg);
--o-transform: rotate(2deg);
-}
-
-.rotright3 {
--webkit-transform: rotate(3deg);
--moz-transform: rotate(3deg);
--ms-transform: rotate(3deg);
--o-transform: rotate(3deg);
-}
-
-.rotright4 {
--webkit-transform: rotate(4deg);
--moz-transform: rotate(4deg);
--ms-transform: rotate(4deg);
--o-transform: rotate(4deg);
-}
-
-
-
-/** acl **/
-#photo-edit-perms-select,
-#photos-upload-permissions-wrapper,
-#profile-jot-acl-wrapper{
- display:block!important;
-}
-
-#photos-usage-message {
- margin-bottom: 15px;
-}
-
-
-#acl-wrapper {
- width: 690px;
- float:left;
-}
-#acl-search {
- float:right;
- background: #ffffff url("../../../../images/search_18.png") no-repeat right center;
- padding-right:20px;
-}
-#acl-showall {
- float: left;
- display: block;
- width: auto;
- height: 18px;
- background-color: #cccccc;
- background-image: url("../../../../images/show_all_off.png");
- background-position: 7px 7px;
- background-repeat: no-repeat;
- padding: 7px 5px 0px 30px;
- -webkit-border-radius: 5px ;
- -moz-border-radius: 5px;
- border-radius: 5px;
- color: #999999;
-}
-#acl-showall.selected {
- color: #000000;
- background-color: #ff9900;
- background-image: url("../../../../images/show_all_on.png");
-}
-
-#acl-list {
- height: 210px;
- border: 1px solid #cccccc;
- clear: both;
- margin-top: 30px;
- overflow: auto;
-}
-#acl-list-content {
-
-}
-.acl-list-item {
- display: block;
- width: 150px;
- height: 30px;
- border: 1px solid #cccccc;
- margin: 5px;
- float: left;
-}
-.acl-list-item img{
- width:22px;
- height: 22px;
- float: left;
- margin: 4px;
-}
-.acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;}
-.acl-list-item a {
- font-size: 8px;
- display: block;
- width: 40px;
- height: 10px;
- float: left;
- color: #999999;
- background-color: #cccccc;
- background-position: 3px 3px;
- background-repeat: no-repeat;
- margin-right: 5px;
- -webkit-border-radius: 5px ;
- -moz-border-radius: 5px;
- border-radius: 5px;
- padding-left: 15px;
-}
-#acl-wrapper a:hover {
- text-decoration: none;
- color:#000000;
-}
-.acl-button-show { background-image: url("../../../../images/show_off.png"); }
-.acl-button-hide { background-image: url("../../../../images/hide_off.png"); }
-
-.acl-button-show.selected {
- color: #000000;
- background-color: #9ade00;
- background-image: url("../../../../images/show_on.png");
-}
-.acl-button-hide.selected {
- color: #000000;
- background-color: #ff4141;
- background-image: url("../../../../images/hide_on.png");
-}
-.acl-list-item.groupshow { border-color: #9ade00; }
-.acl-list-item.grouphide { border-color: #ff4141; }
-/** /acl **/
-
-
-
-#group-new-submit-wrapper {
- margin-top: 30px;
-}
-
-#group-edit-name-label {
- float: left;
- width: 175px;
- margin-top: 20px;
- margin-bottom: 20px;
-}
-
-#group-edit-name {
- float: left;
- width: 225px;
- margin-top: 20px;
- margin-bottom: 20px;
-}
-
-#group-edit-name-wrapper {
-
-
-}
-
-
-#group_members_select_label {
- display: block;
- float: left;
- width: 175px;
-}
-
-.group_members_select {
- float: left;
- width: 230px;
- overflow: auto;
-}
-
-#group_members_select_end {
- clear: both;
-}
-#group-edit-name-end {
- clear: both;
-}
-
-#prvmail-to-label, #prvmail-subject-label, #prvmail-message-label {
- margin-bottom: 10px;
- margin-top: 20px;
-}
-
-#prvmail-submit {
- float: left;
- margin-top: 10px;
- margin-right: 30px;
-}
-#prvmail-upload-wrapper,
-#prvmail-link-wrapper,
-#prvmail-rotator-wrapper {
- float: left;
- margin-top: 10px;
- margin-right: 10px;
- width: 24px;
-}
-
-#prvmail-end {
- clear: both;
-}
-
-.mail-list-sender,
-.mail-list-detail {
- float: left;
-}
-.mail-list-detail {
- margin-left: 20px;
-}
-
-.mail-list-subject {
- font-size: 1.1em;
- margin-top: 10px;
-}
-a.mail-list-link {
- display: block;
- font-size: 1.3em;
- padding: 4px 0;
-}
-
-/*
-*a.mail-list-link:hover {
-* background-color: #15607B;
-* color: #F5F6FB;
-*}
-*/
-
-.mail-list-outside-wrapper-end {
- clear: both;
-}
-
-.mail-list-outside-wrapper {
- margin-top: 30px;
-}
-
-.mail-list-delete-wrapper {
- float: right;
- margin-right: 30px;
- margin-top: 15px;
-}
-
-.mail-list-delete-icon {
- border: none;
-}
-
-.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-outside-wrapper-end {
- clear: both;
-}
-
-.mail-conv-outside-wrapper {
- margin-top: 30px;
-}
-
-.mail-conv-delete-wrapper {
- float: right;
- margin-right: 30px;
- margin-top: 15px;
-}
-.mail-conv-break {
- clear: both;
-}
-
-.mail-conv-delete-icon {
- border: none;
-}
-
-.message-links ul {
- list-style-type: none;
- padding: 0px;
-}
-
-.message-links li {
- margin-top: 10px;
- float: left;
-}
-.message-links a {
- padding: 3px 5px;
-}
-
-.message-links-end {
- clear: both;
-}
-
-#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 {
- margin-top: 10px;
-}
-
-.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;
-}
-.savedsearchdrop, .savedsearchterm {
- float: left;
- margin-top: 10px;
-}
-.savedsearchterm {
- margin-left: 10px;
-}
-
-
-#side-follow-wrapper {
- margin-top: 20px;
-}
-#side-follow-url, #side-peoplefind-url {
- margin-top: 5px;
-}
-#side-follow-submit, #side-peoplefind-submit {
- margin-top: 15px;
-}
-
-#side-match-link {
- margin-top: 10px;
-}
-
-aside input[type='text'] {
- width: 174px;
-}
-
-.widget {
- border-bottom: 1px solid #eec;
- padding: 8px;
- margin-top: 5px;
- -moz-border-radius:5px;
- -webkit-border-radius:5px;
- border-radius:5px;
-
-}
-
-
-/*.photos {
- height: auto;
- overflow: auto;
-}*/
-
-.photos-end {
- clear: both;
- margin-bottom: 25px;
-}
-
-.photo-album-image-wrapper {
- float: left;
- margin-top: 15px;
- margin-right: 15px;
- margin-left: 15px;
-/* width: 200px; height: 200px;
- overflow: hidden;
- position: relative; */
-}
-.photo-album-image-wrapper .caption {
- display: none;
- width: 100%;
-/* position: absolute; */
- bottom: 0px;
- padding: 0.5em 0.5em 0px 0.5em;
- background-color: rgba(245, 245, 255, 0.8);
- border-bottom: 2px solid #CCC;
- margin: 0px;
-}
-.photo-album-image-wrapper a:hover .caption {
- display:block;
-}
-
-#photo-album-end {
- clear: both;
- margin-bottom: 25px;
-}
-
-.photo-top-image-wrapper {
-/* position: relative; */
- float: left;
- margin-top: 15px;
- margin-right: 15px;
- margin-left: 15px;
- margin-bottom: 15px;
-/* width: 200px; height: 200px;
- overflow: hidden; */
-}
-.photo-top-album-name {
- width: 100%;
- min-height: 2em;
-/* position: absolute; */
- bottom: 0px;
- padding: 0px 3px;
- padding-top: 0.5em;
- background-color: rgb(255, 255, 255);
-}
-#photo-top-end {
- clear: both;
-}
-
-#photo-top-links {
- margin-bottom: 30px;
- margin-left: 30px;
-}
-
-#photos-upload-newalbum-div {
- float: left;
- width: 175px;
-}
-
-#photos-upload-noshare {
- margin-bottom: 10px;
-}
-#photos-upload-existing-album-text {
- float: left;
- width: 175px;
-}
-#photos-upload-newalbum {
- float: left;
-}
-#photos-upload-album-select {
- float: left;
-}
-
-#photos-upload-spacer {
- margin-top: 25px;
-}
-#photos-upload-new-end, #photos-upload-exist-end {
- clear: both;
-}
-#photos-upload-exist-end {
- margin-bottom: 15px;
-}
-#photos-upload-submit {
- margin-top: 15px;
-}
-
-#photos_upload_applet_wrapper {
- margin-bottom: 15px;
-}
-
-#photos-upload-no-java-message {
- margin-bottom: 15px;
-}
-
-#profile-jot-desc {
- /*float: left;*/
- width: 480px;
- color: #FF0000;
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-#character-counter {
- float: right;
- font-size: 120%;
-}
-
-#character-counter.grey {
- color: #888888;
-}
-
-#character-counter.orange {
- color: orange;
-}
-#character-counter.red {
- color: red;
-}
-
-#profile-jot-banner-end {
- /* clear: both; */
-}
-
-#photos-upload-select-files-text {
- margin-top: 15px;
- margin-bottom: 15px;
-}
-
-#photos-upload-perms-menu, #photos-upload-perms-menu:visited, #photos-upload-perms-menu:link {
- color: #8888FF;
- text-decoration: none;
- cursor: pointer;
-}
-
-#photos-upload-perms-menu:hover {
- color: #0000FF;
- text-decoration: underline;
- cursor: pointer;
-}
-
-
-#settings-default-perms-menu {
- margin-top: 15px;
- margin-bottom: 15px;
-}
-
-#photo-edit-caption-label, #photo-edit-tags-label, #photo-edit-albumname-label, #photo-edit-rotate-label {
- float: left;
- width: 150px;
-}
-
-#photo-edit-perms-end {
- margin-bottom: 15px;
-}
-
-#photo-edit-caption, #photo-edit-newtag, #photo-edit-albumname, #photo-edit-rotate {
- float: left;
- margin-bottom: 25px;
-}
-#photo-edit-link-wrap {
- margin-bottom: 15px;
-}
-#photo-like-div {
- margin-bottom: 25px;
-}
-
-#photo-edit-caption-end, #photo-edit-tags-end, #photo-edit-albumname-end, #photo-edit-rotate-end {
- clear: both;
-}
-
-#photo-edit-rotate-end {
- margin-bottom: 15px;
-}
-
-#photo-edit-delete-button {
- margin-left: 200px;
-}
-#photo-edit-end {
- margin-bottom: 35px;
-}
-#photo-caption {
- font-size: 110%;
- font-weight: bold;
- margin-top: 15px;
- margin-bottom: 15px;
-}
-
-#in-this-photo-text {
- color: #0000FF;
- margin-left: 30px;
-}
-
-#in-this-photo {
- margin-left: 60px;
- margin-top: 10px;
- margin-bottom: 20px;
-}
-
-#photo-album-edit-submit, #photo-album-edit-drop {
- margin-top: 15px;
- margin-bottom: 15px;
-}
-
-#photo-album-edit-drop {
- margin-left: 200px;
-}
-
-.group-delete-wrapper {
- float: right;
- margin-right: 50px;
-}
-
-#install-dbhost-label,
-#install-dbuser-label,
-#install-dbpass-label,
-#install-dbdata-label,
-#install-tz-desc {
- float: left;
- width: 250px;
- margin-top: 10px;
- margin-bottom: 10px;
-
-}
-
-#install-dbhost,
-#install-dbuser,
-#install-dbpass,
-#install-dbdata {
- float: left;
- width: 200px;
- margin-left: 20px;
-}
-
-#install-dbhost-end,
-#install-dbuser-end,
-#install-dbpass-end,
-#install-dbdata-end,
-#install-tz-end {
- clear: both;
-}
-
-#install-form select#timezone_select {
- float: left;
- margin-top: 18px;
- margin-left: 20px;
-}
-
-#dfrn-request-networks {
- margin-bottom: 30px;
-}
-
-#pause {
- position: fixed;
- bottom: 5px;
- right: 5px;
-}
-
-.sparkle {
- cursor: url('../img/lock.cur'), pointer;
-/* cursor: pointer !important; */
-}
-
-.contact-block-div {
- float: left;
- width: 52px;
- height: 52px;
-}
-.contact-block-textdiv {
- float: left;
- width: 150px;
- height: 34px;
-}
-
-#contact-block-end {
- clear: both;
-}
-.contact-block-link {
- float: left;
-}
-.contact-block-img {
- width:30px;
- height:30px;
-}
-
-#tag-remove {
- margin-bottom: 15px;
-}
-
-#tagrm li {
- margin-bottom: 10px;
-}
-
-#tagrm-submit, #tagrm-cancel {
- margin-top: 25px;
-}
-
-#tagrm-cancel {
- margin-left: 15px;
-}
-
-.wall-item-conv {
- margin-top: 5px;
- margin-bottom: 25px;
-}
-
-#search-submit {
- margin-left: 15px;
-}
-
-#search-box {
- margin-bottom: 25px;
-}
-
-#nav-searchbar {
- float: right;
- margin-top: 4px;
-}
-
-#nav-search-text:hover {
- background-color: #FFF;
- opacity: 1;
-}
-
-#nav-search-text {
- border-radius: 14px;
- background-color: #fff;
- opacity: 0.92;
-}
-
-#nav-user-linkmenu img {
- border-radius: 5px;
-}
-
-.location-label, .gender-label, .marital-label, .homepage-label {
- float: left;
- text-align: right;
- display: block;
- width: 65px;
-}
-
-.adr, .x-gender, .marital-text, .homepage-url {
- float: left;
- display: block;
- margin-left: 8px;
-}
-
-.profile-clear {
- clear: both;
-}
-
-
-.clear {
- clear: both;
-}
-
-.cc-license {
- margin-top: 50px;
- font-size: 70%;
-}
-
-
-#plugin-settings-link, #account-settings-link {
- margin-bottom: 10px;
-}
-
-#uexport-link {
- margin-bottom: 20px;
-}
-
-/* end from default */
-
-
-.fn {
- padding: 0px 0px 5px 0px;
- font-size: 120%;
- font-weight: bold;
- color: #dd0000;
-}
-
-.vcard .title {
- margin-bottom: 5px;
- margin-left: 12px;
-}
-
-.vcard dl {
- clear: both;
-}
-
-#birthday-title {
- float: left;
- font-weight: bold;
-}
-
-#birthday-adjust {
- float: left;
- font-size: 75%;
- margin-left: 10px;
-}
-
-#birthday-title-end {
- clear: both;
-}
-
-.birthday-list {
- margin-left: 15px;
-}
-
-#birthday-wrapper {
- margin-bottom: 20px;
-}
-
-#network-new-link {
- margin-top: 15px;
- margin-bottom: 15px;
-}
-
-
-.tool-wrapper {
- float: left;
- margin-left: 15px;
-}
-
-.tool-link {
- cursor: pointer;
-}
-
-.eventcal {
- float: left;
- font-size: 20px;
-}
-
-#event-summary-text {
- margin-top: 15px;
-}
-
-#event-share-checkbox {
- float: left;
- margin-top: 10px;
-}
-
-#event-share-text {
- float: left;
- margin-top: 10px;
- margin-left: 5px;
-}
-
-#event-share-break {
- clear: both;
- margin-bottom: 10px;
-}
-
-#event-summary {
- width: 400px;
- font-weight: bold;
- font-size:2em;
-}
-
-.vevent {
-border: 1px solid #CCCCCC;
-
-}
-
-.vevent .event-summary {
- margin-left: 10px;
- margin-right: 10px;
- font-weight: bold;
-}
-
-.vevent .event-description, .vevent .event-location {
- margin-left: 10px;
- margin-right: 10px;
-}
-.vevent .event-start {
- margin-left: 10px;
- margin-right: 10px;
-}
-
-#new-event-link {
- margin-bottom: 10px;
-}
-
-.edit-event-link, .plink-event-link {
- float: left;
- margin-top: 4px;
- margin-right: 4px;
- margin-bottom: 15px;
-}
-
-.event-description:before {
- content: url('../../../../images/calendar.png');
- margin-right: 15px;
-}
-
-.event-start, .event-end {
- margin-left: 10px;
- width: 330px;
- clear: both;
-}
-
-.event-start .dtstart, .event-end .dtend {
- float: right;
-}
-
-.event-list-date {
- margin-bottom: 10px;
-}
-
-.prevcal, .nextcal {
- float: left;
- margin-left: 32px;
- margin-right: 32px;
- margin-top: 64px;
-}
-.event-calendar-end {
- clear: both;
-}
-
-
-.calendar {
- font-family: Courier, monospace;
-}
-.today {
- font-weight: bold;
- color: #FF0000;
-}
-
-.settings-block {
- border: 1px solid #AAA;
- margin: 10px;
- padding: 10px;
-}
-
-.app-title {
- margin: 10px;
-}
-
-#identity-manage-desc {
- margin-top:15px;
- margin-bottom: 15px;
-}
-
-#identity-manage-choose {
- margin-bottom: 15px;
-}
-
-#identity-submit {
- margin-top: 20px;
-}
-
-#photo-prev-link, #photo-next-link {
- padding: 10px;
- float: left;
-}
-
-#photo-photo {
- float: left;
-}
-
-#photo-photo-end {
- clear: both;
-}
-
-.profile-match-photo {
- float: left;
- text-align: center;
- width: 120px;
-}
-
-.profile-match-name {
- float: left;
- text-align: center;
- width: 120px;
- overflow: hidden;
-}
-
-.profile-match-break,
-.profile-match-end {
- clear: both;
-}
-
-.profile-match-connect {
- text-align: center;
- font-weight: bold;
-}
-
-.profile-match-wrapper {
- float: left;
- padding: 10px;
- width: 120px;
- height: 120px;
- scroll: auto;
-}
-#profile-match-wrapper-end {
- clear: both;
-}
-.side-link {
- margin-bottom: 15px;
-}
-
-#language-selector {
- position: absolute;
- top: 0px;
- left: 16px;
-}
-
-#group-members {
- margin-top: 20px;
- padding: 10px;
- height: 250px;
- overflow: auto;
- border: 1px solid #ddd;
-}
-
-#group-members-end {
- clear: both;
-}
-
-#group-separator {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-#group-all-contacts {
- padding: 10px;
- height: 450px;
- overflow: auto;
- border: 1px solid #ddd;
-}
-
-#group-all-contacts-end {
- clear: both;
- margin-bottom: 10px;
-}
-
-#group-edit-desc {
- margin-top: 15px;
-}
-
-
-#prof-members {
- margin-top: 20px;
- padding: 10px;
- height: 250px;
- overflow: auto;
- border: 1px solid #ddd;
-}
-
-#prof-members-end {
- clear: both;
-}
-
-#prof-separator {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-#prof-all-contacts {
- padding: 10px;
- height: 450px;
- overflow: auto;
- border: 1px solid #ddd;
-}
-
-#prof-all-contacts-end {
- clear: both;
- margin-bottom: 10px;
-}
-
-#prof-edit-desc {
- margin-top: 15px;
-}
-
-#crepair-name-label,
-#crepair-nick-label,
-#crepair-attag-label,
-#crepair-url-label,
-#crepair-request-label,
-#crepair-confirm-label,
-#crepair-notify-label,
-#crepair-photo-label,
-#crepair-poll-label {
- float: left;
- width: 200px;
- margin-bottom: 15px;
-}
-
-#crepair-name,
-#crepair-nick,
-#crepair-attag,
-#crepair-url,
-#crepair-request,
-#crepair-confirm,
-#crepair-notify,
-#crepair-photo,
-#crepair-poll {
- float: left;
- width: 300px;
-}
-
-
-#netsearch-box {
- margin-top: 20px;
-}
-
-#netsearch-box #search-submit {
- margin: 5px 0px 0px 0px;
-}
-
-.required {
- color: #FF0000;
-}
-
-#event-start-text, #event-finish-text {
- margin-top: 10px;
- margin-bottom: 5px;
-}
-
-#event-nofinish-checkbox, #event-nofinish-text, #event-adjust-checkbox, #event-adjust-text {
- float: left;
-}
-#event-datetime-break {
- margin-bottom: 10px;
-}
-
-#event-nofinish-break, #event-adjust-break {
- clear: both;
-}
-
-#event-desc-text, #event-location-text {
- margin-top: 10px;
- margin-bottom: 5px;
-}
-#event-submit {
- margin-top: 10px;
-}
-
-.body-tag, .filesavetags, .categorytags {
- opacity: 0.5;
- filter:alpha(opacity=50);
-}
-
-.body-tag:hover, .filesavetags:hover, .categorytags:hover {
- opacity: 1.0 !important;
- filter:alpha(opacity=100) !important;
-}
-
-.item-select {
- opacity: 0.1;
- filter:alpha(opacity=10);
- float: right;
- margin-right: 10px;
-
-}
-.item-select:hover, .checkeditem {
- opacity: 1;
- filter:alpha(opacity=100);
-}
-
-
-#item-delete-selected {
- margin-top: 30px;
-}
-
-#item-delete-selected-end {
- clear: both;
-}
-#item-delete-selected-icon, #item-delete-selected-desc {
- float: left;
- margin-right: 5px;
-}
-#item-delete-selected-desc:hover {
- text-decoration: underline;
-}
-
-#lang-select-icon {
- cursor: pointer;
- position: absolute;
- left: 4px;
-/*because of the shape, if this is lined up properly it looks like it's lined up wrong...
-lining it up too high is the only way to make it look correctly aligned. The human
-brain is weird like that */
- top: 2px;
-}
-
-#lang-select-icon:hover {
- opacity: 1;
- filter:alpha(opacity=100);
-}
-
-.notif-image {
- height: 80px;
- width: 80px;
- margin-right: 15px;
-}
-.notification-listing-end {
- clear: both;
- margin-bottom: 15px;
-}
-
-
-
-/**
- * Plugins settings
- */
-
-.settings-block > h3,
-.settings-heading {
- border-bottom: 1px solid #babdb6;
-}
-
-
-/**
- * Form fields
- */
-.field {
- margin-bottom: 10px;
- padding-bottom: 10px;
- overflow: auto;
- width: 100%
-}
-
-.field label {
- float: left;
- width: 200px;
-}
-
-.field input,
-.field textarea {
- width: 400px;
-}
-.field textarea { height: 100px; }
-.field_help {
- display: block;
- margin-left: 200px;
- color: #666666;
-
-}
-
-.field_abook_help {
- color: #888;
-}
-.abook-them {
- margin-left: 225px;
- margin-bottom: 15px;
-}
-.abook-me {
- margin-left: 36px;
- margin-bottom: 15px;
-}
-.acheckbox {
- margin-bottom: 5px !important;
-}
-
-#contact-slider {
- width: 600px !important;
-}
-
-.abook-edit-them, .abook-edit-me {
- float: left;
- width: 100px !important;
-}
-.field_abook_help {
- float: left;
-}
-
-.field .onoff {
- float: left;
- width: 80px;
- margin-right: 15px;
-}
-.field .onoff a {
- display: block;
- border:1px solid #666666;
- background-image:url("../../../../images/onoff.jpg");
- background-repeat: no-repeat;
- padding: 4px 2px 2px 2px;
- height: 16px;
- text-decoration: none;
-}
-.field .onoff .off {
- border-color:#666666;
- padding-left: 40px;
- background-position: left center;
- background-color: #cccccc;
- color: #666666;
- text-align: right;
-}
-.field .onoff .on {
- border-color:#204A87;
- padding-right: 40px;
- background-position: right center;
- background-color: #D7E3F1;
- color: #204A87;
- text-align: left;
-}
-.hidden { display: none!important; }
-
-.field.radio .field_help { margin-left: 0px; }
-
-/**
- * ADMIN
- */
-#pending-update {
- float:right;
- color: #ffffff;
- font-weight: bold;
- background-color: #FF0000;
- padding: 0em 0.3em;
-
-}
-#adminpage dl {
- clear: left;
- margin-bottom: 2px;
- padding-bottom: 2px;
- border-bottom: 1px solid black;
-}
-#adminpage dt {
- width: 200px;
- float: left;
- font-weight: bold;
-}
-#adminpage dd {
- margin-left: 200px;
-}
-
-#adminpage h3 {
- border-bottom: 1px solid #cccccc;
-}
-#adminpage .field label {
- font-weight: bold;
-}
-#adminpage .submit {
- clear:left;
- text-align: right;
-}
-
-#adminpage #pluginslist {
- margin: 0px; padding: 0px;
-}
-#adminpage .plugin {
- list-style: none;
- display: block;
- border: 1px solid #888888;
- padding: 1em;
- margin-bottom: 5px;
- clear: left;
-}
-#adminpage .plugin .desc { margin-left: 2.5em;}
-#adminpage .toggleplugin {
- float:left;
- margin-right: 1em;
-}
-
-#adminpage table {width:100%; border-bottom: 1px solid #000000; margin: 5px 0px;}
-#adminpage table th { text-align: left;}
-#adminpage td .icon { float: left;}
-#adminpage table#users img { width: 16px; height: 16px; }
-#adminpage table tr:hover { background-color: #bbc7d7; }
-#adminpage .selectall { text-align: right; }
-
-/*
- * UPDATE
- */
-.popup {
- width: 100%; height: 100%;
- top:0px; left:0px;
- position: absolute;
- display: none;
-}
-
-.popup .background {
- background-color: rgba(0,0,0,128);
- opacity: 0.5;
- width: 100%; height: 100%;
- position: absolute;
- top:0px; left:0px;
-}
-.popup .panel {
- top:25%;left:25%;width:50%;height:50%;
- padding: 1em;
- position: absolute;
- border: 4px solid #000000;
- background-color: #FFFFFF;
-}
-.popup .panel .panel_text { display: block; overflow: auto; height: 80%; }
-.popup .panel .panel_in { width: 100%; height: 100%; position: relative; }
-.popup .panel .panel_actions { width: 100%; bottom: 4px; left: 0px; position: absolute; }
-.panel_text .progress { width: 50%; overflow: hidden; height: auto; border: 1px solid #cccccc; margin-bottom: 5px}
-.panel_text .progress span {float: right; display: block; width: 25%; background-color: #eeeeee; text-align: right;}
-
-/**
- * OAuth
- */
-.oauthapp {
- height: auto; overflow: auto;
- border-bottom: 2px solid #cccccc;
- padding-bottom: 1em;
- margin-bottom: 1em;
-}
-.oauthapp img {
- float: left;
- width: 48px; height: 48px;
- margin: 10px;
-}
-.oauthapp img.noicon {
- background-image: url("../../../../images/icons/48/plugin.png");
- background-position: center center;
- background-repeat: no-repeat;
-}
-.oauthapp a {
- float: left;
-}
-
-/**
- * ICONS
- */
-.iconspacer {
- display: block; width: 16px; height: 16px;
-}
-
-.icon {
- display: block; width: 16px; height: 16px;
- background-image: url('../../../../images/icons.png');
-}
-.article { background-position: 0px 0px;}
-.audio { background-position: -16px 0px;}
-.block { background-position: -32px 0px;}
-.drop { background-position: -48px 0px;}
-.drophide { background-position: -64px 0px;}
-.edit { background-position: -80px 0px;}
-.camera { background-position: -96px 0px;}
-.dislike { background-position: -112px 0px;}
-.like { background-position: -128px 0px;}
-.link { background-position: -144px 0px;}
-
-.globe { background-position: 0px -16px;}
-.noglobe { background-position: -16px -16px;}
-.no { background-position: -32px -16px;}
-.pause { background-position: -48px -16px;}
-.play { background-position: -64px -16px;}
-.pencil { background-position: -80px -16px;}
-.small-pencil { background-position: -96px -16px;}
-.recycle { background-position: -112px -16px;}
-.remote-link { background-position: -128px -16px;}
-.share { background-position: -144px -16px;}
-
-.tools { background-position: 0px -32px;}
-.lock { background-position: -16px -32px;}
-.unlock { background: url(../img/jotperms.png) no-repeat;}
-.video { background-position: -48px -32px;}
-.youtube { background-position: -64px -32px;}
-.attach { background-position: -80px -32px; }
-.language { background-position: -96px -32px; }
-.prev { background-position: -112px -32px; }
-.next { background-position: -128px -32px; }
-.on { background-position: -144px -32px; }
-
-.off { background-position: 0px -48px; }
-.starred { background-position: -16px -48px; }
-.unstarred { background-position: -32px -48px; }
-.tagged { background-position: -48px -48px; }
-.yellow { background-position: -64px -48px; }
-
-
-.filer-icon {
- display: block; width: 16px; height: 16px;
- background-image: url('../img/file.gif');
-}
-
-.icon.dim { opacity: 0.3;filter:alpha(opacity=30); }
-[class^="comment-edit-bb"] {
- list-style: none;
- display: none;
- margin: 0px 0 -5px 0px;
- padding: 0px;
- width: 75%;
-}
-[class^="comment-edit-bb"] > li {
- display: inline-block;
- margin: 10px 10px 0 0;
- visibility: none;
-}
-[class^="comment-edit-bb-end"] {
- clear: both;
-}
-.editicon {
- display: inline-block;
- width: 16px;
- height: 16px;
- background-image: url(../img/bbedit.png);
- background-color: #fff;
- text-decoration: none;
-}
-.editicon:hover {
- background-color: #ccc;
-}
-.boldbb {
- background-position: 0px 0px;
-}
-.boldbb:hover {
- background-position: 0px -16px;
-}
-.italicbb {
- background-position: -16px 0px;
-}
-.italicbb:hover {
- background-position: -16px -16px;
-}
-.underlinebb {
- background-position: -32px 0px;
-}
-.underlinebb:hover {
- background-position: -32px -16px;
-}
-.quotebb {
- background-position: -48px 0px;
-}
-.quotebb:hover {
- background-position: -48px -16px;
-}
-.codebb {
- background-position: -64px 0px;
-}
-.codebb:hover {
- background-position: -64px -16px;
-}
-.imagebb {
- background-position: -80px 0px;
-}
-.imagebb:hover {
- background-position: -80px -16px;
-}
-.urlbb {
- background-position: -96px 0px;
-}
-.urlbb:hover {
- background-position: -96px -16px;
-}
-.videobb {
- background-position: -112px 0px;
-}
-.videobb:hover {
- background-position: -112px -16px;
-}
-
-.attachtype {
- display: block; width: 20px; height: 23px;
- float: left;
- background-image: url('../../../../images/content-types.png');
-}
-
-.body-attach {
- margin-top: 10px;
-}
-
-.type-video { background-position: 0px 0px; }
-.type-image { background-position: -20px 0px; }
-.type-audio { background-position: -40px 0px; }
-.type-text { background-position: -60px 0px; }
-.type-unkn { background-position: -80px 0px; }
-
-
-/* autocomplete popup */
-.acpopup {
- max-height:150px;
- background-color:#ffffff;
- overflow:auto;
- z-index:100000;
- border:1px solid #cccccc;
-}
-.acpopupitem {
- background-color:#ffffff; padding: 4px;
- clear:left;
-}
-.acpopupitem img {
- float: left;
- margin-right: 4px;
-}
-
-.acpopupitem.selected {
- color: #FFFFFF; background: #3465A4;
-}
-
-/* popup notifications */
-div.jGrowl div.notice {
- background: #511919 url("../../../../images/icons/48/notice.png") no-repeat 5px center;
- color: #ffffff;
- padding-left: 58px;
-}
-div.jGrowl div.info {
- background: #364e59 url("../../../../images/icons/48/info.png") no-repeat 5px center;
- color: #ffffff;
- padding-left: 58px;
-}
-#jGrowl.top-right {
- top: 15px;
- right: 15px;
-}
-.qcomment {
- border: 1px solid #EEE;
- padding: 3px;
- margin-top: 15px;
- margin-left: 25px;
- width: 125px;
- overflow-y: auto;
-}
-
-
-.qcomment option {
- width: 125px;
- overflow-x: hidden;
-}
-
-.qcomment {
- opacity: 0.3;
- filter:alpha(opacity=30);
-}
-.qcomment:hover {
- opacity: 1.0;
- filter:alpha(opacity=100);
-}
-
-
-#id_term_label {
- width:75px;
-}
-#id_term {
- width:100px;
-}
-
-#recip {
-
-}
-.autocomplete-w1 { background: #ffffff; no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }
-.autocomplete { color:#000; border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; }
-.autocomplete .selected { background:#F0F0F0; }
-.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; }
-
-#datebrowse-sidebar select {
- margin-left: 25px;
-}
-
-
-.jslider .jslider-scale ins {
- color: #333;
- font-size: 12px;
- width: 100px;
- text-align: center;
-}
-
-/*
-Where did this come from? There isn't a ../img/slider.png. I don't remember adding this, but it used to work...
-
-.jslider .jslider-bg,
-.jslider .jslider-pointer {
- background: url("../img/slider.png") !important;
-}
-*/
-
-
-.slider {
- margin-top: 10px;
- margin-bottom: 30px;
-}
-
-
-#main-slider {
- position: relative;
- left: 5%;
- width: 90%;
-}
-
-
-#contact-slider {
- position: relative;
- left: 5%;
- width: 90%;
-}
-
-/* nav */
-nav {
- width: 100%;
- height: 32px;
- position: fixed;
- left: 0px;
- top: 0px;
- padding: 0px;
- background-color: #d00;
- color: #eec;
- z-index: 100;
- -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
- -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
- box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-
-/* TODO find a better way to do this without different code for every single browser. */
-
- background-image: linear-gradient(bottom, #f00 26%, #b00 82%);
- background-image: -o-linear-gradient(bottom, #f00 26%, #b00 82%);
- background-image: -moz-linear-gradient(bottom, #000 26%, #2e2f2e 82%);
- background-image: -webkit-linear-gradient(bottom, #f00 26%, #b00 82%);
- background-image: -ms-linear-gradient(bottom, #f00 26%, #b00 82%);
-
- background-image: -webkit-gradient(
-linear,
-left bottom,
-left top,
-color-stop(0.26, #f00),
-color-stop(0.82, #b00)
-);
-}
-nav a,
-nav a:active,
-nav a:visited,
-nav a:link,
-nav a:hover {
- color: #ffffff;
- text-decoration: none;
- outline: none;
-}
-nav ul {
- margin: 0px;
- padding: 0px 20px;
-}
-nav ul li {
- list-style: none;
- margin: 0px;
- padding: 0px;
- float: left;
-}
-nav ul li .menu-popup {
- left: 0px;
- right: auto;
- top: 33px;
-}
-nav .nav-menu-icon {
- position: relative;
- height: 22px;
- padding: 5px;
- margin: 0px 10px;
- -moz-border-radius: 5px 5px 0 0;
- -webkit-border-radius: 5px 5px 0 0;
- border-radius: 5px 5px 0 0;
-}
-nav .nav-menu-icon.selected {
- background-color: #FF0000;
-}
-nav .nav-menu-icon img {
- width: 22px;
- height: 22px;
-}
-nav .nav-menu-icon .nav-notify {
- top: 3px;
-}
-nav .nav-menu {
- position: relative;
- height: 16px;
- padding: 5px;
- margin: 0px 15px;
- font-size: 14px;
-}
-nav .nav-menu.selected {
-border-bottom: 3px solid #f00;
-
-}
-nav .nav-notify {
- background-color: #0d0;
- color: #fff;
- -moz-border-radius: 5px 5px 5px 5px;
- -webkit-border-radius: 5px 5px 5px 5px;
- border-radius: 5px 5px 5px 5px;
-}
-nav .nav-notify.show {
- display: block;
-}
-nav #nav-help-link,
-nav #nav-search-link,
-nav #nav-directory-link,
-nav #nav-apps-link,
-nav #nav-user-linkmenu,
-nav #nav-site-linkmenu {
- float: right;
-}
-nav #nav-help-link .menu-popup,
-nav #nav-search-link .menu-popup,
-nav #nav-directory-link .menu-popup,
-nav #nav-apps-link .menu-popup,
-nav #nav-site-linkmenu .menu-popup {
- right: 0px;
- left: auto;
-}
-nav #nav-notifications-linkmenu.on .icon.s22.notify,
-nav #nav-notifications-linkmenu.selected .icon.s22.notify {
- background-image: url("../../../../images/icons/22/notify_on.png");
-}
-nav #nav-apps-link.selected {
- background-color: #364e59;
-}
-ul.menu-popup {
- position: absolute;
- display: none;
- width: 10em;
- background: #dd0000;
- color: #eec;
- 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: #eec;
- padding: 5px 10px;
- text-decoration: none;
-}
-ul.menu-popup a:hover {
- background-color: #eec;
- color: #f00;
-}
-ul.menu-popup .menu-sep {
- border-top: 1px solid #9eabb0;
-}
-ul.menu-popup li {
- float: none;
- overflow: auto;
- height: auto;
- display: block;
-}
-ul.menu-popup li img {
- float: left;
- width: 16px;
- height: 16px;
- padding-right: 5px;
-}
-ul.menu-popup .empty {
- padding: 5px;
- text-align: center;
- color: #9eabb0;
-}
-ul.menu-popup .toolbar {
- background-color: #9eabb0;
- height: auto;
- overflow: auto;
-}
-ul.menu-popup .toolbar a {
- float: right;
-}
-ul.menu-popup .toolbar a:hover {
- background-color: #ffffff;
-}
-/* header */
-header {
- position: fixed;
- left: 43%;
- right: 43%;
- top: 0px;
- margin: 0px;
- padding: 0px;
- /*width: 100%; height: 12px; */
-
- z-index: 110;
- color: #ffffff;
-}
-
-
-/* notifications popup menu */
-.nav-notify {
- display: none;
- position: absolute;
- font-size: 10px;
- padding: 1px 3px;
- top: 0px;
- right: -10px;
- min-width: 15px;
- text-align: right;
-}
-.nav-notify.show {
- display: block;
-}
-ul.menu-popup {
- position: absolute;
- display: none;
- width: 10em;
- margin: 0px;
- padding: 0px;
- list-style: none;
- z-index: 100000;
-/* top: 90px; */
-/* left: 400px; */
-}
-#nav-notifications-menu {
- width: 320px;
- max-height: 400px;
- overflow-y: scroll;overflow-style:scrollbar;
- background-color:#FFFFFF;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius:5px;
- border: 1px solid #888;
-}
-#nav-notifications-menu .contactname { font-weight: bold; font-size: 0.9em; }
-#nav-notifications-menu img { float: left; margin-right: 5px; }
-#nav-notifications-menu .notif-when { font-size: 0.8em; display: block; }
-#nav-notifications-menu li {
- padding: 7px 0px 7px 10px;
- word-wrap:normal;
- border-bottom: 1px solid #000;
-}
-
-#nav-notifications-menu li:hover {
-
-}
-
-#nav-notifications-menu a:hover {
- text-decoration: underline;
-}
-
-.notif-item a {
- color: #000000;
-}
-
-.notif-item a:hover {
- text-decoration: underline;
-}
-
-.notif-image {
- width: 32px;
- height: 32px;
- padding: 7px 7px 0px 0px;
-}
-
-.notify-seen {
- background: #DDDDDD;
-}
-
diff --git a/view/theme/fancyred/img/bbedit.png b/view/theme/fancyred/img/bbedit.png
deleted file mode 100644
index b89f2f7a8..000000000
--- a/view/theme/fancyred/img/bbedit.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/bg.png b/view/theme/fancyred/img/bg.png
deleted file mode 100644
index eae49e037..000000000
--- a/view/theme/fancyred/img/bg.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/border.jpg b/view/theme/fancyred/img/border.jpg
deleted file mode 100644
index 034a1cb63..000000000
--- a/view/theme/fancyred/img/border.jpg
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/editicons.png b/view/theme/fancyred/img/editicons.png
deleted file mode 100644
index 171a40876..000000000
--- a/view/theme/fancyred/img/editicons.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/events.png b/view/theme/fancyred/img/events.png
deleted file mode 100644
index 96dd86899..000000000
--- a/view/theme/fancyred/img/events.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/ff-16.jpg b/view/theme/fancyred/img/ff-16.jpg
deleted file mode 100644
index 3621f5914..000000000
--- a/view/theme/fancyred/img/ff-16.jpg
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/file.gif b/view/theme/fancyred/img/file.gif
deleted file mode 100644
index c532335ed..000000000
--- a/view/theme/fancyred/img/file.gif
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/friendika-16.png b/view/theme/fancyred/img/friendika-16.png
deleted file mode 100644
index 1a742ecdc..000000000
--- a/view/theme/fancyred/img/friendika-16.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/head.jpg b/view/theme/fancyred/img/head.jpg
deleted file mode 100644
index 6210b76be..000000000
--- a/view/theme/fancyred/img/head.jpg
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/home.png b/view/theme/fancyred/img/home.png
deleted file mode 100644
index d1ba7b3f3..000000000
--- a/view/theme/fancyred/img/home.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/introductions.png b/view/theme/fancyred/img/introductions.png
deleted file mode 100644
index 18ba5dc81..000000000
--- a/view/theme/fancyred/img/introductions.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/jotperms.png b/view/theme/fancyred/img/jotperms.png
deleted file mode 100644
index d133a6e01..000000000
--- a/view/theme/fancyred/img/jotperms.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/lock.cur b/view/theme/fancyred/img/lock.cur
deleted file mode 100644
index 892c5e851..000000000
--- a/view/theme/fancyred/img/lock.cur
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/login-bg.gif b/view/theme/fancyred/img/login-bg.gif
deleted file mode 100644
index cde836c89..000000000
--- a/view/theme/fancyred/img/login-bg.gif
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/message.png b/view/theme/fancyred/img/message.png
deleted file mode 100644
index f3fea75ee..000000000
--- a/view/theme/fancyred/img/message.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/network.png b/view/theme/fancyred/img/network.png
deleted file mode 100644
index c213cee04..000000000
--- a/view/theme/fancyred/img/network.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/notify_on.png b/view/theme/fancyred/img/notify_on.png
deleted file mode 100644
index 18002e15c..000000000
--- a/view/theme/fancyred/img/notify_on.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/photo-menu.jpg b/view/theme/fancyred/img/photo-menu.jpg
deleted file mode 100644
index fde5eb535..000000000
--- a/view/theme/fancyred/img/photo-menu.jpg
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/screenshot.jpg b/view/theme/fancyred/img/screenshot.jpg
deleted file mode 100644
index 5f00ec39e..000000000
--- a/view/theme/fancyred/img/screenshot.jpg
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/settings.png b/view/theme/fancyred/img/settings.png
deleted file mode 100644
index a935b225e..000000000
--- a/view/theme/fancyred/img/settings.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/img/shiny.png b/view/theme/fancyred/img/shiny.png
deleted file mode 100644
index 994c0d05d..000000000
--- a/view/theme/fancyred/img/shiny.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/fancyred/js/fancyred.js b/view/theme/fancyred/js/fancyred.js
deleted file mode 100644
index 00b8fa39f..000000000
--- a/view/theme/fancyred/js/fancyred.js
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-function insertFormatting(comment,BBcode,id) {
-
- var tmpStr = $("#comment-edit-text-" + id).val();
- if(tmpStr == comment) {
- tmpStr = "";
- $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
- $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
- openMenu("comment-edit-submit-wrapper-" + id);
- $("#comment-edit-text-" + id).val(tmpStr);
- }
-
- textarea = document.getElementById("comment-edit-text-" +id);
- if (document.selection) {
- textarea.focus();
- selected = document.selection.createRange();
- if (BBcode == "url"){
- selected.text = "["+BBcode+"]" + "http://" + selected.text + "[/"+BBcode+"]";
- } else
- selected.text = "["+BBcode+"]" + selected.text + "[/"+BBcode+"]";
- } else if (textarea.selectionStart || textarea.selectionStart == "0") {
- var start = textarea.selectionStart;
- var end = textarea.selectionEnd;
- if (BBcode == "url"){
- textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + "http://" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
- } else
- textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
- }
- return true;
-}
-
-function cmtBbOpen(comment, id) {
- if($(comment).hasClass('comment-edit-text-full')) {
- $(".comment-edit-bb-" + id).show();
- return true;
- }
- return false;
-}
-
-function cmtBbClose(comment, id) {
-// if($(comment).hasClass('comment-edit-text-empty')) {
-// $(".comment-edit-bb-" + id).hide();
-// return true;
-// }
- return false;
-}
-
-$(document).ready(function() {
-
-$('.group-edit-icon').hover(
- function() {
- $(this).addClass('icon'); $(this).removeClass('iconspacer');},
- function() {
- $(this).removeClass('icon'); $(this).addClass('iconspacer');}
- );
-
-$('.sidebar-group-element').hover(
- function() {
- id = $(this).attr('id');
- $('#edit-' + id).addClass('icon'); $('#edit-' + id).removeClass('iconspacer');},
-
- function() {
- id = $(this).attr('id');
- $('#edit-' + id).removeClass('icon');$('#edit-' + id).addClass('iconspacer');}
- );
-
-
-$('.savedsearchdrop').hover(
- function() {
- $(this).addClass('drop'); $(this).addClass('icon'); $(this).removeClass('iconspacer');},
- function() {
- $(this).removeClass('drop'); $(this).removeClass('icon'); $(this).addClass('iconspacer');}
- );
-
-$('.savedsearchterm').hover(
- function() {
- id = $(this).attr('id');
- $('#drop-' + id).addClass('icon'); $('#drop-' + id).addClass('drophide'); $('#drop-' + id).removeClass('iconspacer');},
-
- function() {
- id = $(this).attr('id');
- $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');}
- );
-
-});
-
-
-
diff --git a/view/theme/fancyred/php/config.php b/view/theme/fancyred/php/config.php
deleted file mode 100644
index 833d09050..000000000
--- a/view/theme/fancyred/php/config.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/**
- * Theme settings
- */
-
-function theme_content(&$a) {
- if(!local_user()) { return; }
-
- $font_size = get_pconfig(local_user(),'fancyred', 'font_size' );
- $line_height = get_pconfig(local_user(), 'fancyred', 'line_height' );
- $colour = get_pconfig(local_user(), 'fancyred', 'colour' );
-
- return fancyred_form($a, $font_size, $line_height, $colour);
-}
-
-function theme_post(&$a) {
- if(!local_user()) { return; }
-
- if (isset($_POST['fancyred-settings-submit'])) {
- set_pconfig(local_user(), 'fancyred', 'font_size', $_POST['fancyred_font_size']);
- set_pconfig(local_user(), 'fancyred', 'line_height', $_POST['fancyred_line_height']);
- set_pconfig(local_user(), 'fancyred', 'colour', $_POST['fancyred_colour']);
- }
-}
-
-function theme_admin(&$a) {
- $font_size = get_config('fancyred', 'font_size' );
- $line_height = get_config('fancyred', 'line_height' );
- $colour = get_config('fancyred', 'colour' );
-
- return fancyred_form($a, $font_size, $line_height, $colour);
-}
-
-function theme_admin_post(&$a) {
- if (isset($_POST['fancyred-settings-submit'])) {
- set_config('fancyred', 'font_size', $_POST['fancyred_font_size']);
- set_config('fancyred', 'line_height', $_POST['fancyred_line_height']);
- set_config('fancyred', 'colour', $_POST['fancyred_colour']);
- }
-}
-
-function fancyred_form(&$a, $font_size, $line_height, $colour) {
- $line_heights = array(
- "1.3" => "1.3",
- "---" => "---",
- "1.6" => "1.6",
- "1.5" => "1.5",
- "1.4" => "1.4",
- "1.2" => "1.2",
- "1.1" => "1.1",
- );
- $font_sizes = array(
- '12' => '12',
- '14' => '14',
- "---" => "---",
- "16" => "16",
- "15" => "15",
- '13.5' => '13.5',
- '13' => '13',
- '12.5' => '12.5',
- '12' => '12',
- );
- $colours = array(
- 'light' => 'light',
- 'dark' => 'dark',
- );
-
- $t = get_markup_template('theme_settings.tpl');
- $o .= replace_macros($t, array(
- '$submit' => t('Submit'),
- '$baseurl' => $a->get_baseurl(),
- '$title' => t("Theme settings"),
- '$font_size' => array('fancyred_font_size', t('Set font-size for posts and comments'), $font_size, '', $font_sizes),
- '$line_height' => array('fancyred_line_height', t('Set line-height for posts and comments'), $line_height, '', $line_heights),
- '$colour' => array('fancyred_colour', t('Set colour scheme'), $colour, '', $colours),
- ));
-
- return $o;
-}
-
diff --git a/view/theme/fancyred/php/style.php b/view/theme/fancyred/php/style.php
deleted file mode 100644
index 15ac47247..000000000
--- a/view/theme/fancyred/php/style.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
- $line_height = false;
- $fancyred_font_size = false;
- $resolution = false;
- $colour = false;
- $site_line_height = get_config("fancyred","line_height");
- $site_fancyred_font_size = get_config("fancyred", "font_size" );
- $site_colour = get_config("fancyred", "colour" );
-
- if (local_user()) {
- $line_height = get_pconfig(local_user(), "fancyred","line_height");
- $fancyred_font_size = get_pconfig(local_user(), "fancyred", "font_size");
- $colour = get_pconfig(local_user(), "fancyred", "colour");
- }
-
- if ($line_height === false) {
- $line_height = $site_line_height;
- }
- if ($line_height === false) {
- $line_height = "1.2";
- }
- if ($fancyred_font_size === false) {
- $fancyred_font_size = $site_fancyred_font_size;
- }
- if ($fancyred_font_size === false) {
- $fancyred_font_size = "12";
- }
- if ($colour === false) {
- $colour = $site_colour;
- }
- $colour = "light";
-
-
- if (file_exists("$THEMEPATH/css/style.css")) {
- echo file_get_contents("$THEMEPATH/css/style.css");
- }
-
-
- if($fancyred_font_size == "16") {
- echo ".wall-item-content {
- font-size: 16px;
- }";
- }
- if($fancyred_font_size == "15") {
- echo ".wall-item-content {
- font-size: 15px;
- }";
- }
- if($fancyred_font_size == "14") {
- echo ".wall-item-content {
- font-size: 14px;
- }";
- }
- if($fancyred_font_size == "13.5") {
- echo ".wall-item-content {
- font-size: 13.5px;
- }";
- }
- if($fancyred_font_size == "13") {
- echo ".wall-item-content {
- font-size: 13px;
- }";
- }
- if($fancyred_font_size == "12.5") {
- echo ".wall-item-content {
- font-size: 12.5px;
- }";
- }
- if($fancyred_font_size == "12") {
- echo ".wall-item-content {
- font-size: 12px;
- }";
- }
- if($line_height == "1.5") {
- echo ".wall-item-content {
- line-height: 1.5;
- }";
- }
- if($line_height == "1.4") {
- echo ".wall-item-content {
- line-height: 1.4;
- }";
- }
- if($line_height == "1.3") {
- echo ".wall-item-content {
- line-height: 1.3;
- }";
- }
- if($line_height == "1.2") {
- echo ".wall-item-content {
- line-height: 1.2;
- }";
- }
- if($line_height == "1.1") {
- echo ".wall-item-content {
- line-height: 1.1;
- }";
- }
-
diff --git a/view/theme/fancyred/php/theme.php b/view/theme/fancyred/php/theme.php
deleted file mode 100644
index 1ac6d4d21..000000000
--- a/view/theme/fancyred/php/theme.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-function fancyred_init(&$a) {
- $a->set_template_engine('smarty3');
-// head_add_js('redbasic.js');
-}
diff --git a/view/theme/fancyred/tpl/smarty3/theme_settings.tpl b/view/theme/fancyred/tpl/smarty3/theme_settings.tpl
deleted file mode 100644
index 3401f318b..000000000
--- a/view/theme/fancyred/tpl/smarty3/theme_settings.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{include file="field_select.tpl" field=$font_size}}
-
-{{include file="field_select.tpl" field=$line_height}}
-
-<div class="settings-submit-wrapper">
- <input type="submit" value="{{$submit}}" class="settings-submit" name="fancyred-settings-submit" />
-</div>
diff --git a/view/theme/fancyred/tpl/theme_settings.tpl b/view/theme/fancyred/tpl/theme_settings.tpl
deleted file mode 100644
index 797b29962..000000000
--- a/view/theme/fancyred/tpl/theme_settings.tpl
+++ /dev/null
@@ -1,7 +0,0 @@
-{{inc field_select.tpl with $field=$font_size}}{{endinc}}
-
-{{inc field_select.tpl with $field=$line_height}}{{endinc}}
-
-<div class="settings-submit-wrapper">
- <input type="submit" value="$submit" class="settings-submit" name="fancyred-settings-submit" />
-</div>
diff --git a/view/theme/redbasic/css/dark.css b/view/theme/redbasic/css/dark.css
new file mode 100644
index 000000000..43912be69
--- /dev/null
+++ b/view/theme/redbasic/css/dark.css
@@ -0,0 +1,182 @@
+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
new file mode 100644
index 000000000..2da9d68d1
--- /dev/null
+++ b/view/theme/redbasic/css/fancy.css
@@ -0,0 +1,106 @@
+/* There's probably some stuff in here we don't need, and maybe some missing stuff we do need. We can clean it up incrementaly, just get the heavy lifting done for now */
+
+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/mod_page.css b/view/theme/redbasic/css/mod_page.css
new file mode 100644
index 000000000..37f597fac
--- /dev/null
+++ b/view/theme/redbasic/css/mod_page.css
@@ -0,0 +1,24 @@
+/*
+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;}
+*/ \ No newline at end of file
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index db73e27d5..c1e5b76d1 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -10,7 +10,7 @@
body {
font-family: arial,freesans,clean,sans-serif;
font-size: 12px;
- background-color: #ffffff;
+ background-color: #FFFFFF;
color: #000000;
margin: 0px;
}
@@ -22,11 +22,6 @@ abbr {
border-bottom: none;
}
-aside {
-border: none;
-color: #444444;
-}
-
/* icons */
.icon {
background-color: transparent ;
@@ -39,67 +34,6 @@ color: #444444;
.icon.text {
text-indent: 0px;
}
-.icon.notify {
- background-image: url("../img/notify_on.png");
- min-width: 22px;
- height: 22px;
- margin-top: -4px;
- background-position: left center;
- padding: 1px;
-}
-.icon.gear {
- background-image: url("../img/settings.png");
- min-width: 22px;
- height: 22px;
- margin-top: -2px;
- background-position: left center;
- padding: 1px;
-}
-
-.icon.home {
- background-image: url("../img/home.png");
- min-width: 22px;
- height: 22px;
- margin-top: -4px;
- background-position: left center;
- padding: 1px;
-}
-
-.icon.network {
- background-image: url("../img/network.png");
- min-width: 22px;
- height: 22px;
- margin-top: -3px;
- background-position: left center;
- padding: 1px;
-}
-
-.icon.introductions {
- background-image: url("../img/introductions.png");
- min-width: 22px;
- height: 22px;
- margin-top: -4px;
- background-position: left center;
- padding: 1px;
-}
-
-.icon.mail {
- background-image: url("../img/message.png");
- min-width: 22px;
- height: 22px;
- margin-top: -2px;
- background-position: left center;
- padding: 1px;
-}
-
-.icon.events {
- background-image: url("../img/events.png");
- min-width: 22px;
- height: 22px;
- margin-top: -4px;
- background-position: left center;
- padding: 1px;
-}
a, a:visited, a:link, .fakelink, .fakelink:visited, .fakelink:link {
font-weight: bold;
@@ -115,13 +49,11 @@ a:hover, .fakelink:hover { color: #44AAFF; text-decoration: underline; }
input {
border: 1px solid #666666;
- -moz-border-radius: 5px;
- border-radius: 5px;
+ -moz-border-radius: $radiuspx;
+ border-radius: $radiuspx;
padding: 3px;
}
-img { border :0px; }
-
code {
font-family: Courier, monospace;
@@ -167,13 +99,6 @@ blockquote {
-/* nav */
-
-nav {
- display: block;
- border-bottom: 1px solid #d00;
-}
-
#langselector {
position: fixed;
top: 3px;
@@ -209,8 +134,8 @@ nav #site-location {
border: 1px solid #444;
background-color: #ccc;
padding: 10px;
- -moz-border-radius: 5px;
- border-radius: 5px;
+ -moz-border-radius: $radiuspx;
+ border-radius: $radiuspx;
}
@@ -229,14 +154,14 @@ header #site-location {
}
header #banner {
+
overflow: hidden;
text-align: center;
- width: 100%;
- font-size: 2.2em;
+ font-size: 1.4em;
font-family: tahoma, "Lucida Sans", sans;
color: #eec;
font-weight: bold;
-
+ margin-top: 1px;
}
header #banner a,
header #banner a:active,
@@ -256,7 +181,7 @@ header #banner #logo-text {
font-size: 22px;
}
-.nav-commlink {
+.nav-commlink, .nav-login-link {
display: block;
height: 15px;
margin-top: 67px;
@@ -268,8 +193,8 @@ header #banner #logo-text {
border-bottom: 0px;
background-color: #aec0d3;
color: #565854;
- -moz-border-radius: 5px 5px 0px 0px;
- border-radius: 5px 5px 0px 0px;
+ -moz-border-radius: $radiuspx;
+ border-radius: $radiuspx;;
}
nav .nav-link {
@@ -300,22 +225,20 @@ nav #nav-link-wrapper .nav-link {
}
.tabs {
- height: 22px;
+ height: 28px;
border-bottom: 1px solid #aaaaaa;
padding:0px;
- margin-right: 10px;
+ width: 90%;
}
.tabs li { margin: 0px; list-style: none; }
.tab {
display:block;
float:left;
- padding: 0.4em;
- margin-right: 3px ;
+ margin-right: 15px ;
}
.tab.active {
-/* font-weight: bold; */
color: #444444;
}
@@ -324,27 +247,31 @@ ul.tabs {
margin-bottom: 0px;
list-style-type: none;
padding: 0px;
+ padding-right: 8px;
}
/* footer */
footer {
+ position:fixed;
+ bottom:1px;
text-align: right;
padding-bottom: 1em;
padding-right: 3em;
}
-#powered-by {
- position: fixed;
- bottom: 1px;
- left: 15px;
- opacity: 0.3;
- filter:alpha(opacity=30);
-
+.birthday-today, .event-today {
+ font-weight: bold;
}
-.birthday-today, .event-today {
+.warning-text {
+ font-size: 1.2em;
font-weight: bold;
+ color: #ff0000;
+}
+
+#noperm-msg {
+ margin-top: 15px;
}
.preview {
@@ -377,7 +304,7 @@ footer {
float: left;
}
-#jot-title, #jot-category {
+#jot-title, #jot-category, #jot-pagetitle {
border: 0px;
margin: 0px;
padding: 8px;
@@ -385,17 +312,21 @@ footer {
width: 530px;
margin-bottom: 5px;
font-weight: bold;
- border: solid 1px #ccc;
- border-radius: 5px;
+ border: solid 1px #ffffff;
+ border-radius: $radiuspx;
}
#jot-title::-webkit-input-placeholder{font-weight: bold;}
#jot-category::-webkit-input-placeholder{font-weight: bold;}
#jot-title:-moz-placeholder{font-weight: bold;}
#jot-category:-moz-placeholder{font-weight: bold;}
+#jot-pagetitle::-webkit-input-placeholder{font-weight: bold;}
+#jot-pagetitle:-moz-placeholder{font-weight: bold;}
#jot-title:hover,
#jot-title:focus,
+#jot-pagetitle:hover,
+#jot-pagetitle:focus,
#jot-category:hover,
#jot-category:focus {
border: 1px solid #cccccc;
@@ -419,22 +350,8 @@ footer {
margin-bottom: 10px;
}
-.group-selected, .nets-selected, .fileas-selected, .categories-selected {
- padding: 3px;
- -moz-border-radius: 5px;
- border-radius: 5px;
- border: 1px solid #CCCCCC;
- background: #F8F8F8;
- font-weight: bold;
-}
-
-.settings-widget .selected {
- padding: 3px;
- -moz-border-radius: 5px;
- border-radius: 5px;
- border: 1px solid #CCCCCC;
- background: #F8F8F8;
- font-weight: bold;
+.group-selected, .nets-selected, .fileas-selected, .categories-selected, .settings-widget .selected {
+ color: #444444 !important;
}
.smalltext {
@@ -509,65 +426,8 @@ footer {
margin-left: 100px;
margin-top: 10px;
-/* margin-left: 200px; */
-}
-
-
-/* TODO - we don't use DFRN anymore. These probably have different names now. Check and clean up later */
-
-input#dfrn-url {
- float: left;
- background: url(../img/friendika-16.png) no-repeat;
- background-position: 2px center;
- font-size: 17px;
- padding-left: 21px;
- height: 21px;
- background-color: #FFFFFF;
- color: #000000;
- margin-bottom: 20px;
-}
-
-#dfrn-url-label {
- float: left;
- width: 250px;
}
-#dfrn-request-url-end {
- clear: both;
-}
-
-#knowyouyes, #knowyouno {
- float: left;
-}
-
-#dfrn-request-knowyou-yes-wrapper, #dfrn-request-knowyou-no-wrapper {
-
- float: none;
-}
-#dfrn-request-knowyou-yes-label, #dfrn-request-knowyou-no-label {
- float: left;
- width: 75px;
- margin-left: 50px;
- margin-bottom: 7px;
-}
-#dfrn-request-knowyou-break, #dfrn-request-knowyou-end {
- clear: both;
-
-}
-
-#dfrn-request-message-wrapper {
- margin-bottom: 50px;
-}
-#dfrn-request-submit-wrapper {
- clear: both;
- margin-left: 50px;
-}
-
-#dfrn-request-info-wrapper {
- margin-left: 50px;
-}
-
-
#cropimage-wrapper, #cropimage-preview-wrapper {
float: left;
@@ -579,67 +439,7 @@ input#dfrn-url {
clear: both;
}
-.intro-wrapper {
- margin-top: 20px;
-}
-
-.intro-fullname {
- font-size: 1.1em;
- font-weight: bold;
-
-}
-.intro-desc {
- margin-bottom: 20px;
- font-weight: bold;
-}
-
-.intro-note {
- padding: 10px;
-}
-
-.intro-end {
- padding: 30px;
-}
-
-.intro-form {
- float: left;
-}
-.intro-approve-form {
- clear: both;
-}
-.intro-approve-as-friend-end {
- clear: both;
-}
-.intro-submit-approve, .intro-submit-ignore {
- margin-right: 20px;
-}
-.intro-submit-approve {
- margin-top: 15px;
-}
-
-.intro-approve-as-friend-label, .intro-approve-as-fan-label {
- float: left;
- width: 100px;
- margin-left: 20px;
-}
-.intro-approve-as-friend, .intro-approve-as-fan {
- float: left;
-}
-.intro-form-end {
- clear: both;
-}
-.intro-approve-as-friend-desc {
- margin-top: 15px;
-}
-.intro-approve-as-end {
- clear: both;
- margin-bottom: 10px;
-}
-.intro-end {
- clear: both;
- margin-bottom: 30px;
-}
.aprofile dt {
font-weight: bold;
}
@@ -677,29 +477,6 @@ input#dfrn-url {
clear: both;
}
-#birthday-title {
- float: left;
- font-weight: bold;
-}
-
-#birthday-adjust {
- float: left;
- font-size: 75%;
- margin-left: 10px;
-}
-
-#birthday-title-end {
- clear: both;
-}
-
-.birthday-list {
- margin-left: 15px;
-}
-
-#birthday-wrapper {
- margin-bottom: 20px;
-}
-
#profile-extra-links {
clear: both;
margin-top: 10px;
@@ -849,12 +626,8 @@ input#dfrn-url {
float: left;
margin-bottom: 20px;
}
-#settings-normal,
-#settings-soapbox,
-#settings-freelove,
-#settings-community {
- float: left;
-}
+
+
#settings-notifications label {
margin-left: 20px;
}
@@ -862,10 +635,7 @@ input#dfrn-url {
font-weight: bold;
margin-bottom: 15px;
}
-#settings-pagetype-desc {
- color: #666666;
- margin-bottom: 15px;
-}
+
#profile-in-dir-yes-label,
#profile-in-dir-no-label,
@@ -916,24 +686,6 @@ input#dfrn-url {
float: left;
margin-bottom: 35px;
}
-#settings-normal-label,
-#settings-soapbox-label,
-#settings-community-label,
-#settings-freelove-label {
- float: left;
- width: 200px;
-}
-#settings-normal-desc,
-#settings-soapbox-desc,
-#settings-community-desc,
-#settings-freelove-desc {
- /*float: left;
- margin-left: 75px;*/
- clear: left;
- color: #666666;
- display: block;
- margin-bottom: 20px
-}
#profile-edit-profile-name-end,
#profile-edit-name-end,
@@ -960,11 +712,7 @@ input#dfrn-url {
#hide-wall-break,
#hide-wall-end,
#hide-friends-break,
-#hide-friends-end,
-#settings-normal-break,
-#settings-soapbox-break,
-#settings-community-break,
-#settings-freelove-break {
+#hide-friends-end {
clear: both;
}
@@ -1048,36 +796,16 @@ input#dfrn-url {
margin-bottom: 15px;
}
-#network-star-link{
- margin-top: 10px;
-}
-.network-star {
- float: left;
- margin-right: 5px;
-}
-#network-bmark-link {
- margin-top: 10px;
-}
-.thread-wrapper .wall-item-comment-wrapper {
+
+.thread-wrapper .wall-item-comment-wrapper, .wall-item-content-wrapper.comment {
margin-left: 50px;
}
-/* Give the top level post bigger shadows than the comments. This makes them appear "higher" and the comments "lower", which separates posts from each other reasonably without literally drawing a line under it */
-
.wall-item-content-wrapper {
margin-top: 10px;
position: relative;
-/* background: #fff; */
-/* border-radius: 5px; */
-/* box-shadow: 12px 12px 12px #111; */
- border-left: 1px solid #eec;
-
-}
-.wall-item-content-wrapper.comment {
-/* background: #fff; */
- border-left: 1px solid #e0e0e0;
- margin-left: 50px;
-/* box-shadow: 5px 5px 5px #222; */
+ border-radius: $radiuspx;
+ border: 1px solid #eec;
}
.thread-end-wrapper {
@@ -1085,12 +813,6 @@ input#dfrn-url {
}
-.wall-item-content-wrapper.comment {
- background: #ffffff;
- border-left: 1px solid #e0e0e0;
-
-}
-
.wall-item-like.comment, .wall-item-dislike.comment {
margin-left: 50px;
}
@@ -1163,17 +885,12 @@ input#dfrn-url {
position: absolute;
left: 75px;
top: 70px;
- z-index: 100;
+ z-index: 99;
}
.wall-item-wrapper {
- /*float: left;
- margin-right: 5px;
- width: 250px;*/
margin-left:10px;
}
.wall-item-lock {
- /*height: 20px;*/
- /*margin-top: 10px;*/
left: 105px;
position: absolute;
top: 1px;
@@ -1205,7 +922,9 @@ input#dfrn-url {
}
.like-rotator {
- margin-left: 5px;
+ float: left;
+ margin: 8px;
+ color: #777;
}
.wall-item-delete-wrapper {
@@ -1223,11 +942,7 @@ input#dfrn-url {
.wall-item-wrapper-end {
clear: both;
}
-.wall-item-name-link {
- font-weight: bold;
- text-decoration: none;
- color: #3172BD;
-}
+
.wall-item-photo {
border: none;
}
@@ -1241,18 +956,12 @@ input#dfrn-url {
}
.wall-item-content img {
- max-height: 95% !important;
- max-width: 95% !important;
-/* box-shadow: 8px 8px 8px #666; can't really have this because of smileys */
+ max-width: 95% !important;
}
-.wall-item-content img.smiley {
- box-shadow: none;
-}
.wall-item-title {
float: left;
font-weight: bold;
- /*width: 450px;*/
}
.wall-item-title-end {
@@ -1260,39 +969,30 @@ input#dfrn-url {
}
.thread-wrapper.toplevel_item {
- width: 90%;
+ width: 92%;
}
.wall-item-body {
-/* float: left; */
- /*width: 450px;*/
margin-top: 10px;
}
+.wall-item-body.divmore {
+ padding-bottom: 15px;
+}
+
.wall-item-tools {
clear: both;
padding: 5px 10px;
}
.wall-item-like, .wall-item-dislike {
- margin-left: 0px;
- margin-top: 3px;
+ margin-top: 5px;
}
.wall-item-author {
margin-top: 10px;
}
-.comment-edit-wrapper {
- margin-top: 15px;
- background: #ffffff;
- margin-left: 50px;
-}
-
-.comment-wwedit-wrapper {
- background: #ffffff;
-}
-
.comment-edit-photo {
margin-top: 10px;
margin-left: 10px;
@@ -1313,14 +1013,13 @@ input#dfrn-url {
padding: 3px 1px 1px 3px;
border: 1px solid #ccc;
padding: 8px;
- border-radius: 5px 5px 5px 5px;
-/* box-shadow: 5px 5px 5px #666 inset; */
+ border-radius: $radiuspx;
}
.comment-edit-text-empty {
color: gray;
height: 1.5em;
- width: 80%; /*Too wide? */
+ width: 40%; /*Too wide? */
overflow: auto;
margin-bottom: 10px;
}
@@ -1355,20 +1054,18 @@ input#dfrn-url {
width:90%;
}
-#profile-jot-submit {
- float: left;
-}
#profile-upload-wrapper {
float: left;
- margin-left: 30px;
+ margin-left: 15px;
}
#profile-attach-wrapper {
float: left;
- margin-left: 30px;
+ margin-left: 15px;
}
#profile-rotator {
float: left;
- margin-left: 30px;
+ margin: 8px 0px 0px 20px;
+ color: #777;
}
#profile-link-wrapper {
float: left;
@@ -1396,7 +1093,6 @@ input#dfrn-url {
margin-top: 0px !important;
}
-
#profile-nolocation-wrapper {
float: left;
margin-left: 15px;
@@ -1414,7 +1110,7 @@ input#dfrn-url {
height: auto;
width: auto;
background-color: #0080FF;
- border-radius: 5px;
+ border-radius: $radiuspx;
border: 2px outset;
box-shadow: 5px 5px 5px #666;
margin-right: 8px;
@@ -1426,7 +1122,6 @@ input#dfrn-url {
}
#profile-jot-perms-end {
- /*clear: left;*/
height: 30px;
}
@@ -1445,7 +1140,6 @@ input#dfrn-url {
}
#profile-jot-end {
- /*clear: both;*/
margin-bottom: 30px;
}
#about-jot-submit-wrapper {
@@ -1496,12 +1190,7 @@ input#dfrn-url {
width: 200px;
}
-.fortune {
- margin-top: 50px;
- color: #4444FF;
- font-weight: bold;
- margin-bottom: 20px;
-}
+
.directory-end {
clear: both;
@@ -1522,7 +1211,8 @@ input#dfrn-url {
float: left;
width: 225px;
height: 260px;
- overflow: auto;
+ overflow: hidden;
+ margin: 2px;
}
#directory-search-wrapper {
@@ -1571,113 +1261,6 @@ input#dfrn-url {
}
-#advanced-profile-name-wrapper,
-#advanced-profile-gender-wrapper,
-#advanced-profile-dob-wrapper,
-#advanced-profile-age-wrapper,
-#advanced-profile-marital-wrapper,
-#advanced-profile-sexual-wrapper,
-#advanced-profile-homepage-wrapper,
-#advanced-profile-politic-wrapper,
-#advanced-profile-religion-wrapper,
-#advanced-profile-about-wrapper,
-#advanced-profile-interest-wrapper,
-#advanced-profile-contact-wrapper,
-#advanced-profile-music-wrapper,
-#advanced-profile-book-wrapper,
-#advanced-profile-tv-wrapper,
-#advanced-profile-film-wrapper,
-#advanced-profile-romance-wrapper,
-#advanced-profile-work-wrapper,
-#advanced-profile-education-wrapper {
- margin-top: 20px;
-}
-
-#advanced-profile-name-text,
-#advanced-profile-gender-text,
-#advanced-profile-dob-text,
-#advanced-profile-age-text,
-#advanced-profile-marital-text,
-#advanced-profile-sexual-text,
-#advanced-profile-homepage-text,
-#advanced-profile-politic-text,
-#advanced-profile-religion-text,
-#advanced-profile-about-text,
-#advanced-profile-interest-text,
-#advanced-profile-contact-text,
-#advanced-profile-music-text,
-#advanced-profile-book-text,
-#advanced-profile-tv-text,
-#advanced-profile-film-text,
-#advanced-profile-romance-text,
-#advanced-profile-work-text,
-#advanced-profile-education-text {
- width: 300px;
- float: left;
-}
-
-#advanced-profile-name-end,
-#advanced-profile-gender-end,
-#advanced-profile-dob-end,
-#advanced-profile-age-end,
-#advanced-profile-marital-end,
-#advanced-profile-sexual-end,
-#advanced-profile-homepage-end,
-#advanced-profile-politic-end,
-#advanced-profile-religion-end {
- height: 10px;
-}
-
-#advanced-profile-about-end,
-#advanced-profile-interest-end,
-#advanced-profile-contact-end,
-#advanced-profile-music-end,
-#advanced-profile-book-end,
-#advanced-profile-tv-end,
-#advanced-profile-film-end,
-#advanced-profile-romance-end,
-#advanced-profile-work-end,
-#advanced-profile-education-end {
-
-
-}
-
-#advanced-profile-name,
-#advanced-profile-gender,
-#advanced-profile-dob,
-#advanced-profile-age,
-#advanced-profile-marital,
-#advanced-profile-sexual,
-#advanced-profile-homepage,
-#advanced-profile-politic,
-#advanced-profile-religion {
- float: left;
-
-}
-
-
-#advanced-profile-about,
-#advanced-profile-interest,
-#advanced-profile-contact,
-#advanced-profile-music,
-#advanced-profile-book,
-#advanced-profile-tv,
-#advanced-profile-film,
-#advanced-profile-romance,
-#advanced-profile-work,
-#advanced-profile-education {
- margin-top: 10px;
- margin-left: 50px;
- margin-right: 20px;
- padding: 10px;
- border: 1px solid #CCCCCC;
-}
-
-#advanced-profile-with {
- float: left;
- margin-left: 15px;
-}
-
#contact-edit-wrapper {
margin-top: 10px;
}
@@ -1743,34 +1326,6 @@ input#dfrn-url {
}
-.contact-photo-menu-button {
- position: absolute;
- background-image: url("../img/photo-menu.jpg");
- background-position: top left;
- background-repeat: no-repeat;
- margin: 0px; padding: 0px;
- width: 16px;
- height: 16px;
- top: 64px; left:0px;
- overflow: hidden;
- text-indent: 40px;
- display: none;
-
-}
-.contact-photo-menu {
- width: auto;
- border: 2px solid #444444;
- background: #FFFFFF;
- position: absolute;
- left: 0px; top: 90px;
- display: none;
- z-index: 10000;
-}
-.contact-photo-menu ul { margin:0px; padding: 0px; list-style: none }
-.contact-photo-menu li a { display: block; padding: 2px; }
-.contact-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; }
-
-
#block-message, #ignore-message, #archive-message, #lost-contact-message {
color: #FF0000;
}
@@ -1791,21 +1346,11 @@ input#dfrn-url {
DIV#profile-jot-text_toolbargroup{
background: #FFF;
border: 1px #111;
-/*box-shadow: 5px 5px 5px #000 inset;*/
}
-/*
-#profile-jot-text_parent, .mceLayout {
- border-radius: 5px;
- -moz-border-radius: 5px;
- box-shadow: 4px 4px 3px 0 #444444;
-}
-*/
-
iframe#profile-jot-text_ifr {
width: 100% !important;
-height: 100% !important;
box-shadow: 5px 5px 5px #000 inset !important;}
tr.mceLast {
@@ -1819,26 +1364,32 @@ tr.mceLast {
color:#000;
border: 1px solid #cccccc;
padding: 8px;
- width: 90%;
- -moz-border-radius: 5px;
- border-radius: 5px;
-/* box-shadow: 4px 4px 3px 0 #666 inset; */
+ margin-right: 0px;
+ width: 90%;
+ -moz-border-radius: $radiuspx;
+ border-radius: $radiuspx;
}
#profile-jot-text:hover {
color: #000000;
}
+#profile-jot-text-loading {
+ float: left;
+ margin: 14px 0px 0px 12px;
+ color: #777;
+}
+
.wall-item-photo, .photo, .contact-block-img, .my-comment-photo {
- border-radius: 5px;
- -moz-border-radius: 5px;
+ border-radius: $radiuspx;
+ -moz-border-radius: $radiuspx;
box-shadow: 4px 4px 3px 0 #444444;
}
#datebrowse-sidebar select {
margin-left: 25px;
- border-radius: 5px;
- -moz-border-radius: 5px;
+ border-radius: $radiuspx;
+ -moz-border-radius: $radiuspx;
opacity: 0.3;
filter:alpha(opacity=30);
}
@@ -1872,9 +1423,9 @@ tr.mceLast {
list-style: none;
}
-.contact-entry-photo img, .profile-match-photo img, #photo-photo img, .directory-photo-img, .photo-album-photo, .photo-top-photo, .group-selected, .nets-selected, .fileas-selected, .categories-selected {
- border-radius: 5px;
- -moz-border-radius: 5px;
+.contact-entry-photo img, .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: 4px 4px 3px 0 #444444;
}
@@ -1883,9 +1434,9 @@ tr.mceLast {
background-color: #0080FF;
color: #eeeeec;
font-weight: bold;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 5px;
+ -webkit-border-radius: $radiuspx;
+ -moz-border-radius: $radiuspx;
+ border-radius: $radiuspx;
border: 2px outset #222420 !important;
margin: 0;
float: right;
@@ -1899,8 +1450,8 @@ tr.mceLast {
}
.settings-widget .selected {
- border-radius: 5px;
- -moz-border-radius: 5px;
+ border-radius: $radiuspx;
+ -moz-border-radius: $radiuspx;
box-shadow: 4px 4px 3px 0 #444444;
}
@@ -1979,11 +1530,6 @@ tr.mceLast {
-/*.photos {
- height: auto;
- overflow: auto;
-}*/
-
.photos-end {
clear: both;
margin-bottom: 25px;
@@ -1994,14 +1540,10 @@ tr.mceLast {
margin-top: 15px;
margin-right: 15px;
margin-left: 15px;
-/* width: 200px; height: 200px;
- overflow: hidden;
- position: relative; */
}
.photo-album-image-wrapper .caption {
display: none;
width: 100%;
-/* position: absolute; */
bottom: 0px;
padding: 0.5em 0.5em 0px 0.5em;
background-color: rgba(245, 245, 255, 0.8);
@@ -2018,19 +1560,15 @@ tr.mceLast {
}
.photo-top-image-wrapper {
-/* position: relative; */
float: left;
margin-top: 15px;
margin-right: 15px;
margin-left: 15px;
margin-bottom: 15px;
-/* width: 200px; height: 200px;
- overflow: hidden; */
}
.photo-top-album-name {
width: 100%;
min-height: 2em;
-/* position: absolute; */
bottom: 0px;
padding: 0px 3px;
padding-top: 0.5em;
@@ -2146,7 +1684,7 @@ tr.mceLast {
}
#in-this-photo-text {
- color: #0000FF;
+ color: #0080FF;
margin-left: 30px;
}
@@ -2166,49 +1704,6 @@ tr.mceLast {
}
-#group-new-submit-wrapper {
- margin-top: 30px;
-}
-
-#group-edit-name-label {
- float: left;
- width: 175px;
- margin-top: 20px;
- margin-bottom: 20px;
-}
-
-#group-edit-name {
- float: left;
- width: 225px;
- margin-top: 20px;
- margin-bottom: 20px;
-}
-
-#group-edit-name-wrapper {
-
-
-}
-
-
-#group_members_select_label {
- display: block;
- float: left;
- width: 175px;
-}
-
-.group_members_select {
- float: left;
- width: 230px;
- overflow: auto;
-}
-
-#group_members_select_end {
- clear: both;
-}
-#group-edit-name-end {
- clear: both;
-}
-
#prvmail-to-label, #prvmail-subject-label, #prvmail-message-label {
margin-bottom: 10px;
margin-top: 20px;
@@ -2220,6 +1715,7 @@ tr.mceLast {
margin-right: 30px;
}
#prvmail-upload-wrapper,
+#prvmail-attach-wrapper,
#prvmail-link-wrapper,
#prvmail-rotator-wrapper {
float: left;
@@ -2253,13 +1749,6 @@ a.mail-list-link {
-/*
-*a.mail-list-link:hover {
-* background-color: #15607B;
-* color: #F5F6FB;
-*}
-*/
-
.mail-list-outside-wrapper-end {
clear: both;
}
@@ -2403,47 +1892,21 @@ aside input[type='text'] {
width: 174px;
}
-.widget {
+.widget, .pmenu {
border-bottom: 1px solid #eec;
padding: 8px;
margin-top: 5px;
- -moz-border-radius:5px;
- -webkit-border-radius:5px;
- border-radius:5px;
-
-}
-
-
-#profile-jot-desc {
- /*float: left;*/
- width: 480px;
- color: #FF0000;
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-#character-counter {
- float: right;
- font-size: 120%;
-}
+ -moz-border-radius: $radiuspx;
+ -webkit-border-radius: $radiuspx;
+ border-radius: $radiuspx;
-#character-counter.grey {
- color: #888888;
}
-#character-counter.orange {
- color: orange;
-}
-#character-counter.red {
- color: red;
-}
-
-#profile-jot-banner-end {
- /* clear: both; */
+#profile-jot-wrapper {
+ margin-top: 25px;
}
-
#settings-default-perms-menu {
margin-top: 15px;
margin-bottom: 15px;
@@ -2455,44 +1918,18 @@ aside input[type='text'] {
margin-right: 50px;
}
-#install-dbhost-label,
-#install-dbuser-label,
-#install-dbpass-label,
-#install-dbdata-label,
-#install-tz-desc {
- float: left;
- width: 250px;
- margin-top: 10px;
- margin-bottom: 10px;
-
-}
-
-#install-dbhost,
-#install-dbuser,
-#install-dbpass,
-#install-dbdata {
- float: left;
- width: 200px;
- margin-left: 20px;
-}
-
-#install-dbhost-end,
-#install-dbuser-end,
-#install-dbpass-end,
-#install-dbdata-end,
-#install-tz-end {
- clear: both;
-}
-
-#install-form select#timezone_select {
- float: left;
- margin-top: 18px;
- margin-left: 20px;
+.rconnect {
+ display: block;
+ color: #FFFFFF;
+ margin-top: 15px;
+ background-color: #F80000;
+ -webkit-border-radius: $radiuspx ;
+ -moz-border-radius: $radiuspx;
+ border-radius: $radiuspx;
+ padding: 5px;
+ font-weight: bold;
}
-#dfrn-request-networks {
- margin-bottom: 30px;
-}
#pause {
position: fixed;
@@ -2500,11 +1937,6 @@ aside input[type='text'] {
right: 5px;
}
-.sparkle {
- cursor: url('../img/lock.cur'), pointer;
-/* cursor: pointer !important; */
-}
-
#vcard-end {
clear: both;
}
@@ -2571,14 +2003,12 @@ aside input[type='text'] {
#nav-searchbar {
float: right;
- margin-top: 4px;
+ margin-top: 3px;
}
#nav-search-spinner {
float: right;
- margin-top: 8px;
- margin-left: 5px;
- margin-right: 5px;
+ margin: 12px 12px 0px 0px;
}
#nav-search-text:hover {
@@ -2587,8 +2017,11 @@ aside input[type='text'] {
}
#nav-search-text {
+ margin-top: -1px;
+ font-size: 0.8em;
border-radius: 14px;
- background-color: #AAAAAA;
+ border: none;
+ background-color: #FFDDDD;
color: #eec;
}
@@ -2600,9 +2033,21 @@ aside input[type='text'] {
}
#nav-user-linkmenu img {
- border-radius: 5px;
+ border-radius: $radiuspx;
+ margin-top: -4px;
+}
+
+.nav-dropdown-indicator {
+ opacity: 0.8;
+ filter:alpha(opacity=80);
}
+.nav-dropdown-indicator:hover {
+ opacity: 1.0;
+ filter:alpha(opacity=100);
+}
+
+
.location-label, .gender-label, .marital-label, .homepage-label {
float: left;
text-align: right;
@@ -2630,6 +2075,9 @@ aside input[type='text'] {
font-size: 70%;
}
+.descriptive-text {
+ color: #888;
+}
#plugin-settings-link, #account-settings-link {
margin-bottom: 10px;
@@ -2803,6 +2251,10 @@ aside input[type='text'] {
overflow: hidden;
}
+.profile-match-note {
+ text-align: center;
+}
+
.profile-match-break,
.profile-match-end {
clear: both;
@@ -2900,33 +2352,6 @@ aside input[type='text'] {
margin-top: 15px;
}
-#crepair-name-label,
-#crepair-nick-label,
-#crepair-attag-label,
-#crepair-url-label,
-#crepair-request-label,
-#crepair-confirm-label,
-#crepair-notify-label,
-#crepair-photo-label,
-#crepair-poll-label {
- float: left;
- width: 200px;
- margin-bottom: 15px;
-}
-
-#crepair-name,
-#crepair-nick,
-#crepair-attag,
-#crepair-url,
-#crepair-request,
-#crepair-confirm,
-#crepair-notify,
-#crepair-photo,
-#crepair-poll {
- float: left;
- width: 300px;
-}
-
#netsearch-box {
margin-top: 20px;
@@ -2964,16 +2389,20 @@ aside input[type='text'] {
margin-top: 10px;
}
-.body-tag, .filesavetags, .categorytags {
+.posttags a, .body-tag, .filesavetags, .categorytags {
opacity: 0.5;
filter:alpha(opacity=50);
}
-.body-tag:hover, .filesavetags:hover, .categorytags:hover {
+.posttags a:hover, .body-tag:hover, .filesavetags:hover, .categorytags:hover {
opacity: 1.0 !important;
filter:alpha(opacity=100) !important;
}
+.posttags, .body-tag {
+ margin-top: 15px;
+}
+
.item-select {
opacity: 0.1;
filter:alpha(opacity=10);
@@ -3128,69 +2557,6 @@ brain is weird like that */
.field.radio .field_help { margin-left: 0px; }
-
-
-/**
- * ADMIN
- */
-#pending-update {
- float:right;
- color: #ffffff;
- font-weight: bold;
- background-color: #FF0000;
- padding: 0em 0.3em;
-
-}
-#adminpage dl {
- clear: left;
- margin-bottom: 2px;
- padding-bottom: 2px;
- border-bottom: 1px solid black;
-}
-#adminpage dt {
- width: 200px;
- float: left;
- font-weight: bold;
-}
-#adminpage dd {
- margin-left: 200px;
-}
-
-#adminpage h3 {
- border-bottom: 1px solid #cccccc;
-}
-#adminpage .field label {
- font-weight: bold;
-}
-#adminpage .submit {
- clear:left;
- text-align: right;
-}
-
-#adminpage #pluginslist {
- margin: 0px; padding: 0px;
-}
-#adminpage .plugin {
- list-style: none;
- display: block;
- border: 1px solid #888888;
- padding: 1em;
- margin-bottom: 5px;
- clear: left;
-}
-#adminpage .plugin .desc { margin-left: 2.5em;}
-#adminpage .toggleplugin {
- float:left;
- margin-right: 1em;
-}
-
-#adminpage table {width:100%; border-bottom: 1px solid #000000; margin: 5px 0px;}
-#adminpage table th { text-align: left;}
-#adminpage td .icon { float: left;}
-#adminpage table#users img { width: 16px; height: 16px; }
-#adminpage table tr:hover { background-color: #bbc7d7; }
-#adminpage .selectall { text-align: right; }
-
/*
* UPDATE
@@ -3406,6 +2772,9 @@ brain is weird like that */
background-color:#ffffff; padding: 4px;
clear:left;
}
+.acpopupitem.taggable {
+ background-color: #ddddff;
+}
.acpopupitem img {
float: left;
margin-right: 4px;
@@ -3486,14 +2855,15 @@ div.jGrowl div.info {
.slider {
margin-top: 10px;
- margin-bottom: 30px;
+ margin-bottom: 45px;
}
#main-slider {
position: relative;
- left: 5%;
+ left: 5px;
width: 90%;
+
}
@@ -3503,68 +2873,21 @@ div.jGrowl div.info {
width: 90%;
}
-/* nav */
-nav {
- width: 100%;
- height: 32px;
- position: fixed;
-// opacity: 0.6;
-// filter:alpha(opacity=60);
-
- left: 0px;
- top: 0px;
- padding: 0px;
- background-color: #d00;
- color: #eec;
- z-index: 100;
- -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
- -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
- box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-
-/* TODO find a better way to do this without different code for every single browser. */
-
- background-image: linear-gradient(bottom, #f88 26%, #b00 82%);
- background-image: -o-linear-gradient(bottom, #f88 26%, #b00 82%);
- background-image: -moz-linear-gradient(bottom, #f88 26%, #b00 82%);
- background-image: -webkit-linear-gradient(bottom, #f88 26%, #b00 82%);
- background-image: -ms-linear-gradient(bottom, #f88 26%, #b00 82%);
-
- background-image: -webkit-gradient(
-linear,
-left bottom,
-left top,
-color-stop(0.26, #f88),
-color-stop(0.82, #b00)
-);
-}
-
-nav:hover {
-
- background-image: linear-gradient(bottom, #f00 26%, #b00 82%);
- background-image: -o-linear-gradient(bottom, #f00 26%, #b00 82%);
- background-image: -moz-linear-gradient(bottom, #f00 26%, #b00 82%);
- background-image: -webkit-linear-gradient(bottom, #f00 26%, #b00 82%);
- background-image: -ms-linear-gradient(bottom, #f00 26%, #b00 82%);
-
- background-image: -webkit-gradient(
-linear,
-left bottom,
-left top,
-color-stop(0.26, #f00),
-color-stop(0.82, #b00)
-);
-}
nav a,
nav a:active,
nav a:visited,
-nav a:link,
-nav a:hover {
+nav a:link {
color: #ffffff;
text-decoration: none;
outline: none;
}
+nav a:hover {
+ color: #0080FF;
+}
+nav .fakelink:hover { text-decoration: none; }
+
#profiles-menu li a {
color: #ffffff;
}
@@ -3588,14 +2911,19 @@ nav ul li .menu-popup {
right: auto;
top: 33px;
}
+
+#nav-user-linkmenu {
+ margin-left: 5px;
+}
+
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;
+/* margin: 3px 10px; */
+ -moz-border-radius: $radiuspx;
+ -webkit-border-radius: $radiuspx;
+ border-radius: $radiuspx;
}
nav .nav-menu-icon.selected {
background-color: #FF0000;
@@ -3611,26 +2939,33 @@ nav .nav-menu {
position: relative;
height: 16px;
padding: 5px;
- margin: 3px 15px 0px;
- font-size: 14px;
- border-bottom: 3px solid #f88;
+ margin: 0px 5px 0px;
+ font-size: 1.0em;
+/* border-bottom: 3px solid #f88; */
}
nav:hover .nav-menu {
- border-bottom: 3px solid #f00;
+/* border-bottom: 3px solid #f00; */
}
-nav .nav-menu.selected {
- border-bottom: 4px solid #CCCCCC;
+nav .nav-menu.selected a {
+ color: #444444;
}
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;
+ -moz-border-radius: $radiuspx;
+ -webkit-border-radius: $radiuspx;
+ border-radius: $radiuspx;
+ opacity: 0.6;
+ filter:alpha(opacity=60);
+
}
+.nav-notify:hover, nav .nav-notify.selected span {
+ color: #ffffff;
+}
+
nav .nav-notify.show {
display: block;
}
@@ -3638,9 +2973,7 @@ nav #nav-help-link,
nav #nav-login-link,
nav #nav-search-link,
nav #nav-directory-link,
-nav #nav-apps-link,
-nav #nav-user-linkmenu,
-nav #nav-site-linkmenu {
+nav #nav-apps-link {
float: right;
}
nav #nav-help-link .menu-popup,
@@ -3674,7 +3007,7 @@ ul.menu-popup {
}
ul.menu-popup a {
display: block;
- color: #;
+ color: #FFFFFF;
padding: 5px 10px;
text-decoration: none;
}
@@ -3682,7 +3015,7 @@ ul.menu-popup a {
ul.menu-popup a:hover {
background-color: #888888;
- color: #000000;
+ color: #FFFFFF;
}
ul.menu-popup .menu-sep {
border-top: 1px solid #9eabb0;
@@ -3767,9 +3100,9 @@ ul.menu-popup {
max-height: 400px;
overflow-y: scroll;overflow-style:scrollbar;
background-color:#FFFFFF;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius:5px;
+ -moz-border-radius: $radiuspx;
+ -webkit-border-radius: $radiuspx;
+ border-radius: $radiuspx;
border: 1px solid #888;
}
#nav-notifications-menu .contactname { font-weight: bold; font-size: 0.9em; }
@@ -3808,20 +3141,19 @@ ul.menu-popup {
}
#page-spinner {
- margin-left: 50%;
+ color: #777;
+ margin: 24px;
}
.tabs-end {
clear: both;
}
-
-
-
#acl-wrapper {
width: 690px;
float:left;
}
+
#acl-search {
float:right;
background: #ffffff url("../../../../images/search_18.png") no-repeat right center;
@@ -3837,9 +3169,9 @@ ul.menu-popup {
background-position: 7px 7px;
background-repeat: no-repeat;
padding: 7px 5px 0px 30px;
- -webkit-border-radius: 5px ;
- -moz-border-radius: 5px;
- border-radius: 5px;
+ -webkit-border-radius: $radiuspx;
+ -moz-border-radius: $radiuspx;
+ border-radius: $radiuspx;
color: #999999;
}
#acl-showall.selected {
@@ -3872,6 +3204,10 @@ ul.menu-popup {
float: left;
margin: 4px;
}
+.acl-list-item.taggable {
+ background-color: #ddddff;
+}
+
.acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;}
.acl-list-item a {
font-size: 8px;
@@ -3911,4 +3247,108 @@ ul.menu-popup {
.contact-block-content {
margin-top: 8px;
-} \ No newline at end of file
+}
+
+.profile-match-connect { margin-top: 5px; }
+
+.reshared-content { margin-left: 30px; }
+.shared_header img { margin-right: 10px; }
+
+
+#mail-list-wrapper {
+
+border-bottom: 1px solid #ccc;
+padding: 20px;
+}
+
+span.mail-list {
+float: left;
+width: 20%;
+}
+
+span.mail-delete {
+float: left;
+width: 30px;
+}
+
+img.mail-list-sender-photo {
+height: 24px;
+width: 24px;
+}
+
+.tag1 {
+ font-size : 1.0em !important;
+ }
+.tag2 {
+ font-size : 1.2em !important;
+ }
+
+
+.tag3 {
+ font-size : 1.4em !important;
+ }
+
+
+.tag4 {
+ font-size : 1.6em !important;
+ }
+
+
+.tag5 {
+ font-size : 1.8em !important;
+ }
+
+
+.tag6 {
+ font-size : 2.0em !important;
+ }
+
+
+.tag7 {
+ font-size : 2.2em !important;
+ }
+
+
+.tag8 {
+ font-size : 2.4em !important;
+ }
+
+
+.tag9 {
+ font-size : 2.6em !important;
+ }
+
+
+.tag10 {
+ font-size : 2.8em !important;
+ }
+
+.profile-thing-list {
+ list-style-type: none;
+}
+/*
+.profile-thing-list li {
+ float: left;
+ margin-right: 25px;
+}
+*/
+
+
+div#pagelist-content-wrapper {
+width: 80%;
+background: #fff;
+margin-left: auto;
+margin-right: auto;
+}
+
+div.page-list-item {
+margin: 20px;
+}
+
+.pmenu ul {
+ list-style-type: none;
+}
+
+.pmenu li {
+ margin-left: -20px;
+}
diff --git a/view/theme/redbasic/img/bg.png b/view/theme/redbasic/img/bg.png
deleted file mode 100644
index eae49e037..000000000
--- a/view/theme/redbasic/img/bg.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/redbasic/img/events.png b/view/theme/redbasic/img/events.png
deleted file mode 100644
index 96dd86899..000000000
--- a/view/theme/redbasic/img/events.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/redbasic/img/head.jpg b/view/theme/redbasic/img/head.jpg
deleted file mode 100644
index 6210b76be..000000000
--- a/view/theme/redbasic/img/head.jpg
+++ /dev/null
Binary files differ
diff --git a/view/theme/redbasic/img/home.png b/view/theme/redbasic/img/home.png
deleted file mode 100644
index d1ba7b3f3..000000000
--- a/view/theme/redbasic/img/home.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/redbasic/img/introductions.png b/view/theme/redbasic/img/introductions.png
deleted file mode 100644
index 9e0498227..000000000
--- a/view/theme/redbasic/img/introductions.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/redbasic/img/lock.cur b/view/theme/redbasic/img/lock.cur
deleted file mode 100644
index 892c5e851..000000000
--- a/view/theme/redbasic/img/lock.cur
+++ /dev/null
Binary files differ
diff --git a/view/theme/redbasic/img/message.png b/view/theme/redbasic/img/message.png
deleted file mode 100644
index f3fea75ee..000000000
--- a/view/theme/redbasic/img/message.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/redbasic/img/network.png b/view/theme/redbasic/img/network.png
deleted file mode 100644
index f3e45c3ec..000000000
--- a/view/theme/redbasic/img/network.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/redbasic/img/settings.png b/view/theme/redbasic/img/settings.png
deleted file mode 100644
index a935b225e..000000000
--- a/view/theme/redbasic/img/settings.png
+++ /dev/null
Binary files differ
diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js
index 00b8fa39f..10ca4cfa3 100644
--- a/view/theme/redbasic/js/redbasic.js
+++ b/view/theme/redbasic/js/redbasic.js
@@ -86,4 +86,16 @@ $('.savedsearchterm').hover(
});
-
+$(document).ready(function(){
+ var doctitle = document.title;
+ function checkNotify() {
+ var notifyUpdateElem = document.getElementById('notify-update');
+ if(notifyUpdateElem !== null) {
+ if(notifyUpdateElem.innerHTML != "")
+ document.title = "("+notifyUpdateElem.innerHTML+") " + doctitle;
+ else
+ document.title = doctitle;
+ }
+ };
+ setInterval(function () {checkNotify();}, 10 * 1000);
+}); \ No newline at end of file
diff --git a/view/theme/redbasic/php/config.php b/view/theme/redbasic/php/config.php
index ad5df57ce..4e7363362 100644
--- a/view/theme/redbasic/php/config.php
+++ b/view/theme/redbasic/php/config.php
@@ -4,42 +4,74 @@
*/
function theme_content(&$a) {
+ // Doesn't yet work for anyone other than the channel owner, and stupid mode isn't finished, so return both for now.
if(!local_user()) { return; }
-
$font_size = get_pconfig(local_user(),'redbasic', 'font_size' );
$line_height = get_pconfig(local_user(), 'redbasic', 'line_height' );
$colour = get_pconfig(local_user(), 'redbasic', 'colour' );
-
- return redbasic_form($a, $font_size, $line_height, $colour);
+ $shadow = get_pconfig(local_user(), 'redbasic', 'shadow' );
+ $navcolour = get_pconfig(local_user(), 'redbasic', 'navcolour');
+ $displaystyle = get_pconfig(local_user(), 'redbasic', 'displaystyle');
+ $linkcolour = get_pconfig(local_user(), 'redbasic', 'linkcolour');
+ $iconset = get_pconfig(local_user(), 'redbasic', 'iconset');
+ $shiny = get_pconfig(local_user(), 'redbasic', 'shiny');
+ $colour_scheme = get_pconfig(local_user(), 'redbasic', 'colour_scheme');
+ $radius = get_pconfig(local_user(),'redbasic','radius');
+
+ return redbasic_form($a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $displaystyle, $linkcolour, $iconset, $shiny, $colour_scheme,$radius);
}
function theme_post(&$a) {
if(!local_user()) { return; }
-
+
if (isset($_POST['redbasic-settings-submit'])) {
set_pconfig(local_user(), 'redbasic', 'font_size', $_POST['redbasic_font_size']);
set_pconfig(local_user(), 'redbasic', 'line_height', $_POST['redbasic_line_height']);
set_pconfig(local_user(), 'redbasic', 'colour', $_POST['redbasic_colour']);
+ set_pconfig(local_user(), 'redbasic', 'shadow', $_POST['redbasic_shadow']);
+ set_pconfig(local_user(), 'redbasic', 'navcolour', $_POST['redbasic_navcolour']);
+ set_pconfig(local_user(), 'redbasic', 'displaystyle', $_POST['redbasic_displaystyle']);
+ set_pconfig(local_user(), 'redbasic', 'linkcolour', $_POST['redbasic_linkcolour']);
+ set_pconfig(local_user(), 'redbasic', 'iconset', $_POST['redbasic_iconset']);
+ set_pconfig(local_user(), 'redbasic', 'shiny', $_POST['redbasic_shiny']);
+ set_pconfig(local_user(), 'redbasic', 'colour_scheme', $_POST['redbasic_colour_scheme']);
+ set_pconfig(local_user(), 'redbasic', 'radius', $_POST['redbasic_radius']);
}
-}
-function theme_admin(&$a) {
- $font_size = get_config('redbasic', 'font_size' );
- $line_height = get_config('redbasic', 'line_height' );
- $colour = get_config('redbasic', 'colour' );
-
- return redbasic_form($a, $font_size, $line_height, $colour);
}
-function theme_admin_post(&$a) {
- if (isset($_POST['redbasic-settings-submit'])) {
- set_config('redbasic', 'font_size', $_POST['redbasic_font_size']);
- set_config('redbasic', 'line_height', $_POST['redbasic_line_height']);
- set_config('redbasic', 'colour', $_POST['redbasic_colour']);
- }
-}
+// We probably don't want these if we're having global settings, but we'll comment out for now, just in case
+//function theme_admin(&$a) { $font_size = get_config('redbasic', 'font_size' );
+// $line_height = get_config('redbasic', 'line_height' );
+// $colour = get_config('redbasic', 'colour' );
+// $shadow = get_config('redbasic', 'shadow' );
+// $navcolour = get_config('redbasic', 'navcolour' );
+// $opaquenav = get_config('redbasic', 'opaquenav' );
+// $itemstyle = get_config('redbasic', 'itemstyle' );
+// $linkcolour = get_config('redbasic', 'linkcolour' );
+// $iconset = get_config('redbasic', 'iconset' );
+// $shiny = get_config('redbasic', 'shiny' );
+//
+// return redbasic_form($a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $itemstyle, $linkcolour, $iconset, $shiny);
+//}
-function redbasic_form(&$a, $font_size, $line_height, $colour) {
+//function theme_admin_post(&$a) {
+// if (isset($_POST['redbasic-settings-submit'])) {
+// set_config('redbasic', 'font_size', $_POST['redbasic_font_size']);
+// set_config('redbasic', 'line_height', $_POST['redbasic_line_height']);
+// set_config('redbasic', 'colour', $_POST['redbasic_colour']);
+// set_config('redbasic', 'shadow', $_POST['redbasic_shadow']);
+// set_config('redbasic', 'navcolour', $_POST['redbasic_navcolour']);
+// set_config('redbasic', 'opaquenav', $_POST['redbasic_opaquenav']);
+// set_config('redbasic', 'itemstyle', $_POST['redbasic_itemstyle']);
+// set_config('redbasic', 'linkcolour', $_POST['redbasic_linkcolour']);
+// set_config('redbasic', 'iconset', $_POST['redbasic_iconset']);
+// set_config('redbasic', 'shiny', $_POST['redbasic_shiny']);
+// }
+//}
+
+// These aren't all used yet, but they're not bloat - we'll use drop down menus in idiot mode.
+function redbasic_form(&$a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $displaystyle, $linkcolour, $iconset, $shiny, $colour_scheme,$radius) {
$line_heights = array(
"1.3" => "1.3",
"---" => "---",
@@ -65,16 +97,68 @@ function redbasic_form(&$a, $font_size, $line_height, $colour) {
'dark' => 'dark',
);
- $t = get_markup_template('theme_settings.tpl');
- $o .= replace_macros($t, array(
+ $colour_schemes = array(
+ 'redbasic' => 'redbasic',
+ 'fancyred' => 'fancyred',
+ 'dark' => 'dark',
+ );
+ $shadows = array(
+ 'true' => 'Yes',
+ 'false' => 'No',
+ );
+
+ $navcolours = array (
+ 'red' => 'red',
+ 'black' => 'black',
+ );
+
+ $displaystyles = array (
+ 'fancy' => 'fancy',
+ 'classic' => 'classic',
+ );
+
+ $linkcolours = array (
+ 'blue' => 'blue',
+ 'red' => 'red',
+ );
+
+ $iconsets = array (
+ 'default' => 'default',
+ );
+
+ $shinys = array (
+ 'none' => 'none',
+ 'opaque' => 'opaque',
+ );
+ if(feature_enabled(local_user(),'expert')) {
+ $t = get_markup_template('theme_settings.tpl');
+ $o .= replace_macros($t, array(
'$submit' => t('Submit'),
'$baseurl' => $a->get_baseurl(),
'$title' => t("Theme settings"),
'$font_size' => array('redbasic_font_size', t('Set font-size for posts and comments'), $font_size, '', $font_sizes),
'$line_height' => array('redbasic_line_height', t('Set line-height for posts and comments'), $line_height, '', $line_heights),
'$colour' => array('redbasic_colour', t('Set colour scheme'), $colour, '', $colours),
- ));
-
+ '$shadow' => array('redbasic_shadow', t('Draw shadows'), $shadow, '', $shadows),
+ '$navcolour' => array('redbasic_navcolour', t('Navigation bar colour'), $navcolour, '', $navcolours),
+ '$displaystyle' => array('redbasic_displaystyle', t('Display style'), $displaystyle, '', $displaystyles),
+ '$linkcolour' => array('redbasic_linkcolour', t('Display colour of links - hex value, do not include the #'), $linkcolour, '', $linkcolours),
+ '$iconset' => array('redbasic_iconset', t('Icons'), $iconset, '', $iconsets),
+ '$shiny' => array('redbasic_shiny', t('Shiny style'), $shiny, '', $shinys),
+ '$radius' => array('redbasic_radius', t('Corner radius'), $radius, t('0-99 default: 5')),
+ ));}
+
+ if(! feature_enabled(local_user(),'expert')) {
+ $t = get_markup_template('basic_theme_settings.tpl');
+ $o .= replace_macros($t, array(
+ '$submit' => t('Submit'),
+ '$baseurl' => $a->get_baseurl(),
+ '$title' => t("Theme settings"),
+ '$font_size' => array('redbasic_font_size', t('Set font-size for posts and comments'), $font_size, '', $font_sizes),
+ '$line_height' => array('redbasic_line_height', t('Set line-height for posts and comments'), $line_height, '', $line_heights),
+ '$colour_scheme' => array('redbasic_colour_scheme', t('Set colour scheme'), $colour_scheme, '', $colour_schemes),
+ ));}
+
return $o;
}
diff --git a/view/theme/redbasic/php/style.php b/view/theme/redbasic/php/style.php
index 99ad06c55..8643925d3 100644
--- a/view/theme/redbasic/php/style.php
+++ b/view/theme/redbasic/php/style.php
@@ -1,46 +1,159 @@
<?php
+ // This needs changing now, if we're going for global settings. Admin settings have been removed in preparation, You *should* just be able to remove all
+ // the get_config bits, though this is untested.
+ // We also need to eventually. Use the page owners settings for everybody - get_pconfig(page_owner()) or whatever that would look like.
+
+
+ $uid = get_theme_uid();
+
+ if($uid)
+ load_pconfig($uid,'redbasic');
+
$line_height = false;
$redbasic_font_size = false;
$resolution = false;
$colour = false;
+ $shadows = false;
+ $navcolour = false;
+ $nav_bg_1 = "f88";
+ $nav_bg_2 = "b00";
+ $nav_bg_3 = "f00";
+ $nav_bg_4 = "b00";
+ $displaystyle = false;
+ $linkcolour = false;
+ $shiny = false;
+ $radius = 5;
$site_line_height = get_config("redbasic","line_height");
$site_redbasic_font_size = get_config("redbasic", "font_size" );
$site_colour = get_config("redbasic", "colour" );
+ $shadows = get_config("redbasic", "shadow" );
+ $navcolour = get_config("redbasic", "navcolour" );
+ $displaystyle = get_config("redbasic", "displaystyle" );
+ $linkcolour = get_config("redbasic", "linkcolour" );
+ $shiny = get_config("redbasic", "shiny" );
- if (local_user()) {
- $line_height = get_pconfig(local_user(), "redbasic","line_height");
- $redbasic_font_size = get_pconfig(local_user(), "redbasic", "font_size");
- $colour = get_pconfig(local_user(), "redbasic", "colour");
+ $x = get_config('redbasic','radius');
+ if($x !== false)
+ $radius = $x;
+
+ if ($uid) {
+ $line_height = get_pconfig($uid, "redbasic","line_height");
+ $redbasic_font_size = get_pconfig($uid, "redbasic", "font_size");
+ $colour = get_pconfig($uid, "redbasic", "colour");
+ $shadows = get_pconfig($uid, "redbasic", "shadow");
+ $navcolour = get_pconfig($uid, "redbasic", "navcolour");
+ $displaystyle = get_pconfig($uid, "redbasic", "displaystyle");
+ $linkcolour = get_pconfig($uid, "redbasic", "linkcolour");
+ $shiny = get_pconfig($uid, "redbasic", "shiny");
+ $x = get_pconfig($uid,'redbasic','radius');
+ if($x !== false)
+ $radius = $x;
+
+ if (! feature_enabled($uid,'expert')) {$colour_scheme = get_pconfig($uid, "redbasic", "colour_scheme");}
}
- if ($line_height === false) {
- $line_height = $site_line_height;
- }
- if ($line_height === false) {
- $line_height = "1.2";
- }
- if ($redbasic_font_size === false) {
- $redbasic_font_size = $site_redbasic_font_size;
- }
- if ($redbasic_font_size === false) {
- $redbasic_font_size = "12";
- }
- if ($colour === false) {
- $colour = $site_colour;
- }
- if($colour === false) {
- $colour = "light";
- }
-
+ // In non-expert mode, we just let them choose font size, line height, and a colour scheme. A colour scheme is just a pre-defined set of the above variables.
+ // But only apply these settings in non-expert mode to prevent confusion when turning expert mode on and off.
+ if(! feature_enabled($uid,'expert')) {
+ if ($colour_scheme === 'fancyred') {$shadows = true; $navcolour = 'black'; $displaystyle = 'fancy'; $linkcolour = 'f00'; $shiny = "opaque";}
+ // Dark themes are very different - we need to do some of these from scratch, so don't bother setting vars for anything else
+ if ($colour_scheme === 'dark') {$colour = 'dark'; $navcolour = 'black';}
+ if ($colour_scheme === 'redbasic'){$navcolour = 'red';}
+ $shadows = false;
+ $radius = 5;
+}
+
+// This is probably the easiest place to apply global settings. Don't bother with site line height and such. Instead, check pconfig for global user settings.
+// eg, if ($redbasic_font_size === false) {$redbasic_font_size = get_pconfig($uid, "global", "font_size"); If it's not set, we'll just use the CSS with no changes.
+// Then all you need to do is add a "Global Settings" tab to settings/display, and make an equivalent of theme_settings.tpl and config.php to be loaded there. Easy.
+
+ if ($line_height === false) {$line_height = $site_line_height;}
+ if ($line_height === false) {$line_height = "1.2";}
+ if ($redbasic_font_size === false) {$redbasic_font_size = $site_redbasic_font_size;}
+ if ($redbasic_font_size === false) {$redbasic_font_size = "12";}
+ if ($colour === false) {$colour = $site_colour;}
+ if ($colour === false) {$colour = "light";}
+ if ($navcolour === "black") {$nav_bg_1 = "000";
+ $nav_bg_2 = "2e2f2e";}
+
if(file_exists('view/theme/' . current_theme() . '/css/style.css')) {
- echo file_get_contents('view/theme/' . current_theme() . '/css/style.css');
+ $x = file_get_contents('view/theme/' . current_theme() . '/css/style.css');
+ if(get_config('system','pcss_compress')) {
+ // this shaves off about 10%, probably not enough to worry about right now.
+ logger('pcss compress: original size: ' . strlen($x), LOGGER_DEBUG);
+ $x = str_replace(array("\r","\t"," "),array("",' ',' '),$x);
+ $x = preg_replace('/(\n[ ]+?)/s',"\n",$x);
+ $x = str_replace("\n","",$x);
+ logger('pcss compress: final size: ' . strlen($x), LOGGER_DEBUG);
+ }
+ echo str_replace(array('$radius'),array($radius),$x);
}
echo "\r\n";
- if(($redbasic_font_size >= 10.0) && ($redbasic_font_size <= 16.0)) {
- echo ".wall-item-content { font-size: $redbasic_font_size; }\r\n";
+// use $colour_scheme for idiot mode.
+ if($colour === "dark") {if (file_exists('view/theme/' . current_theme() . '/css/dark.css')) {
+ $dark = (file_get_contents('view/theme/' . current_theme() . '/css/dark.css'));
+ echo "$dark";}
+ }
+
+
+
+// Enforce sane limits for expert mode - otherwise we'll end up with "experts" who think font size is a percentage.
+
+ if(($redbasic_font_size >= 8.0) && ($redbasic_font_size <= 20.0)) {
+ echo ".wall-item-content { font-size: ${redbasic_font_size}px;}\r\n";
}
- if(($line_height >= 1.0) && ($line_height <= 1.5)) {
+ if(($line_height >= 1.0) && ($line_height <= 2.0)) {
echo ".wall-item-content { line-height: $line_height; }\r\n";
}
+
+
+// Minimum value shadows - they shouldn't all be the same size; just get it working, clean up later.
+ if($shadows === "true") {
+ echo "code, blockquote, .wall-item-content-wrapper, .wall-item-content-wrapper.comment, .wall-item-content img, #profile-jot-perms, #profile-jot-submit, .tab, .tab.active, .settings-widget li, .wall-item-photo, .photo, .contact-block-img, .my-comment-photo, #posted-date-selector:hover, .contact-entry-photo img, .profile-match-photo img, #photo-photo img, .directory-photo-img, .photo-album-photo, .photo-top-photo, .group-selected, .nets-selected, .fileas-selected, .categories-selected {
+ box-shadow: 5px 5px 5px #111;}\r\n
+
+ .tab.active, #jot-title, #jot-category, .comment-edit-text-empty, .comment-edit-text-full, iframe#profile-jot-text_ifr, #profile-jot-text {
+ box-shadow: 5px 5px 5px #666 inset;}\r\n";
+
+ }
+
+// Since every change would otherwise require five lines, it's simpler to just set a default and echo this without first checking if we've set it.
+ echo "nav {background-image: linear-gradient(bottom, #$nav_bg_1 26%, #$nav_bg_2 82%);
+ background-image: -o-linear-gradient(bottom, #$nav_bg_1 26%, #$nav_bg_2 82%);
+ background-image: -moz-linear-gradient(bottom, #$nav_bg_1 26%, #$nav_bg_2 82%) !important;
+ background-image: -webkit-linear-gradient(bottom, #$nav_bg_1 26%, #$nav_bg_2 82%);
+ background-image: -ms-linear-gradient(bottom, #$nav_bg_1 26%, #$nav_bg_2 82%);}";
+
+ if($navcolour === false || $navcolour === 'red') {
+ echo "nav:hover {background-image: linear-gradient(bottom, #$nav_bg_3 26%, #$nav_bg_4 82%);
+ background-image: -o-linear-gradient(bottom, #$nav_bg_3 26%, #$nav_bg_4 82%);
+ background-image: -moz-linear-gradient(bottom, #$nav_bg_3 26%, #$nav_bg_4 82%) !important;
+ background-image: -webkit-linear-gradient(bottom, #$nav_bg_3 26%, #$nav_bg_4 82%);
+ background-image: -ms-linear-gradient(bottom, #$nav_bg_3 26%, #$nav_bg_4 82%);}";
+ }
+
+// This takes quite a lot of code, so we'll keep it in a separate file, and echo the lot. Devs still don't have to worry about - it's just overrides.
+// Theme devs can play with it without facing scary PHP.
+
+ if ($displaystyle === "fancy")
+ {if (file_exists('view/theme/' . current_theme() . '/css/fancy.css')) {
+ $fancy = (file_get_contents('view/theme/' . current_theme() . '/css/fancy.css'));
+ echo str_replace(array('$radius'),array($radius),$fancy);
+ }
+ }
+
+// Put the # here to force hex colours - if we don't, somebody is going to do something odd, using RGB and we're all going to be confused on the support forums
+// until one of us works out what they've done.
+
+ if ($linkcolour != false) {
+ echo "a, a:visited, a:link, .fakelink, .fakelink:visited, .fakelink:link {color: #$linkcolour;}\r\n";
+ }
+
+// If you want a shiny that just sets a different colour, add an if $shiny != false and handle it as the linkcolour above.
+
+ if ($shiny === 'opaque') {
+ echo "div.wall-item-content-wrapper.shiny {opacity: 1;}\r\n
+ .wall-item-content-wrapper {opacity: 0.8;}";
+ } \ No newline at end of file
diff --git a/view/theme/redbasic/php/theme.php b/view/theme/redbasic/php/theme.php
index 3d69a7e22..ca280ef6a 100644
--- a/view/theme/redbasic/php/theme.php
+++ b/view/theme/redbasic/php/theme.php
@@ -1,9 +1,5 @@
<?php
function redbasic_init(&$a) {
- if($a->config['system']['theme_engine'])
- $a->set_template_engine($a->config['system']['theme_engine']);
- else
- $a->set_template_engine('smarty3');
-// head_add_js('redbasic.js');
+
}
diff --git a/view/theme/redbasic/tpl/basic_theme_settings.tpl b/view/theme/redbasic/tpl/basic_theme_settings.tpl
new file mode 100755
index 000000000..33a34b292
--- /dev/null
+++ b/view/theme/redbasic/tpl/basic_theme_settings.tpl
@@ -0,0 +1,14 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{include file="field_select.tpl" field=$font_size}}
+
+{{include file="field_select.tpl" field=$line_height}}
+
+{{include file="field_select.tpl" field=$colour_scheme}}
+
+<div class="settings-submit-wrapper">
+ <input type="submit" value="{{$submit}}" class="settings-submit" name="redbasic-settings-submit" />
+</div>
diff --git a/view/theme/redbasic/tpl/smarty3/theme_settings.tpl b/view/theme/redbasic/tpl/smarty3/theme_settings.tpl
deleted file mode 100644
index f91f24de6..000000000
--- a/view/theme/redbasic/tpl/smarty3/theme_settings.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{include file="field_select.tpl" field=$font_size}}
-
-{{include file="field_select.tpl" field=$line_height}}
-
-<div class="settings-submit-wrapper">
- <input type="submit" value="{{$submit}}" class="settings-submit" name="redbasic-settings-submit" />
-</div>
diff --git a/view/theme/redbasic/tpl/theme_settings.tpl b/view/theme/redbasic/tpl/theme_settings.tpl
index d0d153e73..cd980fbc3 100644..100755
--- a/view/theme/redbasic/tpl/theme_settings.tpl
+++ b/view/theme/redbasic/tpl/theme_settings.tpl
@@ -1,7 +1,23 @@
-{{inc field_select.tpl with $field=$font_size}}{{endinc}}
+{{include file="field_select.tpl" field=$colour}}
-{{inc field_select.tpl with $field=$line_height}}{{endinc}}
+{{include file="field_input.tpl" field=$font_size}}
+
+{{include file="field_input.tpl" field=$line_height}}
+
+{{include file="field_select.tpl" field=$shadow}}
+
+{{include file="field_select.tpl" field=$navcolour}}
+
+{{include file="field_select.tpl" field=$displaystyle}}
+
+{{include file="field_input.tpl" field=$linkcolour}}
+
+{{include file="field_select.tpl" field=$iconset}}
+
+{{include file="field_select.tpl" field=$shiny}}
+
+{{include file="field_input.tpl" field=$radius}}
<div class="settings-submit-wrapper">
- <input type="submit" value="$submit" class="settings-submit" name="redbasic-settings-submit" />
+ <input type="submit" value="{{$submit}}" class="settings-submit" name="redbasic-settings-submit" />
</div>
diff --git a/view/tpl/404.tpl b/view/tpl/404.tpl
index bf4d4e949..518ad1d29 100644..100755
--- a/view/tpl/404.tpl
+++ b/view/tpl/404.tpl
@@ -1 +1 @@
-<h1>$message</h1>
+<h1>{{$message}}</h1>
diff --git a/view/tpl/abook_edit.tpl b/view/tpl/abook_edit.tpl
index 7f20f3398..c285e56d1 100644..100755
--- a/view/tpl/abook_edit.tpl
+++ b/view/tpl/abook_edit.tpl
@@ -1,74 +1,84 @@
+<h2>{{$header}}</h2>
-<h2>$header</h2>
+<h3>{{$addr}}</h3>
-<h3>$addr</h3>
-
-{{ if $notself }}
+{{if $notself}}
<div id="connection-flag-tabs">
-$tabs
+{{$tabs}}
</div>
-{{ endif }}
+{{/if}}
-{{ if $self }}
-<div id="autoperm-desc" class="descriptive-paragraph">$autolbl</div>
-{{ endif }}
+{{if $self}}
+<div id="autoperm-desc" class="descriptive-paragraph">{{$autolbl}}</div>
+{{/if}}
<div id="contact-edit-wrapper">
-{{ if $notself }}
-{{ if $slide }}
-<h3>$lbl_slider</h3>
+{{if $notself}}
+{{if $slide}}
+<h3>{{$lbl_slider}}</h3>
-$slide
+{{$slide}}
-{{ endif }}
-{{ endif }}
+{{/if}}
+{{/if}}
-<h3>$permlbl</h3>
+<h3>{{$permlbl}}</h3>
+<div id="perm-desc" class="descriptive-text">{{$permnote}}</div>
-<form id="abook-edit-form" action="connections/$contact_id" method="post" >
-<input type="hidden" name="contact_id" value="$contact_id">
-<input id="contact-closeness-mirror" type="hidden" name="closeness" value="$close" />
+<form id="abook-edit-form" action="connections/{{$contact_id}}" method="post" >
+<input type="hidden" name="contact_id" value="{{$contact_id}}">
+<input id="contact-closeness-mirror" type="hidden" name="closeness" value="{{$close}}" />
-{{ if $noperms }}
-<div id="noperm-desc" class="descriptive-paragraph">$noperms</div>
-{{ endif }}
+{{if $noperms}}
+<div id="noperm-msg" class="warning-text">{{$noperms}}</div>
+<div id="noperm-text" class="descriptive-text">{{$noperm_desc}}</div>
+{{/if}}
-{{ if $is_pending }}
-{{inc field_checkbox.tpl with $field=$unapproved }}{{endinc}}
-{{ endif }}
+{{if $is_pending}}
+{{include file="field_checkbox.tpl" field=$unapproved}}
+{{/if}}
<br />
-<b>$quick</b>
+<b>{{$quick}}</b>
<ul>
-{{ if $self }}
-<li><span class="fakelink" onclick="connectForum(); $('#abook-edit-form').submit();">$forum</span></li>
-<li><span class="fakelink" onclick="connectSoapBox(); $('#abook-edit-form').submit();">$soapbox</span></li>
-{{ endif }}
-<li><span class="fakelink" onclick="connectFullShare(); $('#abook-edit-form').submit();">$full</span></li>
-<li><span class="fakelink" onclick="connectCautiousShare(); $('#abook-edit-form').submit();">$cautious</span></li>
-<li><span class="fakelink" onclick="connectFollowOnly(); $('#abook-edit-form').submit();">$follow</span></li>
+{{if $self}}
+<li><span class="fakelink" onclick="connectForum(); // $('#abook-edit-form').submit();">{{$forum}}</span></li>
+<li><span class="fakelink" onclick="connectSoapBox(); // $('#abook-edit-form').submit();">{{$soapbox}}</span></li>
+{{/if}}
+<li><span class="fakelink" onclick="connectFullShare(); // $('#abook-edit-form').submit();">{{$full}}</span></li>
+<li><span class="fakelink" onclick="connectCautiousShare(); // $('#abook-edit-form').submit();">{{$cautious}}</span></li>
+<li><span class="fakelink" onclick="connectFollowOnly(); // $('#abook-edit-form').submit();">{{$follow}}</span></li>
</ul>
-<div id="abook-advanced" class="fakelink" onclick="openClose('abook-advanced-panel');">$advanced</div>
+<div id="abook-advanced" class="fakelink" onclick="openClose('abook-advanced-panel');">{{$advanced}}</div>
-<div id="abook-advanced-panel" style="display: none;">
+<div id="abook-advanced-panel" style="display: block;">
-<span class="abook-them">$them</span><span class="abook-me">$me</span>
+<span class="abook-them">{{$them}}</span><span class="abook-me">{{$me}}</span>
<br />
<br />
-{{ for $perms as $prm }}
-{{inc field_acheckbox.tpl with $field=$prm }}{{endinc}}
-{{ endfor }}
+{{foreach $perms as $prm}}
+{{include file="field_acheckbox.tpl" field=$prm}}
+{{/foreach}}
<br />
</div>
-<input class="contact-edit-submit" type="submit" name="done" value="$submit" />
+{{if $multiprofs }}
+<div>
+<h3>{{$lbl_vis1}}</h3>
+<div>{{$lbl_vis2}}</div>
+
+{{$profile_select}}
+</div>
+{{/if}}
+
+<input class="contact-edit-submit" type="submit" name="done" value="{{$submit}}" />
</form>
</div>
diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl
index e5231b0f8..d21073b56 100644..100755
--- a/view/tpl/acl_selector.tpl
+++ b/view/tpl/acl_selector.tpl
@@ -1,6 +1,6 @@
<div id="acl-wrapper">
<input id="acl-search">
- <a href="#" id="acl-showall">$showall</a>
+ <a href="#" id="acl-showall">{{$showall}}</a>
<div id="acl-list">
<div id="acl-list-content">
</div>
@@ -10,8 +10,8 @@
<div class="acl-list-item" rel="acl-template" style="display:none">
<img src="{0}"><p>{1}</p>
- <a href="#" class='acl-button-show'>$show</a>
- <a href="#" class='acl-button-hide'>$hide</a>
+ <a href="#" class='acl-button-show'>{{$show}}</a>
+ <a href="#" class='acl-button-hide'>{{$hide}}</a>
</div>
<script>
@@ -20,7 +20,7 @@ $(document).ready(function() {
if(typeof acl=="undefined"){
acl = new ACL(
baseurl+"/acl",
- [ $allowcid,$allowgid,$denycid,$denygid ]
+ [ {{$allowcid}},{{$allowgid}},{{$denycid}},{{$denygid}} ]
);
}
}, 5000 );
diff --git a/view/tpl/admin_aside.tpl b/view/tpl/admin_aside.tpl
index ca1f4985c..fdf070aa2 100644..100755
--- a/view/tpl/admin_aside.tpl
+++ b/view/tpl/admin_aside.tpl
@@ -10,33 +10,34 @@
});
});
</script>
-<h4><a href="$admurl">$admtxt</a></h4>
+<h4><a href="{{$admurl}}">{{$admtxt}}</a></h4>
<ul class='admin linklist'>
- <li class='admin link button $admin.site.2'><a href='$admin.site.0'>$admin.site.1</a></li>
- <li class='admin link button $admin.users.2'><a href='$admin.users.0'>$admin.users.1</a><span id='pending-update' title='$h_pending'></span></li>
- <li class='admin link button $admin.plugins.2'><a href='$admin.plugins.0'>$admin.plugins.1</a></li>
- <li class='admin link button $admin.themes.2'><a href='$admin.themes.0'>$admin.themes.1</a></li>
- <li class='admin link button $admin.dbsync.2'><a href='$admin.dbsync.0'>$admin.dbsync.1</a></li>
+ <li class='admin link button {{$admin.site.2}}'><a href='{{$admin.site.0}}'>{{$admin.site.1}}</a></li>
+ <li class='admin link button {{$admin.users.2}}'><a href='{{$admin.users.0}}'>{{$admin.users.1}}</a><span id='pending-update' title='{{$h_pending}}'></span></li>
+ <li class='admin link button {{$admin.plugins.2}}'><a href='{{$admin.plugins.0}}'>{{$admin.plugins.1}}</a></li>
+ <li class='admin link button {{$admin.themes.2}}'><a href='{{$admin.themes.0}}'>{{$admin.themes.1}}</a></li>
+ <li class='admin link button {{$admin.hubloc.2}}'><a href='{{$admin.hubloc.0}}'>{{$admin.hubloc.1}}</a></li>
+ <li class='admin link button {{$admin.dbsync.2}}'><a href='{{$admin.dbsync.0}}'>{{$admin.dbsync.1}}</a></li>
</ul>
-{{ if $admin.update }}
+{{if $admin.update}}
<ul class='admin linklist'>
- <li class='admin link button $admin.update.2'><a href='$admin.update.0'>$admin.update.1</a></li>
- <li class='admin link button $admin.update.2'><a href='https://kakste.com/profile/inthegit'>Important Changes</a></li>
+ <li class='admin link button {{$admin.update.2}}'><a href='{{$admin.update.0}}'>{{$admin.update.1}}</a></li>
+ <li class='admin link button {{$admin.update.2}}'><a href='https://kakste.com/profile/inthegit'>Important Changes</a></li>
</ul>
-{{ endif }}
+{{/if}}
-{{ if $admin.plugins_admin }}<h4>$plugadmtxt</h4>{{ endif }}
+{{if $admin.plugins_admin}}<h4>{{$plugadmtxt}}</h4>{{/if}}
<ul class='admin linklist'>
- {{ for $admin.plugins_admin as $l }}
- <li class='admin link button $l.2'><a href='$l.0'>$l.1</a></li>
- {{ endfor }}
+ {{foreach $admin.plugins_admin as $l}}
+ <li class='admin link button {{$l.2}}'><a href='{{$l.0}}'>{{$l.1}}</a></li>
+ {{/foreach}}
</ul>
-<h4>$logtxt</h4>
+<h4>{{$logtxt}}</h4>
<ul class='admin linklist'>
- <li class='admin link button $admin.logs.2'><a href='$admin.logs.0'>$admin.logs.1</a></li>
+ <li class='admin link button {{$admin.logs.2}}'><a href='{{$admin.logs.0}}'>{{$admin.logs.1}}</a></li>
</ul>
diff --git a/view/tpl/admin_logs.tpl b/view/tpl/admin_logs.tpl
index b777cf420..3d2adc660 100644..100755
--- a/view/tpl/admin_logs.tpl
+++ b/view/tpl/admin_logs.tpl
@@ -1,19 +1,19 @@
-<div id='adminpage'>
- <h1>$title - $page</h1>
+<div class="generic-content-wrapper" id='adminpage'>
+ <h1>{{$title}} - {{$page}}</h1>
- <form action="$baseurl/admin/logs" method="post">
- <input type='hidden' name='form_security_token' value='$form_security_token'>
+ <form action="{{$baseurl}}/admin/logs" method="post">
+ <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
- {{ inc field_checkbox.tpl with $field=$debugging }}{{ endinc }}
- {{ inc field_input.tpl with $field=$logfile }}{{ endinc }}
- {{ inc field_select.tpl with $field=$loglevel }}{{ endinc }}
+ {{include file="field_checkbox.tpl" field=$debugging}}
+ {{include file="field_input.tpl" field=$logfile}}
+ {{include file="field_select.tpl" field=$loglevel}}
- <div class="submit"><input type="submit" name="page_logs" value="$submit" /></div>
+ <div class="submit"><input type="submit" name="page_logs" value="{{$submit}}" /></div>
</form>
- <h3>$logname</h3>
- <div style="width:100%; height:400px; overflow: auto; "><pre>$data</pre></div>
-<!-- <iframe src='$baseurl/$logname' style="width:100%; height:400px"></iframe> -->
- <!-- <div class="submit"><input type="submit" name="page_logs_clear_log" value="$clear" /></div> -->
+ <h3>{{$logname}}</h3>
+ <div style="width:100%; height:400px; overflow: auto; "><pre>{{$data}}</pre></div>
+<!-- <iframe src='{{$baseurl}}/{{$logname}}' style="width:100%; height:400px"></iframe> -->
+ <!-- <div class="submit"><input type="submit" name="page_logs_clear_log" value="{{$clear}}" /></div> -->
</div>
diff --git a/view/tpl/admin_plugins.tpl b/view/tpl/admin_plugins.tpl
index 74b56bb4e..729ba5dc8 100644..100755
--- a/view/tpl/admin_plugins.tpl
+++ b/view/tpl/admin_plugins.tpl
@@ -1,15 +1,15 @@
-<div id='adminpage'>
- <h1>$title - $page</h1>
+<div class="generic-content-wrapper" id='adminpage'>
+ <h1>{{$title}} - {{$page}}</h1>
<ul id='pluginslist'>
- {{ for $plugins as $p }}
- <li class='plugin $p.1'>
- <a class='toggleplugin' href='$baseurl/admin/$function/$p.0?a=t&amp;t=$form_security_token' title="{{if $p.1==on }}Disable{{ else }}Enable{{ endif }}" ><span class='icon $p.1'></span></a>
- <a href='$baseurl/admin/$function/$p.0'><span class='name'>$p.2.name</span></a> - <span class="version">$p.2.version</span>
- {{ if $p.2.experimental }} $experimental {{ endif }}{{ if $p.2.unsupported }} $unsupported {{ endif }}
+ {{foreach $plugins as $p}}
+ <li class='plugin {{$p.1}}'>
+ <a class='toggleplugin' href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}?a=t&amp;t={{$form_security_token}}' title="{{if $p.1==on}}Disable{{else}}Enable{{/if}}" ><span class='icon {{$p.1}}'></span></a>
+ <a href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}'><span class='name'>{{$p.2.name}}</span></a> - <span class="version">{{$p.2.version}}</span>
+ {{if $p.2.experimental}} {{$experimental}} {{/if}}{{if $p.2.unsupported}} {{$unsupported}} {{/if}}
- <div class='desc'>$p.2.description</div>
+ <div class='desc'>{{$p.2.description}}</div>
</li>
- {{ endfor }}
+ {{/foreach}}
</ul>
</div>
diff --git a/view/tpl/admin_plugins_details.tpl b/view/tpl/admin_plugins_details.tpl
index 931c7b83c..f72142e41 100644..100755
--- a/view/tpl/admin_plugins_details.tpl
+++ b/view/tpl/admin_plugins_details.tpl
@@ -1,36 +1,36 @@
-<div id='adminpage'>
- <h1>$title - $page</h1>
+<div class = "generic-content-wrapper" id='adminpage'>
+ <h1>{{$title}} - {{$page}}</h1>
- <p><span class='toggleplugin icon $status'></span> $info.name - $info.version : <a href="$baseurl/admin/$function/$plugin/?a=t&amp;t=$form_security_token">$action</a></p>
- <p>$info.description</p>
+ <p><span class='toggleplugin icon {{$status}}'></span> {{$info.name}} - {{$info.version}} : <a href="{{$baseurl}}/admin/{{$function}}/{{$plugin}}/?a=t&amp;t={{$form_security_token}}">{{$action}}</a></p>
+ <p>{{$info.description}}</p>
- <p class="author">$str_author
- {{ for $info.author as $a }}
- {{ if $a.link }}<a href="$a.link">$a.name</a>{{ else }}$a.name{{ endif }},
- {{ endfor }}
+ <p class="author">{{$str_author}}
+ {{foreach $info.author as $a}}
+ {{if $a.link}}<a href="{{$a.link}}">{{$a.name}}</a>{{else}}{{$a.name}}{{/if}},
+ {{/foreach}}
</p>
- <p class="maintainer">$str_maintainer
- {{ for $info.maintainer as $a }}
- {{ if $a.link }}<a href="$a.link">$a.name</a>{{ else }}$a.name{{ endif }},
- {{ endfor }}
+ <p class="maintainer">{{$str_maintainer}}
+ {{foreach $info.maintainer as $a}}
+ {{if $a.link}}<a href="{{$a.link}}">{{$a.name}}</a>{{else}}{{$a.name}}{{/if}},
+ {{/foreach}}
</p>
- {{ if $screenshot }}
- <a href="$screenshot.0" class='screenshot'><img src="$screenshot.0" alt="$screenshot.1" /></a>
- {{ endif }}
+ {{if $screenshot}}
+ <a href="{{$screenshot.0}}" class='screenshot'><img src="{{$screenshot.0}}" alt="{{$screenshot.1}}" /></a>
+ {{/if}}
- {{ if $admin_form }}
- <h3>$settings</h3>
- <form method="post" action="$baseurl/admin/$function/$plugin/">
- $admin_form
+ {{if $admin_form}}
+ <h3>{{$settings}}</h3>
+ <form method="post" action="{{$baseurl}}/admin/{{$function}}/{{$plugin}}/">
+ {{$admin_form}}
</form>
- {{ endif }}
+ {{/if}}
- {{ if $readme }}
+ {{if $readme}}
<h3>Readme</h3>
<div id="plugin_readme">
- $readme
+ {{$readme}}
</div>
- {{ endif }}
+ {{/if}}
</div>
diff --git a/view/tpl/admin_remoteupdate.tpl b/view/tpl/admin_remoteupdate.tpl
deleted file mode 100644
index 874c6e626..000000000
--- a/view/tpl/admin_remoteupdate.tpl
+++ /dev/null
@@ -1,98 +0,0 @@
-<script src="js/jquery.htmlstream.js"></script>
-<script>
- /* ajax updater */
- function updateEnd(data){
- //$("#updatepopup .panel_text").html(data);
- $("#remoteupdate_form").find("input").removeAttr('disabled');
- $(".panel_action_close").fadeIn()
- }
- function updateOn(data){
-
- var patt=/§([^§]*)§/g;
- var matches = data.match(patt);
- $(matches).each(function(id,data){
- data = data.replace(/§/g,"");
- d = data.split("@");
- console.log(d);
- elm = $("#updatepopup .panel_text #"+d[0]);
- html = "<div id='"+d[0]+"' class='progress'>"+d[1]+"<span>"+d[2]+"</span></div>";
- if (elm.length==0){
- $("#updatepopup .panel_text").append(html);
- } else {
- $(elm).replaceWith(html);
- }
- });
-
-
- }
-
- $(function(){
- $("#remoteupdate_form").submit(function(){
- var data={};
- $(this).find("input").each(function(i, e){
- name = $(e).attr('name');
- value = $(e).val();
- e.disabled = true;
- data[name]=value;
- });
-
- $("#updatepopup .panel_text").html("");
- $("#updatepopup").show();
- $("#updatepopup .panel").hide().slideDown(500);
- $(".panel_action_close").hide().click(function(){
- $("#updatepopup .panel").slideUp(500, function(){
- $("#updatepopup").hide();
- });
- });
-
- $.post(
- $(this).attr('action'),
- data,
- updateEnd,
- 'text',
- updateOn
- );
-
-
- return false;
- })
- });
-</script>
-<div id="updatepopup" class="popup">
- <div class="background"></div>
- <div class="panel">
- <div class="panel_in">
- <h1>Friendica Update</h1>
- <div class="panel_text"></div>
- <div class="panel_actions">
- <input type="button" value="$close" class="panel_action_close">
- </div>
- </div>
- </div>
-</div>
-<div id="adminpage">
- <dl> <dt>Your version:</dt><dd>$localversion</dd> </dl>
-{{ if $needupdate }}
- <dl> <dt>New version:</dt><dd>$remoteversion</dd> </dl>
-
- <form id="remoteupdate_form" method="POST" action="$baseurl/admin/update">
- <input type="hidden" name="$remotefile.0" value="$remotefile.2">
-
- {{ if $canwrite }}
- <div class="submit"><input type="submit" name="remoteupdate" value="$submit" /></div>
- {{ else }}
- <h3>Your friendica installation is not writable by web server.</h3>
- {{ if $canftp }}
- <p>You can try to update via FTP</p>
- {{ inc field_input.tpl with $field=$ftphost }}{{ endinc }}
- {{ inc field_input.tpl with $field=$ftppath }}{{ endinc }}
- {{ inc field_input.tpl with $field=$ftpuser }}{{ endinc }}
- {{ inc field_password.tpl with $field=$ftppwd }}{{ endinc }}
- <div class="submit"><input type="submit" name="remoteupdate" value="$submit" /></div>
- {{ endif }}
- {{ endif }}
- </form>
-{{ else }}
-<h4>No updates</h4>
-{{ endif }}
-</div>
diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl
index e09996aee..d0a5254fe 100644..100755
--- a/view/tpl/admin_site.tpl
+++ b/view/tpl/admin_site.tpl
@@ -6,7 +6,7 @@
autoDimensions: false,
onStart: function(){
var theme = $("#id_theme :selected").val();
- $("#cnftheme").attr('href',"$baseurl/admin/themes/"+theme);
+ $("#cnftheme").attr('href',"{{$baseurl}}/admin/themes/"+theme);
},
onComplete: function(){
$("div#fancybox-content form").submit(function(e){
@@ -34,49 +34,51 @@
});
});
</script>
-<div id='adminpage'>
- <h1>$title - $page</h1>
+<div id="adminpage" class="generic-content-wrapper">
+ <h1>{{$title}} - {{$page}}</h1>
- <form action="$baseurl/admin/site" method="post">
- <input type='hidden' name='form_security_token' value='$form_security_token'>
+ <form action="{{$baseurl}}/admin/site" method="post">
+ <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
+
+ {{include file="field_input.tpl" field=$sitename}}
+ {{include file="field_textarea.tpl" field=$banner}}
+ {{include file="field_select.tpl" field=$language}}
+ {{include file="field_select.tpl" field=$theme}}
+ {{include file="field_select.tpl" field=$theme_mobile}}
+ {{include file="field_select.tpl" field=$theme_accessibility}}
+ {{include file="field_input.tpl" field=$site_channel}}
- {{ inc field_input.tpl with $field=$sitename }}{{ endinc }}
- {{ inc field_textarea.tpl with $field=$banner }}{{ endinc }}
- {{ inc field_select.tpl with $field=$language }}{{ endinc }}
- {{ inc field_select.tpl with $field=$theme }}{{ endinc }}
- {{ inc field_select.tpl with $field=$ssl_policy }}{{ endinc }}
- <div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
+ <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
- <h3>$registration</h3>
- {{ inc field_input.tpl with $field=$register_text }}{{ endinc }}
- {{ inc field_select.tpl with $field=$register_policy }}{{ endinc }}
+ <h3>{{$registration}}</h3>
+ {{include file="field_input.tpl" field=$register_text}}
+ {{include file="field_select.tpl" field=$register_policy}}
+ {{include file="field_select.tpl" field=$access_policy}}
- <div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
+ <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
- <h3>$upload</h3>
- {{ inc field_input.tpl with $field=$maximagesize }}{{ endinc }}
+ <h3>{{$upload}}</h3>
+ {{include file="field_input.tpl" field=$maximagesize}}
- <h3>$corporate</h3>
- {{ inc field_input.tpl with $field=$allowed_sites }}{{ endinc }}
- {{ inc field_input.tpl with $field=$allowed_email }}{{ endinc }}
- {{ inc field_checkbox.tpl with $field=$block_public }}{{ endinc }}
- {{ inc field_checkbox.tpl with $field=$force_publish }}{{ endinc }}
- {{ inc field_checkbox.tpl with $field=$no_community_page }}{{ endinc }}
- {{ inc field_input.tpl with $field=$global_directory }}{{ endinc }}
+ <h3>{{$corporate}}</h3>
+ {{include file="field_input.tpl" field=$allowed_sites}}
+ {{include file="field_input.tpl" field=$allowed_email}}
+ {{include file="field_checkbox.tpl" field=$block_public}}
+ {{include file="field_checkbox.tpl" field=$force_publish}}
- <div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
+ <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
- <h3>$advanced</h3>
- {{ inc field_input.tpl with $field=$proxy }}{{ endinc }}
- {{ inc field_input.tpl with $field=$proxyuser }}{{ endinc }}
- {{ inc field_input.tpl with $field=$timeout }}{{ endinc }}
- {{ inc field_input.tpl with $field=$delivery_interval }}{{ endinc }}
- {{ inc field_input.tpl with $field=$poll_interval }}{{ endinc }}
- {{ inc field_input.tpl with $field=$maxloadavg }}{{ endinc }}
- {{ inc field_input.tpl with $field=$abandon_days }}{{ endinc }}
+ <h3>{{$advanced}}</h3>
+ {{include file="field_input.tpl" field=$proxy}}
+ {{include file="field_input.tpl" field=$proxyuser}}
+ {{include file="field_input.tpl" field=$timeout}}
+ {{include file="field_input.tpl" field=$delivery_interval}}
+ {{include file="field_input.tpl" field=$poll_interval}}
+ {{include file="field_input.tpl" field=$maxloadavg}}
+ {{include file="field_input.tpl" field=$abandon_days}}
- <div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
+ <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
</form>
</div>
diff --git a/view/tpl/admin_summary.tpl b/view/tpl/admin_summary.tpl
index 99221c13e..d3665626f 100644..100755
--- a/view/tpl/admin_summary.tpl
+++ b/view/tpl/admin_summary.tpl
@@ -1,39 +1,39 @@
-<div id='adminpage'>
- <h1>$title - $page</h1>
+<div class="generic-content-wrapper" id='adminpage'>
+ <h1>{{$title}} - {{$page}}</h1>
<dl>
- <dt>$queues.label</dt>
- <dd>$queues.queue</dd>
+ <dt>{{$queues.label}}</dt>
+ <dd>{{$queues.queue}}</dd>
</dl>
<dl>
- <dt>$pending.0</dt>
- <dd>$pending.1</dt>
+ <dt>{{$pending.0}}</dt>
+ <dd>{{$pending.1}}</dt>
</dl>
<dl>
- <dt>$users.0</dt>
- <dd>$users.1</dd>
+ <dt>{{$users.0}}</dt>
+ <dd>{{$users.1}}</dd>
</dl>
- {{ for $accounts as $p }}
+ {{foreach $accounts as $p}}
<dl>
- <dt>$p.0</dt>
- <dd>{{ if $p.1 }}$p.1{{ else }}0{{ endif }}</dd>
+ <dt>{{$p.0}}</dt>
+ <dd>{{if $p.1}}{{$p.1}}{{else}}0{{/if}}</dd>
</dl>
- {{ endfor }}
+ {{/foreach}}
<dl>
- <dt>$plugins.0</dt>
+ <dt>{{$plugins.0}}</dt>
- {{ for $plugins.1 as $p }}
- <dd>$p</dd>
- {{ endfor }}
+ {{foreach $plugins.1 as $p}}
+ <dd>{{$p}}</dd>
+ {{/foreach}}
</dl>
<dl>
- <dt>$version.0</dt>
- <dd>$version.1 - $build</dt>
+ <dt>{{$version.0}}</dt>
+ <dd>{{$version.1}} - {{$build}}</dt>
</dl>
diff --git a/view/tpl/admin_users.tpl b/view/tpl/admin_users.tpl
index 727030f5d..770df7eba 100644..100755
--- a/view/tpl/admin_users.tpl
+++ b/view/tpl/admin_users.tpl
@@ -1,89 +1,87 @@
<script>
function confirm_delete(uname){
- return confirm( "$confirm_delete".format(uname));
+ return confirm( "{{$confirm_delete}}".format(uname));
}
function confirm_delete_multi(){
- return confirm("$confirm_delete_multi");
+ return confirm("{{$confirm_delete_multi}}");
}
function selectall(cls){
$("."+cls).attr('checked','checked');
return false;
}
</script>
-<div id='adminpage'>
- <h1>$title - $page</h1>
+<div class = "generic-content-wrapper" id='adminpage'>
+ <h1>{{$title}} - {{$page}}</h1>
- <form action="$baseurl/admin/users" method="post">
- <input type='hidden' name='form_security_token' value='$form_security_token'>
+ <form action="{{$baseurl}}/admin/users" method="post">
+ <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
- <h3>$h_pending</h3>
- {{ if $pending }}
+ <h3>{{$h_pending}}</h3>
+ {{if $pending}}
<table id='pending'>
<thead>
<tr>
- {{ for $th_pending as $th }}<th>$th</th>{{ endfor }}
+ {{foreach $th_pending as $th}}<th>{{$th}}</th>{{/foreach}}
<th></th>
<th></th>
</tr>
</thead>
<tbody>
- {{ for $pending as $u }}
+ {{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="checkbox"><input type="checkbox" class="pending_ckbx" id="id_pending_$u.hash" name="pending[]" value="$u.hash" /></td>
+ <td class="created">{{$u.created}}</td>
+ <td class="name">{{$u.name}}</td>
+ <td class="email">{{$u.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'><span class='icon like'></span></a>
- <a href="$baseurl/regmod/deny/$u.hash" title='$deny'><span class='icon dislike'></span></a>
+ <a href="{{$baseurl}}/regmod/allow/{{$u.hash}}" title='{{$approve}}'><span class='icon like'></span></a>
+ <a href="{{$baseurl}}/regmod/deny/{{$u.hash}}" title='{{$deny}}'><span class='icon dislike'></span></a>
</td>
</tr>
- {{ endfor }}
+ {{/foreach}}
</tbody>
</table>
- <div class='selectall'><a href='#' onclick="return selectall('pending_ckbx');">$select_all</a></div>
- <div class="submit"><input type="submit" name="page_users_deny" value="$deny"/> <input type="submit" name="page_users_approve" value="$approve" /></div>
- {{ else }}
- <p>$no_pending</p>
- {{ endif }}
+ <div class='selectall'><a href='#' onclick="return selectall('pending_ckbx');">{{$select_all}}</a></div>
+ <div class="submit"><input type="submit" name="page_users_deny" value="{{$deny}}"/> <input type="submit" name="page_users_approve" value="{{$approve}}" /></div>
+ {{else}}
+ <p>{{$no_pending}}</p>
+ {{/if}}
- <h3>$h_users</h3>
- {{ if $users }}
+ <h3>{{$h_users}}</h3>
+ {{if $users}}
<table id='users'>
<thead>
<tr>
<th></th>
- {{ for $th_users as $th }}<th>$th</th>{{ endfor }}
+ {{foreach $th_users as $th}}<th>{{$th}}</th>{{/foreach}}
<th></th>
<th></th>
</tr>
</thead>
<tbody>
- {{ for $users as $u }}
+ {{foreach $users as $u}}
<tr>
- <td><img src="$u.micro" alt="$u.nickname" title="$u.nickname"></td>
- <td class='name'><a href="$u.url" title="$u.nickname" >$u.name</a></td>
- <td class='email'>$u.email</td>
- <td class='register_date'>$u.register_date</td>
- <td class='login_date'>$u.login_date</td>
- <td class='lastitem_date'>$u.lastitem_date</td>
- <td class='login_date'>$u.page_flags</td>
- <td class="checkbox"><input type="checkbox" class="users_ckbx" id="id_user_$u.uid" name="user[]" value="$u.uid"/></td>
+ <td><img src="{{$u.micro}}" alt="{{$u.nickname}}" title="{{$u.nickname}}"></td>
+ <td class='email'>{{$u.account_email}}</td>
+ <td class='register_date'>{{$u.account_created}}</td>
+ <td class='login_date'>{{$u.account_lastlog}}</td>
+ <td class='service_class'>{{$u.account_service_class}}</td>
+ <td class="checkbox"><input type="checkbox" class="users_ckbx" id="id_user_{{$u.uid}}" name="user[]" value="{{$u.uid}}"/></td>
<td class="tools">
- <a href="$baseurl/admin/users/block/$u.uid?t=$form_security_token" title='{{ if $u.blocked }}$unblock{{ else }}$block{{ endif }}'><span class='icon block {{ if $u.blocked==0 }}dim{{ endif }}'></span></a>
- <a href="$baseurl/admin/users/delete/$u.uid?t=$form_security_token" title='$delete' onclick="return confirm_delete('$u.name')"><span class='icon drop'></span></a>
+ <a href="{{$baseurl}}/admin/users/block/{{$u.uid}}?t={{$form_security_token}}" title='{{if $u.blocked}}{{$unblock}}{{else}}{{$block}}{{/if}}'><span class='icon block {{if $u.blocked==0}}dim{{/if}}'></span></a>
+ <a href="{{$baseurl}}/admin/users/delete/{{$u.uid}}?t={{$form_security_token}}" title='{{$delete}}' onclick="return confirm_delete('{{$u.name}}')"><span class='icon drop'></span></a>
</td>
</tr>
- {{ endfor }}
+ {{/foreach}}
</tbody>
</table>
- <div class='selectall'><a href='#' onclick="return selectall('users_ckbx');">$select_all</a></div>
- <div class="submit"><input type="submit" name="page_users_block" value="$block/$unblock" /> <input type="submit" name="page_users_delete" value="$delete" onclick="return confirm_delete_multi()" /></div>
- {{ else }}
+ <div class='selectall'><a href='#' onclick="return selectall('users_ckbx');">{{$select_all}}</a></div>
+ <div class="submit"><input type="submit" name="page_users_block" value="{{$block}}/{{$unblock}}" /> <input type="submit" name="page_users_delete" value="{{$delete}}" onclick="return confirm_delete_multi()" /></div>
+ {{else}}
NO USERS?!?
- {{ endif }}
+ {{/if}}
</form>
</div>
diff --git a/view/tpl/album_edit.tpl b/view/tpl/album_edit.tpl
index 56a7b73fc..61653c47c 100644..100755
--- a/view/tpl/album_edit.tpl
+++ b/view/tpl/album_edit.tpl
@@ -1,14 +1,14 @@
<div id="photo-album-edit-wrapper">
-<form name="photo-album-edit-form" id="photo-album-edit-form" action="photos/$nickname/album/$hexalbum" method="post" >
+<form name="photo-album-edit-form" id="photo-album-edit-form" action="photos/{{$nickname}}/album/{{$hexalbum}}" method="post" >
-<label id="photo-album-edit-name-label" for="photo-album-edit-name" >$nametext</label>
-<input type="text" size="64" name="albumname" value="$album" >
+<label id="photo-album-edit-name-label" for="photo-album-edit-name" >{{$nametext}}</label>
+<input type="text" size="64" name="albumname" value="{{$album}}" >
<div id="photo-album-edit-name-end"></div>
-<input id="photo-album-edit-submit" type="submit" name="submit" value="$submit" />
-<input id="photo-album-edit-drop" type="submit" name="dropalbum" value="$dropsubmit" onclick="return confirmDelete();" />
+<input id="photo-album-edit-submit" type="submit" name="submit" value="{{$submit}}" />
+<input id="photo-album-edit-drop" type="submit" name="dropalbum" value="{{$dropsubmit}}" onclick="return confirmDelete();" />
</form>
</div>
diff --git a/view/tpl/alt_pager.tpl b/view/tpl/alt_pager.tpl
new file mode 100644
index 000000000..b46dc7662
--- /dev/null
+++ b/view/tpl/alt_pager.tpl
@@ -0,0 +1,4 @@
+<div class="pager">
+{{if $has_less}}<a href="{{$url}}&page={{$prevpage}}" class="pager-prev">{{$less}}</a>{{/if}}
+{{if $has_more}}{{if $has_less}}&nbsp;|&nbsp;{{/if}}<a href="{{$url}}&page={{$nextpage}}" class="pager-next">{{$more}}</a>{{/if}}
+</div>
diff --git a/view/tpl/api_config_xml.tpl b/view/tpl/api_config_xml.tpl
index 3281e59dd..8c0766c73 100644..100755
--- a/view/tpl/api_config_xml.tpl
+++ b/view/tpl/api_config_xml.tpl
@@ -1,24 +1,24 @@
<config>
<site>
- <name>$config.site.name</name>
- <server>$config.site.server</server>
+ <name>{{$config.site.name}}</name>
+ <server>{{$config.site.server}}</server>
<theme>default</theme>
<path></path>
- <logo>$config.site.logo</logo>
+ <logo>{{$config.site.logo}}</logo>
<fancy>true</fancy>
<language>en</language>
- <email>$config.site.email</email>
+ <email>{{$config.site.email}}</email>
<broughtby></broughtby>
<broughtbyurl></broughtbyurl>
<timezone>UTC</timezone>
- <closed>$config.site.closed</closed>
+ <closed>{{$config.site.closed}}</closed>
<inviteonly>false</inviteonly>
- <private>$config.site.private</private>
- <textlimit>$config.site.textlimit</textlimit>
- <ssl>$config.site.ssl</ssl>
- <sslserver>$config.site.sslserver</sslserver>
+ <private>{{$config.site.private}}</private>
+ <textlimit>{{$config.site.textlimit}}</textlimit>
+ <ssl>{{$config.site.ssl}}</ssl>
+ <sslserver>{{$config.site.sslserver}}</sslserver>
<shorturllength>30</shorturllength>
</site>
diff --git a/view/tpl/api_friends_xml.tpl b/view/tpl/api_friends_xml.tpl
index 0ea7eb13b..f2a7234d1 100644..100755
--- a/view/tpl/api_friends_xml.tpl
+++ b/view/tpl/api_friends_xml.tpl
@@ -1,5 +1,5 @@
<users type="array">
- {{for $users as $user }}
- {{inc api_user_xml.tpl }}{{endinc}}
- {{endfor}}
+ {{foreach $users as $user}}
+ {{include file="api_user_xml.tpl"}}
+ {{/foreach}}
</users>
diff --git a/view/tpl/api_ratelimit_xml.tpl b/view/tpl/api_ratelimit_xml.tpl
index 36ec1993d..e4b470a25 100644..100755
--- a/view/tpl/api_ratelimit_xml.tpl
+++ b/view/tpl/api_ratelimit_xml.tpl
@@ -1,6 +1,6 @@
<hash>
- <remaining-hits type="integer">$hash.remaining_hits</remaining-hits>
- <hourly-limit type="integer">$hash.hourly_limit</hourly-limit>
- <reset-time type="datetime">$hash.reset_time</reset-time>
- <reset_time_in_seconds type="integer">$hash.resettime_in_seconds</reset_time_in_seconds>
+ <remaining-hits type="integer">{{$hash.remaining_hits}}</remaining-hits>
+ <hourly-limit type="integer">{{$hash.hourly_limit}}</hourly-limit>
+ <reset-time type="datetime">{{$hash.reset_time}}</reset-time>
+ <reset_time_in_seconds type="integer">{{$hash.resettime_in_seconds}}</reset_time_in_seconds>
</hash>
diff --git a/view/tpl/api_status_xml.tpl b/view/tpl/api_status_xml.tpl
index f6cd9c2c0..cbb736e22 100644..100755
--- a/view/tpl/api_status_xml.tpl
+++ b/view/tpl/api_status_xml.tpl
@@ -1,46 +1,46 @@
-<status>{{ if $status }}
- <created_at>$status.created_at</created_at>
- <id>$status.id</id>
- <text>$status.text</text>
- <source>$status.source</source>
- <truncated>$status.truncated</truncated>
- <in_reply_to_status_id>$status.in_reply_to_status_id</in_reply_to_status_id>
- <in_reply_to_user_id>$status.in_reply_to_user_id</in_reply_to_user_id>
- <favorited>$status.favorited</favorited>
- <in_reply_to_screen_name>$status.in_reply_to_screen_name</in_reply_to_screen_name>
- <geo>$status.geo</geo>
- <coordinates>$status.coordinates</coordinates>
- <place>$status.place</place>
- <contributors>$status.contributors</contributors>
+<status>{{if $status}}
+ <created_at>{{$status.created_at}}</created_at>
+ <id>{{$status.id}}</id>
+ <text>{{$status.text}}</text>
+ <source>{{$status.source}}</source>
+ <truncated>{{$status.truncated}}</truncated>
+ <in_reply_to_status_id>{{$status.in_reply_to_status_id}}</in_reply_to_status_id>
+ <in_reply_to_user_id>{{$status.in_reply_to_user_id}}</in_reply_to_user_id>
+ <favorited>{{$status.favorited}}</favorited>
+ <in_reply_to_screen_name>{{$status.in_reply_to_screen_name}}</in_reply_to_screen_name>
+ <geo>{{$status.geo}}</geo>
+ <coordinates>{{$status.coordinates}}</coordinates>
+ <place>{{$status.place}}</place>
+ <contributors>{{$status.contributors}}</contributors>
<user>
- <id>$status.user.id</id>
- <name>$status.user.name</name>
- <screen_name>$status.user.screen_name</screen_name>
- <location>$status.user.location</location>
- <description>$status.user.description</description>
- <profile_image_url>$status.user.profile_image_url</profile_image_url>
- <url>$status.user.url</url>
- <protected>$status.user.protected</protected>
- <followers_count>$status.user.followers</followers_count>
- <profile_background_color>$status.user.profile_background_color</profile_background_color>
- <profile_text_color>$status.user.profile_text_color</profile_text_color>
- <profile_link_color>$status.user.profile_link_color</profile_link_color>
- <profile_sidebar_fill_color>$status.user.profile_sidebar_fill_color</profile_sidebar_fill_color>
- <profile_sidebar_border_color>$status.user.profile_sidebar_border_color</profile_sidebar_border_color>
- <friends_count>$status.user.friends_count</friends_count>
- <created_at>$status.user.created_at</created_at>
- <favourites_count>$status.user.favourites_count</favourites_count>
- <utc_offset>$status.user.utc_offset</utc_offset>
- <time_zone>$status.user.time_zone</time_zone>
- <profile_background_image_url>$status.user.profile_background_image_url</profile_background_image_url>
- <profile_background_tile>$status.user.profile_background_tile</profile_background_tile>
- <profile_use_background_image>$status.user.profile_use_background_image</profile_use_background_image>
+ <id>{{$status.user.id}}</id>
+ <name>{{$status.user.name}}</name>
+ <screen_name>{{$status.user.screen_name}}</screen_name>
+ <location>{{$status.user.location}}</location>
+ <description>{{$status.user.description}}</description>
+ <profile_image_url>{{$status.user.profile_image_url}}</profile_image_url>
+ <url>{{$status.user.url}}</url>
+ <protected>{{$status.user.protected}}</protected>
+ <followers_count>{{$status.user.followers}}</followers_count>
+ <profile_background_color>{{$status.user.profile_background_color}}</profile_background_color>
+ <profile_text_color>{{$status.user.profile_text_color}}</profile_text_color>
+ <profile_link_color>{{$status.user.profile_link_color}}</profile_link_color>
+ <profile_sidebar_fill_color>{{$status.user.profile_sidebar_fill_color}}</profile_sidebar_fill_color>
+ <profile_sidebar_border_color>{{$status.user.profile_sidebar_border_color}}</profile_sidebar_border_color>
+ <friends_count>{{$status.user.friends_count}}</friends_count>
+ <created_at>{{$status.user.created_at}}</created_at>
+ <favourites_count>{{$status.user.favourites_count}}</favourites_count>
+ <utc_offset>{{$status.user.utc_offset}}</utc_offset>
+ <time_zone>{{$status.user.time_zone}}</time_zone>
+ <profile_background_image_url>{{$status.user.profile_background_image_url}}</profile_background_image_url>
+ <profile_background_tile>{{$status.user.profile_background_tile}}</profile_background_tile>
+ <profile_use_background_image>{{$status.user.profile_use_background_image}}</profile_use_background_image>
<notifications></notifications>
- <geo_enabled>$status.user.geo_enabled</geo_enabled>
- <verified>$status.user.verified</verified>
+ <geo_enabled>{{$status.user.geo_enabled}}</geo_enabled>
+ <verified>{{$status.user.verified}}</verified>
<following></following>
- <statuses_count>$status.user.statuses_count</statuses_count>
- <lang>$status.user.lang</lang>
- <contributors_enabled>$status.user.contributors_enabled</contributors_enabled>
+ <statuses_count>{{$status.user.statuses_count}}</statuses_count>
+ <lang>{{$status.user.lang}}</lang>
+ <contributors_enabled>{{$status.user.contributors_enabled}}</contributors_enabled>
</user>
-{{ endif }}</status>
+{{/if}}</status>
diff --git a/view/tpl/api_test_xml.tpl b/view/tpl/api_test_xml.tpl
index 7509a2dc1..80a541c39 100644..100755
--- a/view/tpl/api_test_xml.tpl
+++ b/view/tpl/api_test_xml.tpl
@@ -1 +1 @@
-<ok>$ok</ok>
+<ok>{{$ok}}</ok>
diff --git a/view/tpl/api_timeline_atom.tpl b/view/tpl/api_timeline_atom.tpl
index 9039220e7..e8bfb689e 100644..100755
--- a/view/tpl/api_timeline_atom.tpl
+++ b/view/tpl/api_timeline_atom.tpl
@@ -1,90 +1,90 @@
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:georss="http://www.georss.org/georss" xmlns:activity="http://activitystrea.ms/spec/1.0/" xmlns:media="http://purl.org/syndication/atommedia" xmlns:poco="http://portablecontacts.net/spec/1.0" xmlns:ostatus="http://ostatus.org/schema/1.0" xmlns:statusnet="http://status.net/schema/api/1/">
<generator uri="http://status.net" version="0.9.7">StatusNet</generator>
- <id>$rss.self</id>
+ <id>{{$rss.self}}</id>
<title>Friendika</title>
<subtitle>Friendika API feed</subtitle>
- <logo>$rss.logo</logo>
- <updated>$rss.atom_updated</updated>
- <link type="text/html" rel="alternate" href="$rss.alternate"/>
- <link type="application/atom+xml" rel="self" href="$rss.self"/>
+ <logo>{{$rss.logo}}</logo>
+ <updated>{{$rss.atom_updated}}</updated>
+ <link type="text/html" rel="alternate" href="{{$rss.alternate}}"/>
+ <link type="application/atom+xml" rel="self" href="{{$rss.self}}"/>
<author>
<activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type>
- <uri>$user.url</uri>
- <name>$user.name</name>
- <link rel="alternate" type="text/html" href="$user.url"/>
- <link rel="avatar" type="image/jpeg" media:width="106" media:height="106" href="$user.profile_image_url"/>
- <link rel="avatar" type="image/jpeg" media:width="96" media:height="96" href="$user.profile_image_url"/>
- <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="$user.profile_image_url"/>
- <link rel="avatar" type="image/jpeg" media:width="24" media:height="24" href="$user.profile_image_url"/>
+ <uri>{{$user.url}}</uri>
+ <name>{{$user.name}}</name>
+ <link rel="alternate" type="text/html" href="{{$user.url}}"/>
+ <link rel="avatar" type="image/jpeg" media:width="106" media:height="106" href="{{$user.profile_image_url}}"/>
+ <link rel="avatar" type="image/jpeg" media:width="96" media:height="96" href="{{$user.profile_image_url}}"/>
+ <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$user.profile_image_url}}"/>
+ <link rel="avatar" type="image/jpeg" media:width="24" media:height="24" href="{{$user.profile_image_url}}"/>
<georss:point></georss:point>
- <poco:preferredUsername>$user.screen_name</poco:preferredUsername>
- <poco:displayName>$user.name</poco:displayName>
+ <poco:preferredUsername>{{$user.screen_name}}</poco:preferredUsername>
+ <poco:displayName>{{$user.name}}</poco:displayName>
<poco:urls>
<poco:type>homepage</poco:type>
- <poco:value>$user.url</poco:value>
+ <poco:value>{{$user.url}}</poco:value>
<poco:primary>true</poco:primary>
</poco:urls>
- <statusnet:profile_info local_id="$user.id"></statusnet:profile_info>
+ <statusnet:profile_info local_id="{{$user.id}}"></statusnet:profile_info>
</author>
<!--Deprecation warning: activity:subject is present only for backward compatibility. It will be removed in the next version of StatusNet.-->
<activity:subject>
<activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type>
- <id>$user.contact_url</id>
- <title>$user.name</title>
- <link rel="alternate" type="text/html" href="$user.url"/>
- <link rel="avatar" type="image/jpeg" media:width="106" media:height="106" href="$user.profile_image_url"/>
- <link rel="avatar" type="image/jpeg" media:width="96" media:height="96" href="$user.profile_image_url"/>
- <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="$user.profile_image_url"/>
- <link rel="avatar" type="image/jpeg" media:width="24" media:height="24" href="$user.profile_image_url"/>
- <poco:preferredUsername>$user.screen_name</poco:preferredUsername>
- <poco:displayName>$user.name</poco:displayName>
+ <id>{{$user.contact_url}}</id>
+ <title>{{$user.name}}</title>
+ <link rel="alternate" type="text/html" href="{{$user.url}}"/>
+ <link rel="avatar" type="image/jpeg" media:width="106" media:height="106" href="{{$user.profile_image_url}}"/>
+ <link rel="avatar" type="image/jpeg" media:width="96" media:height="96" href="{{$user.profile_image_url}}"/>
+ <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$user.profile_image_url}}"/>
+ <link rel="avatar" type="image/jpeg" media:width="24" media:height="24" href="{{$user.profile_image_url}}"/>
+ <poco:preferredUsername>{{$user.screen_name}}</poco:preferredUsername>
+ <poco:displayName>{{$user.name}}</poco:displayName>
<poco:urls>
<poco:type>homepage</poco:type>
- <poco:value>$user.url</poco:value>
+ <poco:value>{{$user.url}}</poco:value>
<poco:primary>true</poco:primary>
</poco:urls>
- <statusnet:profile_info local_id="$user.id"></statusnet:profile_info>
+ <statusnet:profile_info local_id="{{$user.id}}"></statusnet:profile_info>
</activity:subject>
- {{ for $statuses as $status }}
+ {{foreach $statuses as $status}}
<entry>
- <activity:obj_type>$status.objecttype</activity:obj_type>
- <id>$status.message_id</id>
- <title>$status.text</title>
- <content type="html">$status.statusnet_html</content>
- <link rel="alternate" type="text/html" href="$status.url"/>
- <activity:verb>$status.verb</activity:verb>
- <published>$status.published</published>
- <updated>$status.updated</updated>
+ <activity:obj_type>{{$status.objecttype}}</activity:obj_type>
+ <id>{{$status.message_id}}</id>
+ <title>{{$status.text}}</title>
+ <content type="html">{{$status.statusnet_html}}</content>
+ <link rel="alternate" type="text/html" href="{{$status.url}}"/>
+ <activity:verb>{{$status.verb}}</activity:verb>
+ <published>{{$status.published}}</published>
+ <updated>{{$status.updated}}</updated>
- <link rel="self" type="application/atom+xml" href="$status.self"/>
- <link rel="edit" type="application/atom+xml" href="$status.edit"/>
- <statusnet:notice_info local_id="$status.id" source="$status.source" >
+ <link rel="self" type="application/atom+xml" href="{{$status.self}}"/>
+ <link rel="edit" type="application/atom+xml" href="{{$status.edit}}"/>
+ <statusnet:notice_info local_id="{{$status.id}}" source="{{$status.source}}" >
</statusnet:notice_info>
<author>
<activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type>
- <uri>$status.user.url</uri>
- <name>$status.user.name</name>
- <link rel="alternate" type="text/html" href="$status.user.url"/>
- <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="$status.user.profile_image_url"/>
+ <uri>{{$status.user.url}}</uri>
+ <name>{{$status.user.name}}</name>
+ <link rel="alternate" type="text/html" href="{{$status.user.url}}"/>
+ <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$status.user.profile_image_url}}"/>
<georss:point/>
- <poco:preferredUsername>$status.user.screen_name</poco:preferredUsername>
- <poco:displayName>$status.user.name</poco:displayName>
+ <poco:preferredUsername>{{$status.user.screen_name}}</poco:preferredUsername>
+ <poco:displayName>{{$status.user.name}}</poco:displayName>
<poco:address/>
<poco:urls>
<poco:type>homepage</poco:type>
- <poco:value>$status.user.url</poco:value>
+ <poco:value>{{$status.user.url}}</poco:value>
<poco:primary>true</poco:primary>
</poco:urls>
</author>
- <link rel="ostatus:conversation" type="text/html" href="$status.url"/>
+ <link rel="ostatus:conversation" type="text/html" href="{{$status.url}}"/>
</entry>
- {{ endfor }}
+ {{/foreach}}
</feed>
diff --git a/view/tpl/api_timeline_rss.tpl b/view/tpl/api_timeline_rss.tpl
index 40239273c..86c645e99 100644..100755
--- a/view/tpl/api_timeline_rss.tpl
+++ b/view/tpl/api_timeline_rss.tpl
@@ -1,26 +1,26 @@
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:georss="http://www.georss.org/georss" xmlns:twitter="http://api.twitter.com">
<channel>
<title>Friendika</title>
- <link>$rss.alternate</link>
- <atom:link type="application/rss+xml" rel="self" href="$rss.self"/>
+ <link>{{$rss.alternate}}</link>
+ <atom:link type="application/rss+xml" rel="self" href="{{$rss.self}}"/>
<description>Friendika timeline</description>
- <language>$rss.language</language>
+ <language>{{$rss.language}}</language>
<ttl>40</ttl>
<image>
- <link>$user.link</link>
- <title>$user.name's items</title>
- <url>$user.profile_image_url</url>
+ <link>{{$user.link}}</link>
+ <title>{{$user.name}}'s items</title>
+ <url>{{$user.profile_image_url}}</url>
</image>
-{{ for $statuses as $status }}
+{{foreach $statuses as $status}}
<item>
- <title>$status.user.name: $status.text</title>
- <description>$status.text</description>
- <pubDate>$status.created_at</pubDate>
- <guid>$status.url</guid>
- <link>$status.url</link>
- <twitter:source>$status.source</twitter:source>
+ <title>{{$status.user.name}}: {{$status.text}}</title>
+ <description>{{$status.text}}</description>
+ <pubDate>{{$status.created_at}}</pubDate>
+ <guid>{{$status.url}}</guid>
+ <link>{{$status.url}}</link>
+ <twitter:source>{{$status.source}}</twitter:source>
</item>
-{{ endfor }}
+{{/foreach}}
</channel>
</rss>
diff --git a/view/tpl/api_timeline_xml.tpl b/view/tpl/api_timeline_xml.tpl
index 4a32b411b..f14d73e9c 100644..100755
--- a/view/tpl/api_timeline_xml.tpl
+++ b/view/tpl/api_timeline_xml.tpl
@@ -1,20 +1,20 @@
<statuses type="array" xmlns:statusnet="http://status.net/schema/api/1/">
-{{ for $statuses as $status }} <status>
- <text>$status.text</text>
- <truncated>$status.truncated</truncated>
- <created_at>$status.created_at</created_at>
- <in_reply_to_status_id>$status.in_reply_to_status_id</in_reply_to_status_id>
- <source>$status.source</source>
- <id>$status.id</id>
- <in_reply_to_user_id>$status.in_reply_to_user_id</in_reply_to_user_id>
- <in_reply_to_screen_name>$status.in_reply_to_screen_name</in_reply_to_screen_name>
- <geo>$status.geo</geo>
- <favorited>$status.favorited</favorited>
-{{ inc api_user_xml.tpl with $user=$status.user }}{{ endinc }} <statusnet:html>$status.statusnet_html</statusnet:html>
- <statusnet:conversation_id>$status.statusnet_conversation_id</statusnet:conversation_id>
- <url>$status.url</url>
- <coordinates>$status.coordinates</coordinates>
- <place>$status.place</place>
- <contributors>$status.contributors</contributors>
+{{foreach $statuses as $status}} <status>
+ <text>{{$status.text}}</text>
+ <truncated>{{$status.truncated}}</truncated>
+ <created_at>{{$status.created_at}}</created_at>
+ <in_reply_to_status_id>{{$status.in_reply_to_status_id}}</in_reply_to_status_id>
+ <source>{{$status.source}}</source>
+ <id>{{$status.id}}</id>
+ <in_reply_to_user_id>{{$status.in_reply_to_user_id}}</in_reply_to_user_id>
+ <in_reply_to_screen_name>{{$status.in_reply_to_screen_name}}</in_reply_to_screen_name>
+ <geo>{{$status.geo}}</geo>
+ <favorited>{{$status.favorited}}</favorited>
+{{include file="api_user_xml.tpl" user=$status.user}} <statusnet:html>{{$status.statusnet_html}}</statusnet:html>
+ <statusnet:conversation_id>{{$status.statusnet_conversation_id}}</statusnet:conversation_id>
+ <url>{{$status.url}}</url>
+ <coordinates>{{$status.coordinates}}</coordinates>
+ <place>{{$status.place}}</place>
+ <contributors>{{$status.contributors}}</contributors>
</status>
-{{ endfor }}</statuses>
+{{/foreach}}</statuses>
diff --git a/view/tpl/api_user_xml.tpl b/view/tpl/api_user_xml.tpl
index d286652c0..3b51992f6 100644..100755
--- a/view/tpl/api_user_xml.tpl
+++ b/view/tpl/api_user_xml.tpl
@@ -1,46 +1,46 @@
<user>
- <id>$user.id</id>
- <name>$user.name</name>
- <screen_name>$user.screen_name</screen_name>
- <location>$user.location</location>
- <description>$user.description</description>
- <profile_image_url>$user.profile_image_url</profile_image_url>
- <url>$user.url</url>
- <protected>$user.protected</protected>
- <followers_count>$user.followers_count</followers_count>
- <friends_count>$user.friends_count</friends_count>
- <created_at>$user.created_at</created_at>
- <favourites_count>$user.favourites_count</favourites_count>
- <utc_offset>$user.utc_offset</utc_offset>
- <time_zone>$user.time_zone</time_zone>
- <statuses_count>$user.statuses_count</statuses_count>
- <following>$user.following</following>
- <profile_background_color>$user.profile_background_color</profile_background_color>
- <profile_text_color>$user.profile_text_color</profile_text_color>
- <profile_link_color>$user.profile_link_color</profile_link_color>
- <profile_sidebar_fill_color>$user.profile_sidebar_fill_color</profile_sidebar_fill_color>
- <profile_sidebar_border_color>$user.profile_sidebar_border_color</profile_sidebar_border_color>
- <profile_background_image_url>$user.profile_background_image_url</profile_background_image_url>
- <profile_background_tile>$user.profile_background_tile</profile_background_tile>
- <profile_use_background_image>$user.profile_use_background_image</profile_use_background_image>
- <notifications>$user.notifications</notifications>
- <geo_enabled>$user.geo_enabled</geo_enabled>
- <verified>$user.verified</verified>
- <lang>$user.lang</lang>
- <contributors_enabled>$user.contributors_enabled</contributors_enabled>
- <status>{{ if $user.status }}
- <created_at>$user.status.created_at</created_at>
- <id>$user.status.id</id>
- <text>$user.status.text</text>
- <source>$user.status.source</source>
- <truncated>$user.status.truncated</truncated>
- <in_reply_to_status_id>$user.status.in_reply_to_status_id</in_reply_to_status_id>
- <in_reply_to_user_id>$user.status.in_reply_to_user_id</in_reply_to_user_id>
- <favorited>$user.status.favorited</favorited>
- <in_reply_to_screen_name>$user.status.in_reply_to_screen_name</in_reply_to_screen_name>
- <geo>$user.status.geo</geo>
- <coordinates>$user.status.coordinates</coordinates>
- <place>$user.status.place</place>
- <contributors>$user.status.contributors</contributors>
- {{ endif }}</status>
+ <id>{{$user.id}}</id>
+ <name>{{$user.name}}</name>
+ <screen_name>{{$user.screen_name}}</screen_name>
+ <location>{{$user.location}}</location>
+ <description>{{$user.description}}</description>
+ <profile_image_url>{{$user.profile_image_url}}</profile_image_url>
+ <url>{{$user.url}}</url>
+ <protected>{{$user.protected}}</protected>
+ <followers_count>{{$user.followers_count}}</followers_count>
+ <friends_count>{{$user.friends_count}}</friends_count>
+ <created_at>{{$user.created_at}}</created_at>
+ <favourites_count>{{$user.favourites_count}}</favourites_count>
+ <utc_offset>{{$user.utc_offset}}</utc_offset>
+ <time_zone>{{$user.time_zone}}</time_zone>
+ <statuses_count>{{$user.statuses_count}}</statuses_count>
+ <following>{{$user.following}}</following>
+ <profile_background_color>{{$user.profile_background_color}}</profile_background_color>
+ <profile_text_color>{{$user.profile_text_color}}</profile_text_color>
+ <profile_link_color>{{$user.profile_link_color}}</profile_link_color>
+ <profile_sidebar_fill_color>{{$user.profile_sidebar_fill_color}}</profile_sidebar_fill_color>
+ <profile_sidebar_border_color>{{$user.profile_sidebar_border_color}}</profile_sidebar_border_color>
+ <profile_background_image_url>{{$user.profile_background_image_url}}</profile_background_image_url>
+ <profile_background_tile>{{$user.profile_background_tile}}</profile_background_tile>
+ <profile_use_background_image>{{$user.profile_use_background_image}}</profile_use_background_image>
+ <notifications>{{$user.notifications}}</notifications>
+ <geo_enabled>{{$user.geo_enabled}}</geo_enabled>
+ <verified>{{$user.verified}}</verified>
+ <lang>{{$user.lang}}</lang>
+ <contributors_enabled>{{$user.contributors_enabled}}</contributors_enabled>
+ <status>{{if $user.status}}
+ <created_at>{{$user.status.created_at}}</created_at>
+ <id>{{$user.status.id}}</id>
+ <text>{{$user.status.text}}</text>
+ <source>{{$user.status.source}}</source>
+ <truncated>{{$user.status.truncated}}</truncated>
+ <in_reply_to_status_id>{{$user.status.in_reply_to_status_id}}</in_reply_to_status_id>
+ <in_reply_to_user_id>{{$user.status.in_reply_to_user_id}}</in_reply_to_user_id>
+ <favorited>{{$user.status.favorited}}</favorited>
+ <in_reply_to_screen_name>{{$user.status.in_reply_to_screen_name}}</in_reply_to_screen_name>
+ <geo>{{$user.status.geo}}</geo>
+ <coordinates>{{$user.status.coordinates}}</coordinates>
+ <place>{{$user.status.place}}</place>
+ <contributors>{{$user.status.contributors}}</contributors>
+ {{/if}}</status>
</user>
diff --git a/view/tpl/apps.tpl b/view/tpl/apps.tpl
index 4c7f8c94c..335e0ca97 100644..100755
--- a/view/tpl/apps.tpl
+++ b/view/tpl/apps.tpl
@@ -1,7 +1,7 @@
-<h3>$title</h3>
+<h3>{{$title}}</h3>
<ul>
- {{ for $apps as $ap }}
- <li>$ap</li>
- {{ endfor }}
+ {{foreach $apps as $ap}}
+ <li>{{$ap}}</li>
+ {{/foreach}}
</ul>
diff --git a/view/tpl/atom_feed.tpl b/view/tpl/atom_feed.tpl
index 2feb547ee..2c8024d47 100644..100755
--- a/view/tpl/atom_feed.tpl
+++ b/view/tpl/atom_feed.tpl
@@ -4,26 +4,29 @@
xmlns:at="http://purl.org/atompub/tombstones/1.0"
xmlns:media="http://purl.org/syndication/atommedia"
xmlns:dfrn="http://purl.org/macgirvin/dfrn/1.0"
+ xmlns:zot="http://purl.org/zot"
xmlns:as="http://activitystrea.ms/spec/1.0/"
xmlns:georss="http://www.georss.org/georss"
xmlns:poco="http://portablecontacts.net/spec/1.0"
xmlns:ostatus="http://ostatus.org/schema/1.0"
xmlns:statusnet="http://status.net/schema/api/1/" >
- <id>$feed_id</id>
- <title>$feed_title</title>
- <generator uri="http://friendica.com" version="$version">Friendica</generator>
+ <id>{{$feed_id}}</id>
+ <title>{{$feed_title}}</title>
+ <generator uri="http://getzot.com" version="{{$version}}">{{$red}}</generator>
<link rel="license" href="http://creativecommons.org/licenses/by/3.0/" />
- $hub
- $salmon
- $community
+{{if $hub}}
+ {{$hub}}
+{{/if}}
+{{if $salmon}}
+ {{$salmon}}
+{{/if}}
- <updated>$feed_updated</updated>
+ <updated>{{$feed_updated}}</updated>
- <dfrn:owner>
- <name dfrn:updated="$namdate" >$name</name>
- <uri dfrn:updated="$uridate" >$profile_page</uri>
- <link rel="photo" type="image/jpeg" dfrn:updated="$picdate" media:width="175" media:height="175" href="$photo" />
- <link rel="avatar" type="image/jpeg" dfrn:updated="$picdate" media:width="175" media:height="175" href="$photo" />
- $birthday
- </dfrn:owner>
+ <zot:owner>
+ <name>{{$name}}</name>
+ <uri>{{$profile_page}}</uri>
+ <link rel="photo" type="{{$mimephoto}}" media:width="175" media:height="175" href="{{$photo}}" />
+ <link rel="avatar" type="{{$mimephoto}}" media:width="175" media:height="175" href="{{$photo}}" />
+ </zot:owner>
diff --git a/view/tpl/atom_feed_dfrn.tpl b/view/tpl/atom_feed_dfrn.tpl
index 0bae62b52..307001fbe 100644..100755
--- a/view/tpl/atom_feed_dfrn.tpl
+++ b/view/tpl/atom_feed_dfrn.tpl
@@ -10,20 +10,20 @@
xmlns:ostatus="http://ostatus.org/schema/1.0"
xmlns:statusnet="http://status.net/schema/api/1/" >
- <id>$feed_id</id>
- <title>$feed_title</title>
- <generator uri="http://friendica.com" version="$version">Friendica</generator>
+ <id>{{$feed_id}}</id>
+ <title>{{$feed_title}}</title>
+ <generator uri="http://friendica.com" version="{{$version}}">Friendica</generator>
<link rel="license" href="http://creativecommons.org/licenses/by/3.0/" />
- $hub
- $salmon
- $community
+ {{$hub}}
+ {{$salmon}}
+ {{$community}}
- <updated>$feed_updated</updated>
+ <updated>{{$feed_updated}}</updated>
<author>
- <name dfrn:updated="$namdate" >$name</name>
- <uri dfrn:updated="$uridate" >$profile_page</uri>
- <link rel="photo" type="image/jpeg" dfrn:updated="$picdate" media:width="175" media:height="175" href="$photo" />
- <link rel="avatar" type="image/jpeg" dfrn:updated="$picdate" media:width="175" media:height="175" href="$photo" />
- $birthday
+ <name dfrn:updated="{{$namdate}}" >{{$name}}</name>
+ <uri dfrn:updated="{{$uridate}}" >{{$profile_page}}</uri>
+ <link rel="photo" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" />
+ <link rel="avatar" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" />
+ {{$birthday}}
</author>
diff --git a/view/tpl/atom_mail.tpl b/view/tpl/atom_mail.tpl
deleted file mode 100644
index bf7c3efc8..000000000
--- a/view/tpl/atom_mail.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-
-<dfrn:mail>
-
- <dfrn:sender>
- <dfrn:name>$name</dfrn:name>
- <dfrn:uri>$profile_page</dfrn:uri>
- <dfrn:avatar>$thumb</dfrn:avatar>
- </dfrn:sender>
-
- <dfrn:id>$item_id</dfrn:id>
- <dfrn:in-reply-to>$parent_id</dfrn:in-reply-to>
- <dfrn:sentdate>$created</dfrn:sentdate>
- <dfrn:subject>$subject</dfrn:subject>
- <dfrn:content>$content</dfrn:content>
-
-</dfrn:mail>
-
diff --git a/view/tpl/atom_suggest.tpl b/view/tpl/atom_suggest.tpl
deleted file mode 100644
index 66c61f9b6..000000000
--- a/view/tpl/atom_suggest.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-
-<dfrn:suggest>
-
- <dfrn:url>$url</dfrn:url>
- <dfrn:name>$name</dfrn:name>
- <dfrn:photo>$photo</dfrn:photo>
- <dfrn:request>$request</dfrn:request>
- <dfrn:note>$note</dfrn:note>
-
-</dfrn:suggest>
-
diff --git a/view/tpl/auto_request.tpl b/view/tpl/auto_request.tpl
deleted file mode 100644
index 961de9bb3..000000000
--- a/view/tpl/auto_request.tpl
+++ /dev/null
@@ -1,37 +0,0 @@
-
-<h1>$header</h1>
-
-<p id="dfrn-request-intro">
-$page_desc<br />
-<ul id="dfrn-request-networks">
-<li><a href="http://friendica.com" title="$friendica">$friendica</a></li>
-<li><a href="http://joindiaspora.com" title="$diaspora">$diaspora</a> $diasnote</li>
-<li><a href="http://ostatus.org" title="$public_net" >$statusnet</a></li>
-{{ if $emailnet }}<li>$emailnet</li>{{ endif }}
-</ul>
-</p>
-<p>
-$invite_desc
-</p>
-<p>
-$desc
-</p>
-
-<form action="dfrn_request/$nickname" method="post" />
-
-<div id="dfrn-request-url-wrapper" >
- <label id="dfrn-url-label" for="dfrn-url" >$your_address</label>
- <input type="text" name="dfrn_url" id="dfrn-url" size="32" value="$myaddr" />
- <div id="dfrn-request-url-end"></div>
-</div>
-
-
-<div id="dfrn-request-info-wrapper" >
-
-</div>
-
- <div id="dfrn-request-submit-wrapper">
- <input type="submit" name="submit" id="dfrn-request-submit-button" value="$submit" />
- <input type="submit" name="cancel" id="dfrn-request-cancel-button" value="$cancel" />
- </div>
-</form>
diff --git a/view/tpl/birthdays_reminder.tpl b/view/tpl/birthdays_reminder.tpl
index 8db7d22f4..d0500364a 100644..100755
--- a/view/tpl/birthdays_reminder.tpl
+++ b/view/tpl/birthdays_reminder.tpl
@@ -1,10 +1,10 @@
-{{ if $count }}
-<div id="birthday-notice" class="birthday-notice fakelink $classtoday" onclick="openClose('birthday-wrapper');">$event_reminders ($count)</div>
-<div id="birthday-wrapper" style="display: none;" ><div id="birthday-title">$event_title</div>
+{{if $count}}
+<div id="birthday-notice" class="birthday-notice fakelink {{$classtoday}}" onclick="openClose('birthday-wrapper');">{{$event_reminders}} ({{$count}})</div>
+<div id="birthday-wrapper" style="display: none;" ><div id="birthday-title">{{$event_title}}</div>
<div id="birthday-title-end"></div>
-{{ for $events as $event }}
-<div class="birthday-list" id="birthday-$event.id"></a> <a href="$event.link">$event.title</a> $event.date </div>
-{{ endfor }}
+{{foreach $events as $event}}
+<div class="birthday-list" id="birthday-{{$event.id}}"></a> <a href="{{$event.link}}">{{$event.title}}</a> {{$event.date}} </div>
+{{/foreach}}
</div>
-{{ endif }}
+{{/if}}
diff --git a/view/tpl/build_query.tpl b/view/tpl/build_query.tpl
index f4795acb2..53a8c0f6b 100644..100755
--- a/view/tpl/build_query.tpl
+++ b/view/tpl/build_query.tpl
@@ -1,28 +1,28 @@
<script>
- var bParam_cmd = "$baseurl/update_$pgtype";
+ var bParam_cmd = "{{$baseurl}}/update_{{$pgtype}}";
- var bParam_uid = $uid;
- var bParam_gid = $gid;
- var bParam_cid = $cid;
- var bParam_cmin = $cmin;
- var bParam_cmax = $cmax;
- var bParam_star = $star;
- var bParam_liked = $liked;
- var bParam_conv = $conv;
- var bParam_spam = $spam;
- var bParam_new = $nouveau;
- var bParam_page = $page;
- var bParam_wall = $wall;
+ var bParam_uid = {{$uid}};
+ var bParam_gid = {{$gid}};
+ var bParam_cid = {{$cid}};
+ var bParam_cmin = {{$cmin}};
+ var bParam_cmax = {{$cmax}};
+ var bParam_star = {{$star}};
+ var bParam_liked = {{$liked}};
+ var bParam_conv = {{$conv}};
+ var bParam_spam = {{$spam}};
+ var bParam_new = {{$nouveau}};
+ var bParam_page = {{$page}};
+ var bParam_wall = {{$wall}};
- var bParam_search = "$search";
- var bParam_order = "$order";
- var bParam_file = "$file";
- var bParam_cats = "$cats";
- var bParam_dend = "$dend";
- var bParam_dbegin = "$dbegin";
- var bParam_uri = "$uri";
+ var bParam_search = "{{$search}}";
+ var bParam_order = "{{$order}}";
+ var bParam_file = "{{$file}}";
+ var bParam_cats = "{{$cats}}";
+ var bParam_dend = "{{$dend}}";
+ var bParam_dbegin = "{{$dbegin}}";
+ var bParam_mid = "{{$mid}}";
function buildCmd() {
var udargs = ((page_load) ? "/load" : "");
@@ -39,11 +39,12 @@
if(bParam_new != 0) bCmd = bCmd + "&new=" + bParam_new;
if(bParam_wall != 0) bCmd = bCmd + "&wall=" + bParam_wall;
if(bParam_search != "") bCmd = bCmd + "&search=" + bParam_search;
+ if(bParam_order != "") bCmd = bCmd + "&order=" + bParam_order;
if(bParam_file != "") bCmd = bCmd + "&file=" + bParam_file;
- if(bParam_cats != "") bCmd = bCmd + "&cats=" + bParam_cats;
+ if(bParam_cats != "") bCmd = bCmd + "&cat=" + bParam_cats;
if(bParam_dend != "") bCmd = bCmd + "&dend=" + bParam_dend;
if(bParam_dbegin != "") bCmd = bCmd + "&dbegin=" + bParam_dbegin;
- if(bParam_uri != "") bCmd = bCmd + "&uri=" + bParam_uri;
+ if(bParam_mid != "") bCmd = bCmd + "&mid=" + bParam_mid;
if(bParam_page != 1) bCmd = bCmd + "&page=" + bParam_page;
return(bCmd);
}
diff --git a/view/tpl/categories_widget.tpl b/view/tpl/categories_widget.tpl
index 19e91c560..2c0b3bcc2 100644..100755
--- a/view/tpl/categories_widget.tpl
+++ b/view/tpl/categories_widget.tpl
@@ -1,12 +1,12 @@
<div id="categories-sidebar" class="widget">
- <h3>$title</h3>
- <div id="categories-sidebar-desc">$desc</div>
+ <h3>{{$title}}</h3>
+ <div id="categories-sidebar-desc">{{$desc}}</div>
<ul class="categories-ul">
- <li class="tool"><a href="$base" class="categories-link categories-all{{ if $sel_all }} categories-selected{{ endif }}">$all</a></li>
- {{ for $terms as $term }}
- <li class="tool"><a href="$base?f=&cat=$term.name" class="categories-link{{ if $term.selected }} categories-selected{{ endif }}">$term.name</a></li>
- {{ endfor }}
+ <li class="tool"><a href="{{$base}}" class="categories-link categories-all{{if $sel_all}} categories-selected{{/if}}">{{$all}}</a></li>
+ {{foreach $terms as $term}}
+ <li class="tool"><a href="{{$base}}?f=&cat={{$term.name}}" class="categories-link{{if $term.selected}} categories-selected{{/if}}">{{$term.name}}</a></li>
+ {{/foreach}}
</ul>
</div>
diff --git a/view/tpl/channel.tpl b/view/tpl/channel.tpl
index af4f9b703..d6462d1e4 100644..100755
--- a/view/tpl/channel.tpl
+++ b/view/tpl/channel.tpl
@@ -1,12 +1,12 @@
<div class="channel-selection">
-{{ if $channel.default_links }}
-{{ if $channel.default }}
-<div class="channel-selection-default default">$msg_default</div>
-{{ else }}
-<div class="channel-selection-default"><a href="manage/$channel.channel_id/default">$msg_make_default</a></div>
-{{ endif }}
-{{ endif }}
-<a href="$channel.link" class="channel-selection-photo-link" title="$channel.channel_name"><img class="channel-photo" src="$channel.xchan_photo_m" alt="$channel.channel_name" /></a>
-<a href="$channel.link" class="channel-selection-name-link" title="$channel.channel_name"><div class="channel-name">$channel.channel_name</div></a>
+{{if $channel.default_links}}
+{{if $channel.default}}
+<div class="channel-selection-default default">{{$msg_default}}</div>
+{{else}}
+<div class="channel-selection-default"><a href="manage/{{$channel.channel_id}}/default">{{$msg_make_default}}</a></div>
+{{/if}}
+{{/if}}
+<a href="{{$channel.link}}" class="channel-selection-photo-link" title="{{$channel.channel_name}}"><img class="channel-photo" src="{{$channel.xchan_photo_m}}" alt="{{$channel.channel_name}}" /></a>
+<a href="{{$channel.link}}" class="channel-selection-name-link" title="{{$channel.channel_name}}"><div class="channel-name">{{$channel.channel_name}}</div></a>
</div>
<div class="channel-selection-end"></div>
diff --git a/view/tpl/channel_import.tpl b/view/tpl/channel_import.tpl
index 8002b6e03..f7635ea52 100644..100755
--- a/view/tpl/channel_import.tpl
+++ b/view/tpl/channel_import.tpl
@@ -1,34 +1,34 @@
-<h2>$title</h2>
+<h2>{{$title}}</h2>
-<form action="import" method="post" id="import-channel-form">
+<form action="import" method="post" enctype="multipart/form-data" id="import-channel-form">
- <div id="import-desc" class="descriptive-paragraph">$desc</div>
+ <div id="import-desc" class="descriptive-paragraph">{{$desc}}</div>
- <label for="import-filename" id="label-import-filename" class="import-label" >$label_filename</label>
+ <label for="import-filename" id="label-import-filename" class="import-label" >{{$label_filename}}</label>
<input type="file" name="filename" id="import-filename" class="import-input" value="" />
<div id="import-filename-end" class="import-field-end"></div>
- <div id="import-choice" class="descriptive-paragraph">$choice</div>
+ <div id="import-choice" class="descriptive-paragraph">{{$choice}}</div>
- <label for="import-old-address" id="label-import-old-address" class="import-label" >$label_old_address</label>
+ <label for="import-old-address" id="label-import-old-address" class="import-label" >{{$label_old_address}}</label>
<input type="text" name="old_address" id="import-old-address" class="import-input" value="" />
<div id="import-old-address-end" class="import-field-end"></div>
- <label for="import-old-email" id="label-import-old-email" class="import-label" >$label_old_email</label>
- <input type="text" name="email" id="import-old-email" class="import-input" value="$email" />
+ <label for="import-old-email" id="label-import-old-email" class="import-label" >{{$label_old_email}}</label>
+ <input type="text" name="email" id="import-old-email" class="import-input" value="{{$email}}" />
<div id="import-old-email-end" class="import-field-end"></div>
- <label for="import-old-pass" id="label-import-old-pass" class="import-label" >$label_old_pass</label>
- <input type="password" name="password" id="import-old-pass" class="import-input" value="$pass" />
+ <label for="import-old-pass" id="label-import-old-pass" class="import-label" >{{$label_old_pass}}</label>
+ <input type="password" name="password" id="import-old-pass" class="import-input" value="{{$pass}}" />
<div id="import-old-pass-end" class="import-field-end"></div>
- <div id="import-common-desc" class="descriptive-paragraph">$common</div>
+ <div id="import-common-desc" class="descriptive-paragraph">{{$common}}</div>
<input type="checkbox" name="make_primary" id="import-make-primary" value="1" />
- <label for="import-make-primary" id="label-import-make-primary">$label_import_primary</label>
+ <label for="import-make-primary" id="label-import-make-primary">{{$label_import_primary}}</label>
<div id="import-make-primary-end" class="import-field-end"></div>
- <input type="submit" name="submit" id="import-submit-button" value="$submit" />
+ <input type="submit" name="submit" id="import-submit-button" value="{{$submit}}" />
<div id="import-submit-end" class="import-field-end"></div>
</form>
diff --git a/view/tpl/channels.tpl b/view/tpl/channels.tpl
index 916ba1c75..af6b36b1d 100644..100755
--- a/view/tpl/channels.tpl
+++ b/view/tpl/channels.tpl
@@ -1,22 +1,31 @@
-<h3>$header</h3>
+<h3>{{$header}}</h3>
-{{ if $links }}
-{{ for $links as $l }}
-<a class="channels-links" href="$l.0" title="$l.1">$l.2</a>
-{{ endfor }}
-{{ endif }}
+{{if $links}}
+{{foreach $links as $l}}
+<a class="channels-links" href="{{$l.0}}" title="{{$l.1}}">{{$l.2}}</a>
+{{/foreach}}
+{{/if}}
-{{ if $selected }}
-<div id="channels-selected">$msg_selected</div>
-{{ inc channel.tpl with $channel=$selected }}{{ endinc }}
+{{if $channel_usage_message}}
+<div id="channel-usage-message" class="usage-message">
+{{$channel_usage_message}}
+</div>
+{{/if}}
+{{if $selected}}
+<div id="selected-channel">
+<div id="channels-selected">{{$msg_selected}}</div>
+{{include file="channel.tpl" channel=$selected}}
<div class="channels-end selected"></div>
-{{ endif }}
+</div>
+{{/if}}
-<div id="channels-desc" class="descriptive-text">$desc</div>
+<div id="channels-desc" class="descriptive-text">{{$desc}}</div>
-{{ for $all_channels as $chn }}
-{{ inc channel.tpl with $channel=$chn }}{{ endinc }}
-{{ endfor }}
+<div id="all-channels">
+{{foreach $all_channels as $chn}}
+{{include file="channel.tpl" channel=$chn}}
+{{/foreach}}
+</div>
<div class="channels-end all"></div>
diff --git a/view/tpl/chanview.tpl b/view/tpl/chanview.tpl
index da96c9c0c..4df327bf9 100644..100755
--- a/view/tpl/chanview.tpl
+++ b/view/tpl/chanview.tpl
@@ -1,2 +1,2 @@
-<div id="chanview-iframe-border" class="fakelink" onclick="chanviewFull(); return true;" title="$full" >&#x2610;</div>
-<iframe id="remote-channel" width="100%" src="$url" onload="resize_iframe()"></iframe>
+<div id="chanview-iframe-border" class="fakelink" onclick="chanviewFull(); return true;" title="{{$full}}" >&#x2610;</div>
+<iframe id="remote-channel" width="100%" src="{{$url}}" onload="resize_iframe()"></iframe>
diff --git a/view/tpl/comment_item.tpl b/view/tpl/comment_item.tpl
index cc7153ebb..f8add5d15 100644..100755
--- a/view/tpl/comment_item.tpl
+++ b/view/tpl/comment_item.tpl
@@ -1,65 +1,64 @@
- {{ if $threaded }}
- <div class="comment-wwedit-wrapper threaded" id="comment-edit-wrapper-$id" style="display: block;">
- {{ else }}
- <div class="comment-wwedit-wrapper" id="comment-edit-wrapper-$id" style="display: block;">
- {{ endif }}
- <form class="comment-edit-form" style="display: block;" id="comment-edit-form-$id" action="item" method="post" onsubmit="post_comment($id); return false;">
- <input type="hidden" name="type" value="$type" />
- <input type="hidden" name="profile_uid" value="$profile_uid" />
- <input type="hidden" name="parent" value="$parent" />
- <input type="hidden" name="return" value="$return_path" />
- <input type="hidden" name="jsreload" value="$jsreload" />
- <input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" />
- <input type="hidden" name="post_id_random" value="$rand_num" />
+ {{if $threaded}}
+ <div class="comment-wwedit-wrapper threaded" id="comment-edit-wrapper-{{$id}}" style="display: block;">
+ {{else}}
+ <div class="comment-wwedit-wrapper" id="comment-edit-wrapper-{{$id}}" style="display: block;">
+ {{/if}}
+ <form class="comment-edit-form" style="display: block;" id="comment-edit-form-{{$id}}" action="item" method="post" onsubmit="post_comment({{$id}}); return false;">
+ <input type="hidden" name="type" value="{{$type}}" />
+ <input type="hidden" name="profile_uid" value="{{$profile_uid}}" />
+ <input type="hidden" name="parent" value="{{$parent}}" />
+ <input type="hidden" name="return" value="{{$return_path}}" />
+ <input type="hidden" name="jsreload" value="{{$jsreload}}" />
+ <input type="hidden" name="preview" id="comment-preview-inp-{{$id}}" value="0" />
- <div class="comment-edit-photo" id="comment-edit-photo-$id" >
- <a class="comment-edit-photo-link" href="$mylink" title="$mytitle"><img class="my-comment-photo" src="$myphoto" alt="$mytitle" title="$mytitle" /></a>
+ <div class="comment-edit-photo" id="comment-edit-photo-{{$id}}" >
+ <a class="comment-edit-photo-link" href="{{$mylink}}" title="{{$mytitle}}"><img class="my-comment-photo" src="{{$myphoto}}" alt="{{$mytitle}}" title="{{$mytitle}}" /></a>
</div>
<div class="comment-edit-photo-end"></div>
- <ul class="comment-edit-bb-$id">
+ <ul class="comment-edit-bb-{{$id}}">
<li><a class="editicon boldbb shadow"
- style="cursor: pointer;" title="$edbold"
- onclick="insertFormatting('$comment','b', $id);"></a></li>
+ style="cursor: pointer;" title="{{$edbold}}"
+ onclick="insertFormatting('{{$comment}}','b', {{$id}});"></a></li>
<li><a class="editicon italicbb shadow"
- style="cursor: pointer;" title="$editalic"
- onclick="insertFormatting('$comment','i', $id);"></a></li>
+ style="cursor: pointer;" title="{{$editalic}}"
+ onclick="insertFormatting('{{$comment}}','i', {{$id}});"></a></li>
<li><a class="editicon underlinebb shadow"
- style="cursor: pointer;" title="$eduline"
- onclick="insertFormatting('$comment','u', $id);"></a></li>
+ style="cursor: pointer;" title="{{$eduline}}"
+ onclick="insertFormatting('{{$comment}}','u', {{$id}});"></a></li>
<li><a class="editicon quotebb shadow"
- style="cursor: pointer;" title="$edquote"
- onclick="insertFormatting('$comment','quote', $id);"></a></li>
+ style="cursor: pointer;" title="{{$edquote}}"
+ onclick="insertFormatting('{{$comment}}','quote', {{$id}});"></a></li>
<li><a class="editicon codebb shadow"
- style="cursor: pointer;" title="$edcode"
- onclick="insertFormatting('$comment','code', $id);"></a></li>
+ style="cursor: pointer;" title="{{$edcode}}"
+ onclick="insertFormatting('{{$comment}}','code', {{$id}});"></a></li>
<li><a class="editicon imagebb shadow"
- style="cursor: pointer;" title="$edimg"
- onclick="insertFormatting('$comment','img', $id);"></a></li>
+ style="cursor: pointer;" title="{{$edimg}}"
+ onclick="insertFormatting('{{$comment}}','img', {{$id}});"></a></li>
<li><a class="editicon urlbb shadow"
- style="cursor: pointer;" title="$edurl"
- onclick="insertFormatting('$comment','url', $id);"></a></li>
+ style="cursor: pointer;" title="{{$edurl}}"
+ onclick="insertFormatting('{{$comment}}','url', {{$id}});"></a></li>
<li><a class="editicon videobb shadow"
- style="cursor: pointer;" title="$edvideo"
- onclick="insertFormatting('$comment','video', $id);"></a></li>
+ style="cursor: pointer;" title="{{$edvideo}}"
+ onclick="insertFormatting('{{$comment}}','video', {{$id}});"></a></li>
</ul>
<div class="comment-edit-bb-end"></div>
- <textarea id="comment-edit-text-$id" class="comment-edit-text-empty" name="body" onFocus="commentOpen(this,$id);cmtBbOpen(this, $id);" onBlur="commentClose(this,$id);cmtBbClose(this,$id);" >$comment</textarea>
- {{ if $qcomment }}
- <select id="qcomment-select-$id" name="qcomment-$id" class="qcomment" onchange="qCommentInsert(this,$id);" >
+ <textarea id="comment-edit-text-{{$id}}" class="comment-edit-text-empty" name="body" onFocus="commentOpen(this,{{$id}});cmtBbOpen(this, {{$id}});" onBlur="commentClose(this,{{$id}});cmtBbClose(this,{{$id}});" >{{$comment}}</textarea>
+ {{if $qcomment}}
+ <select id="qcomment-select-{{$id}}" name="qcomment-{{$id}}" class="qcomment" onchange="qCommentInsert(this,{{$id}});" >
<option value=""></option>
- {{ for $qcomment as $qc }}
- <option value="$qc">$qc</option>
- {{ endfor }}
+ {{foreach $qcomment as $qc}}
+ <option value="{{$qc}}">{{$qc}}</option>
+ {{/foreach}}
</select>
- {{ endif }}
+ {{/if}}
<div class="comment-edit-text-end"></div>
- <div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-$id" style="display: none;" >
- <input type="submit" onclick="post_comment($id); return false;" id="comment-edit-submit-$id" class="comment-edit-submit" name="submit" value="$submit" />
- {{ if $preview }}
- <span onclick="preview_comment($id);" id="comment-edit-preview-link-$id" class="fakelink">$preview</span>
- <div id="comment-edit-preview-$id" class="comment-edit-preview" style="display:none;"></div>
- {{ endif }}
+ <div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-{{$id}}" style="display: none;" >
+ <input type="submit" onclick="post_comment({{$id}}); return false;" id="comment-edit-submit-{{$id}}" class="comment-edit-submit" name="submit" value="{{$submit}}" />
+ {{if $preview}}
+ <span onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" class="fakelink">{{$preview}}</span>
+ <div id="comment-edit-preview-{{$id}}" class="comment-edit-preview" style="display:none;"></div>
+ {{/if}}
</div>
<div class="comment-edit-end"></div>
diff --git a/view/tpl/common_friends.tpl b/view/tpl/common_friends.tpl
index 1f610d8c4..489717e78 100644..100755
--- a/view/tpl/common_friends.tpl
+++ b/view/tpl/common_friends.tpl
@@ -1,12 +1,15 @@
<div class="profile-match-wrapper">
<div class="profile-match-photo">
- <a href="$url">
- <img src="$photo" alt="$name" width="80" height="80" title="$name [$url]" />
+ <a href="{{$url}}">
+ <img src="{{$photo}}" alt="{{$name}}" width="80" height="80" title="{{$name}} [{{$url}}]" />
</a>
</div>
<div class="profile-match-break"></div>
<div class="profile-match-name">
- <a href="$url" title="$name[$tags]">$name</a>
+ <a href="{{$url}}" title="{{$name}}[{{$tags}}]">{{$name}}</a>
</div>
+ {{if $note}}
+ <div class="profile-match-note">{{$note}}</div>
+ {{/if}}
<div class="profile-match-end"></div>
-</div> \ No newline at end of file
+</div>
diff --git a/view/tpl/common_tabs.tpl b/view/tpl/common_tabs.tpl
index 97b771e7a..3d34d7c57 100644..100755
--- a/view/tpl/common_tabs.tpl
+++ b/view/tpl/common_tabs.tpl
@@ -1,6 +1,6 @@
<ul class="tabs">
- {{ for $tabs as $tab }}
- <li {{ if $tab.id }}id="$tab.id"{{ endif }}><a href="$tab.url" class="tab button $tab.sel"{{ if $tab.title }} title="$tab.title"{{ endif }}>$tab.label</a></li>
- {{ endfor }}
+ {{foreach $tabs as $tab}}
+ <li {{if $tab.id}}id="{{$tab.id}}"{{/if}}><a href="{{$tab.url}}" class="tab button {{$tab.sel}}"{{if $tab.title}} title="{{$tab.title}}"{{/if}}>{{$tab.label}}</a></li>
+ {{/foreach}}
</ul>
-<div class="tabs-end"></div> \ No newline at end of file
+<div class="tabs-end"></div>
diff --git a/view/tpl/contact_block.tpl b/view/tpl/contact_block.tpl
index b90469199..d1ce5ca67 100644..100755
--- a/view/tpl/contact_block.tpl
+++ b/view/tpl/contact_block.tpl
@@ -1,12 +1,12 @@
<div id="contact-block">
-<div id="contact-block-numcontacts">$contacts</div>
-{{ if $micropro }}
- <a class="allcontact-link" href="viewconnections/$nickname">$viewconnections</a>
+<div id="contact-block-numcontacts">{{$contacts}}</div>
+{{if $micropro}}
+ <a class="allcontact-link" href="viewconnections/{{$nickname}}">{{$viewconnections}}</a>
<div class='contact-block-content'>
- {{ for $micropro as $m }}
- $m
- {{ endfor }}
+ {{foreach $micropro as $m}}
+ {{$m}}
+ {{/foreach}}
</div>
-{{ endif }}
+{{/if}}
</div>
<div class="clear"></div>
diff --git a/view/tpl/contact_edit.tpl b/view/tpl/contact_edit.tpl
deleted file mode 100644
index 4f99b4aca..000000000
--- a/view/tpl/contact_edit.tpl
+++ /dev/null
@@ -1,89 +0,0 @@
-
-<h2>$header</h2>
-
-<div id="contact-edit-wrapper" >
-
- $tab_str
-
- <div id="contact-edit-drop-link" >
- <a href="contacts/$contact_id/drop" class="icon drophide" id="contact-edit-drop-link" onclick="return confirmDelete();" title="$delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);"></a>
- </div>
-
- <div id="contact-edit-drop-link-end"></div>
-
-
- <div id="contact-edit-nav-wrapper" >
- <div id="contact-edit-links">
- <ul>
- <li><div id="contact-edit-rel">$relation_text</div></li>
- <li><div id="contact-edit-nettype">$nettype</div></li>
- {{ if $lost_contact }}
- <li><div id="lost-contact-message">$lost_contact</div></li>
- {{ endif }}
- {{ if $insecure }}
- <li><div id="insecure-message">$insecure</div></li>
- {{ endif }}
- {{ if $blocked }}
- <li><div id="block-message">$blocked</div></li>
- {{ endif }}
- {{ if $ignored }}
- <li><div id="ignore-message">$ignored</div></li>
- {{ endif }}
- {{ if $archived }}
- <li><div id="archive-message">$archived</div></li>
- {{ endif }}
-
- <li>&nbsp;</li>
-
- {{ if $common_text }}
- <li><div id="contact-edit-common"><a href="$common_link">$common_text</a></div></li>
- {{ endif }}
- {{ if $all_friends }}
- <li><div id="contact-edit-allfriends"><a href="allfriends/$contact_id">$all_friends</a></div></li>
- {{ endif }}
-
-
- <li><a href="network/?cid=$contact_id" id="contact-edit-view-recent">$lblrecent</a></li>
- {{ if $lblsuggest }}
- <li><a href="fsuggest/$contact_id" id="contact-edit-suggest">$lblsuggest</a></li>
- {{ endif }}
-
- </ul>
- </div>
- </div>
- <div id="contact-edit-nav-end"></div>
-
-
-<form action="contacts/$contact_id" method="post" >
-<input type="hidden" name="contact_id" value="$contact_id">
-<input id="contact-closeness-mirror" type="hidden" name="closeness" value="$close" />
-
- {{ if $poll_enabled }}
- <div id="contact-edit-poll-wrapper">
- <div id="contact-edit-last-update-text">$lastupdtext <span id="contact-edit-last-updated">$last_update</span></div>
- <span id="contact-edit-poll-text">$updpub</span> $poll_interval <span id="contact-edit-update-now" class="button"><a href="contacts/$contact_id/update" >$udnow</a></span>
- </div>
- {{ endif }}
- <div id="contact-edit-end" ></div>
-
- {{inc field_checkbox.tpl with $field=$hidden }}{{endinc}}
-
-<div id="contact-edit-info-wrapper">
-<h4>$lbl_info1</h4>
- <textarea id="contact-edit-info" rows="8" cols="60" name="info">$info</textarea>
- <input class="contact-edit-submit" type="submit" name="submit" value="$submit" />
-</div>
-<div id="contact-edit-info-end"></div>
-
-
-<div id="contact-edit-profile-select-text">
-<h4>$lbl_vis1</h4>
-<p>$lbl_vis2</p>
-</div>
-$profile_select
-<div id="contact-edit-profile-select-end"></div>
-
-<input class="contact-edit-submit" type="submit" name="submit" value="$submit" />
-
-</form>
-</div>
diff --git a/view/tpl/contact_head.tpl b/view/tpl/contact_head.tpl
index 9cfd81710..72e7edbfb 100644..100755
--- a/view/tpl/contact_head.tpl
+++ b/view/tpl/contact_head.tpl
@@ -1,10 +1,10 @@
<script language="javascript" type="text/javascript"
- src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+ src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
theme : "advanced",
- mode : "$editselect",
+ mode : "{{$editselect}}",
elements: "contact-edit-info",
plugins : "bbcode",
theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor",
@@ -20,7 +20,7 @@ tinyMCE.init({
force_p_newlines : false,
force_br_newlines : true,
forced_root_block : '',
- content_css: "$baseurl/view/custom_tinymce.css"
+ content_css: "{{$baseurl}}/view/custom_tinymce.css"
});
diff --git a/view/tpl/contact_slider.tpl b/view/tpl/contact_slider.tpl
index 2ccb08a90..33cd3fb71 100644..100755
--- a/view/tpl/contact_slider.tpl
+++ b/view/tpl/contact_slider.tpl
@@ -1,4 +1,4 @@
-<div id="contact-slider" class="slider" style="height: 32px; position: relative; left: 5%; width: 90%;"><input id="contact-range" type="text" name="fake-closeness" value="$val" /></div>
+<div id="contact-slider" class="slider" style="height: 32px; position: relative; left: 5%; width: 90%;"><input id="contact-range" type="text" name="fake-closeness" value="{{$val}}" /></div>
<script>
- $("#contact-range").slider({ from: 0, to: 99, step: 1, scale: ['$me', '|', '$intimate', '|', '$friends', '|', '$oldfriends', '|', '$acquaintances', '|', '$world' ], onstatechange: function(v) { $("#contact-closeness-mirror").val(v); } });
+ $("#contact-range").slider({ from: 0, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], onstatechange: function(v) { $("#contact-closeness-mirror").val(v); } });
</script>
diff --git a/view/tpl/contact_template.tpl b/view/tpl/contact_template.tpl
index 7bdcd6b93..7feefa655 100644..100755
--- a/view/tpl/contact_template.tpl
+++ b/view/tpl/contact_template.tpl
@@ -1,9 +1,8 @@
-
-<div class="contact-entry-wrapper" id="contact-entry-wrapper-$contact.id" >
+<div class="contact-entry-wrapper" id="contact-entry-wrapper-{{$contact.id}}" >
<div class="contact-entry-photo-wrapper" >
- <a href="$contact.url" title="$contact.img_hover" /><img src="$contact.thumb" alt="$contact.name" /></a>
+ <a href="{{$contact.link}}" title="{{$contact.img_hover}}" /><img class="contact-block-img" src="{{$contact.thumb}}" alt="{{$contact.name}}" /></a>
</div>
<div class="contact-entry-photo-end" ></div>
- <div class="contact-entry-name" id="contact-entry-name-$contact.id" >$contact.name</div>
+ <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div>
<div class="contact-entry-end" ></div>
</div>
diff --git a/view/tpl/contacts-template.tpl b/view/tpl/contacts-template.tpl
index ecb342bf4..0c7e01038 100644..100755
--- a/view/tpl/contacts-template.tpl
+++ b/view/tpl/contacts-template.tpl
@@ -1,25 +1,25 @@
-<h1>$header{{ if $total }} ($total){{ endif }}</h1>
+<h1>{{$header}}{{if $total}} ({{$total}}){{/if}}</h1>
-{{ if $finding }}<h4>$finding</h4>{{ endif }}
+{{if $finding}}<h4>{{$finding}}</h4>{{/if}}
<div id="contacts-search-wrapper">
-<form id="contacts-search-form" action="$cmd" method="get" >
-<span class="contacts-search-desc">$desc</span>
-<input type="text" name="search" id="contacts-search" class="search-input" onfocus="this.select();" value="$search" />
-<input type="submit" name="submit" id="contacts-search-submit" value="$submit" />
+<form id="contacts-search-form" action="{{$cmd}}" method="get" >
+<span class="contacts-search-desc">{{$desc}}</span>
+<input type="text" name="search" id="contacts-search" class="search-input" onfocus="this.select();" value="{{$search}}" />
+<input type="submit" name="submit" id="contacts-search-submit" value="{{$submit}}" />
</form>
</div>
<div id="contacts-search-end"></div>
-$tabs
+{{$tabs}}
-{{ for $contacts as $contact }}
- {{ inc contact_template.tpl }}{{ endinc }}
-{{ endfor }}
+{{foreach $contacts as $contact}}
+ {{include file="contact_template.tpl"}}
+{{/foreach}}
<div id="contact-edit-end"></div>
-$paginate
+{{$paginate}}
diff --git a/view/tpl/content.tpl b/view/tpl/content.tpl
deleted file mode 100644
index 466045d39..000000000
--- a/view/tpl/content.tpl
+++ /dev/null
@@ -1,2 +0,0 @@
-<div id="content-begin"></div>
-<div id="content-end"></div>
diff --git a/view/tpl/conv.tpl b/view/tpl/conv.tpl
index b7222f154..ddb959b84 100644..100755
--- a/view/tpl/conv.tpl
+++ b/view/tpl/conv.tpl
@@ -1,17 +1,17 @@
-{{ for $threads as $thread }}
-<div id="thread-wrapper-$thread.id" class="thread-wrapper">
- {{ for $thread.items as $item }}
+{{foreach $threads as $thread}}
+<div id="thread-wrapper-{{$thread.id}}" class="thread-wrapper">
+ {{foreach $thread.items as $item}}
{{if $item.comment_firstcollapsed}}
<div class="hide-comments-outer">
- <span id="hide-comments-total-$thread.id" class="hide-comments-total">$thread.num_comments</span> <span id="hide-comments-$thread.id" class="hide-comments fakelink" onclick="showHideComments($thread.id);">$thread.hide_text</span>
+ <span id="hide-comments-total-{{$thread.id}}" class="hide-comments-total">{{$thread.num_comments}}</span> <span id="hide-comments-{{$thread.id}}" class="hide-comments fakelink" onclick="showHideComments({{$thread.id}});">{{$thread.hide_text}}</span>
</div>
- <div id="collapsed-comments-$thread.id" class="collapsed-comments" style="display: none;">
- {{endif}}
- {{if $item.comment_lastcollapsed}}</div>{{endif}}
+ <div id="collapsed-comments-{{$thread.id}}" class="collapsed-comments" style="display: none;">
+ {{/if}}
+ {{if $item.comment_lastcollapsed}}</div>{{/if}}
- {{ inc $item.template }}{{ endinc }}
+ {{include file="{{$item.template}}"}}
- {{ endfor }}
+ {{/foreach}}
</div>
-{{ endfor }}
+{{/foreach}}
diff --git a/view/tpl/conv_frame.tpl b/view/tpl/conv_frame.tpl
index 202b095e7..596246708 100644..100755
--- a/view/tpl/conv_frame.tpl
+++ b/view/tpl/conv_frame.tpl
@@ -2,13 +2,13 @@
<div id="threads-end"></div>
<div id="conversation-end"></div>
-{{ if $dropping }}
+{{if $dropping}}
<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();">
- <div id="item-delete-selected-icon" class="icon drophide" title="$dropping" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
- <div id="item-delete-selected-desc" >$dropping</div>
+ <div id="item-delete-selected-icon" class="icon drophide" title="{{$dropping}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
+ <div id="item-delete-selected-desc" >{{$dropping}}</div>
</div>
<div id="item-delete-selected-end"></div>
-{{ endif }}
+{{/if}}
-<img id="page-spinner" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
+<div id="page-spinner"></div>
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index 0c0553639..806e2ba02 100644..100755
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -1,115 +1,117 @@
{{if $item.comment_firstcollapsed}}
<div class="hide-comments-outer">
- <span id="hide-comments-total-$item.id" class="hide-comments-total">$item.num_comments</span> <span id="hide-comments-$item.id" class="hide-comments fakelink" onclick="showHideComments($item.id);">$item.hide_text</span>
+ <span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">{{$item.num_comments}}</span> <span id="hide-comments-{{$item.id}}" class="hide-comments fakelink" onclick="showHideComments({{$item.id}});">{{$item.hide_text}}</span>
</div>
- <div id="collapsed-comments-$item.id" class="collapsed-comments" style="display: none;">
-{{endif}}
-<div id="thread-wrapper-$item.id" class="thread-wrapper $item.toplevel">
-<a name="$item.id" ></a>
-<div class="wall-item-outside-wrapper $item.indent$item.previewing{{ if $item.owner_url }} wallwall{{ endif }}" id="wall-item-outside-wrapper-$item.id" >
- <div class="wall-item-content-wrapper $item.indent" id="wall-item-content-wrapper-$item.id" >
- <div class="wall-item-info{{ if $item.owner_url }} wallwall{{ endif }}" id="wall-item-info-$item.id">
- {{ if $item.owner_url }}
- <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$item.id" >
- <a href="$item.owner_url" title="$item.olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$item.id">
- <img src="$item.owner_photo" class="wall-item-photo$item.osparkle" id="wall-item-ownerphoto-$item.id" style="height: 80px; width: 80px;" alt="$item.owner_name" /></a>
+ <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;">
+{{/if}}
+<div id="thread-wrapper-{{$item.id}}" class="thread-wrapper {{$item.toplevel}}">
+<a name="{{$item.id}}" ></a>
+<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" >
+ <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" >
+ <div class="wall-item-info{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-info-{{$item.id}}">
+ {{if $item.owner_url}}
+ <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}" >
+ <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}">
+ <img src="{{$item.owner_photo}}" class="wall-item-photo{{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.owner_name}}" /></a>
</div>
- <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$item.wall" /></div>
- {{ endif }}
- <div class="wall-item-photo-wrapper{{ if $item.owner_url }} wwfrom{{ endif }}" id="wall-item-photo-wrapper-$item.id"
- onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
- onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
- <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
- <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" /></a>
- <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
+ <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="{{$item.wall}}" /></div>
+ {{/if}}
+ <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}"
+ onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')"
+ onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)">
+ <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}">
+ <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a>
+ <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
+ <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
<ul>
- $item.item_photo_menu
+ {{$item.item_photo_menu}}
</ul>
</div>
</div>
<div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" >
- {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
- {{ else }}<div class="wall-item-lock"></div>{{ endif }}
- <div class="wall-item-location" id="wall-item-location-$item.id">$item.location</div>
+ <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
+ {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div>
+ {{else}}<div class="wall-item-lock"></div>{{/if}}
+ <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div>
</div>
</div>
<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.to <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> $item.vwall{{ endif }}<br />
- <div class="wall-item-ago" id="wall-item-ago-$item.id" title="$item.localtime">$item.ago</div>
+ <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.to}} <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> {{$item.vwall}}{{/if}}<br />
+ <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}"><span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}</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>
+ <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="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body}}
<div class="body-tag">
- {{ for $item.tags as $tag }}
- <span class='tag'>$tag</span>
- {{ endfor }}
+ {{foreach $item.tags as $tag}}
+ <span class='tag'>{{$tag}}</span>
+ {{/foreach}}
</div>
- {{ if $item.has_cats }}
- <div class="categorytags"><span>$item.txt_cats {{ for $item.categories as $cat }}$cat.name <a href="$cat.removeurl" title="$remove">[$remove]</a> {{ if $cat.last }}{{ else }}, {{ endif }}{{ endfor }}
+ {{if $item.has_cats}}
+ <div class="categorytags"><span>{{$item.txt_cats}} {{foreach $item.categories as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}}
</div>
- {{ endif }}
+ {{/if}}
- {{ if $item.has_folders }}
- <div class="filesavetags"><span>$item.txt_folders {{ for $item.folders as $cat }}$cat.name <a href="$cat.removeurl" title="$remove">[$remove]</a> {{ if $cat.last }}{{ else }}, {{ endif }}{{ endfor }}
+ {{if $item.has_folders}}
+ <div class="filesavetags"><span>{{$item.txt_folders}} {{foreach $item.folders as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}}
</div>
- {{ endif }}
+ {{/if}}
</div>
</div>
- <div class="wall-item-tools" id="wall-item-tools-$item.id">
- {{ if $item.like }}
- <a href="#" class="icon like item-tool" title="$item.like.0" onclick="dolike($item.id,'like'); return false"></a>
- {{ endif }}
- {{ if $item.dislike }}
- <a href="#" class="icon dislike item-tool" title="$item.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
- {{ endif }}
- {{ if $item.share }}
- <a href="#" class="icon recycle item-tool" title="$item.share.0" onclick="jotShare($item.id); return false"></a>
- {{ endif }}
- {{ if $item.plink }}
- <a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon item-tool remote-link$item.sparkle"></a>
- {{ endif }}
- {{ if $item.edpost }}
- <a class="editpost icon pencil item-tool" href="$item.edpost.0" title="$item.edpost.1"></a>
- {{ endif }}
- {{ if $item.star }}
- <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon item-tool $item.star.isstarred" title="$item.star.toggle"></a>
- {{ endif }}
- {{ if $item.tagger }}
- <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon item-tool tagged" title="$item.tagger.tagit"></a>
- {{ endif }}
- {{ if $item.filer }}
- <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon item-tool" title="$item.filer"></a>
- {{ endif }}
- <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
+ <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}">
+ {{if $item.like}}
+ <a href="#" class="icon like item-tool" title="{{$item.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a>
+ {{/if}}
+ {{if $item.dislike}}
+ <a href="#" class="icon dislike item-tool" title="{{$item.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a>
+ {{/if}}
+ {{if $item.share}}
+ <a href="#" class="icon recycle item-tool" title="{{$item.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>
+ {{/if}}
+ {{if $item.plink}}
+ <a href="{{$item.plink.href}}" title="{{$item.plink.title}}" target="external-link" class="icon item-tool remote-link{{$item.sparkle}}"></a>
+ {{/if}}
+ {{if $item.edpost}}
+ <a class="editpost icon pencil item-tool" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a>
+ {{/if}}
+ {{if $item.star}}
+ <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon item-tool {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></a>
+ {{/if}}
+ {{if $item.tagger}}
+ <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon item-tool tagged" title="{{$item.tagger.tagit}}"></a>
+ {{/if}}
+ {{if $item.filer}}
+ <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon item-tool" title="{{$item.filer}}"></a>
+ {{/if}}
+ <div id="like-rotator-{{$item.id}}" class="like-rotator"></div>
- <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
- {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
+ <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >
+ {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}}
</div>
- {{ if $item.drop.pagedrop }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
+ {{if $item.drop.pagedrop}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}}
<div class="wall-item-delete-end"></div>
+ <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.showlike}}</div>
+ <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.showdislike}}</div>
+
</div>
</div>
+
<div class="wall-item-wrapper-end"></div>
- <div class="wall-item-like $item.indent" id="wall-item-like-$item.id">$item.showlike</div>
- <div class="wall-item-dislike $item.indent" id="wall-item-dislike-$item.id">$item.showdislike</div>
-<div class="wall-item-outside-wrapper-end $item.indent" ></div>
+<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>
</div>
-{{ if $item.toplevel }}
-{{ for $item.children as $child }}
- {{ inc $child.template with $item=$child }}{{ endinc }}
-{{ endfor }}
-{{ endif }}
+{{if $item.toplevel}}
+{{foreach $item.children as $child}}
+ {{include file="{{$child.template}}" item=$child}}
+{{/foreach}}
+{{/if}}
<div class="wall-item-comment-wrapper" >
- $item.comment
+ {{$item.comment}}
</div>
</div>
-{{if $item.comment_lastcollapsed}}</div>{{endif}}
+{{if $item.comment_lastcollapsed}}</div>{{/if}}
diff --git a/view/tpl/conversation.tpl b/view/tpl/conversation.tpl
index 70cd389c9..8948fd474 100644..100755
--- a/view/tpl/conversation.tpl
+++ b/view/tpl/conversation.tpl
@@ -1,28 +1,28 @@
<div id="threads-begin"></div>
-{{ for $threads as $thread }}
-<div id="thread-wrapper-$thread.id" class="thread-wrapper">
- {{ for $thread.items as $item }}
+{{foreach $threads as $thread}}
+<div id="thread-wrapper-{{$thread.id}}" class="thread-wrapper">
+ {{foreach $thread.items as $item}}
{{if $item.comment_firstcollapsed}}
<div class="hide-comments-outer">
- <span id="hide-comments-total-$thread.id" class="hide-comments-total">$thread.num_comments</span> <span id="hide-comments-$thread.id" class="hide-comments fakelink" onclick="showHideComments($thread.id);">$thread.hide_text</span>
+ <span id="hide-comments-total-{{$thread.id}}" class="hide-comments-total">{{$thread.num_comments}}</span> <span id="hide-comments-{{$thread.id}}" class="hide-comments fakelink" onclick="showHideComments({{$thread.id}});">{{$thread.hide_text}}</span>
</div>
- <div id="collapsed-comments-$thread.id" class="collapsed-comments" style="display: none;">
- {{endif}}
- {{if $item.comment_lastcollapsed}}</div>{{endif}}
+ <div id="collapsed-comments-{{$thread.id}}" class="collapsed-comments" style="display: none;">
+ {{/if}}
+ {{if $item.comment_lastcollapsed}}</div>{{/if}}
- {{ inc $item.template }}{{ endinc }}
+ {{include file="{{$item.template}}"}}
- {{ endfor }}
+ {{/foreach}}
</div>
-{{ endfor }}
+{{/foreach}}
<div id="threads-end"></div>
<div id="conversation-end"></div>
-{{ if $dropping }}
+{{if $dropping}}
<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();">
- <div id="item-delete-selected-icon" class="icon drophide" title="$dropping" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
- <div id="item-delete-selected-desc" >$dropping</div>
+ <div id="item-delete-selected-icon" class="icon drophide" title="{{$dropping}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
+ <div id="item-delete-selected-desc" >{{$dropping}}</div>
</div>
<div id="item-delete-selected-end"></div>
-{{ endif }}
+{{/if}}
diff --git a/view/tpl/convobj.tpl b/view/tpl/convobj.tpl
index a35e232e2..d5cee1170 100644..100755
--- a/view/tpl/convobj.tpl
+++ b/view/tpl/convobj.tpl
@@ -1,4 +1,4 @@
-{{ for $threads as $item }}
-{{ inc $item.template }}{{ endinc }}
-{{ endfor }}
+{{foreach $threads as $item}}
+{{include file="{{$item.template}}"}}
+{{/foreach}}
diff --git a/view/tpl/crepair.tpl b/view/tpl/crepair.tpl
index a3e532b61..1a5a019db 100644..100755
--- a/view/tpl/crepair.tpl
+++ b/view/tpl/crepair.tpl
@@ -1,45 +1,44 @@
+<form id="crepair-form" action="crepair/{{$contact_id}}" method="post" >
-<form id="crepair-form" action="crepair/$contact_id" method="post" >
+<h4>{{$contact_name}}</h4>
-<h4>$contact_name</h4>
-
-<label id="crepair-name-label" class="crepair-label" for="crepair-name">$label_name</label>
-<input type="text" id="crepair-name" class="crepair-input" name="name" value="$contact_name" />
+<label id="crepair-name-label" class="crepair-label" for="crepair-name">{{$label_name}}</label>
+<input type="text" id="crepair-name" class="crepair-input" name="name" value="{{$contact_name}}" />
<div class="clear"></div>
-<label id="crepair-nick-label" class="crepair-label" for="crepair-nick">$label_nick</label>
-<input type="text" id="crepair-nick" class="crepair-input" name="nick" value="$contact_nick" />
+<label id="crepair-nick-label" class="crepair-label" for="crepair-nick">{{$label_nick}}</label>
+<input type="text" id="crepair-nick" class="crepair-input" name="nick" value="{{$contact_nick}}" />
<div class="clear"></div>
-<label id="crepair-attag-label" class="crepair-label" for="crepair-attag">$label_attag</label>
-<input type="text" id="crepair-attag" class="crepair-input" name="attag" value="$contact_attag" />
+<label id="crepair-attag-label" class="crepair-label" for="crepair-attag">{{$label_attag}}</label>
+<input type="text" id="crepair-attag" class="crepair-input" name="attag" value="{{$contact_attag}}" />
<div class="clear"></div>
-<label id="crepair-url-label" class="crepair-label" for="crepair-url">$label_url</label>
-<input type="text" id="crepair-url" class="crepair-input" name="url" value="$contact_url" />
+<label id="crepair-url-label" class="crepair-label" for="crepair-url">{{$label_url}}</label>
+<input type="text" id="crepair-url" class="crepair-input" name="url" value="{{$contact_url}}" />
<div class="clear"></div>
-<label id="crepair-request-label" class="crepair-label" for="crepair-request">$label_request</label>
-<input type="text" id="crepair-request" class="crepair-input" name="request" value="$request" />
+<label id="crepair-request-label" class="crepair-label" for="crepair-request">{{$label_request}}</label>
+<input type="text" id="crepair-request" class="crepair-input" name="request" value="{{$request}}" />
<div class="clear"></div>
-<label id="crepair-confirm-label" class="crepair-label" for="crepair-confirm">$label_confirm</label>
-<input type="text" id="crepair-confirm" class="crepair-input" name="confirm" value="$confirm" />
+<label id="crepair-confirm-label" class="crepair-label" for="crepair-confirm">{{$label_confirm}}</label>
+<input type="text" id="crepair-confirm" class="crepair-input" name="confirm" value="{{$confirm}}" />
<div class="clear"></div>
-<label id="crepair-notify-label" class="crepair-label" for="crepair-notify">$label_notify</label>
-<input type="text" id="crepair-notify" class="crepair-input" name="notify" value="$notify" />
+<label id="crepair-notify-label" class="crepair-label" for="crepair-notify">{{$label_notify}}</label>
+<input type="text" id="crepair-notify" class="crepair-input" name="notify" value="{{$notify}}" />
<div class="clear"></div>
-<label id="crepair-poll-label" class="crepair-label" for="crepair-poll">$label_poll</label>
-<input type="text" id="crepair-poll" class="crepair-input" name="poll" value="$poll" />
+<label id="crepair-poll-label" class="crepair-label" for="crepair-poll">{{$label_poll}}</label>
+<input type="text" id="crepair-poll" class="crepair-input" name="poll" value="{{$poll}}" />
<div class="clear"></div>
-<label id="crepair-photo-label" class="crepair-label" for="crepair-photo">$label_photo</label>
+<label id="crepair-photo-label" class="crepair-label" for="crepair-photo">{{$label_photo}}</label>
<input type="text" id="crepair-photo" class="crepair-input" name="photo" value="" />
<div class="clear"></div>
-<input type="submit" name="submit" value="$lbl_submit" />
+<input type="submit" name="submit" value="{{$lbl_submit}}" />
</form>
diff --git a/view/tpl/cropbody.tpl b/view/tpl/cropbody.tpl
index 4c0ca3d63..da5b1e859 100644..100755
--- a/view/tpl/cropbody.tpl
+++ b/view/tpl/cropbody.tpl
@@ -1,9 +1,9 @@
-<h1>$title</h1>
+<h1>{{$title}}</h1>
<p id="cropimage-desc">
-$desc
+{{$desc}}
</p>
<div id="cropimage-wrapper">
-<img src="$image_url" id="croppa" class="imgCrop" alt="$title" />
+<img src="{{$image_url}}" id="croppa" class="imgCrop" alt="{{$title}}" />
</div>
<div id="cropimage-preview-wrapper" >
<div id="previewWrap" ></div>
@@ -39,10 +39,10 @@ $desc
</script>
-<form action="profile_photo/$resource" id="crop-image-form" method="post" />
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<form action="profile_photo/{{$resource}}" id="crop-image-form" method="post" />
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-<input type='hidden' name='profile' value='$profile'>
+<input type='hidden' name='profile' value='{{$profile}}'>
<input type="hidden" name="cropfinal" value="1" />
<input type="hidden" name="xstart" id="x1" />
<input type="hidden" name="ystart" id="y1" />
@@ -52,7 +52,7 @@ $desc
<input type="hidden" name="width" id="width" />
<div id="crop-image-submit-wrapper" >
-<input type="submit" name="submit" value="$done" />
+<input type="submit" name="submit" value="{{$done}}" />
</div>
</form>
diff --git a/view/tpl/crophead.tpl b/view/tpl/crophead.tpl
index 48f375426..48f375426 100644..100755
--- a/view/tpl/crophead.tpl
+++ b/view/tpl/crophead.tpl
diff --git a/view/tpl/delegate.tpl b/view/tpl/delegate.tpl
index 9a7d2e18d..cbaa8da86 100644..100755
--- a/view/tpl/delegate.tpl
+++ b/view/tpl/delegate.tpl
@@ -1,57 +1,57 @@
-<h3>$header</h3>
+<h3>{{$header}}</h3>
-<div id="delegate-desc" class="delegate-desc">$desc</div>
+<div id="delegate-desc" class="delegate-desc">{{$desc}}</div>
-{{ if $managers }}
-<h3>$head_managers</h3>
+{{if $managers}}
+<h3>{{$head_managers}}</h3>
-{{ for $managers as $x }}
+{{foreach $managers as $x}}
<div class="contact-block-div">
<a class="contact-block-link" href="#" >
-<img class="contact-block-img" src="$base/photo/thumb/$x.uid" title="$x.username ($x.nickname)" />
+<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" />
</a>
</div>
-{{ endfor }}
+{{/foreach}}
<div class="clear"></div>
<hr />
-{{ endif }}
+{{/if}}
-<h3>$head_delegates</h3>
+<h3>{{$head_delegates}}</h3>
-{{ if $delegates }}
-{{ for $delegates as $x }}
+{{if $delegates}}
+{{foreach $delegates as $x}}
<div class="contact-block-div">
-<a class="contact-block-link" href="$base/delegate/remove/$x.uid" >
-<img class="contact-block-img" src="$base/photo/thumb/$x.uid" title="$x.username ($x.nickname)" />
+<a class="contact-block-link" href="{{$base}}/delegate/remove/{{$x.uid}}" >
+<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" />
</a>
</div>
-{{ endfor }}
+{{/foreach}}
<div class="clear"></div>
-{{ else }}
-$none
-{{ endif }}
+{{else}}
+{{$none}}
+{{/if}}
<hr />
-<h3>$head_potentials</h3>
-{{ if $potentials }}
-{{ for $potentials as $x }}
+<h3>{{$head_potentials}}</h3>
+{{if $potentials}}
+{{foreach $potentials as $x}}
<div class="contact-block-div">
-<a class="contact-block-link" href="$base/delegate/add/$x.uid" >
-<img class="contact-block-img" src="$base/photo/thumb/$x.uid" title="$x.username ($x.nickname)" />
+<a class="contact-block-link" href="{{$base}}/delegate/add/{{$x.uid}}" >
+<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" />
</a>
</div>
-{{ endfor }}
+{{/foreach}}
<div class="clear"></div>
-{{ else }}
-$none
-{{ endif }}
+{{else}}
+{{$none}}
+{{/if}}
<hr />
diff --git a/view/tpl/dfrn_req_confirm.tpl b/view/tpl/dfrn_req_confirm.tpl
deleted file mode 100644
index 6c916323c..000000000
--- a/view/tpl/dfrn_req_confirm.tpl
+++ /dev/null
@@ -1,21 +0,0 @@
-
-<p id="dfrn-request-homecoming" >
-$welcome
-<br />
-$please
-
-</p>
-<form id="dfrn-request-homecoming-form" action="dfrn_request/$nickname" method="post">
-<input type="hidden" name="dfrn_url" value="$dfrn_url" />
-<input type="hidden" name="confirm_key" value="$confirm_key" />
-<input type="hidden" name="localconfirm" value="1" />
-$aes_allow
-
-<label id="dfrn-request-homecoming-hide-label" for="dfrn-request-homecoming-hide">$hidethem</label>
-<input type="checkbox" name="hidden-contact" value="1" {{ if $hidechecked }}checked="checked" {{ endif }} />
-
-
-<div id="dfrn-request-homecoming-submit-wrapper" >
-<input id="dfrn-request-homecoming-submit" type="submit" name="submit" value="$submit" />
-</div>
-</form> \ No newline at end of file
diff --git a/view/tpl/dfrn_request.tpl b/view/tpl/dfrn_request.tpl
deleted file mode 100644
index 4f8a87ea2..000000000
--- a/view/tpl/dfrn_request.tpl
+++ /dev/null
@@ -1,59 +0,0 @@
-
-<h1>$header</h1>
-
-<p id="dfrn-request-intro">
-$page_desc<br />
-$invite_desc
-</p>
-<p>
-$desc
-</p>
-
-<form action="dfrn_request/$nickname" method="post" />
-
-<div id="dfrn-request-url-wrapper" >
- <label id="dfrn-url-label" for="dfrn-url" >$your_address</label>
- <input type="text" name="dfrn_url" id="dfrn-url" size="32" value="$myaddr" />
- <div id="dfrn-request-url-end"></div>
-</div>
-
-<p id="dfrn-request-options">
-$pls_answer
-</p>
-
-<div id="dfrn-request-info-wrapper" >
-
-
-<p id="doiknowyou">
-$does_know
-</p>
-
- <div id="dfrn-request-know-yes-wrapper">
- <label id="dfrn-request-knowyou-yes-label" for="dfrn-request-knowyouyes">$yes</label>
- <input type="radio" name="knowyou" id="knowyouyes" value="1" />
-
- <div id="dfrn-request-knowyou-break" ></div>
- </div>
- <div id="dfrn-request-know-no-wrapper">
- <label id="dfrn-request-knowyou-no-label" for="dfrn-request-knowyouno">$no</label>
- <input type="radio" name="knowyou" id="knowyouno" value="0" checked="checked" />
-
- <div id="dfrn-request-knowyou-end"></div>
- </div>
-
-
-<p id="dfrn-request-message-desc">
-$add_note
-</p>
- <div id="dfrn-request-message-wrapper">
- <textarea name="dfrn-request-message" rows="4" cols="64" ></textarea>
- </div>
-
-
-</div>
-
- <div id="dfrn-request-submit-wrapper">
- <input type="submit" name="submit" id="dfrn-request-submit-button" value="$submit" />
- <input type="submit" name="cancel" id="dfrn-request-cancel-button" value="$cancel" />
- </div>
-</form>
diff --git a/view/tpl/diasp_dec_hdr.tpl b/view/tpl/diasp_dec_hdr.tpl
deleted file mode 100644
index e87c61888..000000000
--- a/view/tpl/diasp_dec_hdr.tpl
+++ /dev/null
@@ -1,8 +0,0 @@
-<decrypted_hdeader>
- <iv>$inner_iv</iv>
- <aes_key>$inner_key</aes_key>
- <author>
- <name>$author_name</name>
- <uri>$author_uri</uri>
- </author>
-</decrypted_header>
diff --git a/view/tpl/directory_header.tpl b/view/tpl/directory_header.tpl
index e1def851b..5d703e2dd 100644..100755
--- a/view/tpl/directory_header.tpl
+++ b/view/tpl/directory_header.tpl
@@ -1,14 +1,14 @@
-<h1>$dirlbl</h1>
+<h1>{{$dirlbl}}</h1>
-{{ if $search }}
-<h4>$finddsc $safetxt</h4>
-{{ endif }}
+{{if $search}}
+<h4>{{$finddsc}} {{$safetxt}}</h4>
+{{/if}}
-{{for $entries as $entry}}
+{{foreach $entries as $entry}}
-{{ inc direntry.tpl }}{{ endinc }}
+{{include file="direntry.tpl"}}
-{{ endfor }}
+{{/foreach}}
diff --git a/view/tpl/directory_item.tpl b/view/tpl/directory_item.tpl
deleted file mode 100644
index d496cb2ad..000000000
--- a/view/tpl/directory_item.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-
-<div class="directory-item lframe" id="directory-item-$id" >
- <div class="contact-photo-wrapper" id="directory-photo-wrapper-$id" >
- <div class="contact-photo" id="directory-photo-$id" >
- <a href="$profile_link" class="directory-profile-link" id="directory-profile-link-$id" ><img class="directory-photo-img" src="$photo" alt="$alt_text" title="$alt_text" /></a>
- </div>
- </div>
-
- <div class="contact-name" id="directory-name-$id">$name</div>
- <div class="contact-details">$details</div>
-</div>
diff --git a/view/tpl/direntry.tpl b/view/tpl/direntry.tpl
index e860da41c..35bbbe0fd 100644..100755
--- a/view/tpl/direntry.tpl
+++ b/view/tpl/direntry.tpl
@@ -1,11 +1,16 @@
+<div class="directory-item lframe" id="directory-item-{{$entry.id}}" >
+<div class="generic-content-wrapper">
-<div class="directory-item lframe" id="directory-item-$entry.id" >
- <div class="contact-photo-wrapper" id="directory-photo-wrapper-$entry.id" >
- <div class="contact-photo" id="directory-photo-$entry.id" >
- <a href="$entry.profile_link" class="directory-profile-link" id="directory-profile-link-$entry.id" ><img class="directory-photo-img" src="$entry.photo" alt="$entry.alttext" title="$entry.alttext" /></a>
- </div>
- </div>
+<div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$entry.id}}" >
+<div class="contact-photo" id="directory-photo-{{$entry.id}}" >
+<a href="{{$entry.profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$entry.id}}" ><img class="directory-photo-img" src="{{$entry.photo}}" alt="{{$entry.alttext}}" title="{{$entry.alttext}}" /></a>
+</div>
+</div>
- <div class="contact-name" id="directory-name-$entry.id">$entry.name</div>
- <div class="contact-details">$entry.details</div>
+<div class="contact-name" id="directory-name-{{$entry.id}}">{{$entry.name}}</div>
+{{if $entry.connect}}
+<div class="directory-connect"><a href="{{$entry.connect}}">{{$entry.conn_label}}</a></div>
+{{/if}}
+<div class="contact-details">{{$entry.details}}</div>
+</div>
</div>
diff --git a/view/tpl/display-head.tpl b/view/tpl/display-head.tpl
index 3d4e7e96a..3d4e7e96a 100644..100755
--- a/view/tpl/display-head.tpl
+++ b/view/tpl/display-head.tpl
diff --git a/view/tpl/edpage_head.tpl b/view/tpl/edpage_head.tpl
new file mode 100755
index 000000000..890b746bf
--- /dev/null
+++ b/view/tpl/edpage_head.tpl
@@ -0,0 +1 @@
+<h2>{{$title}}</h2>
diff --git a/view/tpl/edpost_head.tpl b/view/tpl/edpost_head.tpl
index b83e606a0..890b746bf 100644..100755
--- a/view/tpl/edpost_head.tpl
+++ b/view/tpl/edpost_head.tpl
@@ -1 +1 @@
-<h2>$title</h2>
+<h2>{{$title}}</h2>
diff --git a/view/tpl/email_notify_html.tpl b/view/tpl/email_notify_html.tpl
index 3e1a814c5..85939ac22 100644..100755
--- a/view/tpl/email_notify_html.tpl
+++ b/view/tpl/email_notify_html.tpl
@@ -1,26 +1,26 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html>
<head>
- <title>$banner</title>
+ <title>{{$banner}}</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
<table style="border:1px solid #ccc">
<tbody>
- <tr><td colspan="2" style="background:#ff0000; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px; float:left;" src='$siteurl/images/fred-32.png'><div style="padding:7px; margin-left: 5px; float:left; font-size:18px;letter-spacing:1px;">$product</div><div style="clear: both;"></div></td></tr>
+ <tr><td colspan="2" style="background:#ff0000; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px; float:left;" src='{{$siteurl}}/images/rhash-32.png'><div style="padding:7px; margin-left: 5px; float:left; font-size:18px;letter-spacing:1px;">{{$product}}</div><div style="clear: both;"></div></td></tr>
- <tr><td style="padding-top:22px;" colspan="2">$preamble</td></tr>
+ <tr><td style="padding-top:22px;" colspan="2">{{$preamble}}</td></tr>
- <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$source_link"><img style="border:0px;width:48px;height:48px;" src="$source_photo"></a></td>
- <td style="padding-top:22px;"><a href="$source_link">$source_name</a></td></tr>
- <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr>
- <tr><td style="padding-right:22px;">$htmlversion</td></tr>
- <tr><td style="padding-top:11px;" colspan="2">$hsitelink</td></tr>
- <tr><td style="padding-bottom:11px;" colspan="2">$hitemlink</td></tr>
- <tr><td></td><td>$thanks</td></tr>
- <tr><td></td><td>$site_admin</td></tr>
+ <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="{{$source_link}}"><img style="border:0px;width:48px;height:48px;" src="{{$source_photo}}"></a></td>
+ <td style="padding-top:22px;"><a href="{{$source_link}}">{{$source_name}}</a></td></tr>
+ <tr><td style="font-weight:bold;padding-bottom:5px;">{{$title}}</td></tr>
+ <tr><td style="padding-right:22px;">{{$htmlversion}}</td></tr>
+ <tr><td style="padding-top:11px;" colspan="2">{{$hsitelink}}</td></tr>
+ <tr><td style="padding-bottom:11px;" colspan="2">{{$hitemlink}}</td></tr>
+ <tr><td></td><td>{{$thanks}}</td></tr>
+ <tr><td></td><td>{{$site_admin}}</td></tr>
</tbody>
</table>
</body>
diff --git a/view/tpl/email_notify_text.tpl b/view/tpl/email_notify_text.tpl
index 018bb6078..bdab4c273 100644..100755
--- a/view/tpl/email_notify_text.tpl
+++ b/view/tpl/email_notify_text.tpl
@@ -1,13 +1,12 @@
-
-$preamble
+{{$preamble}}
-$title
+{{$title}}
-$textversion
+{{$textversion}}
-$tsitelink
-$titemlink
+{{$tsitelink}}
+{{$titemlink}}
-$thanks
-$site_admin
+{{$thanks}}
+{{$site_admin}}
diff --git a/view/tpl/event.tpl b/view/tpl/event.tpl
index 80c1dfc55..58a19eb76 100644..100755
--- a/view/tpl/event.tpl
+++ b/view/tpl/event.tpl
@@ -1,10 +1,10 @@
-{{ for $events as $event }}
+{{foreach $events as $event}}
<div class="event">
- {{ if $event.item.author-name }}<a href="$event.item.author-link" ><img src="$event.item.author-avatar" height="32" width="32" />$event.item.author-name</a>{{ endif }}
- $event.html
- {{ if $event.item.plink }}<a href="$event.plink.0" title="$event.plink.1" class="plink-event-link icon s22 remote-link"></a>{{ endif }}
- {{ if $event.edit }}<a href="$event.edit.0" title="$event.edit.1" class="edit-event-link icon s22 pencil"></a>{{ endif }}
+ {{if $event.item.author.xchan_name}}<a href="{{$event.item.author.xchan_url}}" ><img src="{{$event.item.author.xchan_photo_s}}" height="32" width="32" />{{$event.item.author.xchan_name}}</a>{{/if}}
+ {{$event.html}}
+ {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="plink-event-link icon s22 remote-link"></a>{{/if}}
+ {{if $event.edit}}<a href="{{$event.edit.0}}" title="{{$event.edit.1}}" class="edit-event-link icon s22 pencil"></a>{{/if}}
</div>
<div class="clear"></div>
-{{ endfor }}
+{{/foreach}}
diff --git a/view/tpl/event_form.tpl b/view/tpl/event_form.tpl
index 536c52b0f..f661eac87 100644..100755
--- a/view/tpl/event_form.tpl
+++ b/view/tpl/event_form.tpl
@@ -1,49 +1,49 @@
-<h3>$title</h3>
+<h3>{{$title}}</h3>
<p>
-$desc
+{{$desc}}
</p>
-<form action="$post" method="post" >
+<form action="{{$post}}" method="post" >
-<input type="hidden" name="event_id" value="$eid" />
-<input type="hidden" name="cid" value="$cid" />
-<input type="hidden" name="uri" value="$uri" />
+<input type="hidden" name="event_id" value="{{$eid}}" />
+<input type="hidden" name="cid" value="{{$cid}}" />
+<input type="hidden" name="mid" value="{{$mid}}" />
-<div id="event-start-text">$s_text</div>
-$s_dsel $s_tsel
+<div id="event-start-text">{{$s_text}}</div>
+{{$s_dsel}} {{$s_tsel}}
-<div id="event-finish-text">$f_text</div>
-$f_dsel $f_tsel
+<div id="event-finish-text">{{$f_text}}</div>
+{{$f_dsel}} {{$f_tsel}}
<div id="event-datetime-break"></div>
-<input type="checkbox" name="nofinish" value="1" id="event-nofinish-checkbox" $n_checked /> <div id="event-nofinish-text">$n_text</div>
+<input type="checkbox" name="nofinish" value="1" id="event-nofinish-checkbox" {{$n_checked}} /> <div id="event-nofinish-text">{{$n_text}}</div>
<div id="event-nofinish-break"></div>
-<input type="checkbox" name="adjust" value="1" id="event-adjust-checkbox" $a_checked /> <div id="event-adjust-text">$a_text</div>
+<input type="checkbox" name="adjust" value="1" id="event-adjust-checkbox" {{$a_checked}} /> <div id="event-adjust-text">{{$a_text}}</div>
<div id="event-adjust-break"></div>
-<div id="event-summary-text">$t_text</div>
-<input type="text" id="event-summary" name="summary" value="$t_orig" />
+<div id="event-summary-text">{{$t_text}}</div>
+<input type="text" id="event-summary" name="summary" value="{{$t_orig}}" />
-<div id="event-desc-text">$d_text</div>
-<textarea id="event-desc-textarea" name="desc">$d_orig</textarea>
+<div id="event-desc-text">{{$d_text}}</div>
+<textarea id="event-desc-textarea" name="desc">{{$d_orig}}</textarea>
-<div id="event-location-text">$l_text</div>
-<textarea id="event-location-textarea" name="location">$l_orig</textarea>
+<div id="event-location-text">{{$l_text}}</div>
+<textarea id="event-location-textarea" name="location">{{$l_orig}}</textarea>
-<input type="checkbox" name="share" value="1" id="event-share-checkbox" $sh_checked /> <div id="event-share-text">$sh_text</div>
+<input type="checkbox" name="share" value="1" id="event-share-checkbox" {{$sh_checked}} /> <div id="event-share-text">{{$sh_text}}</div>
<div id="event-share-break"></div>
-$acl
+{{$acl}}
<div class="clear"></div>
-<input id="event-submit" type="submit" name="submit" value="$submit" />
+<input id="event-submit" type="submit" name="submit" value="{{$submit}}" />
</form>
diff --git a/view/tpl/event_head.tpl b/view/tpl/event_head.tpl
index 471748b97..b55025f65 100644..100755
--- a/view/tpl/event_head.tpl
+++ b/view/tpl/event_head.tpl
@@ -1,11 +1,11 @@
-<link rel='stylesheet' type='text/css' href='$baseurl/library/fullcalendar/fullcalendar.css' />
+<link rel='stylesheet' type='text/css' href='{{$baseurl}}/library/fullcalendar/fullcalendar.css' />
<script language="javascript" type="text/javascript"
- src="$baseurl/library/fullcalendar/fullcalendar.min.js"></script>
+ src="{{$baseurl}}/library/fullcalendar/fullcalendar.min.js"></script>
<script>
function showEvent(eventid) {
$.get(
- '$baseurl/events/?id='+eventid,
+ '{{$baseurl}}/events/?id='+eventid,
function(data){
$.fancybox(data);
}
@@ -14,7 +14,7 @@
$(document).ready(function() {
$('#events-calendar').fullCalendar({
- events: '$baseurl/events/json/',
+ events: '{{$baseurl}}/events/json/',
header: {
left: 'prev,next today',
center: 'title',
@@ -27,21 +27,21 @@
eventRender: function(event, element, view) {
//console.log(view.name);
- if (event.item['author-name']==null) return;
+ if (event.item['author']['xchan_name']==null) return;
switch(view.name){
case "month":
element.find(".fc-event-title").html(
"<img src='{0}' style='height:10px;width:10px'>{1} : {2}".format(
- event.item['author-avatar'],
- event.item['author-name'],
+ event.item['author']['xchan_photo_s'],
+ event.item['author']['xchan_name'],
event.title
));
break;
case "agendaWeek":
element.find(".fc-event-title").html(
"<img src='{0}' style='height:12px; width:12px'>{1}<p>{2}</p><p>{3}</p>".format(
- event.item['author-avatar'],
- event.item['author-name'],
+ event.item['author']['xchan_photo_s'],
+ event.item['author']['xchan_name'],
event.item.desc,
event.item.location
));
@@ -49,8 +49,8 @@
case "agendaDay":
element.find(".fc-event-title").html(
"<img src='{0}' style='height:24px;width:24px'>{1}<p>{2}</p><p>{3}</p>".format(
- event.item['author-avatar'],
- event.item['author-name'],
+ event.item['author']['xchan_photo_s'],
+ event.item['author']['xchan_name'],
event.item.desc,
event.item.location
));
@@ -75,7 +75,7 @@
<script language="javascript" type="text/javascript"
- src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+ src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
@@ -97,7 +97,7 @@
force_p_newlines : false,
force_br_newlines : true,
forced_root_block : '',
- content_css: "$baseurl/view/custom_tinymce.css",
+ content_css: "{{$baseurl}}/view/custom_tinymce.css",
theme_advanced_path : false,
setup : function(ed) {
ed.onInit.add(function(ed) {
diff --git a/view/tpl/events-js.tpl b/view/tpl/events-js.tpl
index b0e182c56..c87d20529 100644..100755
--- a/view/tpl/events-js.tpl
+++ b/view/tpl/events-js.tpl
@@ -1,6 +1,6 @@
-$tabs
-<h2>$title</h2>
+{{$tabs}}
+<h2>{{$title}}</h2>
-<div id="new-event-link"><a href="$new_event.0" >$new_event.1</a></div>
+<div id="new-event-link"><a href="{{$new_event.0}}" >{{$new_event.1}}</a></div>
<div id="events-calendar"></div>
diff --git a/view/tpl/events.tpl b/view/tpl/events.tpl
deleted file mode 100644
index e0d830691..000000000
--- a/view/tpl/events.tpl
+++ /dev/null
@@ -1,24 +0,0 @@
-$tabs
-<h2>$title</h2>
-
-<div id="new-event-link"><a href="$new_event.0" >$new_event.1</a></div>
-
-<div id="event-calendar-wrapper">
- <a href="$previus.0" class="prevcal $previus.2"><div id="event-calendar-prev" class="icon s22 prev" title="$previus.1"></div></a>
- $calendar
- <a href="$next.0" class="nextcal $next.2"><div id="event-calendar-prev" class="icon s22 next" title="$next.1"></div></a>
-</div>
-<div class="event-calendar-end"></div>
-
-
-{{ for $events as $event }}
- <div class="event">
- {{ if $event.is_first }}<hr /><a name="link-$event.j" ><div class="event-list-date">$event.d</div></a>{{ endif }}
- {{ if $event.item.author-name }}<a href="$event.item.author-link" ><img src="$event.item.author-avatar" height="32" width="32" />$event.item.author-name</a>{{ endif }}
- $event.html
- {{ if $event.item.plink }}<a href="$event.plink.0" title="$event.plink.1" class="plink-event-link icon s22 remote-link"></a>{{ endif }}
- {{ if $event.edit }}<a href="$event.edit.0" title="$event.edit.1" class="edit-event-link icon s22 pencil"></a>{{ endif }}
- </div>
- <div class="clear"></div>
-
-{{ endfor }}
diff --git a/view/tpl/events_reminder.tpl b/view/tpl/events_reminder.tpl
index f641a5faf..fd6a1a5c7 100644..100755
--- a/view/tpl/events_reminder.tpl
+++ b/view/tpl/events_reminder.tpl
@@ -1,10 +1,10 @@
-{{ if $count }}
-<div id="event-notice" class="birthday-notice fakelink $classtoday" onclick="openClose('event-wrapper');">$event_reminders ($count)</div>
-<div id="event-wrapper" style="display: none;" ><div id="event-title">$event_title</div>
+{{if $count}}
+<div id="event-notice" class="birthday-notice fakelink {{$classtoday}}" onclick="openClose('event-wrapper');">{{$event_reminders}} ({{$count}})</div>
+<div id="event-wrapper" style="display: none;" ><div id="event-title">{{$event_title}}</div>
<div id="event-title-end"></div>
-{{ for $events as $event }}
-<div class="event-list" id="event-$event.id"></a> <a href="events/$event.link">$event.title</a> $event.date </div>
-{{ endfor }}
+{{foreach $events as $event}}
+<div class="event-list" id="event-{{$event.id}}"></a> <a href="events/{{$event.link}}">{{$event.title}}</a> {{$event.date}} </div>
+{{/foreach}}
</div>
-{{ endif }}
+{{/if}}
diff --git a/view/tpl/failed_updates.tpl b/view/tpl/failed_updates.tpl
index c6e4cb08e..68c0bcdf2 100644..100755
--- a/view/tpl/failed_updates.tpl
+++ b/view/tpl/failed_updates.tpl
@@ -1,17 +1,17 @@
-<h2>$banner</h2>
+<h2>{{$banner}}</h2>
-<div id="failed_updates_desc">$desc</div>
+<div id="failed_updates_desc">{{$desc}}</div>
-{{ if $failed }}
-{{ for $failed as $f }}
+{{if $failed}}
+{{foreach $failed as $f}}
-<h4>$f</h4>
+<h4>{{$f}}</h4>
<ul>
-<li><a href="$base/admin/dbsync/mark/$f">$mark</a></li>
-<li><a href="$base/admin/dbsync/$f">$apply</a></li>
+<li><a href="{{$base}}/admin/dbsync/mark/{{$f}}">{{$mark}}</a></li>
+<li><a href="{{$base}}/admin/dbsync/{{$f}}">{{$apply}}</a></li>
</ul>
<hr />
-{{ endfor }}
-{{ endif }}
+{{/foreach}}
+{{/if}}
diff --git a/view/tpl/fake_feed.tpl b/view/tpl/fake_feed.tpl
deleted file mode 100644
index c37071cf4..000000000
--- a/view/tpl/fake_feed.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<feed xmlns="http://www.w3.org/2005/Atom" >
-
- <id>fake feed</id>
- <title>fake title</title>
-
- <updated>1970-01-01T00:00:00Z</updated>
-
- <author>
- <name>Fake Name</name>
- <uri>http://example.com</uri>
- </author>
-
diff --git a/view/tpl/field.tpl b/view/tpl/field.tpl
index 35f5afd39..942cfcef5 100644..100755
--- a/view/tpl/field.tpl
+++ b/view/tpl/field.tpl
@@ -1,4 +1,3 @@
-
- {{ if $field.0==select }}
- {{ inc field_select.tpl }}{{ endinc }}
- {{ endif }}
+ {{if $field.0==select}}
+ {{include file="field_select.tpl"}}
+ {{/if}}
diff --git a/view/tpl/field_acheckbox.tpl b/view/tpl/field_acheckbox.tpl
index 06bed38e7..cb63f7ca2 100644..100755
--- a/view/tpl/field_acheckbox.tpl
+++ b/view/tpl/field_acheckbox.tpl
@@ -1,7 +1,6 @@
-
<div class='field acheckbox'>
- <label for='id_$field.0'>$field.1</label>
- <input type="checkbox" class="abook-edit-them" name='$field.0' id='them_id_$field.0' value="1" disabled="disabled" {{ if $field.2 }}checked="checked"{{ endif }} />
- <input type="checkbox" class="abook-edit-me" name='$field.0' id='me_id_$field.0' value="$field.4" {{ if $field.3 }}checked="checked"{{ endif }} {{ if $field.5 }} disabled="disabled" {{ endif }}/>
- <span class='field_abook_help'>$field.6</span>
+ <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <input type="checkbox" class="abook-edit-them" name='them_{{$field.0}}' id='them_id_{{$field.0}}' value="1" disabled="disabled" {{if $field.2}}checked="checked"{{/if}} />
+ <input type="checkbox" class="abook-edit-me" name='{{$field.0}}' id='me_id_{{$field.0}}' value="{{$field.4}}" {{if $field.3}}checked="checked"{{/if}} {{if $field.5}} disabled="disabled" {{/if}}/>
+ <span class='field_abook_help'>{{$field.6}}</span>
</div>
diff --git a/view/tpl/field_checkbox.tpl b/view/tpl/field_checkbox.tpl
index afab29243..51d56f69c 100644..100755
--- a/view/tpl/field_checkbox.tpl
+++ b/view/tpl/field_checkbox.tpl
@@ -1,6 +1,5 @@
-
<div class='field checkbox'>
- <label for='id_$field.0'>$field.1</label>
- <input type="checkbox" name='$field.0' id='id_$field.0' value="1" {{ if $field.2 }}checked="checked"{{ endif }}>
- <span class='field_help'>$field.3</span>
+ <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="1" {{if $field.2}}checked="checked"{{/if}}>
+ <span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_combobox.tpl b/view/tpl/field_combobox.tpl
index a4dc8e571..c4356e1cd 100644..100755
--- a/view/tpl/field_combobox.tpl
+++ b/view/tpl/field_combobox.tpl
@@ -1,18 +1,17 @@
-
<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
- <input id="id_$field.0" type="text" list="data_$field.0" >
- <datalist id="data_$field.0" >
- {{ for $field.4 as $opt=>$val }}<option value="$val">{{ endfor }}
- </datalist> #}
+ <label for='id_{{$field.0}}' id='id_{{$field.0}}_label'>{{$field.1}}</label>
+ {{* html5 don't work on Chrome, Safari and IE9
+ <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}}
+ </datalist> *}}
- <input id="id_$field.0" type="text" value="$field.2">
- <select id="select_$field.0" onChange="$('#id_$field.0').val($(this).val())">
- <option value="">$field.5</option>
- {{ for $field.4 as $opt=>$val }}<option value="$val">$val</option>{{ endfor }}
+ <input id="id_{{$field.0}}" type="text" value="{{$field.2}}">
+ <select id="select_{{$field.0}}" onChange="$('#id_{{$field.0}}').val($(this).val())">
+ <option value="">{{$field.5}}</option>
+ {{foreach $field.4 as $opt=>$val}}<option value="{{$val}}">{{$val}}</option>{{/foreach}}
</select>
- <span class='field_help'>$field.3</span>
+ <span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_custom.tpl b/view/tpl/field_custom.tpl
index be15d3f60..a6b49f6da 100644..100755
--- a/view/tpl/field_custom.tpl
+++ b/view/tpl/field_custom.tpl
@@ -1,6 +1,5 @@
-
<div class='field custom'>
- <label for='$field.0'>$field.1</label>
- $field.2
- <span class='field_help'>$field.3</span>
+ <label for='{{$field.0}}'>{{$field.1}}</label>
+ {{$field.2}}
+ <span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_input.tpl b/view/tpl/field_input.tpl
index 09417deca..d5b3d6b4e 100644..100755
--- a/view/tpl/field_input.tpl
+++ b/view/tpl/field_input.tpl
@@ -1,7 +1,6 @@
-
<div class='field input'>
- <label for='id_$field.0' id='label_$field.0'>$field.1</label>
- <input name='$field.0' id='id_$field.0' value="$field.2">
- <span id='help_$field.0' class='field_help'>$field.3</span>
- <div id='end_$field.0' class='field_end'></div>
+ <label for='id_{{$field.0}}' id='label_{{$field.0}}'>{{$field.1}}</label>
+ <input name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}">{{if $field.4}} <span class="required">{{$field.4}}</span> {{/if}}
+ <span id='help_{{$field.0}}' class='field_help'>{{$field.3}}</span>
+ <div id='end_{{$field.0}}' class='field_end'></div>
</div>
diff --git a/view/tpl/field_intcheckbox.tpl b/view/tpl/field_intcheckbox.tpl
index 47a513a55..d9a8d7289 100644..100755
--- a/view/tpl/field_intcheckbox.tpl
+++ b/view/tpl/field_intcheckbox.tpl
@@ -1,6 +1,5 @@
-
<div class='field checkbox'>
- <label for='id_$field.0'>$field.1</label>
- <input type="checkbox" name='$field.0' id='id_$field.0' value="$field.3" {{ if $field.2 }}checked="true"{{ endif }}>
- <span class='field_help'>$field.4</span>
+ <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.3}}" {{if $field.2}}checked="true"{{/if}}>
+ <span class='field_help'>{{$field.4}}</span>
</div>
diff --git a/view/tpl/field_openid.tpl b/view/tpl/field_openid.tpl
deleted file mode 100644
index acd93ff62..000000000
--- a/view/tpl/field_openid.tpl
+++ /dev/null
@@ -1,6 +0,0 @@
-
- <div class='field input openid'>
- <label for='id_$field.0'>$field.1</label>
- <input name='$field.0' id='id_$field.0' value="$field.2">
- <span class='field_help'>$field.3</span>
- </div>
diff --git a/view/tpl/field_password.tpl b/view/tpl/field_password.tpl
index e604b7f5d..23058f8a6 100644..100755
--- a/view/tpl/field_password.tpl
+++ b/view/tpl/field_password.tpl
@@ -1,6 +1,5 @@
-
<div class='field password'>
- <label for='id_$field.0'>$field.1</label>
- <input type='password' name='$field.0' id='id_$field.0' value="$field.2">
- <span class='field_help'>$field.3</span>
+ <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <input type='password' name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}">
+ <span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_radio.tpl b/view/tpl/field_radio.tpl
index a915e8eb3..147b6b834 100644..100755
--- a/view/tpl/field_radio.tpl
+++ b/view/tpl/field_radio.tpl
@@ -1,6 +1,5 @@
-
<div class='field radio'>
- <label for='id_$field.0_$field.2'>$field.1</label>
- <input type="radio" name='$field.0' id='id_$field.0_$field.2' value="$field.2" {{ if $field.4 }}checked="true"{{ endif }}>
- <span class='field_help'>$field.3</span>
+ <label for='id_{{$field.0}}_{{$field.2}}'>{{$field.1}}</label>
+ <input type="radio" name='{{$field.0}}' id='id_{{$field.0}}_{{$field.2}}' value="{{$field.2}}" {{if $field.4}}checked="true"{{/if}}>
+ <span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_richtext.tpl b/view/tpl/field_richtext.tpl
index c124ee000..c8639cf10 100644..100755
--- a/view/tpl/field_richtext.tpl
+++ b/view/tpl/field_richtext.tpl
@@ -1,6 +1,5 @@
-
<div class='field richtext'>
- <label for='id_$field.0'>$field.1</label>
- <textarea name='$field.0' id='id_$field.0' class="fieldRichtext">$field.2</textarea>
- <span class='field_help'>$field.3</span>
+ <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <textarea name='{{$field.0}}' id='id_{{$field.0}}' class="fieldRichtext">{{$field.2}}</textarea>
+ <span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_select.tpl b/view/tpl/field_select.tpl
index d79eb48e0..9aca26e7b 100644..100755
--- a/view/tpl/field_select.tpl
+++ b/view/tpl/field_select.tpl
@@ -1,8 +1,7 @@
-
<div class='field select'>
- <label for='id_$field.0'>$field.1</label>
- <select name='$field.0' id='id_$field.0'>
- {{ for $field.4 as $opt=>$val }}<option value="$opt" {{ if $opt==$field.2 }}selected="selected"{{ endif }}>$val</option>{{ endfor }}
+ <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <select name='{{$field.0}}' id='id_{{$field.0}}'>
+ {{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
</select>
- <span class='field_help'>$field.3</span>
+ <span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_select_raw.tpl b/view/tpl/field_select_raw.tpl
index 765b285d9..861be3201 100644..100755
--- a/view/tpl/field_select_raw.tpl
+++ b/view/tpl/field_select_raw.tpl
@@ -1,8 +1,7 @@
-
<div class='field select'>
- <label for='id_$field.0'>$field.1</label>
- <select name='$field.0' id='id_$field.0'>
- $field.4
+ <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <select name='{{$field.0}}' id='id_{{$field.0}}'>
+ {{$field.4}}
</select>
- <span class='field_help'>$field.3</span>
+ <span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_textarea.tpl b/view/tpl/field_textarea.tpl
index 2425cdd3b..98be8f138 100644..100755
--- a/view/tpl/field_textarea.tpl
+++ b/view/tpl/field_textarea.tpl
@@ -1,6 +1,5 @@
-
<div class='field textarea'>
- <label for='id_$field.0'>$field.1</label>
- <textarea name='$field.0' id='id_$field.0'>$field.2</textarea>
- <span class='field_help'>$field.3</span>
+ <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <textarea name='{{$field.0}}' id='id_{{$field.0}}'>{{$field.2}}</textarea>
+ <span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_themeselect.tpl b/view/tpl/field_themeselect.tpl
index 1b3ede36c..c02eee328 100644..100755
--- a/view/tpl/field_themeselect.tpl
+++ b/view/tpl/field_themeselect.tpl
@@ -1,9 +1,9 @@
- <script>$(function(){ previewTheme($("#id_$field.0")[0]); });</script>
+ <script>$(function(){ previewTheme($("#id_{{$field.0}}")[0]); });</script>
<div class='field select'>
- <label for='id_$field.0'>$field.1</label>
- <select name='$field.0' id='id_$field.0' {{ if $field.5=='preview' }}onchange="previewTheme(this);"{{ endif }} >
- {{ for $field.4 as $opt=>$val }}<option value="$opt" {{ if $opt==$field.2 }}selected="selected"{{ endif }}>$val</option>{{ endfor }}
+ <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <select name='{{$field.0}}' id='id_{{$field.0}}' {{if $field.5=='preview'}}onchange="previewTheme(this);"{{/if}} >
+ {{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
</select>
- <span class='field_help'>$field.3</span>
+ <span class='field_help'>{{$field.3}}</span>
<div id="theme-preview"></div>
</div>
diff --git a/view/tpl/field_yesno.tpl b/view/tpl/field_yesno.tpl
index 5d4a775c2..e36e775c7 100644..100755
--- a/view/tpl/field_yesno.tpl
+++ b/view/tpl/field_yesno.tpl
@@ -1,13 +1,13 @@
<div class='field yesno'>
- <label for='id_$field.0'>$field.1</label>
- <div class='onoff' id="id_$field.0_onoff">
- <input type="hidden" name='$field.0' id='id_$field.0' value="$field.2">
+ <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <div class='onoff' id="id_{{$field.0}}_onoff">
+ <input type="hidden" name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}">
<a href="#" class='off'>
- {{ if $field.4 }}$field.4.0{{ else }}OFF{{ endif }}
+ {{if $field.4}}{{$field.4.0}}{{else}}OFF{{/if}}
</a>
<a href="#" class='on'>
- {{ if $field.4 }}$field.4.1{{ else }}ON{{ endif }}
+ {{if $field.4}}{{$field.4.1}}{{else}}ON{{/if}}
</a>
</div>
- <span class='field_help'>$field.3</span>
+ <span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/fileas_widget.tpl b/view/tpl/fileas_widget.tpl
index 54fba7435..70d68c56e 100644..100755
--- a/view/tpl/fileas_widget.tpl
+++ b/view/tpl/fileas_widget.tpl
@@ -1,12 +1,12 @@
<div id="fileas-sidebar" class="widget">
- <h3>$title</h3>
- <div id="nets-desc">$desc</div>
+ <h3>{{$title}}</h3>
+ <div id="nets-desc">{{$desc}}</div>
<ul class="fileas-ul">
- <li class="tool"><a href="$base" class="fileas-link fileas-all{{ if $sel_all }} fileas-selected{{ endif }}">$all</a></li>
- {{ for $terms as $term }}
- <li class="tool"><a href="$base?f=&file=$term.name" class="fileas-link{{ if $term.selected }} fileas-selected{{ endif }}">$term.name</a></li>
- {{ endfor }}
+ <li class="tool"><a href="{{$base}}" class="fileas-link fileas-all{{if $sel_all}} fileas-selected{{/if}}">{{$all}}</a></li>
+ {{foreach $terms as $term}}
+ <li class="tool"><a href="{{$base}}?f=&file={{$term.name}}" class="fileas-link{{if $term.selected}} fileas-selected{{/if}}">{{$term.name}}</a></li>
+ {{/foreach}}
</ul>
</div>
diff --git a/view/tpl/filebrowser.tpl b/view/tpl/filebrowser.tpl
index 7db31d716..787f7c0cd 100644..100755
--- a/view/tpl/filebrowser.tpl
+++ b/view/tpl/filebrowser.tpl
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
- <script type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_popup.js"></script>
+ <script type="text/javascript" src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_popup.js"></script>
<style>
.panel_wrapper div.current{.overflow: auto; height: auto!important; }
.filebrowser.path { font-family: fixed; font-size: 10px; background-color: #f0f0ee; height:auto; overflow:auto;}
@@ -60,24 +60,24 @@
<div id="general_panel" class="panel current">
<div class="filebrowser path">
- {{ for $path as $p }}<a href="$p.0">$p.1</a>{{ endfor }}
+ {{foreach $path as $p}}<a href="{{$p.0}}">{{$p.1}}</a>{{/foreach}}
</div>
<div class="filebrowser folders">
<ul>
- {{ for $folders as $f }}<li><a href="$f.0/">$f.1</a></li>{{ endfor }}
+ {{foreach $folders as $f}}<li><a href="{{$f.0}}/">{{$f.1}}</a></li>{{/foreach}}
</ul>
</div>
- <div class="filebrowser files $type">
+ <div class="filebrowser files {{$type}}">
<ul>
- {{ for $files as $f }}
- <li><a href="#" onclick="FileBrowserDialogue.mySubmit('$f.0'); return false;"><img src="$f.2"><span>$f.1</span></a></li>
- {{ endfor }}
+ {{foreach $files as $f}}
+ <li><a href="#" onclick="FileBrowserDialogue.mySubmit('{{$f.0}}'); return false;"><img src="{{$f.2}}"><span>{{$f.1}}</span></a></li>
+ {{/foreach}}
</ul>
</div>
</div>
</div>
<div class="mceActionPanel">
- <input type="button" id="cancel" name="cancel" value="$cancel" onclick="tinyMCEPopup.close();" />
+ <input type="button" id="cancel" name="cancel" value="{{$cancel}}" onclick="tinyMCEPopup.close();" />
</div>
</body>
diff --git a/view/tpl/filer_dialog.tpl b/view/tpl/filer_dialog.tpl
index ae837d6b7..ae59ab713 100644..100755
--- a/view/tpl/filer_dialog.tpl
+++ b/view/tpl/filer_dialog.tpl
@@ -1,4 +1,4 @@
-{{ inc field_combobox.tpl }}{{ endinc }}
+{{include file="field_combobox.tpl"}}
<div class="settings-submit-wrapper" >
- <input id="filer_save" type="button" class="settings-submit" value="$submit" />
+ <input id="filer_save" type="button" class="settings-submit" value="{{$submit}}" />
</div>
diff --git a/view/tpl/filestorage.tpl b/view/tpl/filestorage.tpl
new file mode 100644
index 000000000..995b52cc8
--- /dev/null
+++ b/view/tpl/filestorage.tpl
@@ -0,0 +1,22 @@
+{{if $files}}
+
+ <div class="generic-content-wrapper">
+ {{if $limit}}{{$limitlabel}}{{$limit}}{{/if}} {{if $used}} {{$usedlabel}}{{$used}}{{/if}}
+
+
+ {{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
+
+</div>
+ {{/foreach}}
+ {{/foreach}}
+ </div>
+
+ <div class="clear"></div>
+
+{{/if}}
diff --git a/view/tpl/follow.tpl b/view/tpl/follow.tpl
index 259e74a93..b0597e9b6 100644..100755
--- a/view/tpl/follow.tpl
+++ b/view/tpl/follow.tpl
@@ -1,8 +1,11 @@
<div id="follow-sidebar" class="widget">
- <h3>$connect</h3>
- <div id="connect-desc">$desc</div>
+ <h3>{{$connect}}</h3>
+ <div id="connect-desc">{{$desc}}</div>
<form action="follow" method="post" />
- <input id="side-follow-url" type="text" name="url" size="24" title="$hint" /><input id="side-follow-submit" type="submit" name="submit" value="$follow" />
+ <input id="side-follow-url" type="text" name="url" size="24" title="{{$hint}}" /><input id="side-follow-submit" type="submit" name="submit" value="{{$follow}}" />
</form>
+ {{if $abook_usage_message}}
+ <div class="usage-message" id="abook-usage-message">{{$abook_usage_message}}</div>
+ {{/if}}
</div>
diff --git a/view/tpl/follow_slap.tpl b/view/tpl/follow_slap.tpl
deleted file mode 100644
index 1b1443bee..000000000
--- a/view/tpl/follow_slap.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
- <entry>
- <author>
- <name>$name</name>
- <uri>$profile_page</uri>
- <link rel="photo" type="image/jpeg" media:width="80" media:height="80" href="$thumb" />
- <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="$thumb" />
- </author>
-
- <id>$item_id</id>
- <title>$title</title>
- <published>$published</published>
- <content type="$type" >$content</content>
-
- <as:actor>
- <as:obj_type>http://activitystrea.ms/schema/1.0/person</as:obj_type>
- <id>$profile_page</id>
- <title></title>
- <link rel="avatar" type="image/jpeg" media:width="175" media:height="175" href="$photo"/>
- <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="$thumb"/>
- <poco:preferredUsername>$nick</poco:preferredUsername>
- <poco:displayName>$name</poco:displayName>
- </as:actor>
- <as:verb>$verb</as:verb>
- $ostat_follow
- </entry>
diff --git a/view/tpl/generic_links_widget.tpl b/view/tpl/generic_links_widget.tpl
index f3404f783..8b4c67b6f 100644..100755
--- a/view/tpl/generic_links_widget.tpl
+++ b/view/tpl/generic_links_widget.tpl
@@ -1,11 +1,11 @@
-<div class="widget{{ if $class }} $class{{ endif }}">
- {{if $title}}<h3>$title</h3>{{endif}}
- {{if $desc}}<div class="desc">$desc</div>{{endif}}
+<div class="widget{{if $class}} {{$class}}{{/if}}">
+ {{if $title}}<h3>{{$title}}</h3>{{/if}}
+ {{if $desc}}<div class="desc">{{$desc}}</div>{{/if}}
<ul>
- {{ for $items as $item }}
- <li class="tool"><a href="$item.url" class="{{ if $item.selected }}selected{{ endif }}">$item.label</a></li>
- {{ endfor }}
+ {{foreach $items as $item}}
+ <li class="tool"><a href="{{$item.url}}" class="{{if $item.selected}}selected{{/if}}">{{$item.label}}</a></li>
+ {{/foreach}}
</ul>
</div>
diff --git a/view/tpl/group_drop.tpl b/view/tpl/group_drop.tpl
index 2cbebbb8e..670136db7 100644..100755
--- a/view/tpl/group_drop.tpl
+++ b/view/tpl/group_drop.tpl
@@ -1,7 +1,7 @@
-<div class="group-delete-wrapper button" id="group-delete-wrapper-$id" >
- <a href="group/drop/$id?t=$form_security_token"
+<div class="group-delete-wrapper button" id="group-delete-wrapper-{{$id}}" >
+ <a href="group/drop/{{$id}}?t={{$form_security_token}}"
onclick="return confirmDelete();"
- id="group-delete-icon-$id"
+ id="group-delete-icon-{{$id}}"
class="icon drophide group-delete-icon"
onmouseover="imgbright(this);"
onmouseout="imgdull(this);" ></a>
diff --git a/view/tpl/group_edit.tpl b/view/tpl/group_edit.tpl
index 2fa2b1a55..eb658624c 100644..100755
--- a/view/tpl/group_edit.tpl
+++ b/view/tpl/group_edit.tpl
@@ -1,23 +1,24 @@
-<h2>$title</h2>
+<h2>{{$title}}</h2>
<div id="group-edit-wrapper" >
- <form action="group/$gid" id="group-edit-form" method="post" >
- <input type='hidden' name='form_security_token' value='$form_security_token'>
+ <form action="group/{{$gid}}" id="group-edit-form" method="post" >
+ <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
- {{ inc field_input.tpl with $field=$gname }}{{ endinc }}
- {{ if $drop }}$drop{{ endif }}
+ {{include file="field_input.tpl" field=$gname}}
+ {{include file="field_checkbox.tpl" field=$public}}
+ {{if $drop}}{{$drop}}{{/if}}
<div id="group-edit-submit-wrapper" >
- <input type="submit" name="submit" value="$submit" >
+ <input type="submit" name="submit" value="{{$submit}}" >
</div>
<div id="group-edit-select-end" ></div>
</form>
</div>
-{{ if $groupeditor }}
+{{if $groupeditor}}
<div id="group-update-wrapper">
- {{ inc groupeditor.tpl }}{{ endinc }}
+ {{include file="groupeditor.tpl"}}
</div>
-{{ endif }}
-{{ if $desc }}<div id="group-edit-desc">$desc</div>{{ endif }}
+{{/if}}
+{{if $desc}}<div id="group-edit-desc">{{$desc}}</div>{{/if}}
diff --git a/view/tpl/group_selection.tpl b/view/tpl/group_selection.tpl
index 3809cb994..2223125ea 100644..100755
--- a/view/tpl/group_selection.tpl
+++ b/view/tpl/group_selection.tpl
@@ -1,8 +1,8 @@
<div class="field custom">
-<label for="group-selection" id="group-selection-lbl">$label</label>
+<label for="group-selection" id="group-selection-lbl">{{$label}}</label>
<select name="group-selection" id="group-selection" >
-{{ for $groups as $group }}
-<option value="$group.id" {{ if $group.selected }}selected="selected"{{ endif }} >$group.name</option>
-{{ endfor }}
+{{foreach $groups as $group}}
+<option value="{{$group.id}}" {{if $group.selected}}selected="selected"{{/if}} >{{$group.name}}</option>
+{{/foreach}}
</select>
</div>
diff --git a/view/tpl/group_side.tpl b/view/tpl/group_side.tpl
index ebb194d9c..ebc820530 100644..100755
--- a/view/tpl/group_side.tpl
+++ b/view/tpl/group_side.tpl
@@ -1,33 +1,33 @@
<div class="widget" id="group-sidebar">
-<h3>$title</h3>
+<h3>{{$title}}</h3>
<div id="sidebar-group-list">
<ul id="sidebar-group-ul">
- {{ for $groups as $group }}
+ {{foreach $groups as $group}}
<li class="sidebar-group-li">
- {{ if $group.cid }}
+ {{if $group.cid}}
<input type="checkbox"
- class="{{ if $group.selected }}ticked{{ else }}unticked {{ endif }} action"
- onclick="contactgroupChangeMember('$group.id','$group.cid');return true;"
- {{ if $group.ismember }}checked="checked"{{ endif }}
+ class="{{if $group.selected}}ticked{{else}}unticked {{/if}} action"
+ onclick="contactgroupChangeMember('{{$group.id}}','{{$group.cid}}');return true;"
+ {{if $group.ismember}}checked="checked"{{/if}}
/>
- {{ endif }}
- {{ if $group.edit }}
- <a class="groupsideedit" href="$group.edit.href" title="$edittext"><span id="edit-sidebar-group-element-$group.id" class="group-edit-icon iconspacer small-pencil"></span></a>
- {{ endif }}
- <a id="sidebar-group-element-$group.id" class="sidebar-group-element {{ if $group.selected }}group-selected{{ endif }}" href="$group.href">$group.text</a>
+ {{/if}}
+ {{if $group.edit}}
+ <a class="groupsideedit" href="{{$group.edit.href}}" title="{{$edittext}}"><span id="edit-sidebar-group-element-{{$group.id}}" class="group-edit-icon iconspacer small-pencil"></span></a>
+ {{/if}}
+ <a id="sidebar-group-element-{{$group.id}}" class="sidebar-group-element {{if $group.selected}}group-selected{{/if}}" href="{{$group.href}}">{{$group.text}}</a>
</li>
- {{ endfor }}
+ {{/foreach}}
</ul>
</div>
<div id="sidebar-new-group">
- <a href="group/new">$createtext</a>
+ <a href="group/new">{{$createtext}}</a>
</div>
- {{ if $ungrouped }}
+ {{if $ungrouped}}
<div id="sidebar-ungrouped">
- <a href="nogroup">$ungrouped</a>
+ <a href="nogroup">{{$ungrouped}}</a>
</div>
- {{ endif }}
+ {{/if}}
</div>
diff --git a/view/tpl/groupeditor.tpl b/view/tpl/groupeditor.tpl
index 755985eb3..c79bb0a2a 100644..100755
--- a/view/tpl/groupeditor.tpl
+++ b/view/tpl/groupeditor.tpl
@@ -1,16 +1,16 @@
<div id="group">
-<h3>$groupeditor.label_members</h3>
+<h3>{{$groupeditor.label_members}}</h3>
<div id="group-members" class="contact_list">
-{{ for $groupeditor.members as $c}} $c {{ endfor }}
+{{foreach $groupeditor.members as $c}} {{$c}} {{/foreach}}
</div>
<div id="group-members-end"></div>
<hr id="group-separator" />
</div>
<div id="contacts">
-<h3>$groupeditor.label_contacts</h3>
+<h3>{{$groupeditor.label_contacts}}</h3>
<div id="group-all-contacts" class="contact_list">
-{{ for $groupeditor.contacts as $m}} $m {{ endfor }}
+{{foreach $groupeditor.contacts as $m}} {{$m}} {{/foreach}}
</div>
<div id="group-all-contacts-end"></div>
</div>
diff --git a/view/tpl/head.tpl b/view/tpl/head.tpl
index 632ab21ca..4211eeab3 100644..100755
--- a/view/tpl/head.tpl
+++ b/view/tpl/head.tpl
@@ -1,28 +1,28 @@
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<base href="$baseurl/" />
-<meta name="generator" content="$generator" />
+<base href="{{$baseurl}}/" />
+<meta name="generator" content="{{$generator}}" />
<!--[if IE]>
<script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
-$head_css
+{{$head_css}}
-$js_strings
+{{$js_strings}}
-$head_js
+{{$head_js}}
-<link rel="shortcut icon" href="$baseurl/images/red.png" />
+<link rel="shortcut icon" href="{{$icon}}" />
<link rel="search"
- href="$baseurl/opensearch"
+ href="{{$baseurl}}/opensearch"
type="application/opensearchdescription+xml"
- title="Search in Friendica" />
+ title="Search in Red" />
<script>
- var updateInterval = $update_interval;
- var localUser = {{ if $local_user }}$local_user{{ else }}false{{ endif }};
+ var updateInterval = {{$update_interval}};
+ var localUser = {{if $local_user}}{{$local_user}}{{else}}false{{/if}};
</script>
diff --git a/view/tpl/hide_comments.tpl b/view/tpl/hide_comments.tpl
index 55ee9dd7b..f4ed9c552 100644..100755
--- a/view/tpl/hide_comments.tpl
+++ b/view/tpl/hide_comments.tpl
@@ -1,4 +1,4 @@
<div class="hide-comments-outer">
-<span id="hide-comments-total-$id" class="hide-comments-total">$num_comments</span> <span id="hide-comments-$id" class="hide-comments fakelink" onclick="showHideComments($id);">$hide_text</span>
+<span id="hide-comments-total-{{$id}}" class="hide-comments-total">{{$num_comments}}</span> <span id="hide-comments-{{$id}}" class="hide-comments fakelink" onclick="showHideComments({{$id}});">{{$hide_text}}</span>
</div>
-<div id="collapsed-comments-$id" class="collapsed-comments" style="display: $display;">
+<div id="collapsed-comments-{{$id}}" class="collapsed-comments" style="display: {{$display}};">
diff --git a/view/tpl/install.tpl b/view/tpl/install.tpl
index b3a5f46ff..0e77aa97b 100644..100755
--- a/view/tpl/install.tpl
+++ b/view/tpl/install.tpl
@@ -1,10 +1,9 @@
+<h1>{{$title}}</h1>
+<h2>{{$pass}}</h2>
-<h1>$title</h1>
-<h2>$pass</h2>
+{{if $status}}
+<h3 class="error-message">{{$status}}</h3>
+{{/if}}
-{{ if $status }}
-<h3 class="error-message">$status</h3>
-{{ endif }}
-
-$text
+{{$text}}
diff --git a/view/tpl/install_checks.tpl b/view/tpl/install_checks.tpl
index 76287c4a3..2068df916 100644..100755
--- a/view/tpl/install_checks.tpl
+++ b/view/tpl/install_checks.tpl
@@ -1,24 +1,24 @@
-<h1>$title</h1>
-<h2>$pass</h2>
-<form action="$baseurl/index.php?q=setup" method="post">
+<h1>{{$title}}</h1>
+<h2>{{$pass}}</h2>
+<form action="{{$baseurl}}/index.php?q=setup" method="post">
<table>
-{{ for $checks as $check }}
- <tr><td>$check.title </td><td><span class="icon s22 {{if $check.status}}on{{else}}{{if $check.required}}off{{else}}yellow{{endif}}{{endif}}"></td><td>{{if $check.required}}(required){{endif}}</td></tr>
- {{if $check.help }}
- <tr><td colspan="3"><blockquote>$check.help</blockquote></td></tr>
- {{endif}}
-{{ endfor }}
+{{foreach $checks as $check}}
+ <tr><td>{{$check.title}} </td><td><span class="icon s22 {{if $check.status}}on{{else}}{{if $check.required}}off{{else}}yellow{{/if}}{{/if}}"></td><td>{{if $check.required}}(required){{/if}}</td></tr>
+ {{if $check.help}}
+ <tr><td colspan="3"><blockquote>{{$check.help}}</blockquote></td></tr>
+ {{/if}}
+{{/foreach}}
</table>
-{{ if $phpath }}
- <input type="hidden" name="phpath" value="$phpath">
-{{ endif }}
+{{if $phpath}}
+ <input type="hidden" name="phpath" value="{{$phpath}}">
+{{/if}}
-{{ if $passed }}
+{{if $passed}}
<input type="hidden" name="pass" value="2">
- <input type="submit" value="$next">
-{{ else }}
+ <input type="submit" value="{{$next}}">
+{{else}}
<input type="hidden" name="pass" value="1">
- <input type="submit" value="$reload">
-{{ endif }}
+ <input type="submit" value="{{$reload}}">
+{{/if}}
</form>
diff --git a/view/tpl/install_db.tpl b/view/tpl/install_db.tpl
index dd8ba1302..3968d2a54 100644..100755
--- a/view/tpl/install_db.tpl
+++ b/view/tpl/install_db.tpl
@@ -1,30 +1,30 @@
-
-<h1>$title</h1>
-<h2>$pass</h2>
+<h1>{{$title}}</h1>
+<h2>{{$pass}}</h2>
<p>
-$info_01<br>
-$info_02<br>
-$info_03
+{{$info_01}}<br>
+{{$info_02}}<br>
+{{$info_03}}
</p>
-{{ if $status }}
-<h3 class="error-message">$status</h3>
-{{ endif }}
+{{if $status}}
+<h3 class="error-message">{{$status}}</h3>
+{{/if}}
-<form id="install-form" action="$baseurl/setup" method="post">
+<form id="install-form" action="{{$baseurl}}/setup" method="post">
-<input type="hidden" name="phpath" value="$phpath" />
+<input type="hidden" name="phpath" value="{{$phpath}}" />
<input type="hidden" name="pass" value="3" />
-{{ inc field_input.tpl with $field=$dbhost }}{{endinc}}
-{{ inc field_input.tpl with $field=$dbuser }}{{endinc}}
-{{ inc field_password.tpl with $field=$dbpass }}{{endinc}}
-{{ inc field_input.tpl with $field=$dbdata }}{{endinc}}
+{{include file="field_input.tpl" field=$dbhost}}
+{{include file="field_input.tpl" field=$dbport}}
+{{include file="field_input.tpl" field=$dbuser}}
+{{include file="field_password.tpl" field=$dbpass}}
+{{include file="field_input.tpl" field=$dbdata}}
-<input id="install-submit" type="submit" name="submit" value="$submit" />
+<input id="install-submit" type="submit" name="submit" value="{{$submit}}" />
</form>
diff --git a/view/tpl/install_settings.tpl b/view/tpl/install_settings.tpl
index ba39b99c5..d6fc66c87 100644..100755
--- a/view/tpl/install_settings.tpl
+++ b/view/tpl/install_settings.tpl
@@ -1,27 +1,27 @@
+<h1>{{$title}}</h1>
+<h2>{{$pass}}</h2>
-<h1>$title</h1>
-<h2>$pass</h2>
+{{if $status}}
+<h3 class="error-message">{{$status}}</h3>
+{{/if}}
-{{ if $status }}
-<h3 class="error-message">$status</h3>
-{{ endif }}
+<form id="install-form" action="{{$baseurl}}/setup" method="post">
-<form id="install-form" action="$baseurl/setup" method="post">
-
-<input type="hidden" name="phpath" value="$phpath" />
-<input type="hidden" name="dbhost" value="$dbhost" />
-<input type="hidden" name="dbuser" value="$dbuser" />
-<input type="hidden" name="dbpass" value="$dbpass" />
-<input type="hidden" name="dbdata" value="$dbdata" />
+<input type="hidden" name="phpath" value="{{$phpath}}" />
+<input type="hidden" name="dbhost" value="{{$dbhost}}" />
+<input type="hidden" name="dbport" value="{{$dbport}}" />
+<input type="hidden" name="dbuser" value="{{$dbuser}}" />
+<input type="hidden" name="dbpass" value="{{$dbpass}}" />
+<input type="hidden" name="dbdata" value="{{$dbdata}}" />
<input type="hidden" name="pass" value="4" />
-{{ inc field_input.tpl with $field=$adminmail }}{{endinc}}
-{{ inc field_input.tpl with $field=$siteurl }}{{endinc}}
+{{include file="field_input.tpl" field=$adminmail}}
+{{include file="field_input.tpl" field=$siteurl}}
-$timezone
+{{$timezone}}
-<input id="install-submit" type="submit" name="submit" value="$submit" />
+<input id="install-submit" type="submit" name="submit" value="{{$submit}}" />
</form>
diff --git a/view/tpl/intros.tpl b/view/tpl/intros.tpl
index 6d1f1baa0..a4aed3bb8 100644..100755
--- a/view/tpl/intros.tpl
+++ b/view/tpl/intros.tpl
@@ -1,18 +1,17 @@
+<div class="intro-wrapper" id="intro-{{$contact_id}}" >
-<div class="intro-wrapper" id="intro-$contact_id" >
-
-<div class="intro-fullname" id="intro-fullname-$contact_id" >$fullname</div>
-<a class="intro-url-link" id="intro-url-link-$contact_id" href="$url" ><img id="photo-$contact_id" class="intro-photo" src="$photo" width="175" height=175" title="$fullname" alt="$fullname" /></a>
-<div class="intro-wrapper-end" id="intro-wrapper-end-$contact_id"></div>
+<div class="intro-fullname" id="intro-fullname-{{$contact_id}}" >{{$fullname}}</div>
+<a class="intro-url-link" id="intro-url-link-{{$contact_id}}" href="{{$url}}" ><img id="photo-{{$contact_id}}" class="intro-photo" src="{{$photo}}" width="175" height=175" title="{{$fullname}}" alt="{{$fullname}}" /></a>
+<div class="intro-wrapper-end" id="intro-wrapper-end-{{$contact_id}}"></div>
<form class="intro-form" action="intro" method="post">
-<input class="intro-submit-ignore" type="submit" name="submit" value="$ignore" />
-<input class="intro-submit-block" type="submit" name="submit" value="$block" />
-<input class="intro-submit-discard" type="submit" name="submit" value="$discard" />
-{{inc field_checkbox.tpl with $field=$hidden }}{{endinc}}
-{# {{ inc field_checkbox.tpl with $field=$activity }}{{endinc}} #}
-<input type="hidden" name="contact_id" value="$contact_id" >
+<input class="intro-submit-ignore" type="submit" name="submit" value="{{$ignore}}" />
+<input class="intro-submit-block" type="submit" name="submit" value="{{$block}}" />
+<input class="intro-submit-discard" type="submit" name="submit" value="{{$discard}}" />
+{{include file="field_checkbox.tpl" field=$hidden}}
+{{* {{include file="field_checkbox.tpl" field=$activity}} *}}
+<input type="hidden" name="contact_id" value="{{$contact_id}}" >
-<input class="intro-submit-approve" type="submit" name="submit" value="$approve" />
+<input class="intro-submit-approve" type="submit" name="submit" value="{{$approve}}" />
</form>
</div>
<div class="intro-end"></div>
diff --git a/view/tpl/intros_header.tpl b/view/tpl/intros_header.tpl
index 17afd0cbd..15096c7f8 100644..100755
--- a/view/tpl/intros_header.tpl
+++ b/view/tpl/intros_header.tpl
@@ -1 +1 @@
-<h3>$title</h3>
+<h3>{{$title}}</h3>
diff --git a/view/tpl/invite.tpl b/view/tpl/invite.tpl
index e00d27d4a..2b7ab9cfb 100644..100755
--- a/view/tpl/invite.tpl
+++ b/view/tpl/invite.tpl
@@ -1,13 +1,13 @@
<form action="invite" method="post" id="invite-form" >
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
<div id="invite-wrapper">
-<h3>$invite</h3>
+<h3>{{$invite}}</h3>
<div id="invite-recipient-text">
-$addr_text
+{{$addr_text}}
</div>
<div id="invite-recipient-textarea">
@@ -15,15 +15,15 @@ $addr_text
</div>
<div id="invite-message-text">
-$msg_text
+{{$msg_text}}
</div>
<div id="invite-message-textarea">
-<textarea id="invite-message" name="message" rows="10" cols="72" >$default_message</textarea>
+<textarea id="invite-message" name="message" rows="10" cols="72" >{{$default_message}}</textarea>
</div>
<div id="invite-submit-wrapper">
-<input type="submit" name="submit" value="$submit" />
+<input type="submit" name="submit" value="{{$submit}}" />
</div>
</div>
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl
index e4fb00b7a..810ec866f 100644..100755
--- a/view/tpl/jot-header.tpl
+++ b/view/tpl/jot-header.tpl
@@ -1,21 +1,20 @@
-
<script language="javascript" type="text/javascript">
var editor=false;
var textlen = 0;
-var plaintext = '$editselect';
+var plaintext = '{{$editselect}}';
function initEditor(cb){
if (editor==false){
- $("#profile-jot-text-loading").show();
+ $("#profile-jot-text-loading").spin('small');
if(plaintext == 'none') {
- $("#profile-jot-text-loading").hide();
+ $("#profile-jot-text-loading").spin(false);
$("#profile-jot-text").css({ 'height': 200, 'color': '#000' });
$("#profile-jot-text").contact_autocomplete(baseurl+"/acl");
editor = true;
- $("a#jot-perms-icon").fancybox({
- 'transitionIn' : 'elastic',
- 'transitionOut' : 'elastic'
+ $("a#jot-perms-icon").colorbox({
+ 'inline' : true,
+ 'transition' : 'elastic'
});
$(".jothidden").show();
if (typeof cb!="undefined") cb();
@@ -24,7 +23,7 @@ function initEditor(cb){
tinyMCE.init({
theme : "advanced",
mode : "specific_textareas",
- editor_selector: $editselect,
+ editor_selector: {{$editselect}},
auto_focus: "profile-jot-text",
plugins : "bbcode,paste,autoresize, inlinepopups",
theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
@@ -42,7 +41,7 @@ function initEditor(cb){
force_br_newlines : true,
forced_root_block : '',
convert_urls: false,
- content_css: "$baseurl/view/custom_tinymce.css",
+ content_css: "{{$baseurl}}/view/custom_tinymce.css",
theme_advanced_path : false,
file_browser_callback : "fcFileBrowser",
setup : function(ed) {
@@ -74,29 +73,11 @@ function initEditor(cb){
$('#profile-jot-desc').html('&nbsp;');
}
- //Character count
-
- if(textlen <= 140) {
- $('#character-counter').removeClass('red');
- $('#character-counter').removeClass('orange');
- $('#character-counter').addClass('grey');
- }
- if((textlen > 140) && (textlen <= 420)) {
- $('#character-counter').removeClass('grey');
- $('#character-counter').removeClass('red');
- $('#character-counter').addClass('orange');
- }
- if(textlen > 420) {
- $('#character-counter').removeClass('grey');
- $('#character-counter').removeClass('orange');
- $('#character-counter').addClass('red');
- }
- $('#character-counter').text(textlen);
});
ed.onInit.add(function(ed) {
ed.pasteAsPlainText = true;
- $("#profile-jot-text-loading").hide();
+ $("#profile-jot-text-loading").spin(false);
$(".jothidden").show();
if (typeof cb!="undefined") cb();
});
@@ -106,10 +87,10 @@ function initEditor(cb){
editor = true;
// setup acl popup
- $("a#jot-perms-icon").fancybox({
- 'transitionIn' : 'elastic',
- 'transitionOut' : 'elastic'
- });
+ $("a#jot-perms-icon").colorbox({
+ 'inline' : true,
+ 'transition' : 'elastic'
+ });
} else {
if (typeof cb!="undefined") cb();
}
@@ -122,9 +103,9 @@ function enableOnUser(){
}
</script>
-<script type="text/javascript" src="$baseurl/js/ajaxupload.js" ></script>
+<script type="text/javascript" src="{{$baseurl}}/js/ajaxupload.js" ></script>
<script>
- var ispublic = '$ispublic';
+ var ispublic = '{{$ispublic}}';
$(document).ready(function() {
@@ -134,23 +115,23 @@ function enableOnUser(){
var uploader = new window.AjaxUpload(
'wall-image-upload',
- { action: '$baseurl/wall_upload/$nickname',
+ { action: '{{$baseurl}}/wall_upload/{{$nickname}}',
name: 'userfile',
- onSubmit: function(file,ext) { $('#profile-rotator').show(); },
+ onSubmit: function(file,ext) { $('#profile-rotator').spin('tiny'); },
onComplete: function(file,response) {
addeditortext(response);
- $('#profile-rotator').hide();
+ $('#profile-rotator').spin(false);
}
}
);
var file_uploader = new window.AjaxUpload(
'wall-file-upload',
- { action: '$baseurl/wall_attach/$nickname',
+ { action: '{{$baseurl}}/wall_attach/{{$nickname}}',
name: 'userfile',
- onSubmit: function(file,ext) { $('#profile-rotator').show(); },
+ onSubmit: function(file,ext) { $('#profile-rotator').spin('tiny'); },
onComplete: function(file,response) {
addeditortext(response);
- $('#profile-rotator').hide();
+ $('#profile-rotator').spin(false);
}
}
);
@@ -177,26 +158,26 @@ function enableOnUser(){
}
function jotGetLink() {
- reply = prompt("$linkurl");
+ reply = prompt("{{$linkurl}}");
if(reply && reply.length) {
reply = bin2hex(reply);
- $('#profile-rotator').show();
- $.get('$baseurl/parse_url?binurl=' + reply, function(data) {
+ $('#profile-rotator').spin('tiny');
+ $.get('{{$baseurl}}/parse_url?binurl=' + reply, function(data) {
addeditortext(data);
- $('#profile-rotator').hide();
+ $('#profile-rotator').spin(false);
});
}
}
function jotVideoURL() {
- reply = prompt("$vidurl");
+ reply = prompt("{{$vidurl}}");
if(reply && reply.length) {
addeditortext('[video]' + reply + '[/video]');
}
}
function jotAudioURL() {
- reply = prompt("$audurl");
+ reply = prompt("{{$audurl}}");
if(reply && reply.length) {
addeditortext('[audio]' + reply + '[/audio]');
}
@@ -204,7 +185,7 @@ function enableOnUser(){
function jotGetLocation() {
- reply = prompt("$whereareu", $('#jot-location').val());
+ reply = prompt("{{$whereareu}}", $('#jot-location').val());
if(reply && reply.length) {
$('#jot-location').val(reply);
}
@@ -213,12 +194,12 @@ function enableOnUser(){
function jotShare(id) {
if ($('#jot-popup').length != 0) $('#jot-popup').show();
- $('#like-rotator-' + id).show();
- $.get('$baseurl/share/' + id, function(data) {
+ $('#like-rotator-' + id).spin('tiny');
+ $.get('{{$baseurl}}/share/' + id, function(data) {
if (!editor) $("#profile-jot-text").val("");
initEditor(function(){
addeditortext(data);
- $('#like-rotator-' + id).hide();
+ $('#like-rotator-' + id).spin(false);
$(window).scrollTop(0);
});
@@ -237,19 +218,19 @@ function enableOnUser(){
event.preventDefault();
if(reply && reply.length) {
reply = bin2hex(reply);
- $('#profile-rotator').show();
- $.get('$baseurl/parse_url?binurl=' + reply, function(data) {
+ $('#profile-rotator').spin('tiny');
+ $.get('{{$baseurl}}/parse_url?binurl=' + reply, function(data) {
if (!editor) $("#profile-jot-text").val("");
initEditor(function(){
addeditortext(data);
- $('#profile-rotator').hide();
+ $('#profile-rotator').spin(false);
});
});
}
}
function itemTag(id) {
- reply = prompt("$term");
+ reply = prompt("{{$term}}");
if(reply && reply.length) {
reply = reply.replace('#','');
if(reply.length) {
@@ -257,7 +238,7 @@ function enableOnUser(){
commentBusy = true;
$('body').css('cursor', 'wait');
- $.get('$baseurl/tagger/' + id + '?term=' + reply);
+ $.get('{{$baseurl}}/tagger/' + id + '?term=' + reply);
if(timer) clearTimeout(timer);
timer = setTimeout(NavUpdate,3000);
liking = 1;
@@ -270,7 +251,7 @@ function enableOnUser(){
var bordercolor = $("input").css("border-color");
$.get('filer/', function(data){
- $.fancybox(data);
+ $.colorbox({html:data});
$("#id_term").keypress(function(){
$(this).css("border-color",bordercolor);
})
@@ -284,11 +265,11 @@ function enableOnUser(){
if(reply && reply.length) {
commentBusy = true;
$('body').css('cursor', 'wait');
- $.get('$baseurl/filer/' + id + '?term=' + reply, NavUpdate);
+ $.get('{{$baseurl}}/filer/' + id + '?term=' + reply, NavUpdate);
// if(timer) clearTimeout(timer);
// timer = setTimeout(NavUpdate,3000);
liking = 1;
- $.fancybox.close();
+ $.colorbox.close();
} else {
$("#id_term").css("border-color","#FF0000");
}
@@ -312,7 +293,7 @@ function enableOnUser(){
tinyMCE.execCommand('mceInsertRawHTML',false,data);
}
- $geotag
+ {{$geotag}}
</script>
diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl
index 29c420900..9a93e5291 100644..100755
--- a/view/tpl/jot.tpl
+++ b/view/tpl/jot.tpl
@@ -1,79 +1,82 @@
-
<div id="profile-jot-wrapper" >
- <div id="profile-jot-banner-wrapper">
- <div id="profile-jot-desc" >&nbsp;</div>
- <div id="character-counter" class="grey"></div>
- </div>
- <div id="profile-jot-banner-end"></div>
- <form id="profile-jot-form" action="$action" method="post" >
- <input type="hidden" name="type" value="$ptyp" />
- <input type="hidden" name="profile_uid" value="$profile_uid" />
- <input type="hidden" name="return" value="$return_path" />
- <input type="hidden" name="location" id="jot-location" value="$defloc" />
+ <form id="profile-jot-form" action="{{$action}}" method="post" >
+ <input type="hidden" name="type" value="{{$ptyp}}" />
+ <input type="hidden" name="profile_uid" value="{{$profile_uid}}" />
+ <input type="hidden" name="return" value="{{$return_path}}" />
+ <input type="hidden" name="location" id="jot-location" value="{{$defloc}}" />
<input type="hidden" name="coord" id="jot-coord" value="" />
- <input type="hidden" name="post_id" value="$post_id" />
+ <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" />
- <div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
- {{ if $catsenabled }}
- <div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
- {{ endif }}
+
+ {{$mimeselect}}
+ {{$layoutselect}}
+
+ <div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="{{$placeholdertitle}}" value="{{$title}}" class="jothidden" style="display:none"></div>
+ {{if $catsenabled}}
+ <div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" class="jothidden" style="display:none" /></div>
+ {{/if}}
+ {{if $webpage}}
+ <div id="jot-pagetitle-wrap"><input name="pagetitle" id="jot-pagetitle" type="text" placeholder="{{$placeholdpagetitle}}" value="{{$pagetitle}}" class="jothidden" style="display:none" /></div>
+ {{/if}}
<div id="jot-text-wrap">
- <img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
- <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>
+ <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{if $content}}{{$content}}{{else}}{{$share}}{{/if}}</textarea>
</div>
+ <div id="profile-jot-text-loading"></div>
<div id="profile-jot-submit-wrapper" class="jothidden">
- <input type="submit" id="profile-jot-submit" name="submit" value="$share" />
+ <input type="submit" id="profile-jot-submit" name="submit" value="{{$share}}" />
- <div id="profile-upload-wrapper" style="display: $visitor;" >
- <div id="wall-image-upload-div" ><a href="#" onclick="return false;" id="wall-image-upload" class="icon camera" title="$upload"></a></div>
+ <div id="profile-upload-wrapper" style="display: {{$visitor}};" >
+ <div id="wall-image-upload-div" ><a href="#" onclick="return false;" id="wall-image-upload" class="icon camera" title="{{$upload}}"></a></div>
</div>
- <div id="profile-attach-wrapper" style="display: $visitor;" >
- <div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="icon attach" title="$attach"></a></div>
+ <div id="profile-attach-wrapper" style="display: {{$visitor}};" >
+ <div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="icon attach" title="{{$attach}}"></a></div>
</div>
- <div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
- <a id="profile-link" class="icon link" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
+ <div id="profile-link-wrapper" style="display: {{$visitor}};" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
+ <a id="profile-link" class="icon link" title="{{$weblink}}" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
</div>
- <div id="profile-video-wrapper" style="display: $visitor;" >
- <a id="profile-video" class="icon video" title="$video" onclick="jotVideoURL();return false;"></a>
+ <div id="profile-video-wrapper" style="display: {{$visitor}};" >
+ <a id="profile-video" class="icon video" title="{{$video}}" onclick="jotVideoURL();return false;"></a>
</div>
- <div id="profile-audio-wrapper" style="display: $visitor;" >
- <a id="profile-audio" class="icon audio" title="$audio" onclick="jotAudioURL();return false;"></a>
+ <div id="profile-audio-wrapper" style="display: {{$visitor}};" >
+ <a id="profile-audio" class="icon audio" title="{{$audio}}" onclick="jotAudioURL();return false;"></a>
</div>
- <div id="profile-location-wrapper" style="display: $visitor;" >
- <a id="profile-location" class="icon globe" title="$setloc" onclick="jotGetLocation();return false;"></a>
+ <div id="profile-location-wrapper" style="display: {{$visitor}};" >
+ <a id="profile-location" class="icon globe" title="{{$setloc}}" onclick="jotGetLocation();return false;"></a>
</div>
<div id="profile-nolocation-wrapper" style="display: none;" >
- <a id="profile-nolocation" class="icon noglobe" title="$noloc" onclick="jotClearLocation();return false;"></a>
- </div>
+ <a id="profile-nolocation" class="icon noglobe" title="{{$noloc}}" onclick="jotClearLocation();return false;"></a>
+ </div>
+ <div id="profile-rotator-wrapper" style="display: {{$visitor}};" >
+ <div id="profile-rotator"></div>
+ </div>
- <div id="profile-jot-perms" class="profile-jot-perms" style="display: $pvisit;" >
- <a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="icon $lockstate" title="$permset" ></a>$bang
+ {{if $showacl}}
+ <div id="profile-jot-perms" class="profile-jot-perms" style="display: {{$pvisit}};" >
+ <a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="icon {{$lockstate}}" title="{{$permset}}" ></a>{{$bang}}
</div>
+ {{/if}}
- {{ if $preview }}<span onclick="preview_post();" id="jot-preview-link" class="fakelink">$preview</span>{{ endif }}
+ {{if $preview}}<span onclick="preview_post();" id="jot-preview-link" class="fakelink">{{$preview}}</span>{{/if}}
<div id="profile-jot-perms-end"></div>
<div id="profile-jot-plugin-wrapper">
- $jotplugins
+ {{$jotplugins}}
</div>
- <div id="profile-rotator-wrapper" style="display: $visitor;" >
- <img id="profile-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
- </div>
-
<div id="jot-preview-content" style="display:none;"></div>
<div style="display: none;">
<div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
- $acl
+ {{$acl}}
<hr style="clear:both"/>
- $jotnets
+ {{$jotnets}}
</div>
</div>
@@ -83,4 +86,4 @@
<div id="profile-jot-end"></div>
</form>
</div>
- {{ if $content }}<script>initEditor();</script>{{ endif }}
+ {{if $content}}<script>initEditor();</script>{{/if}}
diff --git a/view/tpl/jot_geotag.tpl b/view/tpl/jot_geotag.tpl
index b0f71e73b..7a398b612 100644..100755
--- a/view/tpl/jot_geotag.tpl
+++ b/view/tpl/jot_geotag.tpl
@@ -1,4 +1,3 @@
-
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
$('#jot-coord').val(position.coords.latitude + ' ' + position.coords.longitude);
diff --git a/view/tpl/js_strings.tpl b/view/tpl/js_strings.tpl
index babb1b219..b61c69b90 100644..100755
--- a/view/tpl/js_strings.tpl
+++ b/view/tpl/js_strings.tpl
@@ -1,33 +1,32 @@
-
<script>
var aStr = {
- 'delitem' : '$delitem',
- 'comment' : '$comment',
- 'showmore' : '$showmore',
- 'showfewer' : '$showfewer',
- 'pwshort' : '$pwshort',
- 'pwnomatch' : '$pwnomatch',
- 'everybody' : '$everybody',
+ 'delitem' : '{{$delitem}}',
+ 'comment' : '{{$comment}}',
+ 'showmore' : '{{$showmore}}',
+ 'showfewer' : '{{$showfewer}}',
+ 'pwshort' : '{{$pwshort}}',
+ 'pwnomatch' : '{{$pwnomatch}}',
+ 'everybody' : '{{$everybody}}',
- 't01' : $t01,
- 't02' : $t02,
- 't03' : '$t03',
- 't04' : '$t04',
- 't05' : '$t05',
- 't06' : '$t06',
- 't07' : '$t07',
- 't08' : '$t08',
- 't09' : '$t09',
- 't10' : '$t10',
- 't11' : '$t11',
- 't12' : '$t12',
- 't13' : '$t13',
- 't14' : '$t14',
- 't15' : '$t15',
- 't16' : '$t16',
- 't17' : '$t17',
+ 't01' : {{$t01}},
+ 't02' : {{$t02}},
+ 't03' : '{{$t03}}',
+ 't04' : '{{$t04}}',
+ 't05' : '{{$t05}}',
+ 't06' : '{{$t06}}',
+ 't07' : '{{$t07}}',
+ 't08' : '{{$t08}}',
+ 't09' : '{{$t09}}',
+ 't10' : '{{$t10}}',
+ 't11' : '{{$t11}}',
+ 't12' : '{{$t12}}',
+ 't13' : '{{$t13}}',
+ 't14' : '{{$t14}}',
+ 't15' : '{{$t15}}',
+ 't16' : '{{$t16}}',
+ 't17' : '{{$t17}}',
};
</script>
diff --git a/view/tpl/lang_selector.tpl b/view/tpl/lang_selector.tpl
index e777a0a86..945cbf51e 100644..100755
--- a/view/tpl/lang_selector.tpl
+++ b/view/tpl/lang_selector.tpl
@@ -1,10 +1,10 @@
-<div id="lang-select-icon" class="icon s22 language" title="$title" onclick="openClose('language-selector');" ></div>
+<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
<div id="language-selector" style="display: none;" >
<form action="#" method="post" >
<select name="system_language" onchange="this.form.submit();" >
- {{ for $langs.0 as $v=>$l }}
- <option value="$v" {{if $v==$langs.1}}selected="selected"{{endif}}>$l</option>
- {{ endfor }}
+ {{foreach $langs.0 as $v=>$l}}
+ <option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
+ {{/foreach}}
</select>
</form>
</div>
diff --git a/view/tpl/like_noshare.tpl b/view/tpl/like_noshare.tpl
index 2651ea1f8..d2cf0f742 100644..100755
--- a/view/tpl/like_noshare.tpl
+++ b/view/tpl/like_noshare.tpl
@@ -1,5 +1,5 @@
-<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id">
- <a href="#" class="icon like" title="$likethis" onclick="dolike($id,'like'); return false"></a>
- <a href="#" class="icon dislike" title="$nolike" onclick="dolike($id,'dislike'); return false"></a>
- <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
+<div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$id}}">
+ <a href="#" class="icon like" title="{{$likethis}}" onclick="dolike({{$id}},'like'); return false"></a>
+ <a href="#" class="icon dislike" title="{{$nolike}}" onclick="dolike({{$id}},'dislike'); return false"></a>
+ <div id="like-rotator-{{$id}}" class="like-rotator"></div>
</div>
diff --git a/view/tpl/login.tpl b/view/tpl/login.tpl
index 149c46e4c..3ca118590 100644..100755
--- a/view/tpl/login.tpl
+++ b/view/tpl/login.tpl
@@ -1,31 +1,30 @@
-
-<form action="$dest_url" id="$form_id" method="post" >
+<form action="{{$dest_url}}" id="{{$form_id}}" method="post" >
<input type="hidden" name="auth-params" value="login" />
<div id="login_standard">
- {{ inc field_input.tpl with $field=$lname }}{{ endinc }}
- {{ inc field_password.tpl with $field=$lpassword }}{{ endinc }}
+ {{include file="field_input.tpl" field=$lname}}
+ {{include file="field_password.tpl" field=$lpassword}}
</div>
<div id="login-extra-links">
- {{ if $register }}<a href="$register.link" title="$register.title" id="register-link">$register.desc</a>{{ endif }}
- <a href="lostpass" title="$lostpass" id="lost-password-link" >$lostlink</a>
+ {{if $register}}<a href="{{$register.link}}" title="{{$register.title}}" id="register-link">{{$register.desc}}</a>{{/if}}
+ <a href="lostpass" title="{{$lostpass}}" id="lost-password-link" >{{$lostlink}}</a>
</div>
- {{ inc field_checkbox.tpl with $field=$remember }}{{ endinc }}
+ {{include file="field_checkbox.tpl" field=$remember}}
<div id="login-standard-end"></div>
<div id="login-submit-wrapper" >
- <input type="submit" name="submit" id="login-submit-button" value="$login" />
+ <input type="submit" name="submit" id="login-submit-button" value="{{$login}}" />
</div>
- {{ for $hiddens as $k=>$v }}
- <input type="hidden" name="$k" value="$v" />
- {{ endfor }}
+ {{foreach $hiddens as $k=>$v}}
+ <input type="hidden" name="{{$k}}" value="{{$v}}" />
+ {{/foreach}}
</form>
-<script type="text/javascript"> $(document).ready(function() { $("#id_$lname.0").focus();} );</script>
+<script type="text/javascript"> $(document).ready(function() { $("#id_{{$lname.0}}").focus();} );</script>
diff --git a/view/tpl/logout.tpl b/view/tpl/logout.tpl
index efc971df8..7548ed196 100644..100755
--- a/view/tpl/logout.tpl
+++ b/view/tpl/logout.tpl
@@ -1,6 +1,6 @@
-<form action="$dest_url" method="post" >
+<form action="{{$dest_url}}" method="post" >
<div class="logout-wrapper">
<input type="hidden" name="auth-params" value="logout" />
-<input type="submit" name="submit" id="logout-button" value="$logout" />
+<input type="submit" name="submit" id="logout-button" value="{{$logout}}" />
</div>
</form>
diff --git a/view/tpl/lostpass.tpl b/view/tpl/lostpass.tpl
index cd3644157..f6fdb28d7 100644..100755
--- a/view/tpl/lostpass.tpl
+++ b/view/tpl/lostpass.tpl
@@ -1,17 +1,17 @@
-<h3>$title</h3>
+<h3>{{$title}}</h3>
<p id="lostpass-desc">
-$desc
+{{$desc}}
</p>
<form action="lostpass" method="post" >
<div id="login-name-wrapper">
- <label for="login-name" id="label-login-name">$name</label>
+ <label for="login-name" id="label-login-name">{{$name}}</label>
<input type="text" maxlength="60" name="login-name" id="login-name" value="" />
</div>
<div id="login-extra-end"></div>
<div id="login-submit-wrapper" >
- <input type="submit" name="submit" id="lostpass-submit-button" value="$submit" />
+ <input type="submit" name="submit" id="lostpass-submit-button" value="{{$submit}}" />
</div>
<div id="login-submit-end"></div>
</form>
diff --git a/view/tpl/magicsig.tpl b/view/tpl/magicsig.tpl
deleted file mode 100644
index 75f9bc475..000000000
--- a/view/tpl/magicsig.tpl
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<me:env xmlns:me="http://salmon-protocol.org/ns/magic-env">
-<me:data type="application/atom+xml">
-$data
-</me:data>
-<me:encoding>$encoding</me:encoding>
-<me:alg>$algorithm</me:alg>
-<me:sig key_id="$keyhash">$signature</me:sig>
-</me:env>
diff --git a/view/tpl/mail_conv.tpl b/view/tpl/mail_conv.tpl
index fe115d223..bfa9491f4 100644..100755
--- a/view/tpl/mail_conv.tpl
+++ b/view/tpl/mail_conv.tpl
@@ -1,13 +1,13 @@
<div class="mail-conv-outside-wrapper">
<div class="mail-conv-sender" >
- <a href="$mail.from_url" class="mail-conv-sender-url" ><img class="mframe mail-conv-sender-photo$mail.sparkle" src="$mail.from_photo" heigth="80" width="80" alt="$mail.from_name" /></a>
- <div class="mail-conv-sender-name" >$mail.from_name</div>
+ <a href="{{$mail.from_url}}" class="mail-conv-sender-url" ><img class="mframe mail-conv-sender-photo{{$mail.sparkle}}" src="{{$mail.from_photo}}" heigth="80" width="80" alt="{{$mail.from_name}}" /></a>
+ <div class="mail-conv-sender-name" >{{$mail.from_name}}</div>
</div>
<div class="mail-conv-detail" >
- <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" class="icon drophide delete-icon mail-list-delete-icon" onclick="return confirmDelete();" title="$mail.delete" id="mail-conv-delete-icon-$mail.id" class="mail-conv-delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></div><div class="mail-conv-delete-end"></div>
+ <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}}" class="icon drophide delete-icon mail-list-delete-icon" onclick="return confirmDelete();" title="{{$mail.delete}}" id="mail-conv-delete-icon-{{$mail.id}}" class="mail-conv-delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></div><div class="mail-conv-delete-end"></div>
<div class="mail-conv-outside-wrapper-end"></div>
</div>
</div>
diff --git a/view/tpl/mail_display.tpl b/view/tpl/mail_display.tpl
index 8fbc12929..7280f1e84 100644..100755
--- a/view/tpl/mail_display.tpl
+++ b/view/tpl/mail_display.tpl
@@ -1,10 +1,11 @@
+<div class="generic-content-wrapper">
+{{foreach $mails as $mail}}
+ {{include file="mail_conv.tpl"}}
+{{/foreach}}
-{{ for $mails as $mail }}
- {{ inc mail_conv.tpl }}{{endinc}}
-{{ endfor }}
-
-{{ if $canreply }}
-{{ inc prv_message.tpl }}{{ endinc }}
-{{ else }}
-$unknown_text
-{{endif }} \ No newline at end of file
+{{if $canreply}}
+{{include file="prv_message.tpl"}}
+{{else}}
+{{$unknown_text}}
+{{/if}}
+</div>
diff --git a/view/tpl/mail_head.tpl b/view/tpl/mail_head.tpl
index afb65f537..1cd7145e7 100644..100755
--- a/view/tpl/mail_head.tpl
+++ b/view/tpl/mail_head.tpl
@@ -1,3 +1,3 @@
-<h3>$messages</h3>
+<h3>{{$messages}}</h3>
-$tab_content
+{{$tab_content}}
diff --git a/view/tpl/mail_list.tpl b/view/tpl/mail_list.tpl
index 4417d1863..4d8a744ac 100644..100755
--- a/view/tpl/mail_list.tpl
+++ b/view/tpl/mail_list.tpl
@@ -1,19 +1,7 @@
-<div class="mail-list-outside-wrapper">
- <div class="mail-list-sender" >
- <a href="$from_url" class="mail-list-sender-url" ><img class="mail-list-sender-photo" src="$from_photo" height="32" width="32" alt="$from_name" /></a>
- <div class="mail-list-sender-name" >$from_name</div>
- </div>
- <div class="mail-list-recip" >
- <a href="$to_url" class="mail-list-recip-url" ><img class="mail-list-recip-photo" src="$to_photo" height="32" width="32" alt="$to_name" /></a>
- <div class="mail-list-recip-name" >$to_name</div>
- </div>
- <div class="mail-list-date">$date</div>
- <div class="mail-list-subject"><a href="message/$id" class="mail-list-link">$subject</a></div>
- <div class="mail-list-delete-wrapper" id="mail-list-delete-wrapper-$id" >
- <a href="message/dropconv/$id" onclick="return confirmDelete();" title="$delete" class="icon drophide mail-list-delete delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>
- </div>
+<div class="generic-content-wrapper" id="mail-list-wrapper">
+ <span class="mail-delete"><a href="message/dropconv/{{$id}}" onclick="return confirmDelete();" title="{{$delete}}" class="icon drophide mail-list-delete delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></span>
+ <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" title="{{$date}}">{{$date}}</span>
</div>
-</div>
-<div class="mail-list-delete-end"></div>
-
-<div class="mail-list-outside-wrapper-end"></div>
diff --git a/view/tpl/main_slider.tpl b/view/tpl/main_slider.tpl
index 662677684..fbc290df1 100644..100755
--- a/view/tpl/main_slider.tpl
+++ b/view/tpl/main_slider.tpl
@@ -1,17 +1,27 @@
-<div id="main-slider" class="slider" ><input id="main-range" type="text" name="cminmax" value="$val" /></div>
+<div id="main-slider" class="slider" ><input id="main-range" type="text" name="cminmax" value="{{$val}}" /></div>
<script>
- $("#main-range").slider({ from: 0, to: 99, step: 1, scale: ['$me', '|', '$intimate', '|', '$friends', '|', '$oldfriends', '|', '$acquaintances', '|', '$world' ], onstatechange: function(v) {
- var carr = v.split(";");
- bParam_cmin = carr[0];
- bParam_cmax = carr[1];
- networkRefresh();
- } });
+ var old_cmin = 0;
+ var old_cmax = 99;
+ $("#main-range").slider({ from: 0, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], onstatechange: function(v) {
+ var carr = v.split(";");
+ if(carr[0] != bParam_cmin) {
+ old_cmin = bParam_cmin;
+ bParam_cmin = carr[0];
+ }
+ if(carr[1] != bParam_cmax) {
+ old_cmax = bParam_cmax;
+ bParam_cmax = carr[1];
+ }
+ networkRefresh();
+ } });
var slideTimer = null;
function networkRefresh() {
if((document.readyState !== "complete") || (slideTimer !== null))
return;
- setTimeout(function() { $("#profile-jot-text-loading").show(); }, 1000 );
+ if((bParam_cmin == old_cmin) && (bParam_cmax == old_cmax))
+ return;
+ setTimeout(function() { $("#profile-jot-text-loading").spin('small'); }, 1000 );
slideTimer = setTimeout(networkTimerRefresh,2000);
}
diff --git a/view/tpl/match.tpl b/view/tpl/match.tpl
index b052845ae..0688ca26b 100644..100755
--- a/view/tpl/match.tpl
+++ b/view/tpl/match.tpl
@@ -1,16 +1,16 @@
<div class="profile-match-wrapper">
<div class="profile-match-photo">
- <a href="$url">
- <img src="$photo" alt="$name" title="$name[$tags]" />
+ <a href="{{$url}}">
+ <img src="{{$photo}}" alt="{{$name}}" title="{{$name}}[{{$tags}}]" />
</a>
</div>
<div class="profile-match-break"></div>
<div class="profile-match-name">
- <a href="$url" title="$name[$tags]">$name</a>
+ <a href="{{$url}}" title="{{$name}}[{{$tags}}]">{{$name}}</a>
</div>
<div class="profile-match-end"></div>
- {{ if $connlnk }}
- <div class="profile-match-connect"><a href="$connlnk" title="$conntxt">$conntxt</a></div>
- {{ endif }}
+ {{if $connlnk}}
+ <div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}">{{$conntxt}}</a></div>
+ {{/if}}
</div>
diff --git a/view/tpl/menuedit.tpl b/view/tpl/menuedit.tpl
new file mode 100644
index 000000000..ea9e775e2
--- /dev/null
+++ b/view/tpl/menuedit.tpl
@@ -0,0 +1,21 @@
+
+<h2>{{$header}}</h2>
+
+{{if $menu_id}}
+<a href="mitem/{{$menu_id}}" title="{{$hintedit}}">{{$editcontents}}</a>
+{{/if}}
+
+<form id="menuedit" action="menu{{if $menu_id}}/{{$menu_id}}{{/if}}" method="post" >
+
+{{if $menu_id}}
+<input type="hidden" name="menu_id" value="{{$menu_id}}" />
+{{/if}}
+
+{{include file="field_input.tpl" field=$menu_name}}
+{{include file="field_input.tpl" field=$menu_desc}}
+
+<div class="menuedit-submit-wrapper" >
+<input type="submit" name="submit" class="menuedit-submit" value="{{$submit}}" />
+</div>
+
+</form>
diff --git a/view/tpl/menulist.tpl b/view/tpl/menulist.tpl
new file mode 100644
index 000000000..19428aca2
--- /dev/null
+++ b/view/tpl/menulist.tpl
@@ -0,0 +1,16 @@
+<h1>{{$title}}</h1>
+
+<a href="menu/new" title="{{$hintnew}}">{{$hintnew}}</a>
+
+<br />
+
+{{if $menus }}
+<ul id="menulist">
+{{foreach $menus as $m }}
+<li><a href="menu/{{$m.menu_id}}" title="{{$hintedit}}">{{$edit}}</a> | <a href="menu/{{$m.menu_id}}/drop" title={{$hintdrop}}>{{$drop}}</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="mitem/{{$m.menu_id}}/new" title="{{$hintcontent}}">{{$m.menu_name}}</a></li>
+{{/foreach}}
+</ul>
+{{/if}}
+
+
+
diff --git a/view/tpl/message_side.tpl b/view/tpl/message_side.tpl
index fce771bd5..4db427fa7 100644..100755
--- a/view/tpl/message_side.tpl
+++ b/view/tpl/message_side.tpl
@@ -1,10 +1,11 @@
<div id="message-sidebar" class="widget">
- <div id="message-new"><a href="$new.url" class="{{ if $new.sel }}newmessage-selected{{ endif }}">$new.label</a> </div>
+ <div id="message-check"><a href="{{$check.url}}" class="{{if $check.sel}}checkmessage-selected{{/if}}">{{$check.label}}</a> </div>
+ <div id="message-new"><a href="{{$new.url}}" class="{{if $new.sel}}newmessage-selected{{/if}}">{{$new.label}}</a> </div>
<ul class="message-ul">
- {{ for $tabs as $t }}
- <li class="tool"><a href="$t.url" class="message-link{{ if $t.sel }}message-selected{{ endif }}">$t.label</a></li>
- {{ endfor }}
+ {{foreach $tabs as $t}}
+ <li class="tool"><a href="{{$t.url}}" class="message-link{{if $t.sel}}message-selected{{/if}}">{{$t.label}}</a></li>
+ {{/foreach}}
</ul>
</div>
diff --git a/view/tpl/micropro_img.tpl b/view/tpl/micropro_img.tpl
index 06df22d7b..23b7bd281 100644..100755
--- a/view/tpl/micropro_img.tpl
+++ b/view/tpl/micropro_img.tpl
@@ -1 +1 @@
-<div class="contact-block-div{{if $class}} $class{{endif}}"><a class="contact-block-link{{if $class}} $class{{endif}}{{if $click}} fakelink{{endif}}" href="{{if $click}}#{{else}}$url{{endif}}" {{if $click}}onclick="$click"{{endif}}><img class="contact-block-img{{if $class}} $class{{endif}}" src="$photo" title="$title" alt="$name" /></a></div>
+<div class="contact-block-div{{if $class}} {{$class}}{{/if}}"><a class="contact-block-link{{if $class}} {{$class}}{{/if}}{{if $click}} fakelink{{/if}}" href="{{if $click}}#{{else}}{{$url}}{{/if}}" {{if $click}}onclick="{{$click}}"{{/if}}><img class="contact-block-img{{if $class}} {{$class}}{{/if}}" src="{{$photo}}" title="{{$title}}" alt="{{$name}}" /></a></div>
diff --git a/view/tpl/micropro_txt.tpl b/view/tpl/micropro_txt.tpl
index 6a6ef6392..295e7940d 100644..100755
--- a/view/tpl/micropro_txt.tpl
+++ b/view/tpl/micropro_txt.tpl
@@ -1 +1 @@
-<div class="contact-block-textdiv{{if $class}} $class{{endif}}"><a class="contact-block-link{{if $class}} $class{{endif}}{{if $click}} fakelink{{endif}}" href="{{if $click}}#{{else}}$url{{endif}}" {{if $click}}onclick="$click"{{endif}} title="$title">$name</a></div>
+<div class="contact-block-textdiv{{if $class}} {{$class}}{{/if}}"><a class="contact-block-link{{if $class}} {{$class}}{{/if}}{{if $click}} fakelink{{/if}}" href="{{if $click}}#{{else}}{{$url}}{{/if}}" {{if $click}}onclick="{{$click}}"{{/if}} title="{{$title}}">{{$name}}</a></div>
diff --git a/view/tpl/mitemedit.tpl b/view/tpl/mitemedit.tpl
new file mode 100644
index 000000000..ef61be809
--- /dev/null
+++ b/view/tpl/mitemedit.tpl
@@ -0,0 +1,21 @@
+
+<h2>{{$header}}</h2>
+
+<form id="mitemedit" action="mitem/{{$menu_id}}{{if $mitem_id}}/{{$mitem_id}}{{/if}}" method="post" >
+
+<input type="hidden" name="menu_id" value="{{$menu_id}}" />
+
+{{if $mitem_id}}
+<input type="hidden" name="mitem_id" value="{{$mitem_id}}" />
+{{/if}}
+
+{{include file="field_input.tpl" field=$mitem_desc}}
+{{include file="field_input.tpl" field=$mitem_link}}
+{{include file="field_input.tpl" field=$mitem_order}}
+{{include file="field_checkbox.tpl" field=$usezid}}
+{{include file="field_checkbox.tpl" field=$newwin}}
+<div class="mitemedit-submit-wrapper" >
+<input type="submit" name="submit" class="mitemedit-submit" value="{{$submit}}" />
+</div>
+
+</form>
diff --git a/view/tpl/mitemlist.tpl b/view/tpl/mitemlist.tpl
new file mode 100644
index 000000000..057665d49
--- /dev/null
+++ b/view/tpl/mitemlist.tpl
@@ -0,0 +1,18 @@
+<h1>{{$title}}</h1>
+<h2>{{$menudesc}} ({{$menuname}})</h2>
+
+<a href="menu/{{$menu_id}}" title="{{$hintmenu}}">{{$edmenu}}</a><br />
+<a href="mitem/{{$menu_id}}/new" title="{{$hintnew}}">{{$hintnew}}</a>
+
+<br />
+
+{{if $mlist }}
+<ul id="mitemlist">
+{{foreach $mlist as $m }}
+<li><a href="mitem/{{$menu_id}}/{{$m.mitem_id}}" title="{{$hintedit}}">{{$edit}}</a> | <a href="mitem/{{$menu_id}}/{{$m.mitem_id}}/drop" title={{$hintdrop}}>{{$drop}}</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="mitem/{{$menu_id}}/{{$m.mitem_id}}" title="{{$hintcontent}}">{{$m.mitem_desc}}</a> ({{$m.mitem_link}})</li>
+{{/foreach}}
+</ul>
+{{/if}}
+
+
+
diff --git a/view/tpl/moderated_comment.tpl b/view/tpl/moderated_comment.tpl
deleted file mode 100644
index 911c35f33..000000000
--- a/view/tpl/moderated_comment.tpl
+++ /dev/null
@@ -1,34 +0,0 @@
- <div class="comment-wwedit-wrapper" id="comment-edit-wrapper-$id" style="display: block;">
- <form class="comment-edit-form" id="comment-edit-form-$id" action="item" method="post" onsubmit="post_comment($id); return false;">
- <input type="hidden" name="type" value="$type" />
- <input type="hidden" name="profile_uid" value="$profile_uid" />
- <input type="hidden" name="parent" value="$parent" />
- <input type="hidden" name="return" value="$return_path" />
- <input type="hidden" name="jsreload" value="$jsreload" />
- <input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" />
-
- <div class="comment-edit-photo" id="comment-edit-photo-$id" >
- <a class="comment-edit-photo-link" href="$mylink" title="$mytitle"><img class="my-comment-photo" src="$myphoto" alt="$mytitle" title="$mytitle" /></a>
- </div>
- <div class="comment-edit-photo-end"></div>
- <div id="mod-cmnt-wrap-$id" class="mod-cmnt-wrap" style="display:none">
- <div id="mod-cmnt-name-lbl-$id" class="mod-cmnt-name-lbl">$lbl_modname</div>
- <input type="text" id="mod-cmnt-name-$id" class="mod-cmnt-name" name="mod-cmnt-name" value="$modname" />
- <div id="mod-cmnt-email-lbl-$id" class="mod-cmnt-email-lbl">$lbl_modemail</div>
- <input type="text" id="mod-cmnt-email-$id" class="mod-cmnt-email" name="mod-cmnt-email" value="$modemail" />
- <div id="mod-cmnt-url-lbl-$id" class="mod-cmnt-url-lbl">$lbl_modurl</div>
- <input type="text" id="mod-cmnt-url-$id" class="mod-cmnt-url" name="mod-cmnt-url" value="$modurl" />
- </div>
- <textarea id="comment-edit-text-$id" class="comment-edit-text-empty" name="body" onFocus="commentOpen(this,$id);" onBlur="commentClose(this,$id);" >$comment</textarea>
-
- <div class="comment-edit-text-end"></div>
- <div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-$id" style="display: none;" >
- <input type="submit" onclick="post_comment($id); return false;" id="comment-edit-submit-$id" class="comment-edit-submit" name="submit" value="$submit" />
- <span onclick="preview_comment($id);" id="comment-edit-preview-link-$id" class="fakelink">$preview</span>
- <div id="comment-edit-preview-$id" class="comment-edit-preview" style="display:none;"></div>
- </div>
-
- <div class="comment-edit-end"></div>
- </form>
-
- </div>
diff --git a/view/tpl/mood_content.tpl b/view/tpl/mood_content.tpl
index 9349c56ae..63eaa2d8d 100644..100755
--- a/view/tpl/mood_content.tpl
+++ b/view/tpl/mood_content.tpl
@@ -1,20 +1,20 @@
-<h3>$title</h3>
+<h3>{{$title}}</h3>
-<div id="mood-desc">$desc</div>
+<div id="mood-desc">{{$desc}}</div>
<form action="mood" method="get">
<br />
<br />
-<input id="mood-parent" type="hidden" value="$parent" name="parent" />
+<input id="mood-parent" type="hidden" value="{{$parent}}" name="parent" />
<select name="verb" id="mood-verb-select" >
-{{ for $verbs as $v }}
-<option value="$v.0">$v.1</option>
-{{ endfor }}
+{{foreach $verbs as $v}}
+<option value="{{$v.0}}">{{$v.1}}</option>
+{{/foreach}}
</select>
<br />
<br />
-<input type="submit" name="submit" value="$submit" />
+<input type="submit" name="submit" value="{{$submit}}" />
</form>
diff --git a/view/tpl/msg-header.tpl b/view/tpl/msg-header.tpl
index 2d1ea7a61..5e2597605 100644..100755
--- a/view/tpl/msg-header.tpl
+++ b/view/tpl/msg-header.tpl
@@ -1,8 +1,7 @@
-
-<script language="javascript" type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
-var plaintext = '$editselect';
+var plaintext = '{{$editselect}}';
if(plaintext != 'none') {
tinyMCE.init({
@@ -25,7 +24,7 @@ if(plaintext != 'none') {
force_br_newlines : true,
forced_root_block : '',
convert_urls: false,
- content_css: "$baseurl/view/custom_tinymce.css",
+ content_css: "{{$baseurl}}/view/custom_tinymce.css",
//Character count
theme_advanced_path : false,
setup : function(ed) {
@@ -51,12 +50,24 @@ else
$(document).ready(function() {
var uploader = new window.AjaxUpload(
'prvmail-upload',
- { action: 'wall_upload/$nickname',
+ { action: 'wall_upload/{{$nickname}}',
name: 'userfile',
- onSubmit: function(file,ext) { $('#profile-rotator').show(); },
+ onSubmit: function(file,ext) { $('#profile-rotator').spin('tiny'); },
onComplete: function(file,response) {
- tinyMCE.execCommand('mceInsertRawHTML',false,response);
- $('#profile-rotator').hide();
+ addeditortext(response);
+ $('#profile-rotator').spin(false);
+ }
+ }
+ );
+
+ var file_uploader = new window.AjaxUpload(
+ 'prvmail-attach',
+ { action: 'wall_attach/{{$nickname}}',
+ name: 'userfile',
+ onSubmit: function(file,ext) { $('#profile-rotator').spin('tiny'); },
+ onComplete: function(file,response) {
+ addeditortext(response);
+ $('#profile-rotator').spin(false);
}
}
);
@@ -64,12 +75,12 @@ else
});
function jotGetLink() {
- reply = prompt("$linkurl");
+ reply = prompt("{{$linkurl}}");
if(reply && reply.length) {
- $('#profile-rotator').show();
+ $('#profile-rotator').spin('tiny');
$.get('parse_url?url=' + reply, function(data) {
- tinyMCE.execCommand('mceInsertRawHTML',false,data);
- $('#profile-rotator').hide();
+ addeditortext(response);
+ $('#profile-rotator').spin(false);
});
}
}
@@ -85,13 +96,24 @@ else
event.target.textContent = reply;
event.preventDefault();
if(reply && reply.length) {
- $('#profile-rotator').show();
+ $('#profile-rotator').spin('tiny');
$.get('parse_url?url=' + reply, function(data) {
- tinyMCE.execCommand('mceInsertRawHTML',false,data);
- $('#profile-rotator').hide();
+ addeditortext(response);
+ $('#profile-rotator').spin(false);
});
}
}
+ function addeditortext(data) {
+ if(plaintext == 'none') {
+ var currentText = $("#prvmail-text").val();
+ $("#prvmail-text").val(currentText + data);
+ }
+ else
+ tinyMCE.execCommand('mceInsertRawHTML',false,data);
+ }
+
+
+
</script>
diff --git a/view/tpl/nav.tpl b/view/tpl/nav.tpl
index e98621aa4..713280808 100644..100755
--- a/view/tpl/nav.tpl
+++ b/view/tpl/nav.tpl
@@ -1,141 +1,145 @@
<header>
- <div id="site-location">$sitelocation</div>
- <div id="banner">$banner</div>
+ <div id="site-location">{{$sitelocation}}</div>
+ <div id="banner">{{$banner}}</div>
</header>
<nav>
<ul>
- {{ if $nav.lock }}
+
+ {{if $userinfo}}
+ <li id="nav-user-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-user-menu" title="{{$userinfo.name}}"><img src="{{$userinfo.icon}}" alt="{{$userinfo.name}}"><span class="nav-dropdown-indicator">&#x25BC;</span></a>
+ {{if $localuser}}
+ <ul id="nav-user-menu" class="menu-popup">
+ {{foreach $nav.usermenu as $usermenu}}
+ <li><a class="{{$usermenu.2}}" href="{{$usermenu.0}}" title="{{$usermenu.3}}">{{$usermenu.1}}</a></li>
+ {{/foreach}}
+ {{if $nav.profiles}}<li><a class="{{$nav.profiles.2}}" href="{{$nav.profiles.0}}" title="{{$nav.profiles.3}}">{{$nav.profiles.1}}</a></li>{{/if}}
+ {{if $nav.manage}}<li><a class="{{$nav.manage.2}}" href="{{$nav.manage.0}}" title="{{$nav.manage.3}}">{{$nav.manage.1}}</a></li>{{/if}}
+ {{if $nav.contacts}}<li><a class="{{$nav.contacts.2}}" href="{{$nav.contacts.0}}" title="{{$nav.contacts.3}}" >{{$nav.contacts.1}}</a></li>{{/if}}
+ {{if $nav.settings}}<li><a class="{{$nav.settings.2}}" href="{{$nav.settings.0}}" title="{{$nav.settings.3}}">{{$nav.settings.1}}</a></li>{{/if}}
+
+ {{if $nav.admin}}<li><a class="{{$nav.admin.2}}" href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" >{{$nav.admin.1}}</a></li>{{/if}}
+
+ {{if $nav.logout}}<li><a class="menu-sep {{$nav.logout.2}}" href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" >{{$nav.logout.1}}</a></li>{{/if}}
+
+ </ul>
+ {{/if}}
+ </li>
+ {{/if}}
+
+
+ {{if $nav.lock}}
<li id="nav-rmagic-link" class="nav-menu-icon" >
- <a class="icon $nav.lock.2" href="$nav.lock.0" title="$nav.lock.3" >$nav.lock.1</a>
+ <a class="icon {{$nav.lock.2}}" href="{{$nav.lock.0}}" title="{{$nav.lock.3}}" >{{$nav.lock.1}}</a>
</li>
- {{ endif }}
+ {{/if}}
- {{ if $nav.network }}
- <li id="nav-network-link" class="nav-menu $sel.network">
- <a class="$nav.network.2" href="$nav.network.0" title="$nav.network.3" ><span class="icon network">$nav.network.1</span></a>
+ {{if $nav.network}}
+ <li id="nav-network-link" class="nav-menu {{$sel.network}}">
+ <a class="{{$nav.network.2}}" href="{{$nav.network.0}}" title="{{$nav.network.3}}" >{{$nav.network.1}}</a>
<span id="net-update" class="nav-notify fakelink" rel="#nav-network-menu"></span>
<ul id="nav-network-menu" class="menu-popup notify-menus" rel="network">
- <li id="nav-network-see-all"><a href="$nav.network.all.0">$nav.network.all.1</a></li>
- <li id="nav-network-mark-all"><a href="#" onclick="markRead('network'); return false;">$nav.network.mark.1</a></li>
- <li class="empty">$emptynotifications</li>
+ <li id="nav-network-see-all"><a href="{{$nav.network.all.0}}">{{$nav.network.all.1}}</a></li>
+ <li id="nav-network-mark-all"><a href="#" onclick="markRead('network'); return false;">{{$nav.network.mark.1}}</a></li>
+ <li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
- {{ endif }}
+ {{/if}}
- {{ if $nav.home }}
- <li id="nav-home-link" class="nav-menu $sel.home">
- <a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" ><span class="icon home">$nav.home.1</span></a>
+ {{if $nav.home}}
+ <li id="nav-home-link" class="nav-menu {{$sel.home}}">
+ <a class="{{$nav.home.2}}" href="{{$nav.home.0}}" title="{{$nav.home.3}}" >{{$nav.home.1}}</a>
<span id="home-update" class="nav-notify fakelink" rel="#nav-home-menu"></span>
<ul id="nav-home-menu" class="menu-popup notify-menus" rel="home">
- <li id="nav-home-see-all"><a href="$nav.home.all.0">$nav.home.all.1</a></li>
- <li id="nav-home-mark-all"><a href="#" onclick="markRead('home'); return false;">$nav.home.mark.1</a></li>
- <li class="empty">$emptynotifications</li>
+ <li id="nav-home-see-all"><a href="{{$nav.home.all.0}}">{{$nav.home.all.1}}</a></li>
+ <li id="nav-home-mark-all"><a href="#" onclick="markRead('home'); return false;">{{$nav.home.mark.1}}</a></li>
+ <li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
- {{ endif }}
+ {{/if}}
+
+ {{if $nav.register}}<li id="nav-register-link" class="nav-menu {{$nav.register.2}}"><a href="{{$nav.register.0}}" title="{{$nav.register.3}}" >{{$nav.register.1}}</a><li>{{/if}}
- {{ if $nav.messages }}
- <li id="nav-mail-link" class="nav-menu $sel.messages">
- <a class="$nav.messages.2" href="$nav.messages.0" title="$nav.messages.3" ><span class="icon mail">$nav.messages.1</span></a>
+
+ {{if $nav.messages}}
+ <li id="nav-mail-link" class="nav-menu {{$sel.messages}}">
+ <a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" >{{$nav.messages.1}}</a>
<span id="mail-update" class="nav-notify fakelink" rel="#nav-messages-menu"></span>
<ul id="nav-messages-menu" class="menu-popup notify-menus" rel="messages">
- <li id="nav-messages-see-all"><a href="$nav.messages.all.0">$nav.messages.all.1</a></li>
- <li id="nav-messages-mark-all"><a href="#" onclick="markRead('messages'); return false;">$nav.messages.mark.1</a></li>
- <li class="empty">$emptynotifications</li>
+ <li id="nav-messages-see-all"><a href="{{$nav.messages.all.0}}">{{$nav.messages.all.1}}</a></li>
+ <li id="nav-messages-mark-all"><a href="#" onclick="markRead('messages'); return false;">{{$nav.messages.mark.1}}</a></li>
+ <li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
- {{ endif }}
+ {{/if}}
- {{ if $nav.all_events }}
- <li id="nav-all_events-link" class="nav-menu $sel.all_events">
- <a class="$nav.all_events.2" href="$nav.all_events.0" title="$nav.all_events.3" ><span class="icon events">$nav.all_events.1</span></a>
+ {{if $nav.all_events}}
+ <li id="nav-all_events-link" class="nav-menu {{$sel.all_events}}">
+ <a class="{{$nav.all_events.2}}" href="{{$nav.all_events.0}}" title="{{$nav.all_events.3}}" >{{$nav.all_events.1}}</a>
<span id="all_events-update" class="nav-notify fakelink" rel="#nav-all_events-menu"></span>
<ul id="nav-all_events-menu" class="menu-popup notify-menus" rel="all_events">
- <li id="nav-all_events-see-all"><a href="$nav.all_events.all.0">$nav.all_events.all.1</a></li>
- <li id="nav-all_events-mark-all"><a href="#" onclick="markRead('all_events'); return false;">$nav.all_events.mark.1</a></li>
- <li class="empty">$emptynotifications</li>
+ <li id="nav-all_events-see-all"><a href="{{$nav.all_events.all.0}}">{{$nav.all_events.all.1}}</a></li>
+ <li id="nav-all_events-mark-all"><a href="#" onclick="markRead('all_events'); return false;">{{$nav.all_events.mark.1}}</a></li>
+ <li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
- {{ endif }}
+ {{/if}}
- {{ if $nav.intros }}
- <li id="nav-intros-link" class="nav-menu $sel.intros">
- <a class="$nav.intros.2" href="$nav.intros.0" title="$nav.intros.3" ><span class="icon introductions">$nav.intros.1</span></a>
+ {{if $nav.intros}}
+ <li id="nav-intros-link" class="nav-menu {{$sel.intros}}">
+ <a class="{{$nav.intros.2}}" href="{{$nav.intros.0}}" title="{{$nav.intros.3}}" >{{$nav.intros.1}}</a>
<span id="intro-update" class="nav-notify fakelink" rel="#nav-intros-menu"></span>
<ul id="nav-intros-menu" class="menu-popup notify-menus" rel="intros">
- <li id="nav-intros-see-all"><a href="$nav.intros.all.0">$nav.intros.all.1</a></li>
- <li class="empty">$emptynotifications</li>
+ <li id="nav-intros-see-all"><a href="{{$nav.intros.all.0}}">{{$nav.intros.all.1}}</a></li>
+ <li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
- {{ endif }}
+ {{/if}}
- {{ if $nav.notifications }}
- <li id="nav-notify-linkmenu" class="nav-menu fakelink">
- <a href="$nav.notifications.0" title="$nav.notifications.1"><span class="icon s22 notify">$nav.notifications.1</span></a>
+ {{if $nav.notifications}}
+ <li id="nav-notify-linkmenu" class="nav-menu fakelink {{$sel.notifications}}">
+ <a href="{{$nav.notifications.0}}" title="{{$nav.notifications.1}}">{{$nav.notifications.1}}</a>
<span id="notify-update" class="nav-notify fakelink" rel="#nav-notify-menu"></span>
<ul id="nav-notify-menu" class="menu-popup notify-menus" rel="notify">
- <li id="nav-notify-see-all"><a href="$nav.notifications.all.0">$nav.notifications.all.1</a></li>
- <li id="nav-notify-mark-all"><a href="#" onclick="markRead('notify'); return false;">$nav.notifications.mark.1</a></li>
- <li class="empty">$emptynotifications</li>
+ <li id="nav-notify-see-all"><a href="{{$nav.notifications.all.0}}">{{$nav.notifications.all.1}}</a></li>
+ <li id="nav-notify-mark-all"><a href="#" onclick="markRead('notify'); return false;">{{$nav.notifications.mark.1}}</a></li>
+ <li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
- {{ endif }}
-
- {{ if $nav.settings }}
- <li id="nav-site-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-site-menu"><span class="icon s22 gear">$nav.settings.1</span></a>
- <ul id="nav-site-menu" class="menu-popup">
- {{ if $nav.settings }}<li><a class="$nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a></li>{{ endif }}
- {{ if $nav.directory }}<li><a class="$nav.directory.2" href="$nav.directory.0" title="$nav.directory.3">$nav.directory.1</a></li>{{ endif }}
-
- {{ if $nav.admin }}<li><a class="$nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a></li>{{ endif }}
+ {{/if}}
+
+ {{if $nav.login}}<li id="nav-login-link" class="nav-menu {{$nav.login.2}}"><a href="{{$nav.login.0}}" title="{{$nav.login.3}}" >{{$nav.login.1}}</a><li>{{/if}}
+ {{if $nav.alogout}}<li id=nav-alogout-link" class="nav-menu {{$nav}}-alogout.2"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" >{{$nav.alogout.1}}</a></li>{{/if}}
- </ul>
+ {{if $nav.directory}}
+ <li id="nav-directory-link" class="nav-menu {{$sel.directory}}">
+ <a class="{{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}">{{$nav.directory.1}}</a>
</li>
- {{ endif }}
+ {{/if}}
- {{ if $userinfo }}
- <li id="nav-user-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-user-menu" title="$userinfo.name"><img src="$userinfo.icon" alt="$userinfo.name"></a>
- {{ if $localuser }}
- <ul id="nav-user-menu" class="menu-popup">
- {{ for $nav.usermenu as $usermenu }}
- <li><a class="$usermenu.2" href="$usermenu.0" title="$usermenu.3">$usermenu.1</a></li>
- {{ endfor }}
- {{ if $nav.profiles }}<li><a class="$nav.profiles.2" href="$nav.profiles.0" title="$nav.profiles.3">$nav.profiles.1</a></li>{{ endif }}
- {{ if $nav.manage }}<li><a class="$nav.manage.2" href="$nav.manage.0" title="$nav.manage.3">$nav.manage.1</a></li>{{ endif }}
- {{ if $nav.contacts }}<li><a class="$nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a></li>{{ endif }}
- {{ if $nav.logout }}<li><a class="menu-sep $nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a></li>{{ endif }}
-
- </ul>
- {{ endif }}
- </li>
- {{ endif }}
-
- {{ if $nav.login }}<li id="nav-login-link" class="nav-menu $nav.login.2"><a href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a><li>{{ endif }}
- {{ if $nav.alogout }}<li id=nav-alogout-link" class="nav-menu $nav-alogout.2"><a href="$nav.alogout.0" title="$nav.alogout.3" >$nav.alogout.1</a></li>{{ endif }}
- {{ if $nav.help }}
- <li id="nav-help-link" class="nav-menu $sel.help">
- <a class="$nav.help.2" target="friendika-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a>
+ {{if $nav.help}}
+ <li id="nav-help-link" class="nav-menu {{$sel.help}}">
+ <a class="{{$nav.help.2}}" target="friendika-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" >{{$nav.help.1}}</a>
</li>
- {{ endif }}
+ {{/if}}
- {{ if $nav.apps }}
- <li id="nav-apps-link" class="nav-menu $sel.apps">
- <a class=" $nav.apps.2" href="#" rel="#nav-apps-menu" title="$nav.apps.3" >$nav.apps.1</a>
+ {{if $nav.apps}}
+ <li id="nav-apps-link" class="nav-menu {{$sel.apps}}">
+ <a class=" {{$nav.apps.2}}" href="#" rel="#nav-apps-menu" title="{{$nav.apps.3}}" >{{$nav.apps.1}}</a>
<ul id="nav-apps-menu" class="menu-popup">
- {{ for $apps as $ap }}
- <li>$ap</li>
- {{ endfor }}
+ {{foreach $apps as $ap}}
+ <li>{{$ap}}</li>
+ {{/foreach}}
</ul>
</li>
- {{ endif }}
+ {{/if}}
<li id="nav-searchbar">
<form method="get" action="search">
- <input id="nav-search-text" type="text" value="" placeholder="$nav.search.1" name="search" title="$nav.search.3" onclick="this.submit();" />
+ <input id="nav-search-text" type="text" value="" placeholder="{{$nav.search.1}}" name="search" title="{{$nav.search.3}}" onclick="this.submit();" />
</form>
</li>
- <img src="images/rotator.gif" id="nav-search-spinner" style="display: none;" alt="$pleasewait" />
+ <div id="nav-search-spinner"></div>
</ul>
</nav>
@@ -144,5 +148,5 @@
<li class="{4}"><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li>
</ul>
-<div id="langselector" >$langselector</div>
+{{if $langselector}}<div id="langselector" >{{$langselector}}</div>{{/if}}
<div id="panel" style="display: none;"></div>
diff --git a/view/tpl/netfriend.tpl b/view/tpl/netfriend.tpl
index c2a92ce9e..ec6b3b6cc 100644..100755
--- a/view/tpl/netfriend.tpl
+++ b/view/tpl/netfriend.tpl
@@ -1,14 +1,14 @@
-<div class="intro-approve-as-friend-desc">$approve_as</div>
+<div class="intro-approve-as-friend-desc">{{$approve_as}}</div>
<div class="intro-approve-as-friend-wrapper">
- <label class="intro-approve-as-friend-label" for="intro-approve-as-friend-$intro_id">$as_friend</label>
- <input type="radio" name="duplex" id="intro-approve-as-friend-$intro_id" class="intro-approve-as-friend" $friend_selected value="1" />
+ <label class="intro-approve-as-friend-label" for="intro-approve-as-friend-{{$intro_id}}">{{$as_friend}}</label>
+ <input type="radio" name="duplex" id="intro-approve-as-friend-{{$intro_id}}" class="intro-approve-as-friend" {{$friend_selected}} value="1" />
<div class="intro-approve-friend-break" ></div>
</div>
<div class="intro-approve-as-friend-end"></div>
<div class="intro-approve-as-fan-wrapper">
- <label class="intro-approve-as-fan-label" for="intro-approve-as-fan-$intro_id">$as_fan</label>
- <input type="radio" name="duplex" id="intro-approve-as-fan-$intro_id" class="intro-approve-as-fan" $fan_selected value="0" />
+ <label class="intro-approve-as-fan-label" for="intro-approve-as-fan-{{$intro_id}}">{{$as_fan}}</label>
+ <input type="radio" name="duplex" id="intro-approve-as-fan-{{$intro_id}}" class="intro-approve-as-fan" {{$fan_selected}} value="0" />
<div class="intro-approve-fan-break"></div>
</div>
<div class="intro-approve-as-end"></div>
diff --git a/view/tpl/new_channel.tpl b/view/tpl/new_channel.tpl
index 0ea764621..261f965da 100644..100755
--- a/view/tpl/new_channel.tpl
+++ b/view/tpl/new_channel.tpl
@@ -1,29 +1,29 @@
-<h2>$title</h2>
+<h2>{{$title}}</h2>
<form action="new_channel" method="post" id="newchannel-form">
- <div id="newchannel-desc" class="descriptive-paragraph">$desc</div>
+ <div id="newchannel-desc" class="descriptive-paragraph">{{$desc}}</div>
- <label for="newchannel-name" id="label-newchannel-name" class="newchannel-label" >$label_name</label>
- <input type="text" name="name" id="newchannel-name" class="newchannel-input" value="$name" />
+ <label for="newchannel-name" id="label-newchannel-name" class="newchannel-label" >{{$label_name}}</label>
+ <input type="text" name="name" id="newchannel-name" class="newchannel-input" value="{{$name}}" />
<div id="newchannel-name-feedback" class="newchannel-feedback"></div>
<div id="newchannel-name-end" class="newchannel-field-end"></div>
- <div id="newchannel-name-help" class="descriptive-paragraph">$help_name</div>
+ <div id="newchannel-name-help" class="descriptive-paragraph">{{$help_name}}</div>
- <label for="newchannel-nickname" id="label-newchannel-nickname" class="newchannel-label" >$label_nick</label>
- <input type="text" name="nickname" id="newchannel-nickname" class="newchannel-input" value="$nickname" />
+ <label for="newchannel-nickname" id="label-newchannel-nickname" class="newchannel-label" >{{$label_nick}}</label>
+ <input type="text" name="nickname" id="newchannel-nickname" class="newchannel-input" value="{{$nickname}}" />
<div id="newchannel-nickname-feedback" class="newchannel-feedback"></div>
<div id="newchannel-nickname-end" class="newchannel-field-end"></div>
- <div id="newchannel-nick-desc" class="descriptive-paragraph">$nick_desc</div>
+ <div id="newchannel-nick-desc" class="descriptive-paragraph">{{$nick_desc}}</div>
- <div id="newchannel-import-link" class="descriptive-paragraph" >$label_import</div>
+ <div id="newchannel-import-link" class="descriptive-paragraph" >{{$label_import}}</div>
<div id="newchannel-import-end" class="newchannel-field-end"></div>
- <input type="submit" name="submit" id="newchannel-submit-button" value="$submit" />
+ <input type="submit" name="submit" id="newchannel-submit-button" value="{{$submit}}" />
<div id="newchannel-submit-end" class="newchannel-field-end"></div>
</form>
diff --git a/view/tpl/nogroup-template.tpl b/view/tpl/nogroup-template.tpl
index dd00ed097..15094b2d6 100644..100755
--- a/view/tpl/nogroup-template.tpl
+++ b/view/tpl/nogroup-template.tpl
@@ -1,11 +1,11 @@
-<h1>$header</h1>
+<h1>{{$header}}</h1>
-{{ for $contacts as $contact }}
- {{ inc contact_template.tpl }}{{ endinc }}
-{{ endfor }}
+{{foreach $contacts as $contact}}
+ {{include file="contact_template.tpl"}}
+{{/foreach}}
<div id="contact-edit-end"></div>
-$paginate
+{{$paginate}}
diff --git a/view/tpl/notifications.tpl b/view/tpl/notifications.tpl
index 1a13b68b9..3015de504 100644..100755
--- a/view/tpl/notifications.tpl
+++ b/view/tpl/notifications.tpl
@@ -1,8 +1,5 @@
-
-<h1>$notif_header</h1>
-
-{{ inc common_tabs.tpl }}{{ endinc }}
+<h1>{{$notif_header}}</h1>
<div class="notif-network-wrapper">
- $notif_content
+ {{$notif_content}}
</div>
diff --git a/view/tpl/notifications_comments_item.tpl b/view/tpl/notifications_comments_item.tpl
index 73cc9f948..856955424 100644..100755
--- a/view/tpl/notifications_comments_item.tpl
+++ b/view/tpl/notifications_comments_item.tpl
@@ -1,3 +1,3 @@
<div class="notif-item">
- <a href="$item_link" target="friendica-notifications"><img src="$item_image" class="notif-image">$item_text <span class="notif-when">$item_when</span></a>
-</div> \ No newline at end of file
+ <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
+</div>
diff --git a/view/tpl/notifications_dislikes_item.tpl b/view/tpl/notifications_dislikes_item.tpl
index 73cc9f948..856955424 100644..100755
--- a/view/tpl/notifications_dislikes_item.tpl
+++ b/view/tpl/notifications_dislikes_item.tpl
@@ -1,3 +1,3 @@
<div class="notif-item">
- <a href="$item_link" target="friendica-notifications"><img src="$item_image" class="notif-image">$item_text <span class="notif-when">$item_when</span></a>
-</div> \ No newline at end of file
+ <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
+</div>
diff --git a/view/tpl/notifications_friends_item.tpl b/view/tpl/notifications_friends_item.tpl
index 73cc9f948..856955424 100644..100755
--- a/view/tpl/notifications_friends_item.tpl
+++ b/view/tpl/notifications_friends_item.tpl
@@ -1,3 +1,3 @@
<div class="notif-item">
- <a href="$item_link" target="friendica-notifications"><img src="$item_image" class="notif-image">$item_text <span class="notif-when">$item_when</span></a>
-</div> \ No newline at end of file
+ <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
+</div>
diff --git a/view/tpl/notifications_likes_item.tpl b/view/tpl/notifications_likes_item.tpl
index 389144d9b..b2ba4024b 100644..100755
--- a/view/tpl/notifications_likes_item.tpl
+++ b/view/tpl/notifications_likes_item.tpl
@@ -1,3 +1,3 @@
<div class="notif-item">
- <a href="$item_link" target="friendica-notification"><img src="$item_image" class="notif-image">$item_text <span class="notif-when">$item_when</span></a>
-</div> \ No newline at end of file
+ <a href="{{$item_link}}" target="friendica-notification"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
+</div>
diff --git a/view/tpl/notifications_network_item.tpl b/view/tpl/notifications_network_item.tpl
deleted file mode 100644
index 261ab3643..000000000
--- a/view/tpl/notifications_network_item.tpl
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="notif-item">
- <a href="$item_link" target="friendica-notifications"><img src="$item_image" class="notif-image">$item_text <span class="notif-when">$item_when</span></a>
-</div>
diff --git a/view/tpl/notifications_posts_item.tpl b/view/tpl/notifications_posts_item.tpl
index 73cc9f948..856955424 100644..100755
--- a/view/tpl/notifications_posts_item.tpl
+++ b/view/tpl/notifications_posts_item.tpl
@@ -1,3 +1,3 @@
<div class="notif-item">
- <a href="$item_link" target="friendica-notifications"><img src="$item_image" class="notif-image">$item_text <span class="notif-when">$item_when</span></a>
-</div> \ No newline at end of file
+ <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
+</div>
diff --git a/view/tpl/notify.tpl b/view/tpl/notify.tpl
index 73cc9f948..856955424 100644..100755
--- a/view/tpl/notify.tpl
+++ b/view/tpl/notify.tpl
@@ -1,3 +1,3 @@
<div class="notif-item">
- <a href="$item_link" target="friendica-notifications"><img src="$item_image" class="notif-image">$item_text <span class="notif-when">$item_when</span></a>
-</div> \ No newline at end of file
+ <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
+</div>
diff --git a/view/tpl/oauth_authorize.tpl b/view/tpl/oauth_authorize.tpl
index 31f02ac50..2b7afa80e 100644..100755
--- a/view/tpl/oauth_authorize.tpl
+++ b/view/tpl/oauth_authorize.tpl
@@ -1,10 +1,10 @@
-<h1>$title</h1>
+<h1>{{$title}}</h1>
<div class='oauthapp'>
- <img src='$app.icon'>
- <h4>$app.name</h4>
+ <img src='{{$app.icon}}'>
+ <h4>{{$app.name}}</h4>
</div>
-<h3>$authorize</h3>
+<h3>{{$authorize}}</h3>
<form method="POST">
-<div class="settings-submit-wrapper"><input class="settings-submit" type="submit" name="oauth_yes" value="$yes" /></div>
+<div class="settings-submit-wrapper"><input class="settings-submit" type="submit" name="oauth_yes" value="{{$yes}}" /></div>
</form>
diff --git a/view/tpl/oauth_authorize_done.tpl b/view/tpl/oauth_authorize_done.tpl
index 51eaea248..2e91e0125 100644..100755
--- a/view/tpl/oauth_authorize_done.tpl
+++ b/view/tpl/oauth_authorize_done.tpl
@@ -1,4 +1,4 @@
-<h1>$title</h1>
+<h1>{{$title}}</h1>
-<p>$info</p>
-<code>$code</code>
+<p>{{$info}}</p>
+<code>{{$code}}</code>
diff --git a/view/tpl/oembed_video.tpl b/view/tpl/oembed_video.tpl
index d3a9a9311..4ad75a82e 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/oexchange_xrd.tpl b/view/tpl/oexchange_xrd.tpl
index c7e6df498..74ef22874 100644..100755
--- a/view/tpl/oexchange_xrd.tpl
+++ b/view/tpl/oexchange_xrd.tpl
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
- <Subject>$base</Subject>
+ <Subject>{{$base}}</Subject>
<Property
type="http://www.oexchange.org/spec/0.8/prop/vendor">Friendika</Property>
@@ -14,19 +14,19 @@
<Link
rel="icon"
- href="$base/images/friendika-16.png"
+ href="{{$base}}/images/friendika-16.png"
type="image/png"
/>
<Link
rel="icon32"
- href="$base/images/friendika-32.png"
+ href="{{$base}}/images/friendika-32.png"
type="image/png"
/>
<Link
rel= "http://www.oexchange.org/spec/0.8/rel/offer"
- href="$base/oexchange"
+ href="{{$base}}/oexchange"
type="text/html"
/>
</XRD>
diff --git a/view/tpl/opensearch.tpl b/view/tpl/opensearch.tpl
index 374fcaac9..26fb5a799 100644..100755
--- a/view/tpl/opensearch.tpl
+++ b/view/tpl/opensearch.tpl
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
- <ShortName>Friendika@$nodename</ShortName>
- <Description>Search in Friendika@$nodename</Description>
- <Contact>http://bugs.friendika.com/</Contact>
- <Image height="16" width="16" type="image/png">$baseurl/images/friendika-16.png</Image>
- <Image height="64" width="64" type="image/png">$baseurl/images/friendika-64.png</Image>
+ <ShortName>Red Matrix@{{$nodename}}</ShortName>
+ <Description>Search in The Red Matrix@{{$nodename}}</Description>
+ <Contact>http://github.com/friendica/red/</Contact>
+ <Image height="16" width="16" type="image/png">{{$baseurl}}/images/rhash-16.png</Image>
+ <Image height="64" width="64" type="image/png">{{$baseurl}}/images/rhash-64.png</Image>
<Url type="text/html"
- template="$baseurl/search?search={searchTerms}"/>
+ template="{{$baseurl}}/search?search={searchTerms}"/>
<Url type="application/opensearchdescription+xml"
rel="self"
- template="$baseurl/opensearch" />
+ template="{{$baseurl}}/opensearch" />
</OpenSearchDescription> \ No newline at end of file
diff --git a/view/tpl/page_display.tpl b/view/tpl/page_display.tpl
index a79d505dd..d8175bdd2 100644..100755
--- a/view/tpl/page_display.tpl
+++ b/view/tpl/page_display.tpl
@@ -1,7 +1,9 @@
-<div class=page">
- <h3 class="page-title">$title</h3>
+<div class="page">
- <div class="page-author"><a class=="page-author-link" href="$auth_url">$author</a></div>
- <div class="page-date">$date</div>
- <div class="page-body">body</div>
+<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-date">{{$date}}</div>
+ <div class="page-body">{{$body}}</div>
+</div>
</div>
diff --git a/view/tpl/pagetypes.tpl b/view/tpl/pagetypes.tpl
deleted file mode 100644
index c9022a1c1..000000000
--- a/view/tpl/pagetypes.tpl
+++ /dev/null
@@ -1,5 +0,0 @@
- {{inc field_radio.tpl with $field=$page_normal }}{{endinc}}
- {{inc field_radio.tpl with $field=$page_community }}{{endinc}}
- {{inc field_radio.tpl with $field=$page_prvgroup }}{{endinc}}
- {{inc field_radio.tpl with $field=$page_soapbox }}{{endinc}}
- {{inc field_radio.tpl with $field=$page_freelove }}{{endinc}}
diff --git a/view/tpl/peoplefind.tpl b/view/tpl/peoplefind.tpl
index 3c2692d25..831cd9614 100644..100755
--- a/view/tpl/peoplefind.tpl
+++ b/view/tpl/peoplefind.tpl
@@ -1,14 +1,14 @@
<div id="peoplefind-sidebar" class="widget">
- <h3>$findpeople</h3>
- <div id="peoplefind-desc">$desc</div>
- <form action="dirfind" method="post" />
- <input id="side-peoplefind-url" type="text" name="search" size="24" title="$hint" /><input id="side-peoplefind-submit" type="submit" name="submit" value="$findthem" />
+ <h3>{{$findpeople}}</h3>
+ <div id="peoplefind-desc">{{$desc}}</div>
+ <form action="directory" method="post" />
+ <input id="side-peoplefind-url" type="text" name="search" size="24" title="{{$hint}}" /><input id="side-peoplefind-submit" type="submit" name="submit" value="{{$findthem}}" />
</form>
- <div class="side-link" id="side-match-link"><a href="match" >$similar</a></div>
- <div class="side-link" id="side-suggest-link"><a href="suggest" >$suggest</a></div>
- <div class="side-link" id="side-random-profile-link" ><a href="randprof" target="extlink" >$random</a></div>
- {{ if $inv }}
- <div class="side-link" id="side-invite-link" ><a href="invite" >$inv</a></div>
- {{ endif }}
+ <div class="side-link" id="side-match-link"><a href="match" >{{$similar}}</a></div>
+ <div class="side-link" id="side-suggest-link"><a href="suggest" >{{$suggest}}</a></div>
+ <div class="side-link" id="side-random-profile-link" ><a href="randprof" >{{$random}}</a></div>
+ {{if $inv}}
+ <div class="side-link" id="side-invite-link" ><a href="invite" >{{$inv}}</a></div>
+ {{/if}}
</div>
diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl
index cc3dcfb9c..d2016e41c 100644..100755
--- a/view/tpl/photo_album.tpl
+++ b/view/tpl/photo_album.tpl
@@ -1,7 +1,8 @@
-<div class="photo-album-image-wrapper" id="photo-album-image-wrapper-$id">
- <a href="$photolink" class="photo-album-photo-link" id="photo-album-photo-link-$id" title="$phototitle">
- <img src="$imgsrc" alt="$imgalt" title="$phototitle" class="photo-album-photo lframe resize$twist" id="photo-album-photo-$id" />
- <p class='caption'>$desc</p>
+{{include file="prettyphoto.tpl"}}
+<div class="photo-album-image-wrapper" 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{{$twist}}" id="photo-album-photo-{{$id}}" />
+ <p class='caption'>{{$desc}}</p>
</a>
</div>
<div class="photo-album-image-wrapper-end"></div>
diff --git a/view/tpl/photo_albums.tpl b/view/tpl/photo_albums.tpl
index eccc3660a..e83eefb39 100644..100755
--- a/view/tpl/photo_albums.tpl
+++ b/view/tpl/photo_albums.tpl
@@ -1,13 +1,13 @@
<div id="side-bar-photos-albums" class="widget">
-<h3><a href="$baseurl/photos/$nick" title="$title" >$title</a></h3>
-{{ if $albums }}
+<h3><a href="{{$baseurl}}/photos/{{$nick}}" title="{{$title}}" >{{$title}}</a></h3>
+{{if $albums}}
<ul>
-{{ for $albums as $al }}
-<li><a href="$baseurl/photos/$nick/$al.bin2hex">$al.album</a></li>
-{{ endfor }}
+{{foreach $albums as $al}}
+<li><a href="{{$baseurl}}/photos/{{$nick}}/album/{{$al.bin2hex}}">{{$al.text}}</a></li>
+{{/foreach}}
</ul>
-{{ endif }}
-{{ if $upload }}
-<div id="photo-albums-upload-link"><a href="$baseurl/photos/$nick/upload" title="$upload">$upload</a></div>
-{{ endif }}
+{{/if}}
+{{if $upload}}
+<div id="photo-albums-upload-link"><a href="{{$baseurl}}/photos/{{$nick}}/upload" title="{{$upload}}">{{$upload}}</a></div>
+{{/if}}
</div>
diff --git a/view/tpl/photo_drop.tpl b/view/tpl/photo_drop.tpl
index b4ea62b45..94ef5a3ee 100644..100755
--- a/view/tpl/photo_drop.tpl
+++ b/view/tpl/photo_drop.tpl
@@ -1,4 +1,4 @@
-<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" >
- <a href="item/drop/$id" onclick="return confirmDelete();" class="icon drophide" title="$delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>
+<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$id}}" >
+ <a href="item/drop/{{$id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>
</div>
<div class="wall-item-delete-end"></div>
diff --git a/view/tpl/photo_edit.tpl b/view/tpl/photo_edit.tpl
deleted file mode 100644
index 53b69caae..000000000
--- a/view/tpl/photo_edit.tpl
+++ /dev/null
@@ -1,50 +0,0 @@
-
-<form action="photos/$nickname/$resource_id" method="post" id="photo_edit_form" >
-
- <input type="hidden" name="item_id" value="$item_id" />
-
- <label id="photo-edit-albumname-label" for="photo-edit-albumname">$newalbum</label>
- <input id="photo-edit-albumname" type="text" size="32" name="albname" value="$album" />
-
- <div id="photo-edit-albumname-end"></div>
-
- <label id="photo-edit-caption-label" for="photo-edit-caption">$capt_label</label>
- <input id="photo-edit-caption" type="text" size="84" name="desc" value="$caption" />
-
- <div id="photo-edit-caption-end"></div>
-
- <label id="photo-edit-tags-label" for="photo-edit-newtag" >$tag_label</label>
- <input name="newtag" id="photo-edit-newtag" size="84" title="$help_tags" type="text" />
-
- <div id="photo-edit-tags-end"></div>
- <div id="photo-edit-rotate-wrapper">
- <div id="photo-edit-rotate-label">
- $rotatecw<br>
- $rotateccw
- </div>
- <input type="radio" name="rotate" value="1" /><br>
- <input type="radio" name="rotate" value="2" />
- </div>
- <div id="photo-edit-rotate-end"></div>
-
- <div id="photo-edit-perms" class="photo-edit-perms" >
- <a href="#photo-edit-perms-select" id="photo-edit-perms-menu" class="button popupbox" title="$permissions"/>
- <span id="jot-perms-icon" class="icon $lockstate" ></span>$permissions
- </a>
- <div id="photo-edit-perms-menu-end"></div>
-
- <div style="display: none;">
- <div id="photo-edit-perms-select" >
- $aclselect
- </div>
- </div>
- </div>
- <div id="photo-edit-perms-end"></div>
-
- <input id="photo-edit-submit-button" type="submit" name="submit" value="$submit" />
- <input id="photo-edit-delete-button" type="submit" name="delete" value="$delete" onclick="return confirmDelete()"; />
-
- <div id="photo-edit-end"></div>
-</form>
-
-
diff --git a/view/tpl/photo_item.tpl b/view/tpl/photo_item.tpl
index 22884e848..e7d25fd55 100644..100755
--- a/view/tpl/photo_item.tpl
+++ b/view/tpl/photo_item.tpl
@@ -1,22 +1,22 @@
-<div class="wall-item-outside-wrapper$indent" id="wall-item-outside-wrapper-$id" >
- <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" >
- <a href="$profile_url" title="View $name's profile" class="wall-item-photo-link" id="wall-item-photo-link-$id">
- <img src="$thumb" class="wall-item-photo" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$name" /></a>
+<div class="wall-item-outside-wrapper{{$indent}}" id="wall-item-outside-wrapper-{{$id}}" >
+ <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-{{$id}}" >
+ <a href="{{$profile_url}}" title="View {{$name}}'s profile" class="wall-item-photo-link" id="wall-item-photo-link-{{$id}}">
+ <img src="{{$thumb}}" class="wall-item-photo" id="wall-item-photo-{{$id}}" style="height: 80px; width: 80px;" alt="{{$name}}" /></a>
</div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
- <a href="$profile_url" title="View $name's profile" class="wall-item-name-link"><span class="wall-item-name" id="wall-item-name-$id" >$name</span></a>
- <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div>
+ <div class="wall-item-wrapper" id="wall-item-wrapper-{{$id}}" >
+ <a href="{{$profile_url}}" title="View {{$name}}'s profile" class="wall-item-name-link"><span class="wall-item-name" id="wall-item-name-{{$id}}" >{{$name}}</span></a>
+ <div class="wall-item-ago" id="wall-item-ago-{{$id}}">{{$ago}}</div>
</div>
- <div class="wall-item-content" id="wall-item-content-$id" >
- <div class="wall-item-title" id="wall-item-title-$id">$title</div>
- <div class="wall-item-body" id="wall-item-body-$id" >$body</div>
+ <div class="wall-item-content" id="wall-item-content-{{$id}}" >
+ <div class="wall-item-title" id="wall-item-title-{{$id}}">{{$title}}</div>
+ <div class="wall-item-body" id="wall-item-body-{{$id}}" >{{$body}}</div>
</div>
- $drop
+ {{$drop}}
<div class="wall-item-wrapper-end"></div>
<div class="wall-item-comment-separator"></div>
- $comment
+ {{$comment}}
-<div class="wall-item-outside-wrapper-end$indent" ></div>
+<div class="wall-item-outside-wrapper-end{{$indent}}" ></div>
</div>
diff --git a/view/tpl/photo_top.tpl b/view/tpl/photo_top.tpl
index 155cab51d..902f74232 100644..100755
--- a/view/tpl/photo_top.tpl
+++ b/view/tpl/photo_top.tpl
@@ -1,8 +1,7 @@
-
-<div class="photo-top-image-wrapper lframe" id="photo-top-image-wrapper-$photo.id">
- <a href="$photo.link" class="photo-top-photo-link" id="photo-top-photo-link-$photo.id" title="$photo.title">
- <img src="$photo.src" alt="$photo.alt" title="$photo.title" class="photo-top-photo$photo.twist" id="photo-top-photo-$photo.id" />
+<div class="photo-top-image-wrapper lframe" id="photo-top-image-wrapper-{{$photo.id}}">
+ <a href="{{$photo.link}}" class="photo-top-photo-link" id="photo-top-photo-link-{{$photo.id}}" title="{{$photo.title}}">
+ <img src="{{$photo.src}}" alt="{{$photo.alt}}" title="{{$photo.title}}" class="photo-top-photo{{$photo.twist}}" id="photo-top-photo-{{$photo.id}}" />
</a>
- <div class="photo-top-album-name"><a href="$photo.album.link" class="photo-top-album-link" title="$photo.album.alt" >$photo.album.name</a></div>
+ <div class="photo-top-album-name"><a href="{{$photo.album.link}}" class="photo-top-album-link" title="{{$photo.album.alt}}" >{{$photo.album.name}}</a></div>
</div>
diff --git a/view/tpl/photo_view.tpl b/view/tpl/photo_view.tpl
index 732caf690..f825dcba6 100644..100755
--- a/view/tpl/photo_view.tpl
+++ b/view/tpl/photo_view.tpl
@@ -1,37 +1,88 @@
+{{include file="prettyphoto.tpl"}}
+
<div id="live-display"></div>
-<h3><a href="$album.0">$album.1</a></h3>
+<h3><a href="{{$album.0}}">{{$album.1}}</a></h3>
<div id="photo-edit-link-wrap">
-{{ if $tools }}
-<a id="photo-edit-link" href="$tools.edit.0">$tools.edit.1</a>
-|
-<a id="photo-toprofile-link" href="$tools.profile.0">$tools.profile.1</a>
-{{ endif }}
-{{ if $lock }} | <img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,'photo/$id');" /> {{ endif }}
+{{if $tools}}
+<a id="photo-toprofile-link" href="{{$tools.profile.0}}">{{$tools.profile.1}}</a>
+{{/if}}
+{{if $lock}} | <img src="images/lock_icon.gif" class="lockview" alt="{{$lock}}" onclick="lockview(event,'photo/{{$id}}');" /> {{/if}}
</div>
-{{ if $prevlink }}<div id="photo-prev-link"><a href="$prevlink.0">$prevlink.1</a></div>{{ endif }}
-<div id="photo-photo"><a href="$photo.href" title="$photo.title"><img src="$photo.src" /></a></div>
-{{ if $nextlink }}<div id="photo-next-link"><a href="$nextlink.0">$nextlink.1</a></div>{{ endif }}
+{{if $prevlink}}<div id="photo-prev-link"><a href="{{$prevlink.0}}">{{$prevlink.1}}</a></div>{{/if}}
+<div id="photo-photo"><a href="{{$photo.href}}" title="{{$photo.title}}" rel="prettyPhoto"><img src="{{$photo.src}}" /></a></div>
+{{if $nextlink}}<div id="photo-next-link"><a href="{{$nextlink.0}}">{{$nextlink.1}}</a></div>{{/if}}
<div id="photo-photo-end"></div>
-<div id="photo-caption">$desc</div>
-{{ if $tags }}
-<div id="in-this-photo-text">$tags.0</div>
-<div id="in-this-photo">$tags.1</div>
-{{ endif }}
-{{ if $tags.2 }}<div id="tag-remove"><a href="$tags.2">$tags.3</a></div>{{ endif }}
+<div id="photo-caption">{{$desc}}</div>
+{{if $tags}}
+<div id="in-this-photo-text">{{$tags.0}}</div>
+<div id="in-this-photo">{{$tags.1}}</div>
+{{/if}}
+{{if $tags.2}}<div id="tag-remove"><a href="{{$tags.2}}">{{$tags.3}}</a></div>{{/if}}
+
+{{if $edit}}
+<div id="photo-edit-edit-wrapper" class="fakelink" onclick="openClose('photo-edit-edit');">{{$edit.edit}}</div>
+<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}}" />
+
+ <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}}" />
+
+ <div id="photo-edit-albumname-end"></div>
+
+ <label id="photo-edit-caption-label" for="photo-edit-caption">{{$edit.capt_label}}</label>
+ <input id="photo-edit-caption" type="text" size="84" name="desc" value="{{$edit.caption}}" />
-{{ if $edit }}$edit{{ endif }}
+ <div id="photo-edit-caption-end"></div>
+
+ <label id="photo-edit-tags-label" for="photo-edit-newtag" >{{$edit.tag_label}}</label>
+ <input name="newtag" id="photo-edit-newtag" size="84" title="{{$edit.help_tags}}" type="text" />
+
+ <div id="photo-edit-tags-end"></div>
+ <div id="photo-edit-rotate-wrapper">
+ <div id="photo-edit-rotate-label">
+ {{$edit.rotatecw}}<br>
+ {{$edit.rotateccw}}
+ </div>
+ <input type="radio" name="rotate" value="1" /><br>
+ <input type="radio" name="rotate" value="2" />
+ </div>
+ <div id="photo-edit-rotate-end"></div>
+
+ <div id="photo-edit-perms" class="photo-edit-perms" >
+ <a href="#photo-edit-perms-select" id="photo-edit-perms-menu" class="button popupbox" title="{{$edit.permissions}}"/>
+ <span id="jot-perms-icon" class="icon {{$edit.lockstate}}" ></span>{{$edit.permissions}}
+ </a>
+ <div id="photo-edit-perms-menu-end"></div>
+
+ <div style="display: none;">
+ <div id="photo-edit-perms-select" >
+ {{$edit.aclselect}}
+ </div>
+ </div>
+ </div>
+ <div id="photo-edit-perms-end"></div>
+
+ <input id="photo-edit-submit-button" type="submit" name="submit" value="{{$edit.submit}}" />
+ <input id="photo-edit-delete-button" type="submit" name="delete" value="{{$edit.delete}}" onclick="return confirmDelete()"; />
+
+ <div id="photo-edit-end"></div>
+</form>
+</div>
+{{/if}}
-{{ if $likebuttons }}
+{{if $likebuttons}}
<div id="photo-like-div">
- $likebuttons
- $like
- $dislike
+ {{$likebuttons}}
+ {{$like}}
+ {{$dislike}}
</div>
-{{ endif }}
+{{/if}}
-$comments
+{{$comments}}
-$paginate
+{{$paginate}}
diff --git a/view/tpl/photos_recent.tpl b/view/tpl/photos_recent.tpl
index 1df78cb7b..43a22a017 100644..100755
--- a/view/tpl/photos_recent.tpl
+++ b/view/tpl/photos_recent.tpl
@@ -1,11 +1,11 @@
-<h3>$title</h3>
-{{ if $can_post }}
-<a id="photo-top-upload-link" href="$upload.1">$upload.0</a>
-{{ endif }}
+<h3>{{$title}}</h3>
+{{if $can_post}}
+<a id="photo-top-upload-link" href="{{$upload.1}}">{{$upload.0}}</a>
+{{/if}}
<div class="photos">
-{{ for $photos as $photo }}
- {{ inc photo_top.tpl }}{{ endinc }}
-{{ endfor }}
+{{foreach $photos as $photo}}
+ {{include file="photo_top.tpl"}}
+{{/foreach}}
</div>
<div class="photos-end"></div>
diff --git a/view/tpl/photos_upload.tpl b/view/tpl/photos_upload.tpl
index 93c0b7d54..102c4d872 100644..100755
--- a/view/tpl/photos_upload.tpl
+++ b/view/tpl/photos_upload.tpl
@@ -1,45 +1,46 @@
-<h3>$pagename</h3>
+<h3>{{$pagename}}</h3>
-<div id="photos-usage-message">$usage</div>
+<div id="photos-usage-message" class="usage-message">{{$usage}}</div>
-<form action="photos/$nickname" enctype="multipart/form-data" method="post" name="photos-upload-form" id="photos-upload-form" >
+<form action="photos/{{$nickname}}" enctype="multipart/form-data" method="post" name="photos-upload-form" id="photos-upload-form" >
+ <input type="hidden" id="photos-upload-source" name="source" value="photos" />
<div id="photos-upload-new-wrapper" >
<div id="photos-upload-newalbum-div">
- <label id="photos-upload-newalbum-text" for="photos-upload-newalbum" >$newalbum</label>
+ <label id="photos-upload-newalbum-text" for="photos-upload-newalbum" >{{$newalbum}}</label>
</div>
<input id="photos-upload-newalbum" type="text" name="newalbum" />
</div>
<div id="photos-upload-new-end"></div>
<div id="photos-upload-exist-wrapper">
- <div id="photos-upload-existing-album-text">$existalbumtext</div>
- $albumselect
+ <div id="photos-upload-existing-album-text">{{$existalbumtext}}</div>
+ {{$albumselect}}
</div>
<div id="photos-upload-exist-end"></div>
<div id="photos-upload-noshare-div" class="photos-upload-noshare-div" >
<input id="photos-upload-noshare" type="checkbox" name="not_visible" value="1" />
- <label id="photos-upload-noshare-text" for="photos-upload-noshare" >$nosharetext</label>
+ <label id="photos-upload-noshare-text" for="photos-upload-noshare" >{{$nosharetext}}</label>
</div>
<div id="photos-upload-perms" class="photos-upload-perms" >
<a href="#photos-upload-permissions-wrapper" id="photos-upload-perms-menu" class="button popupbox" />
- <span id="jot-perms-icon" class="icon $lockstate" ></span>$permissions
+ <span id="jot-perms-icon" class="icon {{$lockstate}}" ></span>{{$permissions}}
</a>
</div>
<div id="photos-upload-perms-end"></div>
<div style="display: none;">
<div id="photos-upload-permissions-wrapper">
- $aclselect
+ {{$aclselect}}
</div>
</div>
<div id="photos-upload-spacer"></div>
- $uploader
+ {{$uploader}}
- $default
+ {{$default}}
<div class="photos-upload-end" ></div>
</form>
diff --git a/view/tpl/poco_entry_xml.tpl b/view/tpl/poco_entry_xml.tpl
index 4d84cee41..869894852 100644..100755
--- a/view/tpl/poco_entry_xml.tpl
+++ b/view/tpl/poco_entry_xml.tpl
@@ -1,7 +1,7 @@
<entry>
-{{ if $entry.id }}<id>$entry.id</id>{{ endif }}
-{{ if $entry.displayName }}<displayName>$entry.displayName</displayName>{{ endif }}
-{{ if $entry.preferredUsername }}<preferredUsername>$entry.preferredUsername</preferredUsername>{{ endif }}
-{{ if $entry.urls }}{{ for $entry.urls as $url }}<urls><value>$url.value</value><type>$url.type</type></urls>{{ endfor }}{{ endif }}
-{{ if $entry.photos }}{{ for $entry.photos as $photo }}<photos><value>$photo.value</value><type>$photo.type</type></photos>{{ endfor }}{{ endif }}
+{{if $entry.id}}<id>{{$entry.id}}</id>{{/if}}
+{{if $entry.displayName}}<displayName>{{$entry.displayName}}</displayName>{{/if}}
+{{if $entry.preferredUsername}}<preferredUsername>{{$entry.preferredUsername}}</preferredUsername>{{/if}}
+{{if $entry.urls}}{{foreach $entry.urls as $url}}<urls><value>{{$url.value}}</value><type>{{$url.type}}</type></urls>{{/foreach}}{{/if}}
+{{if $entry.photos}}{{foreach $entry.photos as $photo}}<photos><value>{{$photo.value}}</value><type>{{$photo.type}}</type></photos>{{/foreach}}{{/if}}
</entry>
diff --git a/view/tpl/poco_xml.tpl b/view/tpl/poco_xml.tpl
index 9549b695d..0e38a692c 100644..100755
--- a/view/tpl/poco_xml.tpl
+++ b/view/tpl/poco_xml.tpl
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<response>
-{{ if $response.sorted }}<sorted>$response.sorted</sorted>{{ endif }}
-{{ if $response.filtered }}<filtered>$response.filtered</filtered>{{ endif }}
-{{ if $response.updatedSince }}<updatedSince>$response.updatedSince</updatedSince>{{ endif }}
-<startIndex>$response.startIndex</startIndex>
-<itemsPerPage>$response.itemsPerPage</itemsPerPage>
-<totalResults>$response.totalResults</totalResults>
+{{if $response.sorted}}<sorted>{{$response.sorted}}</sorted>{{/if}}
+{{if $response.filtered}}<filtered>{{$response.filtered}}</filtered>{{/if}}
+{{if $response.updatedSince}}<updatedSince>{{$response.updatedSince}}</updatedSince>{{/if}}
+<startIndex>{{$response.startIndex}}</startIndex>
+<itemsPerPage>{{$response.itemsPerPage}}</itemsPerPage>
+<totalResults>{{$response.totalResults}}</totalResults>
-{{ if $response.totalResults }}
-{{ for $response.entry as $entry }}
-{{ inc poco_entry_xml.tpl }}{{ endinc }}
-{{ endfor }}
-{{ else }}
+{{if $response.totalResults}}
+{{foreach $response.entry as $entry}}
+{{include file="poco_entry_xml.tpl"}}
+{{/foreach}}
+{{else}}
<entry></entry>
-{{ endif }}
+{{/if}}
</response>
diff --git a/view/tpl/poke_content.tpl b/view/tpl/poke_content.tpl
index b9e089f5b..22a0b291f 100644..100755
--- a/view/tpl/poke_content.tpl
+++ b/view/tpl/poke_content.tpl
@@ -1,32 +1,32 @@
-<h3>$title</h3>
+<h3>{{$title}}</h3>
-<div id="poke-desc">$desc</div>
+<div id="poke-desc">{{$desc}}</div>
<form action="poke" method="get">
<br />
<br />
-<div id="poke-recip-label">$clabel</div>
+<div id="poke-recip-label">{{$clabel}}</div>
<br />
-<input id="poke-recip" type="text" size="64" maxlength="255" value="$name" name="pokename" autocomplete="off" />
-<input id="poke-recip-complete" type="hidden" value="$id" name="cid" />
-<input id="poke-parent" type="hidden" value="$parent" name="parent" />
+<input id="poke-recip" type="text" size="64" maxlength="255" value="{{$name}}" name="pokename" autocomplete="off" />
+<input id="poke-recip-complete" type="hidden" value="{{$id}}" name="cid" />
+<input id="poke-parent" type="hidden" value="{{$parent}}" name="parent" />
<br />
<br />
-<div id="poke-action-label">$choice</div>
+<div id="poke-action-label">{{$choice}}</div>
<br />
<br />
<select name="verb" id="poke-verb-select" >
-{{ for $verbs as $v }}
-<option value="$v.0">$v.1</option>
-{{ endfor }}
+{{foreach $verbs as $v}}
+<option value="{{$v.0}}">{{$v.1}}</option>
+{{/foreach}}
</select>
<br />
<br />
-<div id="poke-private-desc">$prv_desc</div>
-<input type="checkbox" name="private" {{ if $parent }}disabled="disabled"{{ endif }} value="1" />
+<div id="poke-private-desc">{{$prv_desc}}</div>
+<input type="checkbox" name="private" {{if $parent}}disabled="disabled"{{/if}} value="1" />
<br />
<br />
-<input type="submit" name="submit" value="$submit" />
+<input type="submit" name="submit" value="{{$submit}}" />
</form>
diff --git a/view/tpl/posted_date_widget.tpl b/view/tpl/posted_date_widget.tpl
index 3e2ee5a3e..6720d3628 100644..100755
--- a/view/tpl/posted_date_widget.tpl
+++ b/view/tpl/posted_date_widget.tpl
@@ -1,9 +1,9 @@
<div id="datebrowse-sidebar" class="widget">
- <h3>$title</h3>
+ <h3>{{$title}}</h3>
<script>function dateSubmit(dateurl) { window.location.href = dateurl; } </script>
-<select id="posted-date-selector" name="posted-date-select" onchange="dateSubmit($(this).val());" size="$size">
-{{ for $dates as $d }}
-<option value="$url/$d.1/$d.2" >$d.0</option>
-{{ endfor }}
+<select id="posted-date-selector" name="posted-date-select" onchange="dateSubmit($(this).val());" size="{{$size}}">
+{{foreach $dates as $d}}
+<option value="{{$url}}?dend={{$d.1}}&dbegin={{$d.2}}" >{{$d.0}}</option>
+{{/foreach}}
</select>
</div>
diff --git a/view/tpl/prettyphoto.tpl b/view/tpl/prettyphoto.tpl
new file mode 100644
index 000000000..6d047e620
--- /dev/null
+++ b/view/tpl/prettyphoto.tpl
@@ -0,0 +1,6 @@
+<script type="text/javascript" charset="utf-8">
+ $(document).ready(function(){
+ $("a[rel^='prettyPhoto']").prettyPhoto();
+ });
+</script>
+
diff --git a/view/tpl/profed_head.tpl b/view/tpl/profed_head.tpl
index 2477654b3..103960a76 100644..100755
--- a/view/tpl/profed_head.tpl
+++ b/view/tpl/profed_head.tpl
@@ -1,11 +1,11 @@
<script language="javascript" type="text/javascript"
- src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+ src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
theme : "advanced",
- mode : "$editselect",
+ mode : "{{$editselect}}",
plugins : "bbcode,paste",
theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
theme_advanced_buttons2 : "",
@@ -21,7 +21,7 @@ tinyMCE.init({
force_p_newlines : false,
force_br_newlines : true,
forced_root_block : '',
- content_css: "$baseurl/view/custom_tinymce.css",
+ content_css: "{{$baseurl}}/view/custom_tinymce.css",
theme_advanced_path : false,
setup : function(ed) {
ed.onInit.add(function(ed) {
diff --git a/view/tpl/profile-hide-friends.tpl b/view/tpl/profile-hide-friends.tpl
deleted file mode 100644
index 9ecacfbe0..000000000
--- a/view/tpl/profile-hide-friends.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-<p id="hide-friends-text">
-$desc
-</p>
-
- <div id="hide-friends-yes-wrapper">
- <label id="hide-friends-yes-label" for="hide-friends-yes">$yes_str</label>
- <input type="radio" name="hide-friends" id="hide-friends-yes" $yes_selected value="1" />
-
- <div id="hide-friends-break" ></div>
- </div>
- <div id="hide-friends-no-wrapper">
- <label id="hide-friends-no-label" for="hide-friends-no">$no_str</label>
- <input type="radio" name="hide-friends" id="hide-friends-no" $no_selected value="0" />
-
- <div id="hide-friends-end"></div>
- </div>
diff --git a/view/tpl/profile-hide-wall.tpl b/view/tpl/profile-hide-wall.tpl
deleted file mode 100644
index 10185e243..000000000
--- a/view/tpl/profile-hide-wall.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-<p id="hide-wall-text">
-$desc
-</p>
-
- <div id="hide-wall-yes-wrapper">
- <label id="hide-wall-yes-label" for="hide-wall-yes">$yes_str</label>
- <input type="radio" name="hidewall" id="hide-wall-yes" $yes_selected value="1" />
-
- <div id="hide-wall-break" ></div>
- </div>
- <div id="hide-wall-no-wrapper">
- <label id="hide-wall-no-label" for="hide-wall-no">$no_str</label>
- <input type="radio" name="hidewall" id="hide-wall-no" $no_selected value="0" />
-
- <div id="hide-wall-end"></div>
- </div>
diff --git a/view/tpl/profile-in-directory.tpl b/view/tpl/profile-in-directory.tpl
deleted file mode 100644
index 56b28d37e..000000000
--- a/view/tpl/profile-in-directory.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-<p id="profile-in-directory">
-$desc
-</p>
-
- <div id="profile-in-dir-yes-wrapper">
- <label id="profile-in-dir-yes-label" for="profile-in-dir-yes">$yes_str</label>
- <input type="radio" name="profile_in_directory" id="profile-in-dir-yes" $yes_selected value="1" />
-
- <div id="profile-in-dir-break" ></div>
- </div>
- <div id="profile-in-dir-no-wrapper">
- <label id="profile-in-dir-no-label" for="profile-in-dir-no">$no_str</label>
- <input type="radio" name="profile_in_directory" id="profile-in-dir-no" $no_selected value="0" />
-
- <div id="profile-in-dir-end"></div>
- </div>
diff --git a/view/tpl/profile-in-netdir.tpl b/view/tpl/profile-in-netdir.tpl
deleted file mode 100644
index 882ad2d17..000000000
--- a/view/tpl/profile-in-netdir.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-<p id="profile-in-directory">
-$desc
-</p>
-
- <div id="profile-in-netdir-yes-wrapper">
- <label id="profile-in-netdir-yes-label" for="profile-in-netdir-yes">$yes_str</label>
- <input type="radio" name="profile_in_netdirectory" id="profile-in-netdir-yes" $yes_selected value="1" />
-
- <div id="profile-in-netdir-break" ></div>
- </div>
- <div id="profile-in-netdir-no-wrapper">
- <label id="profile-in-netdir-no-label" for="profile-in-netdir-no">$no_str</label>
- <input type="radio" name="profile_in_netdirectory" id="profile-in-netdir-no" $no_selected value="0" />
-
- <div id="profile-in-netdir-end"></div>
- </div>
diff --git a/view/tpl/profile_advanced.tpl b/view/tpl/profile_advanced.tpl
index 0bc4d3fd3..9f17a0ffa 100644..100755
--- a/view/tpl/profile_advanced.tpl
+++ b/view/tpl/profile_advanced.tpl
@@ -1,170 +1,183 @@
-<h2>$title</h2>
+<div id="profile-content-wrapper" class="generic-content-wrapper">
+<h2>{{$title}}</h2>
<dl id="aprofile-fullname" class="aprofile">
- <dt>$profile.fullname.0</dt>
- <dd>$profile.fullname.1</dd>
+ <dt>{{$profile.fullname.0}}</dt>
+ <dd>{{$profile.fullname.1}}</dd>
</dl>
-{{ if $profile.gender }}
+{{if $profile.gender}}
<dl id="aprofile-gender" class="aprofile">
- <dt>$profile.gender.0</dt>
- <dd>$profile.gender.1</dd>
+ <dt>{{$profile.gender.0}}</dt>
+ <dd>{{$profile.gender.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.birthday }}
+{{if $profile.birthday}}
<dl id="aprofile-birthday" class="aprofile">
- <dt>$profile.birthday.0</dt>
- <dd>$profile.birthday.1</dd>
+ <dt>{{$profile.birthday.0}}</dt>
+ <dd>{{$profile.birthday.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.age }}
+{{if $profile.age}}
<dl id="aprofile-age" class="aprofile">
- <dt>$profile.age.0</dt>
- <dd>$profile.age.1</dd>
+ <dt>{{$profile.age.0}}</dt>
+ <dd>{{$profile.age.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.marital }}
+{{if $profile.marital}}
<dl id="aprofile-marital" class="aprofile">
- <dt><span class="heart">&hearts;</span> $profile.marital.0</dt>
- <dd>$profile.marital.1{{ if $profile.marital.with }} ($profile.marital.with){{ endif }}{{ if $profile.howlong }} $profile.howlong{{ endif }}</dd>
+ <dt><span class="heart">&hearts;</span> {{$profile.marital.0}}</dt>
+ <dd>{{$profile.marital.1}}{{if $profile.marital.with}} ({{$profile.marital.with}}){{/if}}{{if $profile.howlong}} {{$profile.howlong}}{{/if}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.sexual }}
+{{if $profile.sexual}}
<dl id="aprofile-sexual" class="aprofile">
- <dt>$profile.sexual.0</dt>
- <dd>$profile.sexual.1</dd>
+ <dt>{{$profile.sexual.0}}</dt>
+ <dd>{{$profile.sexual.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.keywords }}
+{{if $profile.keywords}}
<dl id="aprofile-tags" class="aprofile">
- <dt>$profile.keywords.0</dt>
- <dd>$profile.keywords.1</dd>
+ <dt>{{$profile.keywords.0}}</dt>
+ <dd>{{$profile.keywords.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.homepage }}
+{{if $profile.homepage}}
<dl id="aprofile-homepage" class="aprofile">
- <dt>$profile.homepage.0</dt>
- <dd>$profile.homepage.1</dd>
+ <dt>{{$profile.homepage.0}}</dt>
+ <dd>{{$profile.homepage.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.hometown }}
+{{if $profile.hometown}}
<dl id="aprofile-hometown" class="aprofile">
- <dt>$profile.hometown.0</dt>
- <dd>$profile.hometown.1</dd>
+ <dt>{{$profile.hometown.0}}</dt>
+ <dd>{{$profile.hometown.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.politic }}
+{{if $profile.politic}}
<dl id="aprofile-politic" class="aprofile">
- <dt>$profile.politic.0</dt>
- <dd>$profile.politic.1</dd>
+ <dt>{{$profile.politic.0}}</dt>
+ <dd>{{$profile.politic.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.religion }}
+{{if $profile.religion}}
<dl id="aprofile-religion" class="aprofile">
- <dt>$profile.religion.0</dt>
- <dd>$profile.religion.1</dd>
+ <dt>{{$profile.religion.0}}</dt>
+ <dd>{{$profile.religion.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.about }}
+{{if $profile.about}}
<dl id="aprofile-about" class="aprofile">
- <dt>$profile.about.0</dt>
- <dd>$profile.about.1</dd>
+ <dt>{{$profile.about.0}}</dt>
+ <dd>{{$profile.about.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.interest }}
+{{if $profile.interest}}
<dl id="aprofile-interest" class="aprofile">
- <dt>$profile.interest.0</dt>
- <dd>$profile.interest.1</dd>
+ <dt>{{$profile.interest.0}}</dt>
+ <dd>{{$profile.interest.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.likes }}
+{{if $profile.likes}}
<dl id="aprofile-likes" class="aprofile">
- <dt>$profile.likes.0</dt>
- <dd>$profile.likes.1</dd>
+ <dt>{{$profile.likes.0}}</dt>
+ <dd>{{$profile.likes.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.dislikes }}
+{{if $profile.dislikes}}
<dl id="aprofile-dislikes" class="aprofile">
- <dt>$profile.dislikes.0</dt>
- <dd>$profile.dislikes.1</dd>
+ <dt>{{$profile.dislikes.0}}</dt>
+ <dd>{{$profile.dislikes.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.contact }}
+{{if $profile.contact}}
<dl id="aprofile-contact" class="aprofile">
- <dt>$profile.contact.0</dt>
- <dd>$profile.contact.1</dd>
+ <dt>{{$profile.contact.0}}</dt>
+ <dd>{{$profile.contact.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.music }}
+{{if $profile.music}}
<dl id="aprofile-music" class="aprofile">
- <dt>$profile.music.0</dt>
- <dd>$profile.music.1</dd>
+ <dt>{{$profile.music.0}}</dt>
+ <dd>{{$profile.music.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.book }}
+{{if $profile.book}}
<dl id="aprofile-book" class="aprofile">
- <dt>$profile.book.0</dt>
- <dd>$profile.book.1</dd>
+ <dt>{{$profile.book.0}}</dt>
+ <dd>{{$profile.book.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.tv }}
+{{if $profile.tv}}
<dl id="aprofile-tv" class="aprofile">
- <dt>$profile.tv.0</dt>
- <dd>$profile.tv.1</dd>
+ <dt>{{$profile.tv.0}}</dt>
+ <dd>{{$profile.tv.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.film }}
+{{if $profile.film}}
<dl id="aprofile-film" class="aprofile">
- <dt>$profile.film.0</dt>
- <dd>$profile.film.1</dd>
+ <dt>{{$profile.film.0}}</dt>
+ <dd>{{$profile.film.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.romance }}
+{{if $profile.romance}}
<dl id="aprofile-romance" class="aprofile">
- <dt>$profile.romance.0</dt>
- <dd>$profile.romance.1</dd>
+ <dt>{{$profile.romance.0}}</dt>
+ <dd>{{$profile.romance.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.work }}
+{{if $profile.work}}
<dl id="aprofile-work" class="aprofile">
- <dt>$profile.work.0</dt>
- <dd>$profile.work.1</dd>
+ <dt>{{$profile.work.0}}</dt>
+ <dd>{{$profile.work.1}}</dd>
</dl>
-{{ endif }}
+{{/if}}
-{{ if $profile.education }}
+{{if $profile.education}}
<dl id="aprofile-education" class="aprofile">
- <dt>$profile.education.0</dt>
- <dd>$profile.education.1</dd>
-</dl>
-{{ endif }}
-
-
-
-
+ <dt>{{$profile.education.0}}</dt>
+ <dd>{{$profile.education.1}}</dd>
+</dl>
+{{/if}}
+
+{{if $things}}
+{{foreach $things as $key => $items}}
+<b>{{$profile.fullname.1}} {{$key}}</b>
+<ul class="profile-thing-list">
+{{foreach $items as $item}}
+<li>{{if $item.img}}<img src="{{$item.img}}" width="100" height="100" alt="{{$item.term}}" />{{/if}}
+<a href="{{$item.url}}" >{{$item.term}}</a>
+</li>
+{{/foreach}}
+</ul>
+<div class="clear"></div>
+{{/foreach}}
+{{/if}}
+
+</div>
diff --git a/view/tpl/profile_edit.tpl b/view/tpl/profile_edit.tpl
index a498f3a65..183389b9b 100644..100755
--- a/view/tpl/profile_edit.tpl
+++ b/view/tpl/profile_edit.tpl
@@ -1,14 +1,14 @@
-$default
+{{$default}}
-<h1>$banner</h1>
+<h1>{{$banner}}</h1>
<div id="profile-edit-links">
<ul>
-<li><a href="profile_photo" id="profile-photo_upload-link" title="$profpic">$profpic</a></li>
-<li><a href="profile/$profile_id/view?tab=profile" id="profile-edit-view-link" title="$viewprof">$viewprof</a></li>
-<li><a href="$profile_clone_link" id="profile-edit-clone-link" title="$cr_prof">$cl_prof</a></li>
+<li><a href="profile_photo" id="profile-photo_upload-link" title="{{$profpic}}">{{$profpic}}</a></li>
+<li><a href="profile/{{$profile_id}}/view" id="profile-edit-view-link" title="{{$viewprof}}">{{$viewprof}}</a></li>
+<li><a href="{{$profile_clone_link}}" id="profile-edit-clone-link" title="{{$cr_prof}}">{{$cl_prof}}</a></li>
<li></li>
-<li><a href="$profile_drop_link" id="profile-edit-drop-link" title="$del_prof" $disabled >$del_prof</a></li>
+<li><a href="{{$profile_drop_link}}" id="profile-edit-drop-link" title="{{$del_prof}}" {{$disabled}} >{{$del_prof}}</a></li>
</ul>
</div>
@@ -17,147 +17,147 @@ $default
<div id="profile-edit-wrapper" >
-<form id="profile-edit-form" name="form1" action="profiles/$profile_id" method="post" >
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<form id="profile-edit-form" name="form1" action="profiles/{{$profile_id}}" method="post" >
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
<div id="profile-edit-profile-name-wrapper" >
-<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >$lbl_profname </label>
-<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="$profile_name" /><div class="required">*</div>
+<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
+<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name}}" /><div class="required">*</div>
</div>
<div id="profile-edit-profile-name-end"></div>
<div id="profile-edit-name-wrapper" >
-<label id="profile-edit-name-label" for="profile-edit-name" >$lbl_fullname </label>
-<input type="text" size="32" name="name" id="profile-edit-name" value="$name" />
+<label id="profile-edit-name-label" for="profile-edit-name" >{{$lbl_fullname}} </label>
+<input type="text" size="32" name="name" id="profile-edit-name" value="{{$name}}" />
</div>
<div id="profile-edit-name-end"></div>
<div id="profile-edit-pdesc-wrapper" >
-<label id="profile-edit-pdesc-label" for="profile-edit-pdesc" >$lbl_title </label>
-<input type="text" size="32" name="pdesc" id="profile-edit-pdesc" value="$pdesc" />
+<label id="profile-edit-pdesc-label" for="profile-edit-pdesc" >{{$lbl_title}} </label>
+<input type="text" size="32" name="pdesc" id="profile-edit-pdesc" value="{{$pdesc}}" />
</div>
<div id="profile-edit-pdesc-end"></div>
<div id="profile-edit-gender-wrapper" >
-<label id="profile-edit-gender-label" for="gender-select" >$lbl_gender </label>
-$gender
+<label id="profile-edit-gender-label" for="gender-select" >{{$lbl_gender}} </label>
+{{$gender}}
</div>
<div id="profile-edit-gender-end"></div>
<div id="profile-edit-dob-wrapper" >
-<label id="profile-edit-dob-label" for="dob-select" >$lbl_bd </label>
+<label id="profile-edit-dob-label" for="dob-select" >{{$lbl_bd}} </label>
<div id="profile-edit-dob" >
-$dob $age
+{{$dob}} {{$age}}
</div>
</div>
<div id="profile-edit-dob-end"></div>
-$hide_friends
+{{$hide_friends}}
<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
+<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="profile-edit-address-wrapper" >
-<label id="profile-edit-address-label" for="profile-edit-address" >$lbl_address </label>
-<input type="text" size="32" name="address" id="profile-edit-address" value="$address" />
+<label id="profile-edit-address-label" for="profile-edit-address" >{{$lbl_address}} </label>
+<input type="text" size="32" name="address" id="profile-edit-address" value="{{$address}}" />
</div>
<div id="profile-edit-address-end"></div>
<div id="profile-edit-locality-wrapper" >
-<label id="profile-edit-locality-label" for="profile-edit-locality" >$lbl_city </label>
-<input type="text" size="32" name="locality" id="profile-edit-locality" value="$locality" />
+<label id="profile-edit-locality-label" for="profile-edit-locality" >{{$lbl_city}} </label>
+<input type="text" size="32" name="locality" id="profile-edit-locality" value="{{$locality}}" />
</div>
<div id="profile-edit-locality-end"></div>
<div id="profile-edit-postal-code-wrapper" >
-<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >$lbl_zip </label>
-<input type="text" size="32" name="postal_code" id="profile-edit-postal-code" value="$postal_code" />
+<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >{{$lbl_zip}} </label>
+<input type="text" size="32" name="postal_code" id="profile-edit-postal-code" value="{{$postal_code}}" />
</div>
<div id="profile-edit-postal-code-end"></div>
<div id="profile-edit-region-wrapper" >
-<label id="profile-edit-region-label" for="profile-edit-region" >$lbl_region </label>
-<input type="text" size="32" name="region" id="profile-edit-region" value="$region" />
+<label id="profile-edit-region-label" for="profile-edit-region" >{{$lbl_region}} </label>
+<input type="text" size="32" name="region" id="profile-edit-region" value="{{$region}}" />
</div>
<div id="profile-edit-region-end"></div>
<div id="profile-edit-country-name-wrapper" >
-<label id="profile-edit-country-name-label" for="profile-edit-country-name" >$lbl_country </label>
-<input type="text" size="32" name="country_name" id="profile-edit-country-name" value="$country_name" />
+<label id="profile-edit-country-name-label" for="profile-edit-country-name" >{{$lbl_country}} </label>
+<input type="text" size="32" name="country_name" id="profile-edit-country-name" value="{{$country_name}}" />
</div>
<div id="profile-edit-country-name-end"></div>
<div id="profile-edit-hometown-wrapper" >
-<label id="profile-edit-hometown-label" for="profile-edit-hometown" >$lbl_hometown </label>
-<input type="text" size="32" name="hometown" id="profile-edit-hometown" value="$hometown" />
+<label id="profile-edit-hometown-label" for="profile-edit-hometown" >{{$lbl_hometown}} </label>
+<input type="text" size="32" name="hometown" id="profile-edit-hometown" value="{{$hometown}}" />
</div>
<div id="profile-edit-hometown-end"></div>
<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
+<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="profile-edit-marital-wrapper" >
-<label id="profile-edit-marital-label" for="profile-edit-marital" >$lbl_marital </label>
-$marital
+<label id="profile-edit-marital-label" for="profile-edit-marital" >{{$lbl_marital}} </label>
+{{$marital}}
</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" />
-<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" />
+<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}}" />
+<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}}" />
<div id="profile-edit-marital-end"></div>
<div id="profile-edit-sexual-wrapper" >
-<label id="profile-edit-sexual-label" for="sexual-select" >$lbl_sexual </label>
-$sexual
+<label id="profile-edit-sexual-label" for="sexual-select" >{{$lbl_sexual}} </label>
+{{$sexual}}
</div>
<div id="profile-edit-sexual-end"></div>
<div id="profile-edit-homepage-wrapper" >
-<label id="profile-edit-homepage-label" for="profile-edit-homepage" >$lbl_homepage </label>
-<input type="text" size="32" name="homepage" id="profile-edit-homepage" value="$homepage" />
+<label id="profile-edit-homepage-label" for="profile-edit-homepage" >{{$lbl_homepage}} </label>
+<input type="text" size="32" name="homepage" id="profile-edit-homepage" value="{{$homepage}}" />
</div>
<div id="profile-edit-homepage-end"></div>
<div id="profile-edit-politic-wrapper" >
-<label id="profile-edit-politic-label" for="profile-edit-politic" >$lbl_politic </label>
-<input type="text" size="32" name="politic" id="profile-edit-politic" value="$politic" />
+<label id="profile-edit-politic-label" for="profile-edit-politic" >{{$lbl_politic}} </label>
+<input type="text" size="32" name="politic" id="profile-edit-politic" value="{{$politic}}" />
</div>
<div id="profile-edit-politic-end"></div>
<div id="profile-edit-religion-wrapper" >
-<label id="profile-edit-religion-label" for="profile-edit-religion" >$lbl_religion </label>
-<input type="text" size="32" name="religion" id="profile-edit-religion" value="$religion" />
+<label id="profile-edit-religion-label" for="profile-edit-religion" >{{$lbl_religion}} </label>
+<input type="text" size="32" name="religion" id="profile-edit-religion" value="{{$religion}}" />
</div>
<div id="profile-edit-religion-end"></div>
<div id="profile-edit-pubkeywords-wrapper" >
-<label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords" >$lbl_pubkey </label>
-<input type="text" size="32" name="keywords" id="profile-edit-pubkeywords" title="$lbl_ex2" value="$keywords" />
-</div><div id="profile-edit-pubkeywords-desc">$lbl_pubdsc</div>
+<label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords" >{{$lbl_pubkey}} </label>
+<input type="text" size="32" name="keywords" id="profile-edit-pubkeywords" title="{{$lbl_ex2}}" value="{{$keywords}}" />
+</div><div id="profile-edit-pubkeywords-desc">{{$lbl_pubdsc}}</div>
<div id="profile-edit-pubkeywords-end"></div>
<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
+<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="about-jot-wrapper" >
<p id="about-jot-desc" >
-$lbl_about
+{{$lbl_about}}
</p>
-<textarea rows="10" cols="72" id="profile-about-text" name="about" >$about</textarea>
+<textarea rows="10" cols="72" id="profile-about-text" name="about" >{{$about}}</textarea>
</div>
<div id="about-jot-end"></div>
@@ -165,10 +165,10 @@ $lbl_about
<div id="interest-jot-wrapper" >
<p id="interest-jot-desc" >
-$lbl_hobbies
+{{$lbl_hobbies}}
</p>
-<textarea rows="10" cols="72" id="interest-jot-text" name="interest" >$interest</textarea>
+<textarea rows="10" cols="72" id="interest-jot-text" name="interest" >{{$interest}}</textarea>
</div>
<div id="interest-jot-end"></div>
@@ -176,10 +176,10 @@ $lbl_hobbies
<div id="likes-jot-wrapper" >
<p id="likes-jot-desc" >
-$lbl_likes
+{{$lbl_likes}}
</p>
-<textarea rows="10" cols="72" id="likes-jot-text" name="likes" >$likes</textarea>
+<textarea rows="10" cols="72" id="likes-jot-text" name="likes" >{{$likes}}</textarea>
</div>
<div id="likes-jot-end"></div>
@@ -187,10 +187,10 @@ $lbl_likes
<div id="dislikes-jot-wrapper" >
<p id="dislikes-jot-desc" >
-$lbl_dislikes
+{{$lbl_dislikes}}
</p>
-<textarea rows="10" cols="72" id="dislikes-jot-text" name="dislikes" >$dislikes</textarea>
+<textarea rows="10" cols="72" id="dislikes-jot-text" name="dislikes" >{{$dislikes}}</textarea>
</div>
<div id="dislikes-jot-end"></div>
@@ -198,37 +198,46 @@ $lbl_dislikes
<div id="contact-jot-wrapper" >
<p id="contact-jot-desc" >
-$lbl_social
+{{$lbl_social}}
</p>
-<textarea rows="10" cols="72" id="contact-jot-text" name="contact" >$contact</textarea>
+<textarea rows="10" cols="72" id="contact-jot-text" name="contact" >{{$contact}}</textarea>
</div>
<div id="contact-jot-end"></div>
+<div id="channels-jot-wrapper" >
+<p id="channels-jot-desc" >
+{{$lbl_channels}}
+</p>
+
+<textarea rows="10" cols="72" id="channels-jot-text" name="channels" >{{$channels}}</textarea>
+
+</div>
+<div id="channels-jot-end"></div>
<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
+<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="music-jot-wrapper" >
<p id="music-jot-desc" >
-$lbl_music
+{{$lbl_music}}
</p>
-<textarea rows="10" cols="72" id="music-jot-text" name="music" >$music</textarea>
+<textarea rows="10" cols="72" id="music-jot-text" name="music" >{{$music}}</textarea>
</div>
<div id="music-jot-end"></div>
<div id="book-jot-wrapper" >
<p id="book-jot-desc" >
-$lbl_book
+{{$lbl_book}}
</p>
-<textarea rows="10" cols="72" id="book-jot-text" name="book" >$book</textarea>
+<textarea rows="10" cols="72" id="book-jot-text" name="book" >{{$book}}</textarea>
</div>
<div id="book-jot-end"></div>
@@ -237,10 +246,10 @@ $lbl_book
<div id="tv-jot-wrapper" >
<p id="tv-jot-desc" >
-$lbl_tv
+{{$lbl_tv}}
</p>
-<textarea rows="10" cols="72" id="tv-jot-text" name="tv" >$tv</textarea>
+<textarea rows="10" cols="72" id="tv-jot-text" name="tv" >{{$tv}}</textarea>
</div>
<div id="tv-jot-end"></div>
@@ -249,27 +258,27 @@ $lbl_tv
<div id="film-jot-wrapper" >
<p id="film-jot-desc" >
-$lbl_film
+{{$lbl_film}}
</p>
-<textarea rows="10" cols="72" id="film-jot-text" name="film" >$film</textarea>
+<textarea rows="10" cols="72" id="film-jot-text" name="film" >{{$film}}</textarea>
</div>
<div id="film-jot-end"></div>
<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
+<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="romance-jot-wrapper" >
<p id="romance-jot-desc" >
-$lbl_love
+{{$lbl_love}}
</p>
-<textarea rows="10" cols="72" id="romance-jot-text" name="romance" >$romance</textarea>
+<textarea rows="10" cols="72" id="romance-jot-text" name="romance" >{{$romance}}</textarea>
</div>
<div id="romance-jot-end"></div>
@@ -278,10 +287,10 @@ $lbl_love
<div id="work-jot-wrapper" >
<p id="work-jot-desc" >
-$lbl_work
+{{$lbl_work}}
</p>
-<textarea rows="10" cols="72" id="work-jot-text" name="work" >$work</textarea>
+<textarea rows="10" cols="72" id="work-jot-text" name="work" >{{$work}}</textarea>
</div>
<div id="work-jot-end"></div>
@@ -290,10 +299,10 @@ $lbl_work
<div id="education-jot-wrapper" >
<p id="education-jot-desc" >
-$lbl_school
+{{$lbl_school}}
</p>
-<textarea rows="10" cols="72" id="education-jot-text" name="education" >$education</textarea>
+<textarea rows="10" cols="72" id="education-jot-text" name="education" >{{$education}}</textarea>
</div>
<div id="education-jot-end"></div>
@@ -301,7 +310,7 @@ $lbl_school
<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
+<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
</div>
<div class="profile-edit-submit-end"></div>
diff --git a/view/tpl/profile_edlink.tpl b/view/tpl/profile_edlink.tpl
index ea787b9f5..247bfaace 100644..100755
--- a/view/tpl/profile_edlink.tpl
+++ b/view/tpl/profile_edlink.tpl
@@ -1,2 +1,2 @@
-<div class="profile-edit-side-div"><a class="profile-edit-side-link icon edit" title="$editprofile" href="profiles/$profid" ></a></div>
-<div class="clear"></div> \ No newline at end of file
+<div class="profile-edit-side-div"><a class="profile-edit-side-link icon edit" title="{{$editprofile}}" href="profiles/{{$profid}}" ></a></div>
+<div class="clear"></div>
diff --git a/view/tpl/profile_entry.tpl b/view/tpl/profile_entry.tpl
index 7ff6d685b..cc0f3477c 100644..100755
--- a/view/tpl/profile_entry.tpl
+++ b/view/tpl/profile_entry.tpl
@@ -1,11 +1,10 @@
-
<div class="profile-listing" >
<div class="profile-listing-photo-wrapper" >
-<a href="profiles/$id" class="profile-listing-edit-link"><img class="profile-listing-photo" id="profile-listing-photo-$id" src="$photo" alt="$alt" /></a>
+<a href="profiles/{{$id}}" class="profile-listing-edit-link"><img class="profile-listing-photo" id="profile-listing-photo-{{$id}}" src="{{$photo}}" alt="{{$alt}}" /></a>
</div>
<div class="profile-listing-photo-end"></div>
-<div class="profile-listing-name" id="profile-listing-name-$id"><a href="profiles/$id" class="profile-listing-edit-link" >$profile_name</a></div>
-<div class="profile-listing-visible">$visible</div>
+<div class="profile-listing-name" id="profile-listing-name-{{$id}}"><a href="profiles/{{$id}}" class="profile-listing-edit-link" >{{$profile_name}}</a></div>
+<div class="profile-listing-visible">{{$visible}}</div>
</div>
<div class="profile-listing-end"></div>
diff --git a/view/tpl/profile_listing_header.tpl b/view/tpl/profile_listing_header.tpl
index 61a273792..b771a1ea2 100644..100755
--- a/view/tpl/profile_listing_header.tpl
+++ b/view/tpl/profile_listing_header.tpl
@@ -1,8 +1,8 @@
-<h1>$header</h1>
+<h1>{{$header}}</h1>
<p id="profile-listing-desc" class="button" >
-<a href="profile_photo" >$chg_photo</a>
+<a href="profile_photo" >{{$chg_photo}}</a>
</p>
<div id="profile-listing-new-link-wrapper" class="button" >
-<a href="$cr_new_link" id="profile-listing-new-link" title="$cr_new" >$cr_new</a>
+<a href="{{$cr_new_link}}" id="profile-listing-new-link" title="{{$cr_new}}" >{{$cr_new}}</a>
</div>
diff --git a/view/tpl/profile_photo.tpl b/view/tpl/profile_photo.tpl
index 05952afa4..48a3c7f26 100644..100755
--- a/view/tpl/profile_photo.tpl
+++ b/view/tpl/profile_photo.tpl
@@ -1,29 +1,29 @@
-<h1>$title</h1>
+<h1>{{$title}}</h1>
<form enctype="multipart/form-data" action="profile_photo" method="post">
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
<div id="profile-photo-upload-wrapper">
-<label id="profile-photo-upload-label" class="form-label" for="profile-photo-upload">$lbl_upfile</label>
+<label id="profile-photo-upload-label" class="form-label" for="profile-photo-upload">{{$lbl_upfile}}</label>
<input name="userfile" class="form-input" type="file" id="profile-photo-upload" size="48" />
<div class="clear"></div>
-<label id="profile-photo-profiles-label" class="form-label" for="profile-photo-profiles">$lbl_profiles</label>
+<label id="profile-photo-profiles-label" class="form-label" for="profile-photo-profiles">{{$lbl_profiles}}</label>
<select name="profile" id="profile-photo-profiles" class="form-input" >
-{{ for $profiles as $p }}
-<option value="$p.id" {{ if $p.is_default }}selected="selected"{{ endif }}>$p.name</option>
-{{ endfor }}
+{{foreach $profiles as $p}}
+<option value="{{$p.id}}" {{if $p.is_default}}selected="selected"{{/if}}>{{$p.name}}</option>
+{{/foreach}}
</select>
<div class="clear"></div>
<div id="profile-photo-submit-wrapper">
-<input type="submit" name="submit" id="profile-photo-submit" value="$submit">
+<input type="submit" name="submit" id="profile-photo-submit" value="{{$submit}}">
</div>
</div>
</form>
<div id="profile-photo-link-select-wrapper">
-$select
-</div> \ No newline at end of file
+{{$select}}
+</div>
diff --git a/view/tpl/profile_publish.tpl b/view/tpl/profile_publish.tpl
deleted file mode 100644
index 8fd0bc913..000000000
--- a/view/tpl/profile_publish.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-<p id="profile-publish-desc-$instance">
-$pubdesc
-</p>
-
- <div id="profile-publish-yes-wrapper-$instance">
- <label id="profile-publish-yes-label-$instance" for="profile-publish-yes-$instance">$str_yes</label>
- <input type="radio" name="profile_publish_$instance" id="profile-publish-yes-$instance" $yes_selected value="1" />
-
- <div id="profile-publish-break-$instance" ></div>
- </div>
- <div id="profile-publish-no-wrapper-$instance">
- <label id="profile-publish-no-label-$instance" for="profile-publish-no-$instance">$str_no</label>
- <input type="radio" name="profile_publish_$instance" id="profile-publish-no-$instance" $no_selected value="0" />
-
- <div id="profile-publish-end-$instance"></div>
- </div>
diff --git a/view/tpl/profile_vcard.tpl b/view/tpl/profile_vcard.tpl
index 323658463..31f601d86 100644..100755
--- a/view/tpl/profile_vcard.tpl
+++ b/view/tpl/profile_vcard.tpl
@@ -1,52 +1,59 @@
<div class="vcard">
- {{ if $profile.edit }}
+ {{if $profile.edit}}
<div class="action">
- <a class="profile-edit-side-link icon edit" rel="#profiles-menu" title="$profile.edit.3" href="#" ><span>$profile.edit.1</span></a>
+ <a class="profile-edit-side-link icon edit" rel="#profiles-menu" title="{{$profile.edit.3}}" href="#" ><span>{{$profile.edit.1}}</span></a>
<ul id="profiles-menu" class="menu-popup">
- {{ for $profile.menu.entries as $e }}
+ {{foreach $profile.menu.entries as $e}}
<li>
- <a href="profiles/$e.id"><img src='$e.photo'>$e.profile_name</a>
+ <a href="profiles/{{$e.id}}"><img src='{{$e.photo}}'>{{$e.profile_name}}</a>
</li>
- {{ endfor }}
- <li><a href="profile_photo" >$profile.menu.chg_photo</a></li>
- <li><a href="profiles/new" id="profile-listing-new-link">$profile.menu.cr_new</a></li>
+ {{/foreach}}
+ <li><a href="profile_photo" >{{$profile.menu.chg_photo}}</a></li>
+ <li><a href="profiles/new" id="profile-listing-new-link">{{$profile.menu.cr_new}}</a></li>
</ul>
</div>
- {{ endif }}
+ {{/if}}
- <div class="fn label">$profile.name</div>
+ <div class="fn label">{{$profile.name}}</div>
- {{ if $pdesc }}<div class="title">$profile.pdesc</div>{{ endif }}
- <div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="$profile.photo?rev=$profile.picdate" alt="$profile.name"></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>
- {{ if $location }}
- <dl class="location"><dt class="location-label">$location</dt>
+ {{if $location}}
+ <dl class="location"><dt class="location-label">{{$location}}</dt>
<dd class="adr">
- {{ if $profile.address }}<div class="street-address">$profile.address</div>{{ endif }}
+ {{if $profile.address}}<div class="street-address">{{$profile.address}}</div>{{/if}}
<span class="city-state-zip">
- <span class="locality">$profile.locality</span>{{ if $profile.locality }}, {{ endif }}
- <span class="region">$profile.region</span>
- <span class="postal-code">$profile.postal_code</span>
+ <span class="locality">{{$profile.locality}}</span>{{if $profile.locality}}, {{/if}}
+ <span class="region">{{$profile.region}}</span>
+ <span class="postal-code">{{$profile.postal_code}}</span>
</span>
- {{ if $profile.country_name }}<span class="country-name">$profile.country_name</span>{{ endif }}
+ {{if $profile.country_name}}<span class="country-name">{{$profile.country_name}}</span>{{/if}}
</dd>
</dl>
- {{ endif }}
+ {{/if}}
- {{ if $gender }}<dl class="mf"><dt class="gender-label">$gender</dt> <dd class="x-gender">$profile.gender</dd></dl>{{ endif }}
+ {{if $gender}}<dl class="mf"><dt class="gender-label">{{$gender}}</dt> <dd class="x-gender">{{$profile.gender}}</dd></dl>{{/if}}
- {{ if $marital }}<dl class="marital"><dt class="marital-label"><span class="heart">&hearts;</span>$marital</dt><dd class="marital-text">$profile.marital</dd></dl>{{ endif }}
+ {{if $marital}}<dl class="marital"><dt class="marital-label"><span class="heart">&hearts;</span>{{$marital}}</dt><dd class="marital-text">{{$profile.marital}}</dd></dl>{{/if}}
- {{ if $homepage }}<dl class="homepage"><dt class="homepage-label">$homepage</dt><dd class="homepage-url"><a href="$profile.homepage" >$profile.homepage</a></dd></dl>{{ endif }}
+ {{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url"><a href="{{$profile.homepage}}" >{{$profile.homepage}}</a></dd></dl>{{/if}}
+
+{{if $connect}}
+<a href="{{$connect_url}}" class="rconnect">{{$connect}}</a>
+{{/if}}
</div>
<div id="vcard-end"></div>
-$contact_block
+
+{{$chanmenu}}
+
+{{$contact_block}}
diff --git a/view/tpl/prv_message.tpl b/view/tpl/prv_message.tpl
index 3f0bd937f..164ba0c6d 100644..100755
--- a/view/tpl/prv_message.tpl
+++ b/view/tpl/prv_message.tpl
@@ -1,37 +1,42 @@
-
-<h3>$header</h3>
+<h3>{{$header}}</h3>
<div id="prvmail-wrapper" >
<form id="prvmail-form" action="message" method="post" >
-$parent
+{{$parent}}
-<div id="prvmail-to-label">$to</div>
+<div id="prvmail-to-label">{{$to}}</div>
-{{ if $showinputs }}
-<input type="text" id="recip" name="messagerecip" value="$prefill" maxlength="255" size="64" tabindex="10" />
-<input type="hidden" id="recip-complete" name="messageto" value="$preid">
-{{ else }}
-$select
-{{ endif }}
+{{if $showinputs}}
+<input type="text" id="recip" name="messagerecip" value="{{$prefill}}" maxlength="255" size="64" tabindex="10" />
+<input type="hidden" id="recip-complete" name="messageto" value="{{$preid}}">
+{{else}}
+{{$select}}
+{{/if}}
-<div id="prvmail-subject-label">$subject</div>
-<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="$subjtxt" $readonly tabindex="11" />
+<div id="prvmail-subject-label">{{$subject}}</div>
+<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="{{$subjtxt}}" {{$readonly}} tabindex="11" />
-<div id="prvmail-message-label">$yourmessage</div>
-<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">$text</textarea>
+<div id="prvmail-message-label">{{$yourmessage}}</div>
+<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">{{$text}}</textarea>
<div id="prvmail-submit-wrapper" >
- <input type="submit" id="prvmail-submit" name="submit" value="$submit" tabindex="13" />
+ <input type="submit" id="prvmail-submit" name="submit" value="{{$submit}}" tabindex="13" />
<div id="prvmail-upload-wrapper" >
- <div id="prvmail-upload" class="icon border camera" title="$upload" ></div>
+ <div id="prvmail-upload" class="icon border camera" title="{{$upload}}" ></div>
+ </div>
+
+ <div id="prvmail-attach-wrapper" >
+ <div id="prvmail-attach" class="icon attach" title="{{$attach}}" ></div>
</div>
+
+
<div id="prvmail-link-wrapper" >
- <div id="prvmail-link" class="icon border link" title="$insert" onclick="jotGetLink();" ></div>
+ <div id="prvmail-link" class="icon border link" title="{{$insert}}" onclick="jotGetLink();" ></div>
</div>
<div id="prvmail-rotator-wrapper" >
- <img id="prvmail-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
+ <img id="prvmail-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />
</div>
</div>
<div id="prvmail-end"></div>
diff --git a/view/tpl/pwdreset.tpl b/view/tpl/pwdreset.tpl
index 497b93396..3993dec64 100644..100755
--- a/view/tpl/pwdreset.tpl
+++ b/view/tpl/pwdreset.tpl
@@ -1,17 +1,17 @@
-<h3>$lbl1</h3>
+<h3>{{$lbl1}}</h3>
<p>
-$lbl2
+{{$lbl2}}
</p>
<p>
-$lbl3
+{{$lbl3}}
</p>
<p>
-$newpass
+{{$newpass}}
</p>
<p>
-$lbl4 $lbl5
+{{$lbl4}} {{$lbl5}}
</p>
<p>
-$lbl6
+{{$lbl6}}
</p>
diff --git a/view/tpl/register.tpl b/view/tpl/register.tpl
index 4b565718d..48c1ba525 100644..100755
--- a/view/tpl/register.tpl
+++ b/view/tpl/register.tpl
@@ -1,45 +1,45 @@
-<h2>$title</h2>
+<h2>{{$title}}</h2>
<form action="register" method="post" id="register-form">
-{{ if $registertext }}
-<div id="register-desc" class="descriptive-paragraph">$registertext</div>
-{{ endif }}
+{{if $registertext}}
+<div id="register-desc" class="descriptive-paragraph">{{$registertext}}</div>
+{{/if}}
-{{ if $invitations }}
- <p id="register-invite-desc">$invite_desc</p>
+{{if $invitations}}
+ <p id="register-invite-desc">{{$invite_desc}}</p>
- <label for="register-invite" id="label-register-invite" class="register-label">$label_invite</label>
- <input type="text" maxlength="72" size="32" name="invite_code" id="register-invite" class="register-input" value="$invite_code" />
+ <label for="register-invite" id="label-register-invite" class="register-label">{{$label_invite}}</label>
+ <input type="text" maxlength="72" size="32" name="invite_code" id="register-invite" class="register-input" value="{{$invite_code}}" />
<div id="register-invite-feedback" class="register-feedback"></div>
<div id="register-invite-end" class="register-field-end"></div>
-{{ endif }}
+{{/if}}
- <label for="register-email" id="label-register-email" class="register-label" >$label_email</label>
- <input type="text" maxlength="72" size="32" name="email" id="register-email" class="register-input" value="$email" />
+ <label for="register-email" id="label-register-email" class="register-label" >{{$label_email}}</label>
+ <input type="text" maxlength="72" size="32" name="email" id="register-email" class="register-input" value="{{$email}}" />
<div id="register-email-feedback" class="register-feedback"></div>
<div id="register-email-end" class="register-field-end"></div>
- <label for="register-password" id="label-register-password" class="register-label" >$label_pass1</label>
- <input type="password" maxlength="72" size="32" name="password" id="register-password" class="register-input" value="$pass1" />
+ <label for="register-password" id="label-register-password" class="register-label" >{{$label_pass1}}</label>
+ <input type="password" maxlength="72" size="32" name="password" id="register-password" class="register-input" value="{{$pass1}}" />
<div id="register-password-feedback" class="register-feedback"></div>
<div id="register-password-end" class="register-field-end"></div>
- <label for="register-password2" id="label-register-password2" class="register-label" >$label_pass2</label>
- <input type="password" maxlength="72" size="32" name="password2" id="register-password2" class="register-input" value="$pass2" />
+ <label for="register-password2" id="label-register-password2" class="register-label" >{{$label_pass2}}</label>
+ <input type="password" maxlength="72" size="32" name="password2" id="register-password2" class="register-input" value="{{$pass2}}" />
<div id="register-password2-feedback" class="register-feedback"></div>
<div id="register-password2-end" class="register-field-end"></div>
- {{ if $enable_tos }}
+ {{if $enable_tos}}
<input type="checkbox" name="tos" id="register-tos" value="1" />
- <label for="register-tos" id="label-register-tos">$label_tos</label>
+ <label for="register-tos" id="label-register-tos">{{$label_tos}}</label>
<div id="register-tos-feedback" class="register-feedback"></div>
<div id="register-tos-end" class="register-field-end"></div>
- {{ else }}
+ {{else}}
<input type="hidden" name="tos" value="1" />
- {{ endif }}
+ {{/if}}
- <input type="submit" name="submit" id="register-submit-button" value="$submit" />
+ <input type="submit" name="submit" id="register-submit-button" value="{{$submit}}" />
<div id="register-submit-end" class="register-field-end"></div>
</form>
diff --git a/view/tpl/remote_friends_common.tpl b/view/tpl/remote_friends_common.tpl
index 48bdd548f..d6d2fd211 100644..100755
--- a/view/tpl/remote_friends_common.tpl
+++ b/view/tpl/remote_friends_common.tpl
@@ -1,21 +1,21 @@
<div id="remote-friends-in-common" class="bigwidget">
- <div id="rfic-desc">$desc &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ if $linkmore }}<a href="$base/common/$uid">$more</a>{{ endif }}</div>
- {{ if $items }}
- {{ for $items as $item }}
+ <div id="rfic-desc">{{$desc}} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{if $linkmore}}<a href="{{$base}}/common/{{$uid}}">{{$more}}</a>{{/if}}</div>
+ {{if $items}}
+ {{foreach $items as $item}}
<div class="profile-match-wrapper">
<div class="profile-match-photo">
- <a href="$base/chanview?f=&url=$item.xchan_url">
- <img src="$item.xchan_photo_m" width="80" height="80" alt="$item.xchan_name" title="$item.xchan_name" />
+ <a href="{{$base}}/chanview?f=&url={{$item.xchan_url}}">
+ <img src="{{$item.xchan_photo_m}}" width="80" height="80" alt="{{$item.xchan_name}}" title="{{$item.xchan_name}}" />
</a>
</div>
<div class="profile-match-break"></div>
<div class="profile-match-name">
- <a href="$base/chanview?f=&url=$item.xchan_url" title="$item.xchan_name">$item.xchan_name</a>
+ <a href="{{$base}}/chanview?f=&url={{$item.xchan_url}}" title="{{$item.xchan_name}}">{{$item.xchan_name}}</a>
</div>
<div class="profile-match-end"></div>
</div>
- {{ endfor }}
- {{ endif }}
+ {{/foreach}}
+ {{/if}}
<div id="rfic-end" class="clear"></div>
</div>
diff --git a/view/tpl/removeme.tpl b/view/tpl/removeme.tpl
index a3ca8d4cf..496f91ff5 100644..100755
--- a/view/tpl/removeme.tpl
+++ b/view/tpl/removeme.tpl
@@ -1,19 +1,19 @@
-<h1>$title</h1>
+<h1>{{$title}}</h1>
<div id="remove-account-wrapper">
-<div id="remove-account-desc">$desc</div>
+<div id="remove-account-desc">{{$desc}}</div>
-<form action="$basedir/removeme" autocomplete="off" method="post" >
-<input type="hidden" name="verify" value="$hash" />
+<form action="{{$basedir}}/removeme" autocomplete="off" method="post" >
+<input type="hidden" name="verify" value="{{$hash}}" />
<div id="remove-account-pass-wrapper">
-<label id="remove-account-pass-label" for="remove-account-pass">$passwd</label>
+<label id="remove-account-pass-label" for="remove-account-pass">{{$passwd}}</label>
<input type="password" id="remove-account-pass" name="qxz_password" />
</div>
<div id="remove-account-pass-end"></div>
-<input type="submit" name="submit" value="$submit" />
+<input type="submit" name="submit" value="{{$submit}}" />
</form>
</div>
diff --git a/view/tpl/rmagic.tpl b/view/tpl/rmagic.tpl
index f16abe975..58df71718 100644..100755
--- a/view/tpl/rmagic.tpl
+++ b/view/tpl/rmagic.tpl
@@ -1,11 +1,11 @@
-<h3>$title</h3>
+<h3>{{$title}}</h3>
<form action="rmagic" method="post" >
- <label for="rmagic-address" id="label-rmagic-address" class="rmagic-label">$desc</label>
+ <label for="rmagic-address" id="label-rmagic-address" class="rmagic-label">{{$desc}}</label>
<input type="text" maxlength="255" size="32" name="address" id="rmagic-address" class="rmagic-input" value="" />
- <input type="submit" name="submit" id="rmagic-submit-button" value="$submit" />
+ <input type="submit" name="submit" id="rmagic-submit-button" value="{{$submit}}" />
<div id="rmagic-submit-end" class="rmagic-field-end"></div>
</form>
diff --git a/view/tpl/saved_searches_aside.tpl b/view/tpl/saved_searches_aside.tpl
index a204c48ff..27c7d86a0 100644..100755
--- a/view/tpl/saved_searches_aside.tpl
+++ b/view/tpl/saved_searches_aside.tpl
@@ -1,14 +1,14 @@
<div class="widget" id="saved-search-list">
- <h3 id="search">$title</h3>
- $searchbox
+ <h3 id="search">{{$title}}</h3>
+ {{$searchbox}}
<ul id="saved-search-ul">
- {{ for $saved as $search }}
+ {{foreach $saved as $search}}
<li class="saved-search-li clear">
- <a title="$search.delete" onclick="return confirmDelete();" id="drop-saved-search-term-$search.id" class="iconspacer savedsearchdrop " href="network/?f=&amp;remove=1&amp;search=$search.encodedterm"></a>
- <a id="saved-search-term-$search.id" class="savedsearchterm" href="network/?f=&amp;search=$search.encodedterm">$search.displayterm</a>
+ <a title="{{$search.delete}}" onclick="return confirmDelete();" id="drop-saved-search-term-{{$search.id}}" class="iconspacer savedsearchdrop " href="network/?f=&amp;remove=1&amp;search={{$search.encodedterm}}"></a>
+ <a id="saved-search-term-{{$search.id}}" class="savedsearchterm" href="network/?f=&amp;search={{$search.encodedterm}}">{{$search.displayterm}}</a>
</li>
- {{ endfor }}
+ {{/foreach}}
</ul>
<div class="clear"></div>
</div>
diff --git a/view/tpl/search_item.tpl b/view/tpl/search_item.tpl
index 304fca4d5..bb796346d 100644..100755
--- a/view/tpl/search_item.tpl
+++ b/view/tpl/search_item.tpl
@@ -1,62 +1,62 @@
-<div id="thread-wrapper-$item.id" class="thread-wrapper $item.toplevel">
-<a name="$item.id" ></a>
-<div class="wall-item-outside-wrapper $item.indent$item.previewing" id="wall-item-outside-wrapper-$item.id" >
- <div class="wall-item-content-wrapper $item.indent$item.previewing" id="wall-item-content-wrapper-$item.id" >
- <div class="wall-item-info" id="wall-item-info-$item.id">
- <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id"
- onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
- onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
- <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
- <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" /></a>
- <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
+<div id="thread-wrapper-{{$item.id}}" class="thread-wrapper {{$item.toplevel}}">
+<a name="{{$item.id}}" ></a>
+<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}" id="wall-item-outside-wrapper-{{$item.id}}" >
+ <div class="wall-item-content-wrapper {{$item.indent}}{{$item.previewing}}" id="wall-item-content-wrapper-{{$item.id}}" >
+ <div class="wall-item-info" id="wall-item-info-{{$item.id}}">
+ <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-{{$item.id}}"
+ onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')"
+ onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)">
+ <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}">
+ <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a>
+ <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
+ <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
<ul>
- $item.item_photo_menu
+ {{$item.item_photo_menu}}
</ul>
</div>
</div>
<div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" >
- {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
- {{ else }}<div class="wall-item-lock"></div>{{ endif }}
- <div class="wall-item-location" id="wall-item-location-$item.id">$item.location</div>
+ <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
+ {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div>
+ {{else}}<div class="wall-item-lock"></div>{{/if}}
+ <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div>
</div>
</div>
<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>
+ <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>
- <div id="wall-item-ago-$item.id" class="wall-item-ago"><abbr class="wall-item-ago-time" title="$item.localtime">$item.ago</abbr>{{ if $item.app }}<span class="item.app">$item.str_app</span>{{ endif }}</div>
+ <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}"><span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}</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>
+ <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="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body}}
<div class="body-tag">
- {{ for $item.tags as $tag }}
- <span class='tag'>$tag</span>
- {{ endfor }}
+ {{foreach $item.tags as $tag}}
+ <span class='tag'>{{$tag}}</span>
+ {{/foreach}}
</div>
</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" >
- {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
+ <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}">
+ <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >
+ {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}}
</div>
- {{ if $item.drop.pagedropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
+ {{if $item.drop.pagedropping}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}}
<div class="wall-item-delete-end"></div>
</div>
</div>
<div class="wall-item-wrapper-end"></div>
- <div class="wall-item-conv" id="wall-item-conv-$item.id" >
- {{ if $item.conv }}
- <a href='$item.conv.href' id='context-$item.id' title='$item.conv.title'>$item.conv.title</a>
- {{ endif }}
+ <div class="wall-item-conv" id="wall-item-conv-{{$item.id}}" >
+ {{if $item.conv}}
+ <a href='{{$item.conv.href}}' id='context-{{$item.id}}' title='{{$item.conv.title}}'>{{$item.conv.title}}</a>
+ {{/if}}
</div>
-<div class="wall-item-outside-wrapper-end $item.indent" ></div>
+<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>
</div>
</div>
diff --git a/view/tpl/sellpage_edit.tpl b/view/tpl/sellpage_edit.tpl
new file mode 100644
index 000000000..0a4726fb2
--- /dev/null
+++ b/view/tpl/sellpage_edit.tpl
@@ -0,0 +1,23 @@
+<h1>{{$header}}</h1>
+<form id="sellpage-edit" action="connect/{{$address}}" method="post">
+
+{{include file="field_checkbox.tpl" field=$premium}}
+
+<div class="descriptive-text">{{$desc}}</div>
+
+<div class="sellpage-editbody">
+<p id="sellpage-bodydesc" >
+{{$lbl_about}}
+</p>
+
+<textarea rows="10" cols="72" id="sellpage-textinp" name="text" >{{$text}}</textarea>
+
+</div>
+<div id="sellpage-editbody-end"></div>
+
+
+<div class="descriptive-text">{{$lbl2}}</div>
+<div class="sellpage-final">{{$desc2}}</div>
+
+<input type="submit" name="submit" value="{{$submit}}" />
+</form>
diff --git a/view/tpl/sellpage_submit.tpl b/view/tpl/sellpage_submit.tpl
new file mode 100644
index 000000000..2bd735ea4
--- /dev/null
+++ b/view/tpl/sellpage_submit.tpl
@@ -0,0 +1,3 @@
+<form id="sellpage-submit" action="connect/{{$address}}" method="post">
+<input type="submit" name="submit" value="{{$continue}}" />
+</form> \ No newline at end of file
diff --git a/view/tpl/sellpage_view.tpl b/view/tpl/sellpage_view.tpl
new file mode 100644
index 000000000..20a65ffbe
--- /dev/null
+++ b/view/tpl/sellpage_view.tpl
@@ -0,0 +1,11 @@
+<div class="generic-content-wrapper">
+<h1>{{$header}}</h1>
+
+<div class="descriptive-text">{{$desc}}</div>
+
+<div class="sellpage-body">{{$text}}</div>
+
+<div class="sellpage-final">{{$desc2}}</div>
+
+{{$submit}}
+</div>
diff --git a/view/tpl/settings.tpl b/view/tpl/settings.tpl
index ea44c1240..f50e5dd74 100644..100755
--- a/view/tpl/settings.tpl
+++ b/view/tpl/settings.tpl
@@ -1,71 +1,85 @@
-<h1>$ptitle</h1>
+<div class="generic-content-wrapper">
+<h1>{{$ptitle}}</h1>
-$nickname_block
+{{$nickname_block}}
<form action="settings" id="settings-form" method="post" autocomplete="off" >
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-<h3 class="settings-heading">$h_basic</h3>
+<h3 class="settings-heading">{{$h_basic}}</h3>
-{{inc field_input.tpl with $field=$username }}{{endinc}}
-{{inc field_custom.tpl with $field=$timezone }}{{endinc}}
-{{inc field_input.tpl with $field=$defloc }}{{endinc}}
-{{inc field_checkbox.tpl with $field=$allowloc }}{{endinc}}
+{{include file="field_input.tpl" field=$username}}
+{{include file="field_custom.tpl" field=$timezone}}
+{{include file="field_input.tpl" field=$defloc}}
+{{include file="field_checkbox.tpl" field=$allowloc}}
<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="$submit" />
+<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
</div>
-<h3 class="settings-heading">$h_prv</h3>
+<h3 class="settings-heading">{{$h_prv}}</h3>
+
+<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>
+<li><a href="#" onclick="channel_privacy_macro(2); return false" id="settings_pmacro2">{{$pmacro2}}</a></li>
+<li><a href="#" onclick="channel_privacy_macro(1); return false" id="settings_pmacro1">{{$pmacro1}}</a></li>
+<li><a href="#" onclick="channel_privacy_macro(0); return false" id="settings_pmacro0">{{$pmacro0}}</a></li>
+</ul>
+
<div id="settings-permissions-wrapper">
-{{ for $permiss_arr as $permit }}
-{{inc field_select.tpl with $field=$permit }}{{endinc}}
-{{ endfor }}
+{{foreach $permiss_arr as $permit}}
+{{include file="field_select.tpl" field=$permit}}
+{{/foreach}}
</div>
<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="$submit" />
+<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
</div>
-$profile_in_dir
+{{$profile_in_dir}}
+
+{{$suggestme}}
-$suggestme
+{{include file="field_input.tpl" field=$maxreq}}
-{{inc field_input.tpl with $field=$maxreq }}{{endinc}}
+{{include file="field_input.tpl" field=$cntunkmail}}
-{{inc field_input.tpl with $field=$cntunkmail }}{{endinc}}
-{{inc field_input.tpl with $field=$expire.days }}{{endinc}}
+{{if $expireisfixed}}
+{{* Remove above line when expire is working *}}
+{{include file="field_input.tpl" field=$expire.days}}
<div class="field input">
- <span class="field_help"><a href="#advanced-expire-popup" id="advanced-expire" class='popupbox' title="$expire.advanced">$expire.label</a></span>
+ <span class="field_help"><a href="#advanced-expire-popup" id="advanced-expire" class='popupbox' title="{{$expire.advanced}}">{{$expire.label}}</a></span>
<div style="display: none;">
<div id="advanced-expire-popup" style="width:auto;height:auto;overflow:auto;">
- <h3>$expire.advanced</h3>
- {{ inc field_yesno.tpl with $field=$expire.items }}{{endinc}}
- {{ inc field_yesno.tpl with $field=$expire.starred }}{{endinc}}
- {{ inc field_yesno.tpl with $field=$expire.network_only }}{{endinc}}
+ <h3>{{$expire.advanced}}</h3>
+ {{include file="field_yesno.tpl" field=$expire.items}}
+ {{include file="field_yesno.tpl" field=$expire.starred}}
+ {{include file="field_yesno.tpl" field=$expire.network_only}}
</div>
</div>
</div>
+{{/if}}
<div id="settings-default-perms" class="settings-default-perms" >
- <a href="#profile-jot-acl-wrapper" id="settings-default-perms-menu" class='popupbox'>$permissions $permdesc</a>
+ <a href="#profile-jot-acl-wrapper" id="settings-default-perms-menu" class='popupbox'>{{$permissions}} {{$permdesc}}</a>
<div id="settings-default-perms-menu-end"></div>
<div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" >
<div style="display: none;">
<div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
- $aclselect
+ {{$aclselect}}
</div>
</div>
@@ -74,41 +88,42 @@ $suggestme
<br/>
<div id="settings-default-perms-end"></div>
-$group_select
+{{$group_select}}
<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="$submit" />
+<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
</div>
-<h3 class="settings-heading">$h_not</h3>
+<h3 class="settings-heading">{{$h_not}}</h3>
<div id="settings-notifications">
-<div id="settings-activity-desc">$activity_options</div>
+<div id="settings-activity-desc">{{$activity_options}}</div>
+{{*the next two aren't yet implemented *}}
+{{*include file="field_checkbox.tpl" field=$post_newfriend*}}
+{{*include file="field_checkbox.tpl" field=$post_joingroup*}}
+{{include file="field_checkbox.tpl" field=$post_profilechange}}
-{{inc field_checkbox.tpl with $field=$post_newfriend }}{{endinc}}
-{{inc field_checkbox.tpl with $field=$post_joingroup }}{{endinc}}
-{{inc field_checkbox.tpl with $field=$post_profilechange }}{{endinc}}
-
-<div id="settings-notify-desc">$lbl_not</div>
+<div id="settings-notify-desc">{{$lbl_not}}</div>
<div class="group">
-{{inc field_intcheckbox.tpl with $field=$notify1 }}{{endinc}}
-{{inc field_intcheckbox.tpl with $field=$notify2 }}{{endinc}}
-{{inc field_intcheckbox.tpl with $field=$notify3 }}{{endinc}}
-{{inc field_intcheckbox.tpl with $field=$notify4 }}{{endinc}}
-{{inc field_intcheckbox.tpl with $field=$notify5 }}{{endinc}}
-{{inc field_intcheckbox.tpl with $field=$notify6 }}{{endinc}}
-{{inc field_intcheckbox.tpl with $field=$notify7 }}{{endinc}}
-{{inc field_intcheckbox.tpl with $field=$notify8 }}{{endinc}}
+{{include file="field_intcheckbox.tpl" field=$notify1}}
+{{include file="field_intcheckbox.tpl" field=$notify2}}
+{{include file="field_intcheckbox.tpl" field=$notify3}}
+{{include file="field_intcheckbox.tpl" field=$notify4}}
+{{include file="field_intcheckbox.tpl" field=$notify5}}
+{{include file="field_intcheckbox.tpl" field=$notify6}}
+{{include file="field_intcheckbox.tpl" field=$notify7}}
+{{include file="field_intcheckbox.tpl" field=$notify8}}
</div>
</div>
<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="$submit" />
+<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
</div>
+</div>
diff --git a/view/tpl/settings_account.tpl b/view/tpl/settings_account.tpl
index d1a635f91..fcddb3f86 100644..100755
--- a/view/tpl/settings_account.tpl
+++ b/view/tpl/settings_account.tpl
@@ -1,28 +1,28 @@
-<h1>$title</h1>
+<div class="generic-content-wrapper">
+<h1>{{$title}}</h1>
<div id="settings-remove-account-link">
-<a href="removeme" title="$permanent" >$removeme</a>
+<a href="removeme" title="{{$permanent}}" >{{$removeme}}</a>
</div>
<form action="settings/account" id="settings-account-form" method="post" autocomplete="off" >
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-{{inc field_input.tpl with $field=$email }}{{endinc}}
+{{include file="field_input.tpl" field=$email}}
-<h3 class="settings-heading">$h_pass</h3>
+<h3 class="settings-heading">{{$h_pass}}</h3>
-{{inc field_password.tpl with $field=$password1 }}{{endinc}}
-{{inc field_password.tpl with $field=$password2 }}{{endinc}}
+{{include file="field_password.tpl" field=$password1}}
+{{include file="field_password.tpl" field=$password2}}
<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="$submit" />
+<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
</div>
-$account_settings
-
-
+{{$account_settings}}
+</div>
diff --git a/view/tpl/settings_addons.tpl b/view/tpl/settings_addons.tpl
index 9a4f95341..3e447cd0a 100644..100755
--- a/view/tpl/settings_addons.tpl
+++ b/view/tpl/settings_addons.tpl
@@ -1,10 +1,12 @@
-<h1>$title</h1>
+<div class="generic-content-wrapper">
+<h1>{{$title}}</h1>
<form action="settings/featured" method="post" autocomplete="off">
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-$settings_addons
+{{$settings_addons}}
</form>
+</div>
diff --git a/view/tpl/settings_connectors.tpl b/view/tpl/settings_connectors.tpl
index 07a86e4fe..a8bde4c1e 100644..100755
--- a/view/tpl/settings_connectors.tpl
+++ b/view/tpl/settings_connectors.tpl
@@ -1,9 +1,9 @@
-<h1>$title</h1>
+<h1>{{$title}}</h1>
<form action="settings/connectors" method="post" autocomplete="off">
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-$settings_connectors
+{{$settings_connectors}}
</form>
diff --git a/view/tpl/settings_display.tpl b/view/tpl/settings_display.tpl
index 2aac64515..ddd3ca56d 100644..100755
--- a/view/tpl/settings_display.tpl
+++ b/view/tpl/settings_display.tpl
@@ -1,22 +1,24 @@
-<h1>$ptitle</h1>
+<div class="generic-content-wrapper">
+<h1>{{$ptitle}}</h1>
<form action="settings/display" id="settings-form" method="post" autocomplete="off" >
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-{{inc field_themeselect.tpl with $field=$theme }}{{endinc}}
-{{inc field_themeselect.tpl with $field=$mobile_theme }}{{endinc}}
-{{inc field_input.tpl with $field=$ajaxint }}{{endinc}}
-{{inc field_input.tpl with $field=$itemspage }}{{endinc}}
-{{inc field_checkbox.tpl with $field=$nosmile}}{{endinc}}
+{{include file="field_themeselect.tpl" field=$theme}}
+{{include file="field_themeselect.tpl" field=$mobile_theme}}
+{{include file="field_input.tpl" field=$ajaxint}}
+{{include file="field_input.tpl" field=$itemspage}}
+{{include file="field_checkbox.tpl" field=$nosmile}}
<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="$submit" />
+<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
</div>
-{{ if $theme_config }}
+{{if $theme_config}}
<h2>Theme settings</h2>
-$theme_config
-{{ endif }}
+{{$theme_config}}
+{{/if}}
</form>
+</div>
diff --git a/view/tpl/settings_features.tpl b/view/tpl/settings_features.tpl
index fd65abebb..a03817f82 100644..100755
--- a/view/tpl/settings_features.tpl
+++ b/view/tpl/settings_features.tpl
@@ -1,20 +1,21 @@
-<h1>$title</h1>
+<div class="generic-content-wrapper">
+<h1>{{$title}}</h1>
<form action="settings/features" method="post" autocomplete="off">
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-{{ for $features as $f }}
-<h3 class="settings-heading">$f.0</h3>
+{{foreach $features as $f}}
+<h3 class="settings-heading">{{$f.0}}</h3>
-{{ for $f.1 as $fcat }}
- {{ inc $field_yesno with $field=$fcat }}{{endinc}}
-{{ endfor }}
-{{ endfor }}
+{{foreach $f.1 as $fcat}}
+ {{include file="{{$field_yesno}}" field=$fcat}}
+{{/foreach}}
+{{/foreach}}
<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-features-submit" value="$submit" />
+<input type="submit" name="submit" class="settings-features-submit" value="{{$submit}}" />
</div>
</form>
-
+</div>
diff --git a/view/tpl/settings_nick_set.tpl b/view/tpl/settings_nick_set.tpl
index eb4721d50..ae11c00c8 100644..100755
--- a/view/tpl/settings_nick_set.tpl
+++ b/view/tpl/settings_nick_set.tpl
@@ -1,5 +1,4 @@
-
<div id="settings-nick-wrapper" >
-<div id="settings-nickname-desc" class="info-message">$desc <strong>'$nickname@$basepath'</strong>$subdir</div>
+<div id="settings-nickname-desc" class="info-message">{{$desc}} <strong>'{{$nickname}}@{{$basepath}}'</strong>{{$subdir}}</div>
</div>
<div id="settings-nick-end" ></div>
diff --git a/view/tpl/settings_nick_subdir.tpl b/view/tpl/settings_nick_subdir.tpl
deleted file mode 100644
index 303c24df7..000000000
--- a/view/tpl/settings_nick_subdir.tpl
+++ /dev/null
@@ -1,6 +0,0 @@
-<p>
-It appears that your website is located in a subdirectory of the<br />
-$hostname website, so this setting may not work reliably.<br />
-</p>
-<p>If you have any issues, you may have better results using the profile<br /> address '<strong>$baseurl/profile/$nickname</strong>'.
-</p> \ No newline at end of file
diff --git a/view/tpl/settings_oauth.tpl b/view/tpl/settings_oauth.tpl
index 890c4ee6c..fa1d0946f 100644..100755
--- a/view/tpl/settings_oauth.tpl
+++ b/view/tpl/settings_oauth.tpl
@@ -1,31 +1,33 @@
-<h1>$title</h1>
+<div class="generic-content-wrapper">
+<h1>{{$title}}</h1>
<form action="settings/oauth" method="post" autocomplete="off">
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
<div id="profile-edit-links">
<ul>
<li>
- <a id="profile-edit-view-link" href="$baseurl/settings/oauth/add">$add</a>
+ <a id="profile-edit-view-link" href="{{$baseurl}}/settings/oauth/add">{{$add}}</a>
</li>
</ul>
</div>
- {{ for $apps as $app }}
+ {{foreach $apps as $app}}
<div class='oauthapp'>
- <img src='$app.icon' class="{{ if $app.icon }} {{ else }}noicon{{ endif }}">
- {{ if $app.name }}<h4>$app.name</h4>{{ else }}<h4>$noname</h4>{{ endif }}
- {{ if $app.my }}
- {{ if $app.oauth_token }}
- <div class="settings-submit-wrapper" ><button class="settings-submit" type="submit" name="remove" value="$app.oauth_token">$remove</button></div>
- {{ endif }}
- {{ endif }}
- {{ if $app.my }}
- <a href="$baseurl/settings/oauth/edit/$app.client_id" class="icon s22 edit" title="$edit">&nbsp;</a>
- <a href="$baseurl/settings/oauth/delete/$app.client_id?t=$form_security_token" class="icon s22 delete" title="$delete">&nbsp;</a>
- {{ endif }}
+ <img src='{{$app.icon}}' class="{{if $app.icon}} {{else}}noicon{{/if}}">
+ {{if $app.name}}<h4>{{$app.name}}</h4>{{else}}<h4>{{$noname}}</h4>{{/if}}
+ {{if $app.my}}
+ {{if $app.oauth_token}}
+ <div class="settings-submit-wrapper" ><button class="settings-submit" type="submit" name="remove" value="{{$app.oauth_token}}">{{$remove}}</button></div>
+ {{/if}}
+ {{/if}}
+ {{if $app.my}}
+ <a href="{{$baseurl}}/settings/oauth/edit/{{$app.client_id}}" class="icon s22 edit" title="{{$edit}}">&nbsp;</a>
+ <a href="{{$baseurl}}/settings/oauth/delete/{{$app.client_id}}?t={{$form_security_token}}" class="icon s22 delete" title="{{$delete}}">&nbsp;</a>
+ {{/if}}
</div>
- {{ endfor }}
+ {{/foreach}}
</form>
+</div>
diff --git a/view/tpl/settings_oauth_edit.tpl b/view/tpl/settings_oauth_edit.tpl
index e6f2abdc2..bf805363c 100644..100755
--- a/view/tpl/settings_oauth_edit.tpl
+++ b/view/tpl/settings_oauth_edit.tpl
@@ -1,17 +1,17 @@
-<h1>$title</h1>
+<h1>{{$title}}</h1>
<form method="POST">
-<input type='hidden' name='form_security_token' value='$form_security_token'>
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-{{ inc field_input.tpl with $field=$name }}{{ endinc }}
-{{ inc field_input.tpl with $field=$key }}{{ endinc }}
-{{ inc field_input.tpl with $field=$secret }}{{ endinc }}
-{{ inc field_input.tpl with $field=$redirect }}{{ endinc }}
-{{ inc field_input.tpl with $field=$icon }}{{ endinc }}
+{{include file="field_input.tpl" field=$name}}
+{{include file="field_input.tpl" field=$key}}
+{{include file="field_input.tpl" field=$secret}}
+{{include file="field_input.tpl" field=$redirect}}
+{{include file="field_input.tpl" field=$icon}}
<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="$submit" />
-<input type="submit" name="cancel" class="settings-submit" value="$cancel" />
+<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
+<input type="submit" name="cancel" class="settings-submit" value="{{$cancel}}" />
</div>
</form>
diff --git a/view/tpl/siteinfo.tpl b/view/tpl/siteinfo.tpl
new file mode 100755
index 000000000..f6647110c
--- /dev/null
+++ b/view/tpl/siteinfo.tpl
@@ -0,0 +1,14 @@
+<h3>{{$title}}</h3>
+<p></p>
+<p>{{$description}}</p>
+{{if $version}}
+<p>{{$version}}</p>
+{{/if}}
+<p>{{$web_location}}</p>
+<p>{{$visit}}</p>
+<p>{{$bug_text}} <a href="{{$bug_link_url}}">{{$bug_link_text}}</a></p>
+<p>{{$contact}}</p>
+<p>{{$plugins_text}}</p>
+{{if $plugins_list}}
+ <div style="margin-left: 25px; margin-right: 25px;">{{$plugins_list}}</div>
+{{/if}}
diff --git a/view/tpl/smarty3/404.tpl b/view/tpl/smarty3/404.tpl
deleted file mode 100644
index 2d581ab8d..000000000
--- a/view/tpl/smarty3/404.tpl
+++ /dev/null
@@ -1,6 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$message}}</h1>
diff --git a/view/tpl/smarty3/README b/view/tpl/smarty3/README
new file mode 100644
index 000000000..78ff8d9a1
--- /dev/null
+++ b/view/tpl/smarty3/README
@@ -0,0 +1,4 @@
+view/tpl/smarty3
+
+This directory must exist and be writeable by the webserver in order to store compiled template files, which are created dynamically. Please see the installation instructions.
+
diff --git a/view/tpl/smarty3/abook_edit.tpl b/view/tpl/smarty3/abook_edit.tpl
deleted file mode 100644
index 9f6556842..000000000
--- a/view/tpl/smarty3/abook_edit.tpl
+++ /dev/null
@@ -1,79 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<h2>{{$header}}</h2>
-
-<h3>{{$addr}}</h3>
-
-{{if $notself}}
-<div id="connection-flag-tabs">
-{{$tabs}}
-</div>
-{{/if}}
-
-{{if $self}}
-<div id="autoperm-desc" class="descriptive-paragraph">{{$autolbl}}</div>
-{{/if}}
-
-
-<div id="contact-edit-wrapper">
-
-{{if $notself}}
-{{if $slide}}
-<h3>{{$lbl_slider}}</h3>
-
-{{$slide}}
-
-{{/if}}
-{{/if}}
-
-
-
-<h3>{{$permlbl}}</h3>
-
-<form id="abook-edit-form" action="connections/{{$contact_id}}" method="post" >
-<input type="hidden" name="contact_id" value="{{$contact_id}}">
-<input id="contact-closeness-mirror" type="hidden" name="closeness" value="{{$close}}" />
-
-{{if $noperms}}
-<div id="noperm-desc" class="descriptive-paragraph">{{$noperms}}</div>
-{{/if}}
-
-
-{{if $is_pending}}
-{{include file="field_checkbox.tpl" field=$unapproved}}
-{{/if}}
-
-<br />
-<b>{{$quick}}</b>
-<ul>
-{{if $self}}
-<li><span class="fakelink" onclick="connectForum(); $('#abook-edit-form').submit();">{{$forum}}</span></li>
-<li><span class="fakelink" onclick="connectSoapBox(); $('#abook-edit-form').submit();">{{$soapbox}}</span></li>
-{{/if}}
-<li><span class="fakelink" onclick="connectFullShare(); $('#abook-edit-form').submit();">{{$full}}</span></li>
-<li><span class="fakelink" onclick="connectCautiousShare(); $('#abook-edit-form').submit();">{{$cautious}}</span></li>
-<li><span class="fakelink" onclick="connectFollowOnly(); $('#abook-edit-form').submit();">{{$follow}}</span></li>
-</ul>
-
-<div id="abook-advanced" class="fakelink" onclick="openClose('abook-advanced-panel');">{{$advanced}}</div>
-
-<div id="abook-advanced-panel" style="display: none;">
-
-<span class="abook-them">{{$them}}</span><span class="abook-me">{{$me}}</span>
-<br />
-<br />
-{{foreach $perms as $prm}}
-{{include file="field_acheckbox.tpl" field=$prm}}
-{{/foreach}}
-<br />
-
-</div>
-
-<input class="contact-edit-submit" type="submit" name="done" value="{{$submit}}" />
-
-</form>
-</div>
diff --git a/view/tpl/smarty3/acl_selector.tpl b/view/tpl/smarty3/acl_selector.tpl
deleted file mode 100644
index aebef71ee..000000000
--- a/view/tpl/smarty3/acl_selector.tpl
+++ /dev/null
@@ -1,33 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="acl-wrapper">
- <input id="acl-search">
- <a href="#" id="acl-showall">{{$showall}}</a>
- <div id="acl-list">
- <div id="acl-list-content">
- </div>
- </div>
- <span id="acl-fields"></span>
-</div>
-
-<div class="acl-list-item" rel="acl-template" style="display:none">
- <img src="{0}"><p>{1}</p>
- <a href="#" class='acl-button-show'>{{$show}}</a>
- <a href="#" class='acl-button-hide'>{{$hide}}</a>
-</div>
-
-<script>
-$(document).ready(function() {
- setTimeout( function () {
- if(typeof acl=="undefined"){
- acl = new ACL(
- baseurl+"/acl",
- [ {{$allowcid}},{{$allowgid}},{{$denycid}},{{$denygid}} ]
- );
- }
- }, 5000 );
-});
-</script>
diff --git a/view/tpl/smarty3/admin_aside.tpl b/view/tpl/smarty3/admin_aside.tpl
deleted file mode 100644
index 69445d3b1..000000000
--- a/view/tpl/smarty3/admin_aside.tpl
+++ /dev/null
@@ -1,47 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<script>
- // update pending count //
- $(function(){
-
- $("nav").bind('nav-update', function(e,data){
- var elm = $('#pending-update');
- var register = $(data).find('register').text();
- if (register=="0") { reigster=""; elm.hide();} else { elm.show(); }
- elm.html(register);
- });
- });
-</script>
-<h4><a href="{{$admurl}}">{{$admtxt}}</a></h4>
-<ul class='admin linklist'>
- <li class='admin link button {{$admin.site.2}}'><a href='{{$admin.site.0}}'>{{$admin.site.1}}</a></li>
- <li class='admin link button {{$admin.users.2}}'><a href='{{$admin.users.0}}'>{{$admin.users.1}}</a><span id='pending-update' title='{{$h_pending}}'></span></li>
- <li class='admin link button {{$admin.plugins.2}}'><a href='{{$admin.plugins.0}}'>{{$admin.plugins.1}}</a></li>
- <li class='admin link button {{$admin.themes.2}}'><a href='{{$admin.themes.0}}'>{{$admin.themes.1}}</a></li>
- <li class='admin link button {{$admin.dbsync.2}}'><a href='{{$admin.dbsync.0}}'>{{$admin.dbsync.1}}</a></li>
-</ul>
-
-{{if $admin.update}}
-<ul class='admin linklist'>
- <li class='admin link button {{$admin.update.2}}'><a href='{{$admin.update.0}}'>{{$admin.update.1}}</a></li>
- <li class='admin link button {{$admin.update.2}}'><a href='https://kakste.com/profile/inthegit'>Important Changes</a></li>
-</ul>
-{{/if}}
-
-
-{{if $admin.plugins_admin}}<h4>{{$plugadmtxt}}</h4>{{/if}}
-<ul class='admin linklist'>
- {{foreach $admin.plugins_admin as $l}}
- <li class='admin link button {{$l.2}}'><a href='{{$l.0}}'>{{$l.1}}</a></li>
- {{/foreach}}
-</ul>
-
-
-<h4>{{$logtxt}}</h4>
-<ul class='admin linklist'>
- <li class='admin link button {{$admin.logs.2}}'><a href='{{$admin.logs.0}}'>{{$admin.logs.1}}</a></li>
-</ul>
-
diff --git a/view/tpl/smarty3/admin_logs.tpl b/view/tpl/smarty3/admin_logs.tpl
deleted file mode 100644
index 6a2259500..000000000
--- a/view/tpl/smarty3/admin_logs.tpl
+++ /dev/null
@@ -1,24 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id='adminpage'>
- <h1>{{$title}} - {{$page}}</h1>
-
- <form action="{{$baseurl}}/admin/logs" method="post">
- <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
- {{include file="field_checkbox.tpl" field=$debugging}}
- {{include file="field_input.tpl" field=$logfile}}
- {{include file="field_select.tpl" field=$loglevel}}
-
- <div class="submit"><input type="submit" name="page_logs" value="{{$submit}}" /></div>
-
- </form>
-
- <h3>{{$logname}}</h3>
- <div style="width:100%; height:400px; overflow: auto; "><pre>{{$data}}</pre></div>
-<!-- <iframe src='{{$baseurl}}/{{$logname}}' style="width:100%; height:400px"></iframe> -->
- <!-- <div class="submit"><input type="submit" name="page_logs_clear_log" value="{{$clear}}" /></div> -->
-</div>
diff --git a/view/tpl/smarty3/admin_plugins.tpl b/view/tpl/smarty3/admin_plugins.tpl
deleted file mode 100644
index 307814e87..000000000
--- a/view/tpl/smarty3/admin_plugins.tpl
+++ /dev/null
@@ -1,20 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id='adminpage'>
- <h1>{{$title}} - {{$page}}</h1>
-
- <ul id='pluginslist'>
- {{foreach $plugins as $p}}
- <li class='plugin {{$p.1}}'>
- <a class='toggleplugin' href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}?a=t&amp;t={{$form_security_token}}' title="{{if $p.1==on}}Disable{{else}}Enable{{/if}}" ><span class='icon {{$p.1}}'></span></a>
- <a href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}'><span class='name'>{{$p.2.name}}</span></a> - <span class="version">{{$p.2.version}}</span>
- {{if $p.2.experimental}} {{$experimental}} {{/if}}{{if $p.2.unsupported}} {{$unsupported}} {{/if}}
-
- <div class='desc'>{{$p.2.description}}</div>
- </li>
- {{/foreach}}
- </ul>
-</div>
diff --git a/view/tpl/smarty3/admin_plugins_details.tpl b/view/tpl/smarty3/admin_plugins_details.tpl
deleted file mode 100644
index e81701732..000000000
--- a/view/tpl/smarty3/admin_plugins_details.tpl
+++ /dev/null
@@ -1,41 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id='adminpage'>
- <h1>{{$title}} - {{$page}}</h1>
-
- <p><span class='toggleplugin icon {{$status}}'></span> {{$info.name}} - {{$info.version}} : <a href="{{$baseurl}}/admin/{{$function}}/{{$plugin}}/?a=t&amp;t={{$form_security_token}}">{{$action}}</a></p>
- <p>{{$info.description}}</p>
-
- <p class="author">{{$str_author}}
- {{foreach $info.author as $a}}
- {{if $a.link}}<a href="{{$a.link}}">{{$a.name}}</a>{{else}}{{$a.name}}{{/if}},
- {{/foreach}}
- </p>
-
- <p class="maintainer">{{$str_maintainer}}
- {{foreach $info.maintainer as $a}}
- {{if $a.link}}<a href="{{$a.link}}">{{$a.name}}</a>{{else}}{{$a.name}}{{/if}},
- {{/foreach}}
- </p>
-
- {{if $screenshot}}
- <a href="{{$screenshot.0}}" class='screenshot'><img src="{{$screenshot.0}}" alt="{{$screenshot.1}}" /></a>
- {{/if}}
-
- {{if $admin_form}}
- <h3>{{$settings}}</h3>
- <form method="post" action="{{$baseurl}}/admin/{{$function}}/{{$plugin}}/">
- {{$admin_form}}
- </form>
- {{/if}}
-
- {{if $readme}}
- <h3>Readme</h3>
- <div id="plugin_readme">
- {{$readme}}
- </div>
- {{/if}}
-</div>
diff --git a/view/tpl/smarty3/admin_remoteupdate.tpl b/view/tpl/smarty3/admin_remoteupdate.tpl
deleted file mode 100644
index cee0ef9b8..000000000
--- a/view/tpl/smarty3/admin_remoteupdate.tpl
+++ /dev/null
@@ -1,103 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<script src="js/jquery.htmlstream.js"></script>
-<script>
- /* ajax updater */
- function updateEnd(data){
- //$("#updatepopup .panel_text").html(data);
- $("#remoteupdate_form").find("input").removeAttr('disabled');
- $(".panel_action_close").fadeIn()
- }
- function updateOn(data){
-
- var patt=/§([^§]*)§/g;
- var matches = data.match(patt);
- $(matches).each(function(id,data){
- data = data.replace(/§/g,"");
- d = data.split("@");
- console.log(d);
- elm = $("#updatepopup .panel_text #"+d[0]);
- html = "<div id='"+d[0]+"' class='progress'>"+d[1]+"<span>"+d[2]+"</span></div>";
- if (elm.length==0){
- $("#updatepopup .panel_text").append(html);
- } else {
- $(elm).replaceWith(html);
- }
- });
-
-
- }
-
- $(function(){
- $("#remoteupdate_form").submit(function(){
- var data={};
- $(this).find("input").each(function(i, e){
- name = $(e).attr('name');
- value = $(e).val();
- e.disabled = true;
- data[name]=value;
- });
-
- $("#updatepopup .panel_text").html("");
- $("#updatepopup").show();
- $("#updatepopup .panel").hide().slideDown(500);
- $(".panel_action_close").hide().click(function(){
- $("#updatepopup .panel").slideUp(500, function(){
- $("#updatepopup").hide();
- });
- });
-
- $.post(
- $(this).attr('action'),
- data,
- updateEnd,
- 'text',
- updateOn
- );
-
-
- return false;
- })
- });
-</script>
-<div id="updatepopup" class="popup">
- <div class="background"></div>
- <div class="panel">
- <div class="panel_in">
- <h1>Friendica Update</h1>
- <div class="panel_text"></div>
- <div class="panel_actions">
- <input type="button" value="{{$close}}" class="panel_action_close">
- </div>
- </div>
- </div>
-</div>
-<div id="adminpage">
- <dl> <dt>Your version:</dt><dd>{{$localversion}}</dd> </dl>
-{{if $needupdate}}
- <dl> <dt>New version:</dt><dd>{{$remoteversion}}</dd> </dl>
-
- <form id="remoteupdate_form" method="POST" action="{{$baseurl}}/admin/update">
- <input type="hidden" name="{{$remotefile.0}}" value="{{$remotefile.2}}">
-
- {{if $canwrite}}
- <div class="submit"><input type="submit" name="remoteupdate" value="{{$submit}}" /></div>
- {{else}}
- <h3>Your friendica installation is not writable by web server.</h3>
- {{if $canftp}}
- <p>You can try to update via FTP</p>
- {{include file="field_input.tpl" field=$ftphost}}
- {{include file="field_input.tpl" field=$ftppath}}
- {{include file="field_input.tpl" field=$ftpuser}}
- {{include file="field_password.tpl" field=$ftppwd}}
- <div class="submit"><input type="submit" name="remoteupdate" value="{{$submit}}" /></div>
- {{/if}}
- {{/if}}
- </form>
-{{else}}
-<h4>No updates</h4>
-{{/if}}
-</div>
diff --git a/view/tpl/smarty3/admin_site.tpl b/view/tpl/smarty3/admin_site.tpl
deleted file mode 100644
index 75a386f7d..000000000
--- a/view/tpl/smarty3/admin_site.tpl
+++ /dev/null
@@ -1,87 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<script>
- $(function(){
-
- $("#cnftheme").fancybox({
- width: 800,
- autoDimensions: false,
- onStart: function(){
- var theme = $("#id_theme :selected").val();
- $("#cnftheme").attr('href',"{{$baseurl}}/admin/themes/"+theme);
- },
- onComplete: function(){
- $("div#fancybox-content form").submit(function(e){
- var url = $(this).attr('action');
- // can't get .serialize() to work...
- var data={};
- $(this).find("input").each(function(){
- data[$(this).attr('name')] = $(this).val();
- });
- $(this).find("select").each(function(){
- data[$(this).attr('name')] = $(this).children(":selected").val();
- });
- console.log(":)", url, data);
-
- $.post(url, data, function(data) {
- if(timer) clearTimeout(timer);
- NavUpdate();
- $.fancybox.close();
- })
-
- return false;
- });
-
- }
- });
- });
-</script>
-<div id='adminpage'>
- <h1>{{$title}} - {{$page}}</h1>
-
- <form action="{{$baseurl}}/admin/site" method="post">
- <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
- {{include file="field_input.tpl" field=$sitename}}
- {{include file="field_textarea.tpl" field=$banner}}
- {{include file="field_select.tpl" field=$language}}
- {{include file="field_select.tpl" field=$theme}}
- {{include file="field_select.tpl" field=$ssl_policy}}
-
- <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
-
- <h3>{{$registration}}</h3>
- {{include file="field_input.tpl" field=$register_text}}
- {{include file="field_select.tpl" field=$register_policy}}
-
- <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
-
- <h3>{{$upload}}</h3>
- {{include file="field_input.tpl" field=$maximagesize}}
-
- <h3>{{$corporate}}</h3>
- {{include file="field_input.tpl" field=$allowed_sites}}
- {{include file="field_input.tpl" field=$allowed_email}}
- {{include file="field_checkbox.tpl" field=$block_public}}
- {{include file="field_checkbox.tpl" field=$force_publish}}
- {{include file="field_checkbox.tpl" field=$no_community_page}}
- {{include file="field_input.tpl" field=$global_directory}}
-
- <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
-
- <h3>{{$advanced}}</h3>
- {{include file="field_input.tpl" field=$proxy}}
- {{include file="field_input.tpl" field=$proxyuser}}
- {{include file="field_input.tpl" field=$timeout}}
- {{include file="field_input.tpl" field=$delivery_interval}}
- {{include file="field_input.tpl" field=$poll_interval}}
- {{include file="field_input.tpl" field=$maxloadavg}}
- {{include file="field_input.tpl" field=$abandon_days}}
-
- <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
-
- </form>
-</div>
diff --git a/view/tpl/smarty3/admin_summary.tpl b/view/tpl/smarty3/admin_summary.tpl
deleted file mode 100644
index 76ac23d29..000000000
--- a/view/tpl/smarty3/admin_summary.tpl
+++ /dev/null
@@ -1,45 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id='adminpage'>
- <h1>{{$title}} - {{$page}}</h1>
-
- <dl>
- <dt>{{$queues.label}}</dt>
- <dd>{{$queues.queue}}</dd>
- </dl>
- <dl>
- <dt>{{$pending.0}}</dt>
- <dd>{{$pending.1}}</dt>
- </dl>
-
- <dl>
- <dt>{{$users.0}}</dt>
- <dd>{{$users.1}}</dd>
- </dl>
- {{foreach $accounts as $p}}
- <dl>
- <dt>{{$p.0}}</dt>
- <dd>{{if $p.1}}{{$p.1}}{{else}}0{{/if}}</dd>
- </dl>
- {{/foreach}}
-
-
- <dl>
- <dt>{{$plugins.0}}</dt>
-
- {{foreach $plugins.1 as $p}}
- <dd>{{$p}}</dd>
- {{/foreach}}
-
- </dl>
-
- <dl>
- <dt>{{$version.0}}</dt>
- <dd>{{$version.1}} - {{$build}}</dt>
- </dl>
-
-
-</div>
diff --git a/view/tpl/smarty3/admin_users.tpl b/view/tpl/smarty3/admin_users.tpl
deleted file mode 100644
index 5448a08c4..000000000
--- a/view/tpl/smarty3/admin_users.tpl
+++ /dev/null
@@ -1,94 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<script>
- function confirm_delete(uname){
- return confirm( "{{$confirm_delete}}".format(uname));
- }
- function confirm_delete_multi(){
- return confirm("{{$confirm_delete_multi}}");
- }
- function selectall(cls){
- $("."+cls).attr('checked','checked');
- return false;
- }
-</script>
-<div id='adminpage'>
- <h1>{{$title}} - {{$page}}</h1>
-
- <form action="{{$baseurl}}/admin/users" method="post">
- <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
- <h3>{{$h_pending}}</h3>
- {{if $pending}}
- <table id='pending'>
- <thead>
- <tr>
- {{foreach $th_pending as $th}}<th>{{$th}}</th>{{/foreach}}
- <th></th>
- <th></th>
- </tr>
- </thead>
- <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="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}}'><span class='icon like'></span></a>
- <a href="{{$baseurl}}/regmod/deny/{{$u.hash}}" title='{{$deny}}'><span class='icon dislike'></span></a>
- </td>
- </tr>
- {{/foreach}}
- </tbody>
- </table>
- <div class='selectall'><a href='#' onclick="return selectall('pending_ckbx');">{{$select_all}}</a></div>
- <div class="submit"><input type="submit" name="page_users_deny" value="{{$deny}}"/> <input type="submit" name="page_users_approve" value="{{$approve}}" /></div>
- {{else}}
- <p>{{$no_pending}}</p>
- {{/if}}
-
-
-
-
- <h3>{{$h_users}}</h3>
- {{if $users}}
- <table id='users'>
- <thead>
- <tr>
- <th></th>
- {{foreach $th_users as $th}}<th>{{$th}}</th>{{/foreach}}
- <th></th>
- <th></th>
- </tr>
- </thead>
- <tbody>
- {{foreach $users as $u}}
- <tr>
- <td><img src="{{$u.micro}}" alt="{{$u.nickname}}" title="{{$u.nickname}}"></td>
- <td class='name'><a href="{{$u.url}}" title="{{$u.nickname}}" >{{$u.name}}</a></td>
- <td class='email'>{{$u.email}}</td>
- <td class='register_date'>{{$u.register_date}}</td>
- <td class='login_date'>{{$u.login_date}}</td>
- <td class='lastitem_date'>{{$u.lastitem_date}}</td>
- <td class='login_date'>{{$u.page_flags}}</td>
- <td class="checkbox"><input type="checkbox" class="users_ckbx" id="id_user_{{$u.uid}}" name="user[]" value="{{$u.uid}}"/></td>
- <td class="tools">
- <a href="{{$baseurl}}/admin/users/block/{{$u.uid}}?t={{$form_security_token}}" title='{{if $u.blocked}}{{$unblock}}{{else}}{{$block}}{{/if}}'><span class='icon block {{if $u.blocked==0}}dim{{/if}}'></span></a>
- <a href="{{$baseurl}}/admin/users/delete/{{$u.uid}}?t={{$form_security_token}}" title='{{$delete}}' onclick="return confirm_delete('{{$u.name}}')"><span class='icon drop'></span></a>
- </td>
- </tr>
- {{/foreach}}
- </tbody>
- </table>
- <div class='selectall'><a href='#' onclick="return selectall('users_ckbx');">{{$select_all}}</a></div>
- <div class="submit"><input type="submit" name="page_users_block" value="{{$block}}/{{$unblock}}" /> <input type="submit" name="page_users_delete" value="{{$delete}}" onclick="return confirm_delete_multi()" /></div>
- {{else}}
- NO USERS?!?
- {{/if}}
- </form>
-</div>
diff --git a/view/tpl/smarty3/album_edit.tpl b/view/tpl/smarty3/album_edit.tpl
deleted file mode 100644
index 36c07a9f0..000000000
--- a/view/tpl/smarty3/album_edit.tpl
+++ /dev/null
@@ -1,20 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="photo-album-edit-wrapper">
-<form name="photo-album-edit-form" id="photo-album-edit-form" action="photos/{{$nickname}}/album/{{$hexalbum}}" method="post" >
-
-
-<label id="photo-album-edit-name-label" for="photo-album-edit-name" >{{$nametext}}</label>
-<input type="text" size="64" name="albumname" value="{{$album}}" >
-
-<div id="photo-album-edit-name-end"></div>
-
-<input id="photo-album-edit-submit" type="submit" name="submit" value="{{$submit}}" />
-<input id="photo-album-edit-drop" type="submit" name="dropalbum" value="{{$dropsubmit}}" onclick="return confirmDelete();" />
-
-</form>
-</div>
-<div id="photo-album-edit-end" ></div>
diff --git a/view/tpl/smarty3/api_config_xml.tpl b/view/tpl/smarty3/api_config_xml.tpl
deleted file mode 100644
index 09aa00ac4..000000000
--- a/view/tpl/smarty3/api_config_xml.tpl
+++ /dev/null
@@ -1,71 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<config>
- <site>
- <name>{{$config.site.name}}</name>
- <server>{{$config.site.server}}</server>
- <theme>default</theme>
- <path></path>
- <logo>{{$config.site.logo}}</logo>
-
- <fancy>true</fancy>
- <language>en</language>
- <email>{{$config.site.email}}</email>
- <broughtby></broughtby>
- <broughtbyurl></broughtbyurl>
- <timezone>UTC</timezone>
- <closed>{{$config.site.closed}}</closed>
-
- <inviteonly>false</inviteonly>
- <private>{{$config.site.private}}</private>
- <textlimit>{{$config.site.textlimit}}</textlimit>
- <ssl>{{$config.site.ssl}}</ssl>
- <sslserver>{{$config.site.sslserver}}</sslserver>
- <shorturllength>30</shorturllength>
-
-</site>
- <license>
- <type>cc</type>
- <owner></owner>
- <url>http://creativecommons.org/licenses/by/3.0/</url>
- <title>Creative Commons Attribution 3.0</title>
- <image>http://i.creativecommons.org/l/by/3.0/80x15.png</image>
-
-</license>
- <nickname>
- <featured></featured>
-</nickname>
- <profile>
- <biolimit></biolimit>
-</profile>
- <group>
- <desclimit></desclimit>
-</group>
- <notice>
-
- <contentlimit></contentlimit>
-</notice>
- <throttle>
- <enabled>false</enabled>
- <count>20</count>
- <timespan>600</timespan>
-</throttle>
- <xmpp>
-
- <enabled>false</enabled>
- <server>INVALID SERVER</server>
- <port>5222</port>
- <user>update</user>
-</xmpp>
- <integration>
- <source>StatusNet</source>
-
-</integration>
- <attachments>
- <uploads>false</uploads>
- <file_quota>0</file_quota>
-</attachments>
-</config>
diff --git a/view/tpl/smarty3/api_friends_xml.tpl b/view/tpl/smarty3/api_friends_xml.tpl
deleted file mode 100644
index e9c40293b..000000000
--- a/view/tpl/smarty3/api_friends_xml.tpl
+++ /dev/null
@@ -1,10 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<users type="array">
- {{foreach $users as $user}}
- {{include file="api_user_xml.tpl"}}
- {{/foreach}}
-</users>
diff --git a/view/tpl/smarty3/api_ratelimit_xml.tpl b/view/tpl/smarty3/api_ratelimit_xml.tpl
deleted file mode 100644
index a34eb6723..000000000
--- a/view/tpl/smarty3/api_ratelimit_xml.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<hash>
- <remaining-hits type="integer">{{$hash.remaining_hits}}</remaining-hits>
- <hourly-limit type="integer">{{$hash.hourly_limit}}</hourly-limit>
- <reset-time type="datetime">{{$hash.reset_time}}</reset-time>
- <reset_time_in_seconds type="integer">{{$hash.resettime_in_seconds}}</reset_time_in_seconds>
-</hash>
diff --git a/view/tpl/smarty3/api_status_xml.tpl b/view/tpl/smarty3/api_status_xml.tpl
deleted file mode 100644
index e3e80d2b1..000000000
--- a/view/tpl/smarty3/api_status_xml.tpl
+++ /dev/null
@@ -1,51 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<status>{{if $status}}
- <created_at>{{$status.created_at}}</created_at>
- <id>{{$status.id}}</id>
- <text>{{$status.text}}</text>
- <source>{{$status.source}}</source>
- <truncated>{{$status.truncated}}</truncated>
- <in_reply_to_status_id>{{$status.in_reply_to_status_id}}</in_reply_to_status_id>
- <in_reply_to_user_id>{{$status.in_reply_to_user_id}}</in_reply_to_user_id>
- <favorited>{{$status.favorited}}</favorited>
- <in_reply_to_screen_name>{{$status.in_reply_to_screen_name}}</in_reply_to_screen_name>
- <geo>{{$status.geo}}</geo>
- <coordinates>{{$status.coordinates}}</coordinates>
- <place>{{$status.place}}</place>
- <contributors>{{$status.contributors}}</contributors>
- <user>
- <id>{{$status.user.id}}</id>
- <name>{{$status.user.name}}</name>
- <screen_name>{{$status.user.screen_name}}</screen_name>
- <location>{{$status.user.location}}</location>
- <description>{{$status.user.description}}</description>
- <profile_image_url>{{$status.user.profile_image_url}}</profile_image_url>
- <url>{{$status.user.url}}</url>
- <protected>{{$status.user.protected}}</protected>
- <followers_count>{{$status.user.followers}}</followers_count>
- <profile_background_color>{{$status.user.profile_background_color}}</profile_background_color>
- <profile_text_color>{{$status.user.profile_text_color}}</profile_text_color>
- <profile_link_color>{{$status.user.profile_link_color}}</profile_link_color>
- <profile_sidebar_fill_color>{{$status.user.profile_sidebar_fill_color}}</profile_sidebar_fill_color>
- <profile_sidebar_border_color>{{$status.user.profile_sidebar_border_color}}</profile_sidebar_border_color>
- <friends_count>{{$status.user.friends_count}}</friends_count>
- <created_at>{{$status.user.created_at}}</created_at>
- <favourites_count>{{$status.user.favourites_count}}</favourites_count>
- <utc_offset>{{$status.user.utc_offset}}</utc_offset>
- <time_zone>{{$status.user.time_zone}}</time_zone>
- <profile_background_image_url>{{$status.user.profile_background_image_url}}</profile_background_image_url>
- <profile_background_tile>{{$status.user.profile_background_tile}}</profile_background_tile>
- <profile_use_background_image>{{$status.user.profile_use_background_image}}</profile_use_background_image>
- <notifications></notifications>
- <geo_enabled>{{$status.user.geo_enabled}}</geo_enabled>
- <verified>{{$status.user.verified}}</verified>
- <following></following>
- <statuses_count>{{$status.user.statuses_count}}</statuses_count>
- <lang>{{$status.user.lang}}</lang>
- <contributors_enabled>{{$status.user.contributors_enabled}}</contributors_enabled>
- </user>
-{{/if}}</status>
diff --git a/view/tpl/smarty3/api_test_xml.tpl b/view/tpl/smarty3/api_test_xml.tpl
deleted file mode 100644
index df5009af5..000000000
--- a/view/tpl/smarty3/api_test_xml.tpl
+++ /dev/null
@@ -1,6 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<ok>{{$ok}}</ok>
diff --git a/view/tpl/smarty3/api_timeline_atom.tpl b/view/tpl/smarty3/api_timeline_atom.tpl
deleted file mode 100644
index 00a28e390..000000000
--- a/view/tpl/smarty3/api_timeline_atom.tpl
+++ /dev/null
@@ -1,95 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:georss="http://www.georss.org/georss" xmlns:activity="http://activitystrea.ms/spec/1.0/" xmlns:media="http://purl.org/syndication/atommedia" xmlns:poco="http://portablecontacts.net/spec/1.0" xmlns:ostatus="http://ostatus.org/schema/1.0" xmlns:statusnet="http://status.net/schema/api/1/">
- <generator uri="http://status.net" version="0.9.7">StatusNet</generator>
- <id>{{$rss.self}}</id>
- <title>Friendika</title>
- <subtitle>Friendika API feed</subtitle>
- <logo>{{$rss.logo}}</logo>
- <updated>{{$rss.atom_updated}}</updated>
- <link type="text/html" rel="alternate" href="{{$rss.alternate}}"/>
- <link type="application/atom+xml" rel="self" href="{{$rss.self}}"/>
-
-
- <author>
- <activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type>
- <uri>{{$user.url}}</uri>
- <name>{{$user.name}}</name>
- <link rel="alternate" type="text/html" href="{{$user.url}}"/>
- <link rel="avatar" type="image/jpeg" media:width="106" media:height="106" href="{{$user.profile_image_url}}"/>
- <link rel="avatar" type="image/jpeg" media:width="96" media:height="96" href="{{$user.profile_image_url}}"/>
- <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$user.profile_image_url}}"/>
- <link rel="avatar" type="image/jpeg" media:width="24" media:height="24" href="{{$user.profile_image_url}}"/>
- <georss:point></georss:point>
- <poco:preferredUsername>{{$user.screen_name}}</poco:preferredUsername>
- <poco:displayName>{{$user.name}}</poco:displayName>
- <poco:urls>
- <poco:type>homepage</poco:type>
- <poco:value>{{$user.url}}</poco:value>
- <poco:primary>true</poco:primary>
- </poco:urls>
- <statusnet:profile_info local_id="{{$user.id}}"></statusnet:profile_info>
- </author>
-
- <!--Deprecation warning: activity:subject is present only for backward compatibility. It will be removed in the next version of StatusNet.-->
- <activity:subject>
- <activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type>
- <id>{{$user.contact_url}}</id>
- <title>{{$user.name}}</title>
- <link rel="alternate" type="text/html" href="{{$user.url}}"/>
- <link rel="avatar" type="image/jpeg" media:width="106" media:height="106" href="{{$user.profile_image_url}}"/>
- <link rel="avatar" type="image/jpeg" media:width="96" media:height="96" href="{{$user.profile_image_url}}"/>
- <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$user.profile_image_url}}"/>
- <link rel="avatar" type="image/jpeg" media:width="24" media:height="24" href="{{$user.profile_image_url}}"/>
- <poco:preferredUsername>{{$user.screen_name}}</poco:preferredUsername>
- <poco:displayName>{{$user.name}}</poco:displayName>
- <poco:urls>
- <poco:type>homepage</poco:type>
- <poco:value>{{$user.url}}</poco:value>
- <poco:primary>true</poco:primary>
- </poco:urls>
- <statusnet:profile_info local_id="{{$user.id}}"></statusnet:profile_info>
- </activity:subject>
-
-
- {{foreach $statuses as $status}}
- <entry>
- <activity:obj_type>{{$status.objecttype}}</activity:obj_type>
- <id>{{$status.message_id}}</id>
- <title>{{$status.text}}</title>
- <content type="html">{{$status.statusnet_html}}</content>
- <link rel="alternate" type="text/html" href="{{$status.url}}"/>
- <activity:verb>{{$status.verb}}</activity:verb>
- <published>{{$status.published}}</published>
- <updated>{{$status.updated}}</updated>
-
- <link rel="self" type="application/atom+xml" href="{{$status.self}}"/>
- <link rel="edit" type="application/atom+xml" href="{{$status.edit}}"/>
- <statusnet:notice_info local_id="{{$status.id}}" source="{{$status.source}}" >
- </statusnet:notice_info>
-
- <author>
- <activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type>
- <uri>{{$status.user.url}}</uri>
- <name>{{$status.user.name}}</name>
- <link rel="alternate" type="text/html" href="{{$status.user.url}}"/>
- <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$status.user.profile_image_url}}"/>
-
- <georss:point/>
- <poco:preferredUsername>{{$status.user.screen_name}}</poco:preferredUsername>
- <poco:displayName>{{$status.user.name}}</poco:displayName>
- <poco:address/>
- <poco:urls>
- <poco:type>homepage</poco:type>
- <poco:value>{{$status.user.url}}</poco:value>
- <poco:primary>true</poco:primary>
- </poco:urls>
- </author>
- <link rel="ostatus:conversation" type="text/html" href="{{$status.url}}"/>
-
- </entry>
- {{/foreach}}
-</feed>
diff --git a/view/tpl/smarty3/api_timeline_rss.tpl b/view/tpl/smarty3/api_timeline_rss.tpl
deleted file mode 100644
index afad50aab..000000000
--- a/view/tpl/smarty3/api_timeline_rss.tpl
+++ /dev/null
@@ -1,31 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:georss="http://www.georss.org/georss" xmlns:twitter="http://api.twitter.com">
- <channel>
- <title>Friendika</title>
- <link>{{$rss.alternate}}</link>
- <atom:link type="application/rss+xml" rel="self" href="{{$rss.self}}"/>
- <description>Friendika timeline</description>
- <language>{{$rss.language}}</language>
- <ttl>40</ttl>
- <image>
- <link>{{$user.link}}</link>
- <title>{{$user.name}}'s items</title>
- <url>{{$user.profile_image_url}}</url>
- </image>
-
-{{foreach $statuses as $status}}
- <item>
- <title>{{$status.user.name}}: {{$status.text}}</title>
- <description>{{$status.text}}</description>
- <pubDate>{{$status.created_at}}</pubDate>
- <guid>{{$status.url}}</guid>
- <link>{{$status.url}}</link>
- <twitter:source>{{$status.source}}</twitter:source>
- </item>
-{{/foreach}}
- </channel>
-</rss>
diff --git a/view/tpl/smarty3/api_timeline_xml.tpl b/view/tpl/smarty3/api_timeline_xml.tpl
deleted file mode 100644
index 84148d17f..000000000
--- a/view/tpl/smarty3/api_timeline_xml.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<statuses type="array" xmlns:statusnet="http://status.net/schema/api/1/">
-{{foreach $statuses as $status}} <status>
- <text>{{$status.text}}</text>
- <truncated>{{$status.truncated}}</truncated>
- <created_at>{{$status.created_at}}</created_at>
- <in_reply_to_status_id>{{$status.in_reply_to_status_id}}</in_reply_to_status_id>
- <source>{{$status.source}}</source>
- <id>{{$status.id}}</id>
- <in_reply_to_user_id>{{$status.in_reply_to_user_id}}</in_reply_to_user_id>
- <in_reply_to_screen_name>{{$status.in_reply_to_screen_name}}</in_reply_to_screen_name>
- <geo>{{$status.geo}}</geo>
- <favorited>{{$status.favorited}}</favorited>
-{{include file="api_user_xml.tpl" user=$status.user}} <statusnet:html>{{$status.statusnet_html}}</statusnet:html>
- <statusnet:conversation_id>{{$status.statusnet_conversation_id}}</statusnet:conversation_id>
- <url>{{$status.url}}</url>
- <coordinates>{{$status.coordinates}}</coordinates>
- <place>{{$status.place}}</place>
- <contributors>{{$status.contributors}}</contributors>
- </status>
-{{/foreach}}</statuses>
diff --git a/view/tpl/smarty3/api_user_xml.tpl b/view/tpl/smarty3/api_user_xml.tpl
deleted file mode 100644
index d7efcf3fb..000000000
--- a/view/tpl/smarty3/api_user_xml.tpl
+++ /dev/null
@@ -1,51 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
- <user>
- <id>{{$user.id}}</id>
- <name>{{$user.name}}</name>
- <screen_name>{{$user.screen_name}}</screen_name>
- <location>{{$user.location}}</location>
- <description>{{$user.description}}</description>
- <profile_image_url>{{$user.profile_image_url}}</profile_image_url>
- <url>{{$user.url}}</url>
- <protected>{{$user.protected}}</protected>
- <followers_count>{{$user.followers_count}}</followers_count>
- <friends_count>{{$user.friends_count}}</friends_count>
- <created_at>{{$user.created_at}}</created_at>
- <favourites_count>{{$user.favourites_count}}</favourites_count>
- <utc_offset>{{$user.utc_offset}}</utc_offset>
- <time_zone>{{$user.time_zone}}</time_zone>
- <statuses_count>{{$user.statuses_count}}</statuses_count>
- <following>{{$user.following}}</following>
- <profile_background_color>{{$user.profile_background_color}}</profile_background_color>
- <profile_text_color>{{$user.profile_text_color}}</profile_text_color>
- <profile_link_color>{{$user.profile_link_color}}</profile_link_color>
- <profile_sidebar_fill_color>{{$user.profile_sidebar_fill_color}}</profile_sidebar_fill_color>
- <profile_sidebar_border_color>{{$user.profile_sidebar_border_color}}</profile_sidebar_border_color>
- <profile_background_image_url>{{$user.profile_background_image_url}}</profile_background_image_url>
- <profile_background_tile>{{$user.profile_background_tile}}</profile_background_tile>
- <profile_use_background_image>{{$user.profile_use_background_image}}</profile_use_background_image>
- <notifications>{{$user.notifications}}</notifications>
- <geo_enabled>{{$user.geo_enabled}}</geo_enabled>
- <verified>{{$user.verified}}</verified>
- <lang>{{$user.lang}}</lang>
- <contributors_enabled>{{$user.contributors_enabled}}</contributors_enabled>
- <status>{{if $user.status}}
- <created_at>{{$user.status.created_at}}</created_at>
- <id>{{$user.status.id}}</id>
- <text>{{$user.status.text}}</text>
- <source>{{$user.status.source}}</source>
- <truncated>{{$user.status.truncated}}</truncated>
- <in_reply_to_status_id>{{$user.status.in_reply_to_status_id}}</in_reply_to_status_id>
- <in_reply_to_user_id>{{$user.status.in_reply_to_user_id}}</in_reply_to_user_id>
- <favorited>{{$user.status.favorited}}</favorited>
- <in_reply_to_screen_name>{{$user.status.in_reply_to_screen_name}}</in_reply_to_screen_name>
- <geo>{{$user.status.geo}}</geo>
- <coordinates>{{$user.status.coordinates}}</coordinates>
- <place>{{$user.status.place}}</place>
- <contributors>{{$user.status.contributors}}</contributors>
- {{/if}}</status>
- </user>
diff --git a/view/tpl/smarty3/apps.tpl b/view/tpl/smarty3/apps.tpl
deleted file mode 100644
index 01d9bb8c8..000000000
--- a/view/tpl/smarty3/apps.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$title}}</h3>
-
-<ul>
- {{foreach $apps as $ap}}
- <li>{{$ap}}</li>
- {{/foreach}}
-</ul>
diff --git a/view/tpl/smarty3/atom_feed.tpl b/view/tpl/smarty3/atom_feed.tpl
deleted file mode 100644
index db553d99f..000000000
--- a/view/tpl/smarty3/atom_feed.tpl
+++ /dev/null
@@ -1,34 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<?xml version="1.0" encoding="utf-8" ?>
-<feed xmlns="http://www.w3.org/2005/Atom"
- xmlns:thr="http://purl.org/syndication/thread/1.0"
- xmlns:at="http://purl.org/atompub/tombstones/1.0"
- xmlns:media="http://purl.org/syndication/atommedia"
- xmlns:dfrn="http://purl.org/macgirvin/dfrn/1.0"
- xmlns:as="http://activitystrea.ms/spec/1.0/"
- xmlns:georss="http://www.georss.org/georss"
- xmlns:poco="http://portablecontacts.net/spec/1.0"
- xmlns:ostatus="http://ostatus.org/schema/1.0"
- xmlns:statusnet="http://status.net/schema/api/1/" >
-
- <id>{{$feed_id}}</id>
- <title>{{$feed_title}}</title>
- <generator uri="http://friendica.com" version="{{$version}}">Friendica</generator>
- <link rel="license" href="http://creativecommons.org/licenses/by/3.0/" />
- {{$hub}}
- {{$salmon}}
- {{$community}}
-
- <updated>{{$feed_updated}}</updated>
-
- <dfrn:owner>
- <name dfrn:updated="{{$namdate}}" >{{$name}}</name>
- <uri dfrn:updated="{{$uridate}}" >{{$profile_page}}</uri>
- <link rel="photo" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" />
- <link rel="avatar" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" />
- {{$birthday}}
- </dfrn:owner>
diff --git a/view/tpl/smarty3/atom_feed_dfrn.tpl b/view/tpl/smarty3/atom_feed_dfrn.tpl
deleted file mode 100644
index 87d78a518..000000000
--- a/view/tpl/smarty3/atom_feed_dfrn.tpl
+++ /dev/null
@@ -1,34 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<?xml version="1.0" encoding="utf-8" ?>
-<feed xmlns="http://www.w3.org/2005/Atom"
- xmlns:thr="http://purl.org/syndication/thread/1.0"
- xmlns:at="http://purl.org/atompub/tombstones/1.0"
- xmlns:media="http://purl.org/syndication/atommedia"
- xmlns:dfrn="http://purl.org/macgirvin/dfrn/1.0"
- xmlns:as="http://activitystrea.ms/spec/1.0/"
- xmlns:georss="http://www.georss.org/georss"
- xmlns:poco="http://portablecontacts.net/spec/1.0"
- xmlns:ostatus="http://ostatus.org/schema/1.0"
- xmlns:statusnet="http://status.net/schema/api/1/" >
-
- <id>{{$feed_id}}</id>
- <title>{{$feed_title}}</title>
- <generator uri="http://friendica.com" version="{{$version}}">Friendica</generator>
- <link rel="license" href="http://creativecommons.org/licenses/by/3.0/" />
- {{$hub}}
- {{$salmon}}
- {{$community}}
-
- <updated>{{$feed_updated}}</updated>
-
- <author>
- <name dfrn:updated="{{$namdate}}" >{{$name}}</name>
- <uri dfrn:updated="{{$uridate}}" >{{$profile_page}}</uri>
- <link rel="photo" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" />
- <link rel="avatar" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" />
- {{$birthday}}
- </author>
diff --git a/view/tpl/smarty3/atom_mail.tpl b/view/tpl/smarty3/atom_mail.tpl
deleted file mode 100644
index adf75a3e7..000000000
--- a/view/tpl/smarty3/atom_mail.tpl
+++ /dev/null
@@ -1,22 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<dfrn:mail>
-
- <dfrn:sender>
- <dfrn:name>{{$name}}</dfrn:name>
- <dfrn:uri>{{$profile_page}}</dfrn:uri>
- <dfrn:avatar>{{$thumb}}</dfrn:avatar>
- </dfrn:sender>
-
- <dfrn:id>{{$item_id}}</dfrn:id>
- <dfrn:in-reply-to>{{$parent_id}}</dfrn:in-reply-to>
- <dfrn:sentdate>{{$created}}</dfrn:sentdate>
- <dfrn:subject>{{$subject}}</dfrn:subject>
- <dfrn:content>{{$content}}</dfrn:content>
-
-</dfrn:mail>
-
diff --git a/view/tpl/smarty3/atom_suggest.tpl b/view/tpl/smarty3/atom_suggest.tpl
deleted file mode 100644
index c0d1a1b3c..000000000
--- a/view/tpl/smarty3/atom_suggest.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<dfrn:suggest>
-
- <dfrn:url>{{$url}}</dfrn:url>
- <dfrn:name>{{$name}}</dfrn:name>
- <dfrn:photo>{{$photo}}</dfrn:photo>
- <dfrn:request>{{$request}}</dfrn:request>
- <dfrn:note>{{$note}}</dfrn:note>
-
-</dfrn:suggest>
-
diff --git a/view/tpl/smarty3/auto_request.tpl b/view/tpl/smarty3/auto_request.tpl
deleted file mode 100644
index 662ca2447..000000000
--- a/view/tpl/smarty3/auto_request.tpl
+++ /dev/null
@@ -1,42 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<h1>{{$header}}</h1>
-
-<p id="dfrn-request-intro">
-{{$page_desc}}<br />
-<ul id="dfrn-request-networks">
-<li><a href="http://friendica.com" title="{{$friendica}}">{{$friendica}}</a></li>
-<li><a href="http://joindiaspora.com" title="{{$diaspora}}">{{$diaspora}}</a> {{$diasnote}}</li>
-<li><a href="http://ostatus.org" title="{{$public_net}}" >{{$statusnet}}</a></li>
-{{if $emailnet}}<li>{{$emailnet}}</li>{{/if}}
-</ul>
-</p>
-<p>
-{{$invite_desc}}
-</p>
-<p>
-{{$desc}}
-</p>
-
-<form action="dfrn_request/{{$nickname}}" method="post" />
-
-<div id="dfrn-request-url-wrapper" >
- <label id="dfrn-url-label" for="dfrn-url" >{{$your_address}}</label>
- <input type="text" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr}}" />
- <div id="dfrn-request-url-end"></div>
-</div>
-
-
-<div id="dfrn-request-info-wrapper" >
-
-</div>
-
- <div id="dfrn-request-submit-wrapper">
- <input type="submit" name="submit" id="dfrn-request-submit-button" value="{{$submit}}" />
- <input type="submit" name="cancel" id="dfrn-request-cancel-button" value="{{$cancel}}" />
- </div>
-</form>
diff --git a/view/tpl/smarty3/birthdays_reminder.tpl b/view/tpl/smarty3/birthdays_reminder.tpl
deleted file mode 100644
index 56749cd12..000000000
--- a/view/tpl/smarty3/birthdays_reminder.tpl
+++ /dev/null
@@ -1,15 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{if $count}}
-<div id="birthday-notice" class="birthday-notice fakelink {{$classtoday}}" onclick="openClose('birthday-wrapper');">{{$event_reminders}} ({{$count}})</div>
-<div id="birthday-wrapper" style="display: none;" ><div id="birthday-title">{{$event_title}}</div>
-<div id="birthday-title-end"></div>
-{{foreach $events as $event}}
-<div class="birthday-list" id="birthday-{{$event.id}}"></a> <a href="{{$event.link}}">{{$event.title}}</a> {{$event.date}} </div>
-{{/foreach}}
-</div>
-{{/if}}
-
diff --git a/view/tpl/smarty3/build_query.tpl b/view/tpl/smarty3/build_query.tpl
deleted file mode 100644
index 6df7f6589..000000000
--- a/view/tpl/smarty3/build_query.tpl
+++ /dev/null
@@ -1,57 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<script>
-
- var bParam_cmd = "{{$baseurl}}/update_{{$pgtype}}";
-
-
- var bParam_uid = {{$uid}};
- var bParam_gid = {{$gid}};
- var bParam_cid = {{$cid}};
- var bParam_cmin = {{$cmin}};
- var bParam_cmax = {{$cmax}};
- var bParam_star = {{$star}};
- var bParam_liked = {{$liked}};
- var bParam_conv = {{$conv}};
- var bParam_spam = {{$spam}};
- var bParam_new = {{$nouveau}};
- var bParam_page = {{$page}};
- var bParam_wall = {{$wall}};
-
- var bParam_search = "{{$search}}";
- var bParam_order = "{{$order}}";
- var bParam_file = "{{$file}}";
- var bParam_cats = "{{$cats}}";
- var bParam_dend = "{{$dend}}";
- var bParam_dbegin = "{{$dbegin}}";
- var bParam_uri = "{{$uri}}";
-
- function buildCmd() {
- var udargs = ((page_load) ? "/load" : "");
- var bCmd = bParam_cmd + udargs + "?f=" ;
- if(bParam_uid) bCmd = bCmd + "&p=" + bParam_uid;
- if(bParam_cmin != 0) bCmd = bCmd + "&cmin=" + bParam_cmin;
- if(bParam_cmax != 99) bCmd = bCmd + "&cmax=" + bParam_cmax;
- if(bParam_gid != 0) { bCmd = bCmd + "&gid=" + bParam_gid; } else
- if(bParam_cid != 0) { bCmd = bCmd + "&cid=" + bParam_cid; }
- if(bParam_star != 0) bCmd = bCmd + "&star=" + bParam_star;
- if(bParam_liked != 0) bCmd = bCmd + "&liked=" + bParam_liked;
- if(bParam_conv!= 0) bCmd = bCmd + "&conv=" + bParam_conv;
- 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_search != "") bCmd = bCmd + "&search=" + bParam_search;
- if(bParam_file != "") bCmd = bCmd + "&file=" + bParam_file;
- if(bParam_cats != "") bCmd = bCmd + "&cats=" + bParam_cats;
- if(bParam_dend != "") bCmd = bCmd + "&dend=" + bParam_dend;
- if(bParam_dbegin != "") bCmd = bCmd + "&dbegin=" + bParam_dbegin;
- if(bParam_uri != "") bCmd = bCmd + "&uri=" + bParam_uri;
- if(bParam_page != 1) bCmd = bCmd + "&page=" + bParam_page;
- return(bCmd);
- }
-
-</script>
-
diff --git a/view/tpl/smarty3/categories_widget.tpl b/view/tpl/smarty3/categories_widget.tpl
deleted file mode 100644
index 75da9fc43..000000000
--- a/view/tpl/smarty3/categories_widget.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="categories-sidebar" class="widget">
- <h3>{{$title}}</h3>
- <div id="categories-sidebar-desc">{{$desc}}</div>
-
- <ul class="categories-ul">
- <li class="tool"><a href="{{$base}}" class="categories-link categories-all{{if $sel_all}} categories-selected{{/if}}">{{$all}}</a></li>
- {{foreach $terms as $term}}
- <li class="tool"><a href="{{$base}}?f=&cat={{$term.name}}" class="categories-link{{if $term.selected}} categories-selected{{/if}}">{{$term.name}}</a></li>
- {{/foreach}}
- </ul>
-
-</div>
diff --git a/view/tpl/smarty3/channel.tpl b/view/tpl/smarty3/channel.tpl
deleted file mode 100644
index b49cf19cc..000000000
--- a/view/tpl/smarty3/channel.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="channel-selection">
-{{if $channel.default_links}}
-{{if $channel.default}}
-<div class="channel-selection-default default">{{$msg_default}}</div>
-{{else}}
-<div class="channel-selection-default"><a href="manage/{{$channel.channel_id}}/default">{{$msg_make_default}}</a></div>
-{{/if}}
-{{/if}}
-<a href="{{$channel.link}}" class="channel-selection-photo-link" title="{{$channel.channel_name}}"><img class="channel-photo" src="{{$channel.xchan_photo_m}}" alt="{{$channel.channel_name}}" /></a>
-<a href="{{$channel.link}}" class="channel-selection-name-link" title="{{$channel.channel_name}}"><div class="channel-name">{{$channel.channel_name}}</div></a>
-</div>
-<div class="channel-selection-end"></div>
diff --git a/view/tpl/smarty3/channel_import.tpl b/view/tpl/smarty3/channel_import.tpl
deleted file mode 100644
index 872f039b7..000000000
--- a/view/tpl/smarty3/channel_import.tpl
+++ /dev/null
@@ -1,40 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h2>{{$title}}</h2>
-
-<form action="import" method="post" id="import-channel-form">
-
- <div id="import-desc" class="descriptive-paragraph">{{$desc}}</div>
-
- <label for="import-filename" id="label-import-filename" class="import-label" >{{$label_filename}}</label>
- <input type="file" name="filename" id="import-filename" class="import-input" value="" />
- <div id="import-filename-end" class="import-field-end"></div>
-
- <div id="import-choice" class="descriptive-paragraph">{{$choice}}</div>
-
- <label for="import-old-address" id="label-import-old-address" class="import-label" >{{$label_old_address}}</label>
- <input type="text" name="old_address" id="import-old-address" class="import-input" value="" />
- <div id="import-old-address-end" class="import-field-end"></div>
-
- <label for="import-old-email" id="label-import-old-email" class="import-label" >{{$label_old_email}}</label>
- <input type="text" name="email" id="import-old-email" class="import-input" value="{{$email}}" />
- <div id="import-old-email-end" class="import-field-end"></div>
-
- <label for="import-old-pass" id="label-import-old-pass" class="import-label" >{{$label_old_pass}}</label>
- <input type="password" name="password" id="import-old-pass" class="import-input" value="{{$pass}}" />
- <div id="import-old-pass-end" class="import-field-end"></div>
-
- <div id="import-common-desc" class="descriptive-paragraph">{{$common}}</div>
-
- <input type="checkbox" name="make_primary" id="import-make-primary" value="1" />
- <label for="import-make-primary" id="label-import-make-primary">{{$label_import_primary}}</label>
- <div id="import-make-primary-end" class="import-field-end"></div>
-
- <input type="submit" name="submit" id="import-submit-button" value="{{$submit}}" />
- <div id="import-submit-end" class="import-field-end"></div>
-
-</form>
-
diff --git a/view/tpl/smarty3/channels.tpl b/view/tpl/smarty3/channels.tpl
deleted file mode 100644
index cfb66401b..000000000
--- a/view/tpl/smarty3/channels.tpl
+++ /dev/null
@@ -1,27 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$header}}</h3>
-
-
-{{if $links}}
-{{foreach $links as $l}}
-<a class="channels-links" href="{{$l.0}}" title="{{$l.1}}">{{$l.2}}</a>
-{{/foreach}}
-{{/if}}
-
-{{if $selected}}
-<div id="channels-selected">{{$msg_selected}}</div>
-{{include file="channel.tpl" channel=$selected}}
-<div class="channels-end selected"></div>
-{{/if}}
-
-<div id="channels-desc" class="descriptive-text">{{$desc}}</div>
-
-{{foreach $all_channels as $chn}}
-{{include file="channel.tpl" channel=$chn}}
-{{/foreach}}
-
-<div class="channels-end all"></div>
diff --git a/view/tpl/smarty3/chanview.tpl b/view/tpl/smarty3/chanview.tpl
deleted file mode 100644
index 4b0f29f6c..000000000
--- a/view/tpl/smarty3/chanview.tpl
+++ /dev/null
@@ -1,7 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="chanview-iframe-border" class="fakelink" onclick="chanviewFull(); return true;" title="{{$full}}" >&#x2610;</div>
-<iframe id="remote-channel" width="100%" src="{{$url}}" onload="resize_iframe()"></iframe>
diff --git a/view/tpl/smarty3/comment_item.tpl b/view/tpl/smarty3/comment_item.tpl
deleted file mode 100644
index cde6466f0..000000000
--- a/view/tpl/smarty3/comment_item.tpl
+++ /dev/null
@@ -1,73 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
- {{if $threaded}}
- <div class="comment-wwedit-wrapper threaded" id="comment-edit-wrapper-{{$id}}" style="display: block;">
- {{else}}
- <div class="comment-wwedit-wrapper" id="comment-edit-wrapper-{{$id}}" style="display: block;">
- {{/if}}
- <form class="comment-edit-form" style="display: block;" id="comment-edit-form-{{$id}}" action="item" method="post" onsubmit="post_comment({{$id}}); return false;">
- <input type="hidden" name="type" value="{{$type}}" />
- <input type="hidden" name="profile_uid" value="{{$profile_uid}}" />
- <input type="hidden" name="parent" value="{{$parent}}" />
- <input type="hidden" name="return" value="{{$return_path}}" />
- <input type="hidden" name="jsreload" value="{{$jsreload}}" />
- <input type="hidden" name="preview" id="comment-preview-inp-{{$id}}" value="0" />
- <input type="hidden" name="post_id_random" value="{{$rand_num}}" />
-
- <div class="comment-edit-photo" id="comment-edit-photo-{{$id}}" >
- <a class="comment-edit-photo-link" href="{{$mylink}}" title="{{$mytitle}}"><img class="my-comment-photo" src="{{$myphoto}}" alt="{{$mytitle}}" title="{{$mytitle}}" /></a>
- </div>
- <div class="comment-edit-photo-end"></div>
- <ul class="comment-edit-bb-{{$id}}">
- <li><a class="editicon boldbb shadow"
- style="cursor: pointer;" title="{{$edbold}}"
- onclick="insertFormatting('{{$comment}}','b', {{$id}});"></a></li>
- <li><a class="editicon italicbb shadow"
- style="cursor: pointer;" title="{{$editalic}}"
- onclick="insertFormatting('{{$comment}}','i', {{$id}});"></a></li>
- <li><a class="editicon underlinebb shadow"
- style="cursor: pointer;" title="{{$eduline}}"
- onclick="insertFormatting('{{$comment}}','u', {{$id}});"></a></li>
- <li><a class="editicon quotebb shadow"
- style="cursor: pointer;" title="{{$edquote}}"
- onclick="insertFormatting('{{$comment}}','quote', {{$id}});"></a></li>
- <li><a class="editicon codebb shadow"
- style="cursor: pointer;" title="{{$edcode}}"
- onclick="insertFormatting('{{$comment}}','code', {{$id}});"></a></li>
- <li><a class="editicon imagebb shadow"
- style="cursor: pointer;" title="{{$edimg}}"
- onclick="insertFormatting('{{$comment}}','img', {{$id}});"></a></li>
- <li><a class="editicon urlbb shadow"
- style="cursor: pointer;" title="{{$edurl}}"
- onclick="insertFormatting('{{$comment}}','url', {{$id}});"></a></li>
- <li><a class="editicon videobb shadow"
- style="cursor: pointer;" title="{{$edvideo}}"
- onclick="insertFormatting('{{$comment}}','video', {{$id}});"></a></li>
- </ul>
- <div class="comment-edit-bb-end"></div>
- <textarea id="comment-edit-text-{{$id}}" class="comment-edit-text-empty" name="body" onFocus="commentOpen(this,{{$id}});cmtBbOpen(this, {{$id}});" onBlur="commentClose(this,{{$id}});cmtBbClose(this,{{$id}});" >{{$comment}}</textarea>
- {{if $qcomment}}
- <select id="qcomment-select-{{$id}}" name="qcomment-{{$id}}" class="qcomment" onchange="qCommentInsert(this,{{$id}});" >
- <option value=""></option>
- {{foreach $qcomment as $qc}}
- <option value="{{$qc}}">{{$qc}}</option>
- {{/foreach}}
- </select>
- {{/if}}
-
- <div class="comment-edit-text-end"></div>
- <div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-{{$id}}" style="display: none;" >
- <input type="submit" onclick="post_comment({{$id}}); return false;" id="comment-edit-submit-{{$id}}" class="comment-edit-submit" name="submit" value="{{$submit}}" />
- {{if $preview}}
- <span onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" class="fakelink">{{$preview}}</span>
- <div id="comment-edit-preview-{{$id}}" class="comment-edit-preview" style="display:none;"></div>
- {{/if}}
- </div>
-
- <div class="comment-edit-end"></div>
- </form>
-
- </div>
diff --git a/view/tpl/smarty3/common_friends.tpl b/view/tpl/smarty3/common_friends.tpl
deleted file mode 100644
index 499cfe626..000000000
--- a/view/tpl/smarty3/common_friends.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="profile-match-wrapper">
- <div class="profile-match-photo">
- <a href="{{$url}}">
- <img src="{{$photo}}" alt="{{$name}}" width="80" height="80" title="{{$name}} [{{$url}}]" />
- </a>
- </div>
- <div class="profile-match-break"></div>
- <div class="profile-match-name">
- <a href="{{$url}}" title="{{$name}}[{{$tags}}]">{{$name}}</a>
- </div>
- <div class="profile-match-end"></div>
-</div> \ No newline at end of file
diff --git a/view/tpl/smarty3/common_tabs.tpl b/view/tpl/smarty3/common_tabs.tpl
deleted file mode 100644
index 07c501499..000000000
--- a/view/tpl/smarty3/common_tabs.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<ul class="tabs">
- {{foreach $tabs as $tab}}
- <li {{if $tab.id}}id="{{$tab.id}}"{{/if}}><a href="{{$tab.url}}" class="tab button {{$tab.sel}}"{{if $tab.title}} title="{{$tab.title}}"{{/if}}>{{$tab.label}}</a></li>
- {{/foreach}}
-</ul>
-<div class="tabs-end"></div> \ No newline at end of file
diff --git a/view/tpl/smarty3/contact_block.tpl b/view/tpl/smarty3/contact_block.tpl
deleted file mode 100644
index 3b07a1ea3..000000000
--- a/view/tpl/smarty3/contact_block.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="contact-block">
-<div id="contact-block-numcontacts">{{$contacts}}</div>
-{{if $micropro}}
- <a class="allcontact-link" href="viewconnections/{{$nickname}}">{{$viewconnections}}</a>
- <div class='contact-block-content'>
- {{foreach $micropro as $m}}
- {{$m}}
- {{/foreach}}
- </div>
-{{/if}}
-</div>
-<div class="clear"></div>
diff --git a/view/tpl/smarty3/contact_edit.tpl b/view/tpl/smarty3/contact_edit.tpl
deleted file mode 100644
index 28d067af1..000000000
--- a/view/tpl/smarty3/contact_edit.tpl
+++ /dev/null
@@ -1,94 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<h2>{{$header}}</h2>
-
-<div id="contact-edit-wrapper" >
-
- {{$tab_str}}
-
- <div id="contact-edit-drop-link" >
- <a href="contacts/{{$contact_id}}/drop" class="icon drophide" id="contact-edit-drop-link" onclick="return confirmDelete();" title="{{$delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);"></a>
- </div>
-
- <div id="contact-edit-drop-link-end"></div>
-
-
- <div id="contact-edit-nav-wrapper" >
- <div id="contact-edit-links">
- <ul>
- <li><div id="contact-edit-rel">{{$relation_text}}</div></li>
- <li><div id="contact-edit-nettype">{{$nettype}}</div></li>
- {{if $lost_contact}}
- <li><div id="lost-contact-message">{{$lost_contact}}</div></li>
- {{/if}}
- {{if $insecure}}
- <li><div id="insecure-message">{{$insecure}}</div></li>
- {{/if}}
- {{if $blocked}}
- <li><div id="block-message">{{$blocked}}</div></li>
- {{/if}}
- {{if $ignored}}
- <li><div id="ignore-message">{{$ignored}}</div></li>
- {{/if}}
- {{if $archived}}
- <li><div id="archive-message">{{$archived}}</div></li>
- {{/if}}
-
- <li>&nbsp;</li>
-
- {{if $common_text}}
- <li><div id="contact-edit-common"><a href="{{$common_link}}">{{$common_text}}</a></div></li>
- {{/if}}
- {{if $all_friends}}
- <li><div id="contact-edit-allfriends"><a href="allfriends/{{$contact_id}}">{{$all_friends}}</a></div></li>
- {{/if}}
-
-
- <li><a href="network/?cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li>
- {{if $lblsuggest}}
- <li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
- {{/if}}
-
- </ul>
- </div>
- </div>
- <div id="contact-edit-nav-end"></div>
-
-
-<form action="contacts/{{$contact_id}}" method="post" >
-<input type="hidden" name="contact_id" value="{{$contact_id}}">
-<input id="contact-closeness-mirror" type="hidden" name="closeness" value="{{$close}}" />
-
- {{if $poll_enabled}}
- <div id="contact-edit-poll-wrapper">
- <div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
- <span id="contact-edit-poll-text">{{$updpub}}</span> {{$poll_interval}} <span id="contact-edit-update-now" class="button"><a href="contacts/{{$contact_id}}/update" >{{$udnow}}</a></span>
- </div>
- {{/if}}
- <div id="contact-edit-end" ></div>
-
- {{include file="field_checkbox.tpl" field=$hidden}}
-
-<div id="contact-edit-info-wrapper">
-<h4>{{$lbl_info1}}</h4>
- <textarea id="contact-edit-info" rows="8" cols="60" name="info">{{$info}}</textarea>
- <input class="contact-edit-submit" type="submit" name="submit" value="{{$submit}}" />
-</div>
-<div id="contact-edit-info-end"></div>
-
-
-<div id="contact-edit-profile-select-text">
-<h4>{{$lbl_vis1}}</h4>
-<p>{{$lbl_vis2}}</p>
-</div>
-{{$profile_select}}
-<div id="contact-edit-profile-select-end"></div>
-
-<input class="contact-edit-submit" type="submit" name="submit" value="{{$submit}}" />
-
-</form>
-</div>
diff --git a/view/tpl/smarty3/contact_head.tpl b/view/tpl/smarty3/contact_head.tpl
deleted file mode 100644
index 27bc286b1..000000000
--- a/view/tpl/smarty3/contact_head.tpl
+++ /dev/null
@@ -1,35 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<script language="javascript" type="text/javascript"
- src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
- <script language="javascript" type="text/javascript">
-
-tinyMCE.init({
- theme : "advanced",
- mode : "{{$editselect}}",
- elements: "contact-edit-info",
- plugins : "bbcode",
- theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : "",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "center",
- theme_advanced_styles : "blockquote,code",
- gecko_spellcheck : true,
- entity_encoding : "raw",
- add_unload_trigger : false,
- remove_linebreaks : false,
- force_p_newlines : false,
- force_br_newlines : true,
- forced_root_block : '',
- content_css: "{{$baseurl}}/view/custom_tinymce.css"
-
-
-});
-
-
-</script>
-
diff --git a/view/tpl/smarty3/contact_slider.tpl b/view/tpl/smarty3/contact_slider.tpl
deleted file mode 100644
index 80fa6f056..000000000
--- a/view/tpl/smarty3/contact_slider.tpl
+++ /dev/null
@@ -1,9 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="contact-slider" class="slider" style="height: 32px; position: relative; left: 5%; width: 90%;"><input id="contact-range" type="text" name="fake-closeness" value="{{$val}}" /></div>
-<script>
- $("#contact-range").slider({ from: 0, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], onstatechange: function(v) { $("#contact-closeness-mirror").val(v); } });
-</script>
diff --git a/view/tpl/smarty3/contact_template.tpl b/view/tpl/smarty3/contact_template.tpl
deleted file mode 100644
index 496fb90ba..000000000
--- a/view/tpl/smarty3/contact_template.tpl
+++ /dev/null
@@ -1,14 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<div class="contact-entry-wrapper" id="contact-entry-wrapper-{{$contact.id}}" >
- <div class="contact-entry-photo-wrapper" >
- <a href="{{$contact.url}}" title="{{$contact.img_hover}}" /><img src="{{$contact.thumb}}" alt="{{$contact.name}}" /></a>
- </div>
- <div class="contact-entry-photo-end" ></div>
- <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div>
- <div class="contact-entry-end" ></div>
-</div>
diff --git a/view/tpl/smarty3/contacts-template.tpl b/view/tpl/smarty3/contacts-template.tpl
deleted file mode 100644
index 66f3f5c87..000000000
--- a/view/tpl/smarty3/contacts-template.tpl
+++ /dev/null
@@ -1,31 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$header}}{{if $total}} ({{$total}}){{/if}}</h1>
-
-{{if $finding}}<h4>{{$finding}}</h4>{{/if}}
-
-<div id="contacts-search-wrapper">
-<form id="contacts-search-form" action="{{$cmd}}" method="get" >
-<span class="contacts-search-desc">{{$desc}}</span>
-<input type="text" name="search" id="contacts-search" class="search-input" onfocus="this.select();" value="{{$search}}" />
-<input type="submit" name="submit" id="contacts-search-submit" value="{{$submit}}" />
-</form>
-</div>
-<div id="contacts-search-end"></div>
-
-{{$tabs}}
-
-
-{{foreach $contacts as $contact}}
- {{include file="contact_template.tpl"}}
-{{/foreach}}
-<div id="contact-edit-end"></div>
-
-{{$paginate}}
-
-
-
-
diff --git a/view/tpl/smarty3/content.tpl b/view/tpl/smarty3/content.tpl
deleted file mode 100644
index 811f92dd5..000000000
--- a/view/tpl/smarty3/content.tpl
+++ /dev/null
@@ -1,7 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="content-begin"></div>
-<div id="content-end"></div>
diff --git a/view/tpl/smarty3/conv.tpl b/view/tpl/smarty3/conv.tpl
deleted file mode 100644
index c91ab635a..000000000
--- a/view/tpl/smarty3/conv.tpl
+++ /dev/null
@@ -1,22 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{foreach $threads as $thread}}
-<div id="thread-wrapper-{{$thread.id}}" class="thread-wrapper">
- {{foreach $thread.items as $item}}
- {{if $item.comment_firstcollapsed}}
- <div class="hide-comments-outer">
- <span id="hide-comments-total-{{$thread.id}}" class="hide-comments-total">{{$thread.num_comments}}</span> <span id="hide-comments-{{$thread.id}}" class="hide-comments fakelink" onclick="showHideComments({{$thread.id}});">{{$thread.hide_text}}</span>
- </div>
- <div id="collapsed-comments-{{$thread.id}}" class="collapsed-comments" style="display: none;">
- {{/if}}
- {{if $item.comment_lastcollapsed}}</div>{{/if}}
-
- {{include file="{{$item.template}}"}}
-
-
- {{/foreach}}
-</div>
-{{/foreach}}
diff --git a/view/tpl/smarty3/conv_frame.tpl b/view/tpl/smarty3/conv_frame.tpl
deleted file mode 100644
index 81d655be2..000000000
--- a/view/tpl/smarty3/conv_frame.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="threads-begin"></div>
-<div id="threads-end"></div>
-<div id="conversation-end"></div>
-
-{{if $dropping}}
-<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();">
- <div id="item-delete-selected-icon" class="icon drophide" title="{{$dropping}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
- <div id="item-delete-selected-desc" >{{$dropping}}</div>
-</div>
-<div id="item-delete-selected-end"></div>
-{{/if}}
-
-<img id="page-spinner" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />
-
diff --git a/view/tpl/smarty3/conv_item.tpl b/view/tpl/smarty3/conv_item.tpl
deleted file mode 100644
index 37baa81bf..000000000
--- a/view/tpl/smarty3/conv_item.tpl
+++ /dev/null
@@ -1,120 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{if $item.comment_firstcollapsed}}
- <div class="hide-comments-outer">
- <span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">{{$item.num_comments}}</span> <span id="hide-comments-{{$item.id}}" class="hide-comments fakelink" onclick="showHideComments({{$item.id}});">{{$item.hide_text}}</span>
- </div>
- <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;">
-{{/if}}
-<div id="thread-wrapper-{{$item.id}}" class="thread-wrapper {{$item.toplevel}}">
-<a name="{{$item.id}}" ></a>
-<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" >
- <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" >
- <div class="wall-item-info{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-info-{{$item.id}}">
- {{if $item.owner_url}}
- <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}" >
- <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}">
- <img src="{{$item.owner_photo}}" class="wall-item-photo{{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.owner_name}}" /></a>
- </div>
- <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="{{$item.wall}}" /></div>
- {{/if}}
- <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}"
- onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')"
- onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)">
- <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}">
- <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a>
- <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
- <ul>
- {{$item.item_photo_menu}}
- </ul>
- </div>
-
- </div>
- <div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
- {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div>
- {{else}}<div class="wall-item-lock"></div>{{/if}}
- <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div>
- </div>
- </div>
- <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.to}} <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> {{$item.vwall}}{{/if}}<br />
- <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}" title="{{$item.localtime}}">{{$item.ago}}</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>
- <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>
- {{if $item.has_cats}}
- <div class="categorytags"><span>{{$item.txt_cats}} {{foreach $item.categories as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}}
- </div>
- {{/if}}
-
- {{if $item.has_folders}}
- <div class="filesavetags"><span>{{$item.txt_folders}} {{foreach $item.folders as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}}
- </div>
- {{/if}}
- </div>
- </div>
- <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}">
- {{if $item.like}}
- <a href="#" class="icon like item-tool" title="{{$item.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a>
- {{/if}}
- {{if $item.dislike}}
- <a href="#" class="icon dislike item-tool" title="{{$item.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a>
- {{/if}}
- {{if $item.share}}
- <a href="#" class="icon recycle item-tool" title="{{$item.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>
- {{/if}}
- {{if $item.plink}}
- <a href="{{$item.plink.href}}" title="{{$item.plink.title}}" target="external-link" class="icon item-tool remote-link{{$item.sparkle}}"></a>
- {{/if}}
- {{if $item.edpost}}
- <a class="editpost icon pencil item-tool" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a>
- {{/if}}
- {{if $item.star}}
- <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon item-tool {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></a>
- {{/if}}
- {{if $item.tagger}}
- <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon item-tool tagged" title="{{$item.tagger.tagit}}"></a>
- {{/if}}
- {{if $item.filer}}
- <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon item-tool" title="{{$item.filer}}"></a>
- {{/if}}
- <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" />
-
- <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >
- {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}}
- </div>
- {{if $item.drop.pagedrop}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}}
- <div class="wall-item-delete-end"></div>
- </div>
- </div>
- <div class="wall-item-wrapper-end"></div>
- <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.showlike}}</div>
- <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.showdislike}}</div>
-
-<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>
-</div>
-{{if $item.toplevel}}
-{{foreach $item.children as $child}}
- {{include file="{{$child.template}}" item=$child}}
-{{/foreach}}
-{{/if}}
-
-<div class="wall-item-comment-wrapper" >
- {{$item.comment}}
-</div>
-
-
-</div>
-{{if $item.comment_lastcollapsed}}</div>{{/if}}
diff --git a/view/tpl/smarty3/conversation.tpl b/view/tpl/smarty3/conversation.tpl
deleted file mode 100644
index 837fbc11f..000000000
--- a/view/tpl/smarty3/conversation.tpl
+++ /dev/null
@@ -1,33 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="threads-begin"></div>
-{{foreach $threads as $thread}}
-<div id="thread-wrapper-{{$thread.id}}" class="thread-wrapper">
- {{foreach $thread.items as $item}}
- {{if $item.comment_firstcollapsed}}
- <div class="hide-comments-outer">
- <span id="hide-comments-total-{{$thread.id}}" class="hide-comments-total">{{$thread.num_comments}}</span> <span id="hide-comments-{{$thread.id}}" class="hide-comments fakelink" onclick="showHideComments({{$thread.id}});">{{$thread.hide_text}}</span>
- </div>
- <div id="collapsed-comments-{{$thread.id}}" class="collapsed-comments" style="display: none;">
- {{/if}}
- {{if $item.comment_lastcollapsed}}</div>{{/if}}
-
- {{include file="{{$item.template}}"}}
-
-
- {{/foreach}}
-</div>
-{{/foreach}}
-<div id="threads-end"></div>
-<div id="conversation-end"></div>
-
-{{if $dropping}}
-<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();">
- <div id="item-delete-selected-icon" class="icon drophide" title="{{$dropping}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
- <div id="item-delete-selected-desc" >{{$dropping}}</div>
-</div>
-<div id="item-delete-selected-end"></div>
-{{/if}}
diff --git a/view/tpl/smarty3/convobj.tpl b/view/tpl/smarty3/convobj.tpl
deleted file mode 100644
index 2a714c100..000000000
--- a/view/tpl/smarty3/convobj.tpl
+++ /dev/null
@@ -1,9 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{foreach $threads as $item}}
-{{include file="{{$item.template}}"}}
-{{/foreach}}
-
diff --git a/view/tpl/smarty3/crepair.tpl b/view/tpl/smarty3/crepair.tpl
deleted file mode 100644
index 8d3ed7df8..000000000
--- a/view/tpl/smarty3/crepair.tpl
+++ /dev/null
@@ -1,51 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<form id="crepair-form" action="crepair/{{$contact_id}}" method="post" >
-
-<h4>{{$contact_name}}</h4>
-
-<label id="crepair-name-label" class="crepair-label" for="crepair-name">{{$label_name}}</label>
-<input type="text" id="crepair-name" class="crepair-input" name="name" value="{{$contact_name}}" />
-<div class="clear"></div>
-
-<label id="crepair-nick-label" class="crepair-label" for="crepair-nick">{{$label_nick}}</label>
-<input type="text" id="crepair-nick" class="crepair-input" name="nick" value="{{$contact_nick}}" />
-<div class="clear"></div>
-
-<label id="crepair-attag-label" class="crepair-label" for="crepair-attag">{{$label_attag}}</label>
-<input type="text" id="crepair-attag" class="crepair-input" name="attag" value="{{$contact_attag}}" />
-<div class="clear"></div>
-
-<label id="crepair-url-label" class="crepair-label" for="crepair-url">{{$label_url}}</label>
-<input type="text" id="crepair-url" class="crepair-input" name="url" value="{{$contact_url}}" />
-<div class="clear"></div>
-
-<label id="crepair-request-label" class="crepair-label" for="crepair-request">{{$label_request}}</label>
-<input type="text" id="crepair-request" class="crepair-input" name="request" value="{{$request}}" />
-<div class="clear"></div>
-
-<label id="crepair-confirm-label" class="crepair-label" for="crepair-confirm">{{$label_confirm}}</label>
-<input type="text" id="crepair-confirm" class="crepair-input" name="confirm" value="{{$confirm}}" />
-<div class="clear"></div>
-
-<label id="crepair-notify-label" class="crepair-label" for="crepair-notify">{{$label_notify}}</label>
-<input type="text" id="crepair-notify" class="crepair-input" name="notify" value="{{$notify}}" />
-<div class="clear"></div>
-
-<label id="crepair-poll-label" class="crepair-label" for="crepair-poll">{{$label_poll}}</label>
-<input type="text" id="crepair-poll" class="crepair-input" name="poll" value="{{$poll}}" />
-<div class="clear"></div>
-
-<label id="crepair-photo-label" class="crepair-label" for="crepair-photo">{{$label_photo}}</label>
-<input type="text" id="crepair-photo" class="crepair-input" name="photo" value="" />
-<div class="clear"></div>
-
-<input type="submit" name="submit" value="{{$lbl_submit}}" />
-
-</form>
-
-
diff --git a/view/tpl/smarty3/cropbody.tpl b/view/tpl/smarty3/cropbody.tpl
deleted file mode 100644
index e6fcd355f..000000000
--- a/view/tpl/smarty3/cropbody.tpl
+++ /dev/null
@@ -1,63 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-<p id="cropimage-desc">
-{{$desc}}
-</p>
-<div id="cropimage-wrapper">
-<img src="{{$image_url}}" id="croppa" class="imgCrop" alt="{{$title}}" />
-</div>
-<div id="cropimage-preview-wrapper" >
-<div id="previewWrap" ></div>
-</div>
-
-<script type="text/javascript" language="javascript">
-
- function onEndCrop( coords, dimensions ) {
- $( 'x1' ).value = coords.x1;
- $( 'y1' ).value = coords.y1;
- $( 'x2' ).value = coords.x2;
- $( 'y2' ).value = coords.y2;
- $( 'width' ).value = dimensions.width;
- $( 'height' ).value = dimensions.height;
- }
-
- Event.observe( window, 'load', function() {
- new Cropper.ImgWithPreview(
- 'croppa',
- {
- previewWrap: 'previewWrap',
- minWidth: 175,
- minHeight: 175,
- maxWidth: 640,
- maxHeight: 640,
- ratioDim: { x: 100, y:100 },
- displayOnInit: true,
- onEndCrop: onEndCrop
- }
- );
- }
- );
-
-</script>
-
-<form action="profile_photo/{{$resource}}" id="crop-image-form" method="post" />
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
-<input type='hidden' name='profile' value='{{$profile}}'>
-<input type="hidden" name="cropfinal" value="1" />
-<input type="hidden" name="xstart" id="x1" />
-<input type="hidden" name="ystart" id="y1" />
-<input type="hidden" name="xfinal" id="x2" />
-<input type="hidden" name="yfinal" id="y2" />
-<input type="hidden" name="height" id="height" />
-<input type="hidden" name="width" id="width" />
-
-<div id="crop-image-submit-wrapper" >
-<input type="submit" name="submit" value="{{$done}}" />
-</div>
-
-</form>
diff --git a/view/tpl/smarty3/crophead.tpl b/view/tpl/smarty3/crophead.tpl
deleted file mode 100644
index d51b87d12..000000000
--- a/view/tpl/smarty3/crophead.tpl
+++ /dev/null
@@ -1,9 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
- <script type="text/javascript" src="library/cropper/lib/prototype.js" language="javascript"></script>
- <script type="text/javascript" src="library/cropper/lib/scriptaculous.js?load=effects,builder,dragdrop" language="javascript"></script>
- <script type="text/javascript" src="library/cropper/cropper.js" language="javascript"></script>
- <link rel="stylesheet" href="library/cropper/cropper.css" type="text/css" />
diff --git a/view/tpl/smarty3/delegate.tpl b/view/tpl/smarty3/delegate.tpl
deleted file mode 100644
index 7aa85cf39..000000000
--- a/view/tpl/smarty3/delegate.tpl
+++ /dev/null
@@ -1,62 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$header}}</h3>
-
-<div id="delegate-desc" class="delegate-desc">{{$desc}}</div>
-
-{{if $managers}}
-<h3>{{$head_managers}}</h3>
-
-{{foreach $managers as $x}}
-
-<div class="contact-block-div">
-<a class="contact-block-link" href="#" >
-<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" />
-</a>
-</div>
-
-{{/foreach}}
-<div class="clear"></div>
-<hr />
-{{/if}}
-
-
-<h3>{{$head_delegates}}</h3>
-
-{{if $delegates}}
-{{foreach $delegates as $x}}
-
-<div class="contact-block-div">
-<a class="contact-block-link" href="{{$base}}/delegate/remove/{{$x.uid}}" >
-<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" />
-</a>
-</div>
-
-{{/foreach}}
-<div class="clear"></div>
-{{else}}
-{{$none}}
-{{/if}}
-<hr />
-
-
-<h3>{{$head_potentials}}</h3>
-{{if $potentials}}
-{{foreach $potentials as $x}}
-
-<div class="contact-block-div">
-<a class="contact-block-link" href="{{$base}}/delegate/add/{{$x.uid}}" >
-<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" />
-</a>
-</div>
-
-{{/foreach}}
-<div class="clear"></div>
-{{else}}
-{{$none}}
-{{/if}}
-<hr />
-
diff --git a/view/tpl/smarty3/dfrn_req_confirm.tpl b/view/tpl/smarty3/dfrn_req_confirm.tpl
deleted file mode 100644
index c941a201d..000000000
--- a/view/tpl/smarty3/dfrn_req_confirm.tpl
+++ /dev/null
@@ -1,26 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<p id="dfrn-request-homecoming" >
-{{$welcome}}
-<br />
-{{$please}}
-
-</p>
-<form id="dfrn-request-homecoming-form" action="dfrn_request/{{$nickname}}" method="post">
-<input type="hidden" name="dfrn_url" value="{{$dfrn_url}}" />
-<input type="hidden" name="confirm_key" value="{{$confirm_key}}" />
-<input type="hidden" name="localconfirm" value="1" />
-{{$aes_allow}}
-
-<label id="dfrn-request-homecoming-hide-label" for="dfrn-request-homecoming-hide">{{$hidethem}}</label>
-<input type="checkbox" name="hidden-contact" value="1" {{if $hidechecked}}checked="checked" {{/if}} />
-
-
-<div id="dfrn-request-homecoming-submit-wrapper" >
-<input id="dfrn-request-homecoming-submit" type="submit" name="submit" value="{{$submit}}" />
-</div>
-</form> \ No newline at end of file
diff --git a/view/tpl/smarty3/dfrn_request.tpl b/view/tpl/smarty3/dfrn_request.tpl
deleted file mode 100644
index b08a0b731..000000000
--- a/view/tpl/smarty3/dfrn_request.tpl
+++ /dev/null
@@ -1,64 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<h1>{{$header}}</h1>
-
-<p id="dfrn-request-intro">
-{{$page_desc}}<br />
-{{$invite_desc}}
-</p>
-<p>
-{{$desc}}
-</p>
-
-<form action="dfrn_request/{{$nickname}}" method="post" />
-
-<div id="dfrn-request-url-wrapper" >
- <label id="dfrn-url-label" for="dfrn-url" >{{$your_address}}</label>
- <input type="text" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr}}" />
- <div id="dfrn-request-url-end"></div>
-</div>
-
-<p id="dfrn-request-options">
-{{$pls_answer}}
-</p>
-
-<div id="dfrn-request-info-wrapper" >
-
-
-<p id="doiknowyou">
-{{$does_know}}
-</p>
-
- <div id="dfrn-request-know-yes-wrapper">
- <label id="dfrn-request-knowyou-yes-label" for="dfrn-request-knowyouyes">{{$yes}}</label>
- <input type="radio" name="knowyou" id="knowyouyes" value="1" />
-
- <div id="dfrn-request-knowyou-break" ></div>
- </div>
- <div id="dfrn-request-know-no-wrapper">
- <label id="dfrn-request-knowyou-no-label" for="dfrn-request-knowyouno">{{$no}}</label>
- <input type="radio" name="knowyou" id="knowyouno" value="0" checked="checked" />
-
- <div id="dfrn-request-knowyou-end"></div>
- </div>
-
-
-<p id="dfrn-request-message-desc">
-{{$add_note}}
-</p>
- <div id="dfrn-request-message-wrapper">
- <textarea name="dfrn-request-message" rows="4" cols="64" ></textarea>
- </div>
-
-
-</div>
-
- <div id="dfrn-request-submit-wrapper">
- <input type="submit" name="submit" id="dfrn-request-submit-button" value="{{$submit}}" />
- <input type="submit" name="cancel" id="dfrn-request-cancel-button" value="{{$cancel}}" />
- </div>
-</form>
diff --git a/view/tpl/smarty3/diasp_dec_hdr.tpl b/view/tpl/smarty3/diasp_dec_hdr.tpl
deleted file mode 100644
index c3305ecd0..000000000
--- a/view/tpl/smarty3/diasp_dec_hdr.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<decrypted_hdeader>
- <iv>{{$inner_iv}}</iv>
- <aes_key>{{$inner_key}}</aes_key>
- <author>
- <name>{{$author_name}}</name>
- <uri>{{$author_uri}}</uri>
- </author>
-</decrypted_header>
diff --git a/view/tpl/smarty3/directory_header.tpl b/view/tpl/smarty3/directory_header.tpl
deleted file mode 100644
index 293e65be2..000000000
--- a/view/tpl/smarty3/directory_header.tpl
+++ /dev/null
@@ -1,21 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$dirlbl}}</h1>
-
-{{if $search}}
-<h4>{{$finddsc}} {{$safetxt}}</h4>
-{{/if}}
-
-{{foreach $entries as $entry}}
-
-{{include file="direntry.tpl"}}
-
-{{/foreach}}
-
-
-
-<div class="directory-end"></div>
-
diff --git a/view/tpl/smarty3/directory_item.tpl b/view/tpl/smarty3/directory_item.tpl
deleted file mode 100644
index ae52646b8..000000000
--- a/view/tpl/smarty3/directory_item.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<div class="directory-item lframe" id="directory-item-{{$id}}" >
- <div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$id}}" >
- <div class="contact-photo" id="directory-photo-{{$id}}" >
- <a href="{{$profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$id}}" ><img class="directory-photo-img" src="{{$photo}}" alt="{{$alt_text}}" title="{{$alt_text}}" /></a>
- </div>
- </div>
-
- <div class="contact-name" id="directory-name-{{$id}}">{{$name}}</div>
- <div class="contact-details">{{$details}}</div>
-</div>
diff --git a/view/tpl/smarty3/direntry.tpl b/view/tpl/smarty3/direntry.tpl
deleted file mode 100644
index c1009efc7..000000000
--- a/view/tpl/smarty3/direntry.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<div class="directory-item lframe" id="directory-item-{{$entry.id}}" >
- <div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$entry.id}}" >
- <div class="contact-photo" id="directory-photo-{{$entry.id}}" >
- <a href="{{$entry.profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$entry.id}}" ><img class="directory-photo-img" src="{{$entry.photo}}" alt="{{$entry.alttext}}" title="{{$entry.alttext}}" /></a>
- </div>
- </div>
-
- <div class="contact-name" id="directory-name-{{$entry.id}}">{{$entry.name}}</div>
- <div class="contact-details">{{$entry.details}}</div>
-</div>
diff --git a/view/tpl/smarty3/display-head.tpl b/view/tpl/smarty3/display-head.tpl
deleted file mode 100644
index 7750b655e..000000000
--- a/view/tpl/smarty3/display-head.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<script>
-$(document).ready(function() {
- $(".comment-edit-wrapper textarea").contact_autocomplete(baseurl+"/acl");
- // make auto-complete work in more places
- $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl");
-});
-</script>
-
diff --git a/view/tpl/smarty3/edpost_head.tpl b/view/tpl/smarty3/edpost_head.tpl
deleted file mode 100644
index 2bf28002d..000000000
--- a/view/tpl/smarty3/edpost_head.tpl
+++ /dev/null
@@ -1,6 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h2>{{$title}}</h2>
diff --git a/view/tpl/smarty3/email_notify_html.tpl b/view/tpl/smarty3/email_notify_html.tpl
deleted file mode 100644
index 47b476688..000000000
--- a/view/tpl/smarty3/email_notify_html.tpl
+++ /dev/null
@@ -1,32 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
-<html>
-<head>
- <title>{{$banner}}</title>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-</head>
-<body>
-<table style="border:1px solid #ccc">
- <tbody>
- <tr><td colspan="2" style="background:#ff0000; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px; float:left;" src='{{$siteurl}}/images/fred-32.png'><div style="padding:7px; margin-left: 5px; float:left; font-size:18px;letter-spacing:1px;">{{$product}}</div><div style="clear: both;"></div></td></tr>
-
-
- <tr><td style="padding-top:22px;" colspan="2">{{$preamble}}</td></tr>
-
-
- <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="{{$source_link}}"><img style="border:0px;width:48px;height:48px;" src="{{$source_photo}}"></a></td>
- <td style="padding-top:22px;"><a href="{{$source_link}}">{{$source_name}}</a></td></tr>
- <tr><td style="font-weight:bold;padding-bottom:5px;">{{$title}}</td></tr>
- <tr><td style="padding-right:22px;">{{$htmlversion}}</td></tr>
- <tr><td style="padding-top:11px;" colspan="2">{{$hsitelink}}</td></tr>
- <tr><td style="padding-bottom:11px;" colspan="2">{{$hitemlink}}</td></tr>
- <tr><td></td><td>{{$thanks}}</td></tr>
- <tr><td></td><td>{{$site_admin}}</td></tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/view/tpl/smarty3/email_notify_text.tpl b/view/tpl/smarty3/email_notify_text.tpl
deleted file mode 100644
index e164f3023..000000000
--- a/view/tpl/smarty3/email_notify_text.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-{{$preamble}}
-
-{{$title}}
-
-{{$textversion}}
-
-{{$tsitelink}}
-{{$titemlink}}
-
-{{$thanks}}
-{{$site_admin}}
-
diff --git a/view/tpl/smarty3/event.tpl b/view/tpl/smarty3/event.tpl
deleted file mode 100644
index 1ba472377..000000000
--- a/view/tpl/smarty3/event.tpl
+++ /dev/null
@@ -1,15 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{foreach $events as $event}}
- <div class="event">
-
- {{if $event.item.author-name}}<a href="{{$event.item.author-link}}" ><img src="{{$event.item.author-avatar}}" height="32" width="32" />{{$event.item.author-name}}</a>{{/if}}
- {{$event.html}}
- {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="plink-event-link icon s22 remote-link"></a>{{/if}}
- {{if $event.edit}}<a href="{{$event.edit.0}}" title="{{$event.edit.1}}" class="edit-event-link icon s22 pencil"></a>{{/if}}
- </div>
- <div class="clear"></div>
-{{/foreach}}
diff --git a/view/tpl/smarty3/event_form.tpl b/view/tpl/smarty3/event_form.tpl
deleted file mode 100644
index 335a9480b..000000000
--- a/view/tpl/smarty3/event_form.tpl
+++ /dev/null
@@ -1,54 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$title}}</h3>
-
-<p>
-{{$desc}}
-</p>
-
-<form action="{{$post}}" method="post" >
-
-<input type="hidden" name="event_id" value="{{$eid}}" />
-<input type="hidden" name="cid" value="{{$cid}}" />
-<input type="hidden" name="uri" value="{{$uri}}" />
-
-<div id="event-start-text">{{$s_text}}</div>
-{{$s_dsel}} {{$s_tsel}}
-
-<div id="event-finish-text">{{$f_text}}</div>
-{{$f_dsel}} {{$f_tsel}}
-
-<div id="event-datetime-break"></div>
-
-<input type="checkbox" name="nofinish" value="1" id="event-nofinish-checkbox" {{$n_checked}} /> <div id="event-nofinish-text">{{$n_text}}</div>
-
-<div id="event-nofinish-break"></div>
-
-<input type="checkbox" name="adjust" value="1" id="event-adjust-checkbox" {{$a_checked}} /> <div id="event-adjust-text">{{$a_text}}</div>
-
-<div id="event-adjust-break"></div>
-
-<div id="event-summary-text">{{$t_text}}</div>
-<input type="text" id="event-summary" name="summary" value="{{$t_orig}}" />
-
-
-<div id="event-desc-text">{{$d_text}}</div>
-<textarea id="event-desc-textarea" name="desc">{{$d_orig}}</textarea>
-
-
-<div id="event-location-text">{{$l_text}}</div>
-<textarea id="event-location-textarea" name="location">{{$l_orig}}</textarea>
-
-<input type="checkbox" name="share" value="1" id="event-share-checkbox" {{$sh_checked}} /> <div id="event-share-text">{{$sh_text}}</div>
-<div id="event-share-break"></div>
-
-{{$acl}}
-
-<div class="clear"></div>
-<input id="event-submit" type="submit" name="submit" value="{{$submit}}" />
-</form>
-
-
diff --git a/view/tpl/smarty3/event_head.tpl b/view/tpl/smarty3/event_head.tpl
deleted file mode 100644
index 32288b7ad..000000000
--- a/view/tpl/smarty3/event_head.tpl
+++ /dev/null
@@ -1,144 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<link rel='stylesheet' type='text/css' href='{{$baseurl}}/library/fullcalendar/fullcalendar.css' />
-<script language="javascript" type="text/javascript"
- src="{{$baseurl}}/library/fullcalendar/fullcalendar.min.js"></script>
-
-<script>
- function showEvent(eventid) {
- $.get(
- '{{$baseurl}}/events/?id='+eventid,
- function(data){
- $.fancybox(data);
- }
- );
- }
-
- $(document).ready(function() {
- $('#events-calendar').fullCalendar({
- events: '{{$baseurl}}/events/json/',
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- timeFormat: 'H(:mm)',
- eventClick: function(calEvent, jsEvent, view) {
- showEvent(calEvent.id);
- },
-
- eventRender: function(event, element, view) {
- //console.log(view.name);
- if (event.item['author-name']==null) return;
- switch(view.name){
- case "month":
- element.find(".fc-event-title").html(
- "<img src='{0}' style='height:10px;width:10px'>{1} : {2}".format(
- event.item['author-avatar'],
- event.item['author-name'],
- event.title
- ));
- break;
- case "agendaWeek":
- element.find(".fc-event-title").html(
- "<img src='{0}' style='height:12px; width:12px'>{1}<p>{2}</p><p>{3}</p>".format(
- event.item['author-avatar'],
- event.item['author-name'],
- event.item.desc,
- event.item.location
- ));
- break;
- case "agendaDay":
- element.find(".fc-event-title").html(
- "<img src='{0}' style='height:24px;width:24px'>{1}<p>{2}</p><p>{3}</p>".format(
- event.item['author-avatar'],
- event.item['author-name'],
- event.item.desc,
- event.item.location
- ));
- break;
- }
- }
-
- })
-
- // center on date
- var args=location.href.replace(baseurl,"").split("/");
- if (args.length>=4) {
- $("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
- }
-
- // show event popup
- var hash = location.hash.split("-")
- if (hash.length==2 && hash[0]=="#link") showEvent(hash[1]);
-
- });
-</script>
-
-
-<script language="javascript" type="text/javascript"
- src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
-<script language="javascript" type="text/javascript">
-
-
- tinyMCE.init({
- theme : "advanced",
- mode : "textareas",
- plugins : "bbcode,paste",
- theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : "",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "center",
- theme_advanced_blockformats : "blockquote,code",
- gecko_spellcheck : true,
- paste_text_sticky : true,
- entity_encoding : "raw",
- add_unload_trigger : false,
- remove_linebreaks : false,
- force_p_newlines : false,
- force_br_newlines : true,
- forced_root_block : '',
- content_css: "{{$baseurl}}/view/custom_tinymce.css",
- theme_advanced_path : false,
- setup : function(ed) {
- ed.onInit.add(function(ed) {
- ed.pasteAsPlainText = true;
- });
- }
-
- });
-
-
- $(document).ready(function() {
-
- $('#event-share-checkbox').change(function() {
-
- if ($('#event-share-checkbox').is(':checked')) {
- $('#acl-wrapper').show();
- }
- else {
- $('#acl-wrapper').hide();
- }
- }).trigger('change');
-
-
- $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
- var selstr;
- $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
- selstr = $(this).text();
- $('#jot-public').hide();
- });
- if(selstr == null) {
- $('#jot-public').show();
- }
-
- }).trigger('change');
-
- });
-
-</script>
-
diff --git a/view/tpl/smarty3/events-js.tpl b/view/tpl/smarty3/events-js.tpl
deleted file mode 100644
index 5fa046f5a..000000000
--- a/view/tpl/smarty3/events-js.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{$tabs}}
-<h2>{{$title}}</h2>
-
-<div id="new-event-link"><a href="{{$new_event.0}}" >{{$new_event.1}}</a></div>
-
-<div id="events-calendar"></div>
diff --git a/view/tpl/smarty3/events.tpl b/view/tpl/smarty3/events.tpl
deleted file mode 100644
index 45366a77d..000000000
--- a/view/tpl/smarty3/events.tpl
+++ /dev/null
@@ -1,29 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{$tabs}}
-<h2>{{$title}}</h2>
-
-<div id="new-event-link"><a href="{{$new_event.0}}" >{{$new_event.1}}</a></div>
-
-<div id="event-calendar-wrapper">
- <a href="{{$previus.0}}" class="prevcal {{$previus.2}}"><div id="event-calendar-prev" class="icon s22 prev" title="{{$previus.1}}"></div></a>
- {{$calendar}}
- <a href="{{$next.0}}" class="nextcal {{$next.2}}"><div id="event-calendar-prev" class="icon s22 next" title="{{$next.1}}"></div></a>
-</div>
-<div class="event-calendar-end"></div>
-
-
-{{foreach $events as $event}}
- <div class="event">
- {{if $event.is_first}}<hr /><a name="link-{{$event.j}}" ><div class="event-list-date">{{$event.d}}</div></a>{{/if}}
- {{if $event.item.author-name}}<a href="{{$event.item.author-link}}" ><img src="{{$event.item.author-avatar}}" height="32" width="32" />{{$event.item.author-name}}</a>{{/if}}
- {{$event.html}}
- {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="plink-event-link icon s22 remote-link"></a>{{/if}}
- {{if $event.edit}}<a href="{{$event.edit.0}}" title="{{$event.edit.1}}" class="edit-event-link icon s22 pencil"></a>{{/if}}
- </div>
- <div class="clear"></div>
-
-{{/foreach}}
diff --git a/view/tpl/smarty3/events_reminder.tpl b/view/tpl/smarty3/events_reminder.tpl
deleted file mode 100644
index d8e8ceb2a..000000000
--- a/view/tpl/smarty3/events_reminder.tpl
+++ /dev/null
@@ -1,15 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{if $count}}
-<div id="event-notice" class="birthday-notice fakelink {{$classtoday}}" onclick="openClose('event-wrapper');">{{$event_reminders}} ({{$count}})</div>
-<div id="event-wrapper" style="display: none;" ><div id="event-title">{{$event_title}}</div>
-<div id="event-title-end"></div>
-{{foreach $events as $event}}
-<div class="event-list" id="event-{{$event.id}}"></a> <a href="events/{{$event.link}}">{{$event.title}}</a> {{$event.date}} </div>
-{{/foreach}}
-</div>
-{{/if}}
-
diff --git a/view/tpl/smarty3/failed_updates.tpl b/view/tpl/smarty3/failed_updates.tpl
deleted file mode 100644
index 8161ff2ef..000000000
--- a/view/tpl/smarty3/failed_updates.tpl
+++ /dev/null
@@ -1,22 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h2>{{$banner}}</h2>
-
-<div id="failed_updates_desc">{{$desc}}</div>
-
-{{if $failed}}
-{{foreach $failed as $f}}
-
-<h4>{{$f}}</h4>
-<ul>
-<li><a href="{{$base}}/admin/dbsync/mark/{{$f}}">{{$mark}}</a></li>
-<li><a href="{{$base}}/admin/dbsync/{{$f}}">{{$apply}}</a></li>
-</ul>
-
-<hr />
-{{/foreach}}
-{{/if}}
-
diff --git a/view/tpl/smarty3/fake_feed.tpl b/view/tpl/smarty3/fake_feed.tpl
deleted file mode 100644
index fd875de71..000000000
--- a/view/tpl/smarty3/fake_feed.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<?xml version="1.0" encoding="utf-8" ?>
-<feed xmlns="http://www.w3.org/2005/Atom" >
-
- <id>fake feed</id>
- <title>fake title</title>
-
- <updated>1970-01-01T00:00:00Z</updated>
-
- <author>
- <name>Fake Name</name>
- <uri>http://example.com</uri>
- </author>
-
diff --git a/view/tpl/smarty3/field.tpl b/view/tpl/smarty3/field.tpl
deleted file mode 100644
index 1bf36d84e..000000000
--- a/view/tpl/smarty3/field.tpl
+++ /dev/null
@@ -1,9 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- {{if $field.0==select}}
- {{include file="field_select.tpl"}}
- {{/if}}
diff --git a/view/tpl/smarty3/field_acheckbox.tpl b/view/tpl/smarty3/field_acheckbox.tpl
deleted file mode 100644
index da0d44ea6..000000000
--- a/view/tpl/smarty3/field_acheckbox.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field acheckbox'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <input type="checkbox" class="abook-edit-them" name='{{$field.0}}' id='them_id_{{$field.0}}' value="1" disabled="disabled" {{if $field.2}}checked="checked"{{/if}} />
- <input type="checkbox" class="abook-edit-me" name='{{$field.0}}' id='me_id_{{$field.0}}' value="{{$field.4}}" {{if $field.3}}checked="checked"{{/if}} {{if $field.5}} disabled="disabled" {{/if}}/>
- <span class='field_abook_help'>{{$field.6}}</span>
- </div>
diff --git a/view/tpl/smarty3/field_checkbox.tpl b/view/tpl/smarty3/field_checkbox.tpl
deleted file mode 100644
index a4ec3dbba..000000000
--- a/view/tpl/smarty3/field_checkbox.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field checkbox'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="1" {{if $field.2}}checked="checked"{{/if}}>
- <span class='field_help'>{{$field.3}}</span>
- </div>
diff --git a/view/tpl/smarty3/field_combobox.tpl b/view/tpl/smarty3/field_combobox.tpl
deleted file mode 100644
index d3cc75635..000000000
--- a/view/tpl/smarty3/field_combobox.tpl
+++ /dev/null
@@ -1,23 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <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
- <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}}
- </datalist> *}}
-
- <input id="id_{{$field.0}}" type="text" value="{{$field.2}}">
- <select id="select_{{$field.0}}" onChange="$('#id_{{$field.0}}').val($(this).val())">
- <option value="">{{$field.5}}</option>
- {{foreach $field.4 as $opt=>$val}}<option value="{{$val}}">{{$val}}</option>{{/foreach}}
- </select>
-
- <span class='field_help'>{{$field.3}}</span>
- </div>
-
diff --git a/view/tpl/smarty3/field_custom.tpl b/view/tpl/smarty3/field_custom.tpl
deleted file mode 100644
index c2d73275c..000000000
--- a/view/tpl/smarty3/field_custom.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field custom'>
- <label for='{{$field.0}}'>{{$field.1}}</label>
- {{$field.2}}
- <span class='field_help'>{{$field.3}}</span>
- </div>
diff --git a/view/tpl/smarty3/field_input.tpl b/view/tpl/smarty3/field_input.tpl
deleted file mode 100644
index 696ebbad7..000000000
--- a/view/tpl/smarty3/field_input.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field input'>
- <label for='id_{{$field.0}}' id='label_{{$field.0}}'>{{$field.1}}</label>
- <input name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}">
- <span id='help_{{$field.0}}' class='field_help'>{{$field.3}}</span>
- <div id='end_{{$field.0}}' class='field_end'></div>
- </div>
diff --git a/view/tpl/smarty3/field_intcheckbox.tpl b/view/tpl/smarty3/field_intcheckbox.tpl
deleted file mode 100644
index 54967feab..000000000
--- a/view/tpl/smarty3/field_intcheckbox.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field checkbox'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.3}}" {{if $field.2}}checked="true"{{/if}}>
- <span class='field_help'>{{$field.4}}</span>
- </div>
diff --git a/view/tpl/smarty3/field_openid.tpl b/view/tpl/smarty3/field_openid.tpl
deleted file mode 100644
index b00ddabcd..000000000
--- a/view/tpl/smarty3/field_openid.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field input openid'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <input name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}">
- <span class='field_help'>{{$field.3}}</span>
- </div>
diff --git a/view/tpl/smarty3/field_password.tpl b/view/tpl/smarty3/field_password.tpl
deleted file mode 100644
index 5889d2e9c..000000000
--- a/view/tpl/smarty3/field_password.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field password'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <input type='password' name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}">
- <span class='field_help'>{{$field.3}}</span>
- </div>
diff --git a/view/tpl/smarty3/field_radio.tpl b/view/tpl/smarty3/field_radio.tpl
deleted file mode 100644
index 1d7b56ec6..000000000
--- a/view/tpl/smarty3/field_radio.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field radio'>
- <label for='id_{{$field.0}}_{{$field.2}}'>{{$field.1}}</label>
- <input type="radio" name='{{$field.0}}' id='id_{{$field.0}}_{{$field.2}}' value="{{$field.2}}" {{if $field.4}}checked="true"{{/if}}>
- <span class='field_help'>{{$field.3}}</span>
- </div>
diff --git a/view/tpl/smarty3/field_richtext.tpl b/view/tpl/smarty3/field_richtext.tpl
deleted file mode 100644
index 38992f0f8..000000000
--- a/view/tpl/smarty3/field_richtext.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field richtext'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <textarea name='{{$field.0}}' id='id_{{$field.0}}' class="fieldRichtext">{{$field.2}}</textarea>
- <span class='field_help'>{{$field.3}}</span>
- </div>
diff --git a/view/tpl/smarty3/field_select.tpl b/view/tpl/smarty3/field_select.tpl
deleted file mode 100644
index 2a4117a70..000000000
--- a/view/tpl/smarty3/field_select.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field select'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <select name='{{$field.0}}' id='id_{{$field.0}}'>
- {{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
- </select>
- <span class='field_help'>{{$field.3}}</span>
- </div>
diff --git a/view/tpl/smarty3/field_select_raw.tpl b/view/tpl/smarty3/field_select_raw.tpl
deleted file mode 100644
index 50e34985f..000000000
--- a/view/tpl/smarty3/field_select_raw.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field select'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <select name='{{$field.0}}' id='id_{{$field.0}}'>
- {{$field.4}}
- </select>
- <span class='field_help'>{{$field.3}}</span>
- </div>
diff --git a/view/tpl/smarty3/field_textarea.tpl b/view/tpl/smarty3/field_textarea.tpl
deleted file mode 100644
index 5d71999d4..000000000
--- a/view/tpl/smarty3/field_textarea.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- <div class='field textarea'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <textarea name='{{$field.0}}' id='id_{{$field.0}}'>{{$field.2}}</textarea>
- <span class='field_help'>{{$field.3}}</span>
- </div>
diff --git a/view/tpl/smarty3/field_themeselect.tpl b/view/tpl/smarty3/field_themeselect.tpl
deleted file mode 100644
index be24ff2c6..000000000
--- a/view/tpl/smarty3/field_themeselect.tpl
+++ /dev/null
@@ -1,14 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
- <script>$(function(){ previewTheme($("#id_{{$field.0}}")[0]); });</script>
- <div class='field select'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <select name='{{$field.0}}' id='id_{{$field.0}}' {{if $field.5=='preview'}}onchange="previewTheme(this);"{{/if}} >
- {{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
- </select>
- <span class='field_help'>{{$field.3}}</span>
- <div id="theme-preview"></div>
- </div>
diff --git a/view/tpl/smarty3/field_yesno.tpl b/view/tpl/smarty3/field_yesno.tpl
deleted file mode 100644
index e982c2f05..000000000
--- a/view/tpl/smarty3/field_yesno.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
- <div class='field yesno'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <div class='onoff' id="id_{{$field.0}}_onoff">
- <input type="hidden" name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}">
- <a href="#" class='off'>
- {{if $field.4}}{{$field.4.0}}{{else}}OFF{{/if}}
- </a>
- <a href="#" class='on'>
- {{if $field.4}}{{$field.4.1}}{{else}}ON{{/if}}
- </a>
- </div>
- <span class='field_help'>{{$field.3}}</span>
- </div>
diff --git a/view/tpl/smarty3/fileas_widget.tpl b/view/tpl/smarty3/fileas_widget.tpl
deleted file mode 100644
index f03f169a2..000000000
--- a/view/tpl/smarty3/fileas_widget.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="fileas-sidebar" class="widget">
- <h3>{{$title}}</h3>
- <div id="nets-desc">{{$desc}}</div>
-
- <ul class="fileas-ul">
- <li class="tool"><a href="{{$base}}" class="fileas-link fileas-all{{if $sel_all}} fileas-selected{{/if}}">{{$all}}</a></li>
- {{foreach $terms as $term}}
- <li class="tool"><a href="{{$base}}?f=&file={{$term.name}}" class="fileas-link{{if $term.selected}} fileas-selected{{/if}}">{{$term.name}}</a></li>
- {{/foreach}}
- </ul>
-
-</div>
diff --git a/view/tpl/smarty3/filebrowser.tpl b/view/tpl/smarty3/filebrowser.tpl
deleted file mode 100644
index b408ca687..000000000
--- a/view/tpl/smarty3/filebrowser.tpl
+++ /dev/null
@@ -1,89 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<!DOCTYPE html>
-<html>
- <head>
- <script type="text/javascript" src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_popup.js"></script>
- <style>
- .panel_wrapper div.current{.overflow: auto; height: auto!important; }
- .filebrowser.path { font-family: fixed; font-size: 10px; background-color: #f0f0ee; height:auto; overflow:auto;}
- .filebrowser.path a { border-left: 1px solid #C0C0AA; background-color: #E0E0DD; display: block; float:left; padding: 0.3em 1em;}
- .filebrowser ul{ list-style-type: none; padding:0px; }
- .filebrowser.folders a { display: block; padding: 0.3em }
- .filebrowser.folders a:hover { background-color: #f0f0ee; }
- .filebrowser.files.image { overflow: auto; height: auto; }
- .filebrowser.files.image img { height:50px;}
- .filebrowser.files.image li { display: block; padding: 5px; float: left; }
- .filebrowser.files.image span { display: none;}
- .filebrowser.files.file img { height:16px; vertical-align: bottom;}
- .filebrowser.files a { display: block; padding: 0.3em}
- .filebrowser.files a:hover { background-color: #f0f0ee; }
- .filebrowser a { text-decoration: none; }
- </style>
- <script>
- var FileBrowserDialogue = {
- init : function () {
- // Here goes your code for setting your custom things onLoad.
- },
- mySubmit : function (URL) {
- //var URL = document.my_form.my_field.value;
- var win = tinyMCEPopup.getWindowArg("window");
-
- // insert information now
- win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = URL;
-
- // are we an image browser
- if (typeof(win.ImageDialog) != "undefined") {
- // we are, so update image dimensions...
- if (win.ImageDialog.getImageData)
- win.ImageDialog.getImageData();
-
- // ... and preview if necessary
- if (win.ImageDialog.showPreviewImage)
- win.ImageDialog.showPreviewImage(URL);
- }
-
- // close popup window
- tinyMCEPopup.close();
- }
- }
-
- tinyMCEPopup.onInit.add(FileBrowserDialogue.init, FileBrowserDialogue);
- </script>
- </head>
- <body>
-
- <div class="tabs">
- <ul >
- <li class="current"><span>FileBrowser</span></li>
- </ul>
- </div>
- <div class="panel_wrapper">
-
- <div id="general_panel" class="panel current">
- <div class="filebrowser path">
- {{foreach $path as $p}}<a href="{{$p.0}}">{{$p.1}}</a>{{/foreach}}
- </div>
- <div class="filebrowser folders">
- <ul>
- {{foreach $folders as $f}}<li><a href="{{$f.0}}/">{{$f.1}}</a></li>{{/foreach}}
- </ul>
- </div>
- <div class="filebrowser files {{$type}}">
- <ul>
- {{foreach $files as $f}}
- <li><a href="#" onclick="FileBrowserDialogue.mySubmit('{{$f.0}}'); return false;"><img src="{{$f.2}}"><span>{{$f.1}}</span></a></li>
- {{/foreach}}
- </ul>
- </div>
- </div>
- </div>
- <div class="mceActionPanel">
- <input type="button" id="cancel" name="cancel" value="{{$cancel}}" onclick="tinyMCEPopup.close();" />
- </div>
- </body>
-
-</html>
diff --git a/view/tpl/smarty3/filer_dialog.tpl b/view/tpl/smarty3/filer_dialog.tpl
deleted file mode 100644
index f17a06766..000000000
--- a/view/tpl/smarty3/filer_dialog.tpl
+++ /dev/null
@@ -1,9 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{include file="field_combobox.tpl"}}
-<div class="settings-submit-wrapper" >
- <input id="filer_save" type="button" class="settings-submit" value="{{$submit}}" />
-</div>
diff --git a/view/tpl/smarty3/follow.tpl b/view/tpl/smarty3/follow.tpl
deleted file mode 100644
index 2c3b451b3..000000000
--- a/view/tpl/smarty3/follow.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="follow-sidebar" class="widget">
- <h3>{{$connect}}</h3>
- <div id="connect-desc">{{$desc}}</div>
- <form action="follow" method="post" />
- <input id="side-follow-url" type="text" name="url" size="24" title="{{$hint}}" /><input id="side-follow-submit" type="submit" name="submit" value="{{$follow}}" />
- </form>
-</div>
-
diff --git a/view/tpl/smarty3/follow_slap.tpl b/view/tpl/smarty3/follow_slap.tpl
deleted file mode 100644
index b31b4ef95..000000000
--- a/view/tpl/smarty3/follow_slap.tpl
+++ /dev/null
@@ -1,30 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
- <entry>
- <author>
- <name>{{$name}}</name>
- <uri>{{$profile_page}}</uri>
- <link rel="photo" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}" />
- <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}" />
- </author>
-
- <id>{{$item_id}}</id>
- <title>{{$title}}</title>
- <published>{{$published}}</published>
- <content type="{{$type}}" >{{$content}}</content>
-
- <as:actor>
- <as:obj_type>http://activitystrea.ms/schema/1.0/person</as:obj_type>
- <id>{{$profile_page}}</id>
- <title></title>
- <link rel="avatar" type="image/jpeg" media:width="175" media:height="175" href="{{$photo}}"/>
- <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}"/>
- <poco:preferredUsername>{{$nick}}</poco:preferredUsername>
- <poco:displayName>{{$name}}</poco:displayName>
- </as:actor>
- <as:verb>{{$verb}}</as:verb>
- {{$ostat_follow}}
- </entry>
diff --git a/view/tpl/smarty3/generic_links_widget.tpl b/view/tpl/smarty3/generic_links_widget.tpl
deleted file mode 100644
index c12273c7b..000000000
--- a/view/tpl/smarty3/generic_links_widget.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="widget{{if $class}} {{$class}}{{/if}}">
- {{if $title}}<h3>{{$title}}</h3>{{/if}}
- {{if $desc}}<div class="desc">{{$desc}}</div>{{/if}}
-
- <ul>
- {{foreach $items as $item}}
- <li class="tool"><a href="{{$item.url}}" class="{{if $item.selected}}selected{{/if}}">{{$item.label}}</a></li>
- {{/foreach}}
- </ul>
-
-</div>
diff --git a/view/tpl/smarty3/group_drop.tpl b/view/tpl/smarty3/group_drop.tpl
deleted file mode 100644
index 84d380e30..000000000
--- a/view/tpl/smarty3/group_drop.tpl
+++ /dev/null
@@ -1,14 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="group-delete-wrapper button" id="group-delete-wrapper-{{$id}}" >
- <a href="group/drop/{{$id}}?t={{$form_security_token}}"
- onclick="return confirmDelete();"
- id="group-delete-icon-{{$id}}"
- class="icon drophide group-delete-icon"
- onmouseover="imgbright(this);"
- onmouseout="imgdull(this);" ></a>
-</div>
-<div class="group-delete-end"></div>
diff --git a/view/tpl/smarty3/group_edit.tpl b/view/tpl/smarty3/group_edit.tpl
deleted file mode 100644
index b7b14eba3..000000000
--- a/view/tpl/smarty3/group_edit.tpl
+++ /dev/null
@@ -1,28 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h2>{{$title}}</h2>
-
-
-<div id="group-edit-wrapper" >
- <form action="group/{{$gid}}" id="group-edit-form" method="post" >
- <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
- {{include file="field_input.tpl" field=$gname}}
- {{if $drop}}{{$drop}}{{/if}}
- <div id="group-edit-submit-wrapper" >
- <input type="submit" name="submit" value="{{$submit}}" >
- </div>
- <div id="group-edit-select-end" ></div>
- </form>
-</div>
-
-
-{{if $groupeditor}}
- <div id="group-update-wrapper">
- {{include file="groupeditor.tpl"}}
- </div>
-{{/if}}
-{{if $desc}}<div id="group-edit-desc">{{$desc}}</div>{{/if}}
diff --git a/view/tpl/smarty3/group_selection.tpl b/view/tpl/smarty3/group_selection.tpl
deleted file mode 100644
index f16bb5159..000000000
--- a/view/tpl/smarty3/group_selection.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="field custom">
-<label for="group-selection" id="group-selection-lbl">{{$label}}</label>
-<select name="group-selection" id="group-selection" >
-{{foreach $groups as $group}}
-<option value="{{$group.id}}" {{if $group.selected}}selected="selected"{{/if}} >{{$group.name}}</option>
-{{/foreach}}
-</select>
-</div>
diff --git a/view/tpl/smarty3/group_side.tpl b/view/tpl/smarty3/group_side.tpl
deleted file mode 100644
index b6532fb6d..000000000
--- a/view/tpl/smarty3/group_side.tpl
+++ /dev/null
@@ -1,38 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="widget" id="group-sidebar">
-<h3>{{$title}}</h3>
-
-<div id="sidebar-group-list">
- <ul id="sidebar-group-ul">
- {{foreach $groups as $group}}
- <li class="sidebar-group-li">
- {{if $group.cid}}
- <input type="checkbox"
- class="{{if $group.selected}}ticked{{else}}unticked {{/if}} action"
- onclick="contactgroupChangeMember('{{$group.id}}','{{$group.cid}}');return true;"
- {{if $group.ismember}}checked="checked"{{/if}}
- />
- {{/if}}
- {{if $group.edit}}
- <a class="groupsideedit" href="{{$group.edit.href}}" title="{{$edittext}}"><span id="edit-sidebar-group-element-{{$group.id}}" class="group-edit-icon iconspacer small-pencil"></span></a>
- {{/if}}
- <a id="sidebar-group-element-{{$group.id}}" class="sidebar-group-element {{if $group.selected}}group-selected{{/if}}" href="{{$group.href}}">{{$group.text}}</a>
- </li>
- {{/foreach}}
- </ul>
- </div>
- <div id="sidebar-new-group">
- <a href="group/new">{{$createtext}}</a>
- </div>
- {{if $ungrouped}}
- <div id="sidebar-ungrouped">
- <a href="nogroup">{{$ungrouped}}</a>
- </div>
- {{/if}}
-</div>
-
-
diff --git a/view/tpl/smarty3/groupeditor.tpl b/view/tpl/smarty3/groupeditor.tpl
deleted file mode 100644
index 4fad30d5a..000000000
--- a/view/tpl/smarty3/groupeditor.tpl
+++ /dev/null
@@ -1,21 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="group">
-<h3>{{$groupeditor.label_members}}</h3>
-<div id="group-members" class="contact_list">
-{{foreach $groupeditor.members as $c}} {{$c}} {{/foreach}}
-</div>
-<div id="group-members-end"></div>
-<hr id="group-separator" />
-</div>
-
-<div id="contacts">
-<h3>{{$groupeditor.label_contacts}}</h3>
-<div id="group-all-contacts" class="contact_list">
-{{foreach $groupeditor.contacts as $m}} {{$m}} {{/foreach}}
-</div>
-<div id="group-all-contacts-end"></div>
-</div>
diff --git a/view/tpl/smarty3/head.tpl b/view/tpl/smarty3/head.tpl
deleted file mode 100644
index 314d159d6..000000000
--- a/view/tpl/smarty3/head.tpl
+++ /dev/null
@@ -1,35 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<base href="{{$baseurl}}/" />
-<meta name="generator" content="{{$generator}}" />
-
-<!--[if IE]>
-<script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-<![endif]-->
-
-{{$head_css}}
-
-{{$js_strings}}
-
-{{$head_js}}
-
-<link rel="shortcut icon" href="{{$baseurl}}/images/red.png" />
-<link rel="search"
- href="{{$baseurl}}/opensearch"
- type="application/opensearchdescription+xml"
- title="Search in Friendica" />
-
-
-<script>
-
- var updateInterval = {{$update_interval}};
- var localUser = {{if $local_user}}{{$local_user}}{{else}}false{{/if}};
-
-</script>
-
-
-
diff --git a/view/tpl/smarty3/hide_comments.tpl b/view/tpl/smarty3/hide_comments.tpl
deleted file mode 100644
index 50a354122..000000000
--- a/view/tpl/smarty3/hide_comments.tpl
+++ /dev/null
@@ -1,9 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="hide-comments-outer">
-<span id="hide-comments-total-{{$id}}" class="hide-comments-total">{{$num_comments}}</span> <span id="hide-comments-{{$id}}" class="hide-comments fakelink" onclick="showHideComments({{$id}});">{{$hide_text}}</span>
-</div>
-<div id="collapsed-comments-{{$id}}" class="collapsed-comments" style="display: {{$display}};">
diff --git a/view/tpl/smarty3/install.tpl b/view/tpl/smarty3/install.tpl
deleted file mode 100644
index cfb90e61f..000000000
--- a/view/tpl/smarty3/install.tpl
+++ /dev/null
@@ -1,15 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<h1>{{$title}}</h1>
-<h2>{{$pass}}</h2>
-
-
-{{if $status}}
-<h3 class="error-message">{{$status}}</h3>
-{{/if}}
-
-{{$text}}
diff --git a/view/tpl/smarty3/install_checks.tpl b/view/tpl/smarty3/install_checks.tpl
deleted file mode 100644
index 9d5ce0eeb..000000000
--- a/view/tpl/smarty3/install_checks.tpl
+++ /dev/null
@@ -1,29 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-<h2>{{$pass}}</h2>
-<form action="{{$baseurl}}/index.php?q=setup" method="post">
-<table>
-{{foreach $checks as $check}}
- <tr><td>{{$check.title}} </td><td><span class="icon s22 {{if $check.status}}on{{else}}{{if $check.required}}off{{else}}yellow{{/if}}{{/if}}"></td><td>{{if $check.required}}(required){{/if}}</td></tr>
- {{if $check.help}}
- <tr><td colspan="3"><blockquote>{{$check.help}}</blockquote></td></tr>
- {{/if}}
-{{/foreach}}
-</table>
-
-{{if $phpath}}
- <input type="hidden" name="phpath" value="{{$phpath}}">
-{{/if}}
-
-{{if $passed}}
- <input type="hidden" name="pass" value="2">
- <input type="submit" value="{{$next}}">
-{{else}}
- <input type="hidden" name="pass" value="1">
- <input type="submit" value="{{$reload}}">
-{{/if}}
-</form>
diff --git a/view/tpl/smarty3/install_db.tpl b/view/tpl/smarty3/install_db.tpl
deleted file mode 100644
index fe8aee85b..000000000
--- a/view/tpl/smarty3/install_db.tpl
+++ /dev/null
@@ -1,35 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<h1>{{$title}}</h1>
-<h2>{{$pass}}</h2>
-
-
-<p>
-{{$info_01}}<br>
-{{$info_02}}<br>
-{{$info_03}}
-</p>
-
-{{if $status}}
-<h3 class="error-message">{{$status}}</h3>
-{{/if}}
-
-<form id="install-form" action="{{$baseurl}}/setup" method="post">
-
-<input type="hidden" name="phpath" value="{{$phpath}}" />
-<input type="hidden" name="pass" value="3" />
-
-{{include file="field_input.tpl" field=$dbhost}}
-{{include file="field_input.tpl" field=$dbuser}}
-{{include file="field_password.tpl" field=$dbpass}}
-{{include file="field_input.tpl" field=$dbdata}}
-
-
-<input id="install-submit" type="submit" name="submit" value="{{$submit}}" />
-
-</form>
-
diff --git a/view/tpl/smarty3/install_settings.tpl b/view/tpl/smarty3/install_settings.tpl
deleted file mode 100644
index f91122737..000000000
--- a/view/tpl/smarty3/install_settings.tpl
+++ /dev/null
@@ -1,32 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<h1>{{$title}}</h1>
-<h2>{{$pass}}</h2>
-
-
-{{if $status}}
-<h3 class="error-message">{{$status}}</h3>
-{{/if}}
-
-<form id="install-form" action="{{$baseurl}}/setup" method="post">
-
-<input type="hidden" name="phpath" value="{{$phpath}}" />
-<input type="hidden" name="dbhost" value="{{$dbhost}}" />
-<input type="hidden" name="dbuser" value="{{$dbuser}}" />
-<input type="hidden" name="dbpass" value="{{$dbpass}}" />
-<input type="hidden" name="dbdata" value="{{$dbdata}}" />
-<input type="hidden" name="pass" value="4" />
-
-{{include file="field_input.tpl" field=$adminmail}}
-{{include file="field_input.tpl" field=$siteurl}}
-
-{{$timezone}}
-
-<input id="install-submit" type="submit" name="submit" value="{{$submit}}" />
-
-</form>
-
diff --git a/view/tpl/smarty3/intros.tpl b/view/tpl/smarty3/intros.tpl
deleted file mode 100644
index 4fd27d370..000000000
--- a/view/tpl/smarty3/intros.tpl
+++ /dev/null
@@ -1,23 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<div class="intro-wrapper" id="intro-{{$contact_id}}" >
-
-<div class="intro-fullname" id="intro-fullname-{{$contact_id}}" >{{$fullname}}</div>
-<a class="intro-url-link" id="intro-url-link-{{$contact_id}}" href="{{$url}}" ><img id="photo-{{$contact_id}}" class="intro-photo" src="{{$photo}}" width="175" height=175" title="{{$fullname}}" alt="{{$fullname}}" /></a>
-<div class="intro-wrapper-end" id="intro-wrapper-end-{{$contact_id}}"></div>
-<form class="intro-form" action="intro" method="post">
-<input class="intro-submit-ignore" type="submit" name="submit" value="{{$ignore}}" />
-<input class="intro-submit-block" type="submit" name="submit" value="{{$block}}" />
-<input class="intro-submit-discard" type="submit" name="submit" value="{{$discard}}" />
-{{include file="field_checkbox.tpl" field=$hidden}}
-{{* {{include file="field_checkbox.tpl" field=$activity}} *}}
-<input type="hidden" name="contact_id" value="{{$contact_id}}" >
-
-<input class="intro-submit-approve" type="submit" name="submit" value="{{$approve}}" />
-</form>
-</div>
-<div class="intro-end"></div>
diff --git a/view/tpl/smarty3/intros_header.tpl b/view/tpl/smarty3/intros_header.tpl
deleted file mode 100644
index 2dbf065d7..000000000
--- a/view/tpl/smarty3/intros_header.tpl
+++ /dev/null
@@ -1,6 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$title}}</h3>
diff --git a/view/tpl/smarty3/invite.tpl b/view/tpl/smarty3/invite.tpl
deleted file mode 100644
index e699f1f0e..000000000
--- a/view/tpl/smarty3/invite.tpl
+++ /dev/null
@@ -1,35 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<form action="invite" method="post" id="invite-form" >
-
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
-<div id="invite-wrapper">
-
-<h3>{{$invite}}</h3>
-
-<div id="invite-recipient-text">
-{{$addr_text}}
-</div>
-
-<div id="invite-recipient-textarea">
-<textarea id="invite-recipients" name="recipients" rows="8" cols="32" ></textarea>
-</div>
-
-<div id="invite-message-text">
-{{$msg_text}}
-</div>
-
-<div id="invite-message-textarea">
-<textarea id="invite-message" name="message" rows="10" cols="72" >{{$default_message}}</textarea>
-</div>
-
-<div id="invite-submit-wrapper">
-<input type="submit" name="submit" value="{{$submit}}" />
-</div>
-
-</div>
-</form>
diff --git a/view/tpl/smarty3/jot-header.tpl b/view/tpl/smarty3/jot-header.tpl
deleted file mode 100644
index c20c7c10d..000000000
--- a/view/tpl/smarty3/jot-header.tpl
+++ /dev/null
@@ -1,323 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<script language="javascript" type="text/javascript">
-
-var editor=false;
-var textlen = 0;
-var plaintext = '{{$editselect}}';
-
-function initEditor(cb){
- if (editor==false){
- $("#profile-jot-text-loading").show();
- if(plaintext == 'none') {
- $("#profile-jot-text-loading").hide();
- $("#profile-jot-text").css({ 'height': 200, 'color': '#000' });
- $("#profile-jot-text").contact_autocomplete(baseurl+"/acl");
- editor = true;
- $("a#jot-perms-icon").fancybox({
- 'transitionIn' : 'elastic',
- 'transitionOut' : 'elastic'
- });
- $(".jothidden").show();
- if (typeof cb!="undefined") cb();
- return;
- }
- tinyMCE.init({
- theme : "advanced",
- mode : "specific_textareas",
- editor_selector: {{$editselect}},
- auto_focus: "profile-jot-text",
- plugins : "bbcode,paste,autoresize, inlinepopups",
- theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : "",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "center",
- theme_advanced_blockformats : "blockquote,code",
- gecko_spellcheck : true,
- paste_text_sticky : true,
- entity_encoding : "raw",
- add_unload_trigger : false,
- remove_linebreaks : false,
- force_p_newlines : false,
- force_br_newlines : true,
- forced_root_block : '',
- convert_urls: false,
- content_css: "{{$baseurl}}/view/custom_tinymce.css",
- theme_advanced_path : false,
- file_browser_callback : "fcFileBrowser",
- setup : function(ed) {
- cPopup = null;
- ed.onKeyDown.add(function(ed,e) {
- if(cPopup !== null)
- cPopup.onkey(e);
- });
-
- ed.onKeyUp.add(function(ed, e) {
- var txt = tinyMCE.activeEditor.getContent();
- match = txt.match(/@([^ \n]+)$/);
- if(match!==null) {
- if(cPopup === null) {
- cPopup = new ACPopup(this,baseurl+"/acl");
- }
- if(cPopup.ready && match[1]!==cPopup.searchText) cPopup.search(match[1]);
- if(! cPopup.ready) cPopup = null;
- }
- else {
- if(cPopup !== null) { cPopup.close(); cPopup = null; }
- }
-
- textlen = txt.length;
- if(textlen != 0 && $('#jot-perms-icon').is('.unlock')) {
- $('#profile-jot-desc').html(ispublic);
- }
- else {
- $('#profile-jot-desc').html('&nbsp;');
- }
-
- //Character count
-
- if(textlen <= 140) {
- $('#character-counter').removeClass('red');
- $('#character-counter').removeClass('orange');
- $('#character-counter').addClass('grey');
- }
- if((textlen > 140) && (textlen <= 420)) {
- $('#character-counter').removeClass('grey');
- $('#character-counter').removeClass('red');
- $('#character-counter').addClass('orange');
- }
- if(textlen > 420) {
- $('#character-counter').removeClass('grey');
- $('#character-counter').removeClass('orange');
- $('#character-counter').addClass('red');
- }
- $('#character-counter').text(textlen);
- });
-
- ed.onInit.add(function(ed) {
- ed.pasteAsPlainText = true;
- $("#profile-jot-text-loading").hide();
- $(".jothidden").show();
- if (typeof cb!="undefined") cb();
- });
-
- }
- });
-
- editor = true;
- // setup acl popup
- $("a#jot-perms-icon").fancybox({
- 'transitionIn' : 'elastic',
- 'transitionOut' : 'elastic'
- });
- } else {
- if (typeof cb!="undefined") cb();
- }
-}
-
-function enableOnUser(){
- if (editor) return;
- $(this).val("");
- initEditor();
-}
-
-</script>
-<script type="text/javascript" src="{{$baseurl}}/js/ajaxupload.js" ></script>
-<script>
- var ispublic = '{{$ispublic}}';
-
- $(document).ready(function() {
-
- /* enable tinymce on focus and click */
- $("#profile-jot-text").focus(enableOnUser);
- $("#profile-jot-text").click(enableOnUser);
-
- var uploader = new window.AjaxUpload(
- 'wall-image-upload',
- { action: '{{$baseurl}}/wall_upload/{{$nickname}}',
- name: 'userfile',
- onSubmit: function(file,ext) { $('#profile-rotator').show(); },
- onComplete: function(file,response) {
- addeditortext(response);
- $('#profile-rotator').hide();
- }
- }
- );
- var file_uploader = new window.AjaxUpload(
- 'wall-file-upload',
- { action: '{{$baseurl}}/wall_attach/{{$nickname}}',
- name: 'userfile',
- onSubmit: function(file,ext) { $('#profile-rotator').show(); },
- onComplete: function(file,response) {
- addeditortext(response);
- $('#profile-rotator').hide();
- }
- }
- );
-
-
- });
-
- function deleteCheckedItems() {
- var checkedstr = '';
-
- $('.item-select').each( function() {
- if($(this).is(':checked')) {
- if(checkedstr.length != 0) {
- checkedstr = checkedstr + ',' + $(this).val();
- }
- else {
- checkedstr = $(this).val();
- }
- }
- });
- $.post('item', { dropitems: checkedstr }, function(data) {
- window.location.reload();
- });
- }
-
- function jotGetLink() {
- reply = prompt("{{$linkurl}}");
- if(reply && reply.length) {
- reply = bin2hex(reply);
- $('#profile-rotator').show();
- $.get('{{$baseurl}}/parse_url?binurl=' + reply, function(data) {
- addeditortext(data);
- $('#profile-rotator').hide();
- });
- }
- }
-
- function jotVideoURL() {
- reply = prompt("{{$vidurl}}");
- if(reply && reply.length) {
- addeditortext('[video]' + reply + '[/video]');
- }
- }
-
- function jotAudioURL() {
- reply = prompt("{{$audurl}}");
- if(reply && reply.length) {
- addeditortext('[audio]' + reply + '[/audio]');
- }
- }
-
-
- function jotGetLocation() {
- reply = prompt("{{$whereareu}}", $('#jot-location').val());
- if(reply && reply.length) {
- $('#jot-location').val(reply);
- }
- }
-
- function jotShare(id) {
- if ($('#jot-popup').length != 0) $('#jot-popup').show();
-
- $('#like-rotator-' + id).show();
- $.get('{{$baseurl}}/share/' + id, function(data) {
- if (!editor) $("#profile-jot-text").val("");
- initEditor(function(){
- addeditortext(data);
- $('#like-rotator-' + id).hide();
- $(window).scrollTop(0);
- });
-
- });
- }
-
- function linkdropper(event) {
- var linkFound = event.dataTransfer.types.contains("text/uri-list");
- if(linkFound)
- event.preventDefault();
- }
-
- function linkdrop(event) {
- var reply = event.dataTransfer.getData("text/uri-list");
- event.target.textContent = reply;
- event.preventDefault();
- if(reply && reply.length) {
- reply = bin2hex(reply);
- $('#profile-rotator').show();
- $.get('{{$baseurl}}/parse_url?binurl=' + reply, function(data) {
- if (!editor) $("#profile-jot-text").val("");
- initEditor(function(){
- addeditortext(data);
- $('#profile-rotator').hide();
- });
- });
- }
- }
-
- function itemTag(id) {
- reply = prompt("{{$term}}");
- if(reply && reply.length) {
- reply = reply.replace('#','');
- if(reply.length) {
-
- commentBusy = true;
- $('body').css('cursor', 'wait');
-
- $.get('{{$baseurl}}/tagger/' + id + '?term=' + reply);
- if(timer) clearTimeout(timer);
- timer = setTimeout(NavUpdate,3000);
- liking = 1;
- }
- }
- }
-
- function itemFiler(id) {
-
- var bordercolor = $("input").css("border-color");
-
- $.get('filer/', function(data){
- $.fancybox(data);
- $("#id_term").keypress(function(){
- $(this).css("border-color",bordercolor);
- })
- $("#select_term").change(function(){
- $("#id_term").css("border-color",bordercolor);
- })
-
- $("#filer_save").click(function(e){
- e.preventDefault();
- reply = $("#id_term").val();
- if(reply && reply.length) {
- commentBusy = true;
- $('body').css('cursor', 'wait');
- $.get('{{$baseurl}}/filer/' + id + '?term=' + reply, NavUpdate);
-// if(timer) clearTimeout(timer);
-// timer = setTimeout(NavUpdate,3000);
- liking = 1;
- $.fancybox.close();
- } else {
- $("#id_term").css("border-color","#FF0000");
- }
- return false;
- });
- });
-
- }
-
- function jotClearLocation() {
- $('#jot-coord').val('');
- $('#profile-nolocation-wrapper').hide();
- }
-
- function addeditortext(data) {
- if(plaintext == 'none') {
- var currentText = $("#profile-jot-text").val();
- $("#profile-jot-text").val(currentText + data);
- }
- else
- tinyMCE.execCommand('mceInsertRawHTML',false,data);
- }
-
- {{$geotag}}
-
-</script>
-
diff --git a/view/tpl/smarty3/jot.tpl b/view/tpl/smarty3/jot.tpl
deleted file mode 100644
index 87e00413c..000000000
--- a/view/tpl/smarty3/jot.tpl
+++ /dev/null
@@ -1,91 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<div id="profile-jot-wrapper" >
- <div id="profile-jot-banner-wrapper">
- <div id="profile-jot-desc" >&nbsp;</div>
- <div id="character-counter" class="grey"></div>
- </div>
- <div id="profile-jot-banner-end"></div>
-
- <form id="profile-jot-form" action="{{$action}}" method="post" >
- <input type="hidden" name="type" value="{{$ptyp}}" />
- <input type="hidden" name="profile_uid" value="{{$profile_uid}}" />
- <input type="hidden" name="return" value="{{$return_path}}" />
- <input type="hidden" name="location" id="jot-location" value="{{$defloc}}" />
- <input type="hidden" name="coord" id="jot-coord" value="" />
- <input type="hidden" name="post_id" value="{{$post_id}}" />
- <input type="hidden" name="preview" id="jot-preview" value="0" />
- <div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="{{$placeholdertitle}}" value="{{$title}}" class="jothidden" style="display:none"></div>
- {{if $catsenabled}}
- <div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" class="jothidden" style="display:none" /></div>
- {{/if}}
- <div id="jot-text-wrap">
- <img id="profile-jot-text-loading" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />
- <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{if $content}}{{$content}}{{else}}{{$share}}{{/if}}</textarea>
- </div>
-
-<div id="profile-jot-submit-wrapper" class="jothidden">
- <input type="submit" id="profile-jot-submit" name="submit" value="{{$share}}" />
-
- <div id="profile-upload-wrapper" style="display: {{$visitor}};" >
- <div id="wall-image-upload-div" ><a href="#" onclick="return false;" id="wall-image-upload" class="icon camera" title="{{$upload}}"></a></div>
- </div>
- <div id="profile-attach-wrapper" style="display: {{$visitor}};" >
- <div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="icon attach" title="{{$attach}}"></a></div>
- </div>
-
- <div id="profile-link-wrapper" style="display: {{$visitor}};" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
- <a id="profile-link" class="icon link" title="{{$weblink}}" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
- </div>
- <div id="profile-video-wrapper" style="display: {{$visitor}};" >
- <a id="profile-video" class="icon video" title="{{$video}}" onclick="jotVideoURL();return false;"></a>
- </div>
- <div id="profile-audio-wrapper" style="display: {{$visitor}};" >
- <a id="profile-audio" class="icon audio" title="{{$audio}}" onclick="jotAudioURL();return false;"></a>
- </div>
- <div id="profile-location-wrapper" style="display: {{$visitor}};" >
- <a id="profile-location" class="icon globe" title="{{$setloc}}" onclick="jotGetLocation();return false;"></a>
- </div>
- <div id="profile-nolocation-wrapper" style="display: none;" >
- <a id="profile-nolocation" class="icon noglobe" title="{{$noloc}}" onclick="jotClearLocation();return false;"></a>
- </div>
-
- <div id="profile-jot-perms" class="profile-jot-perms" style="display: {{$pvisit}};" >
- <a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="icon {{$lockstate}}" title="{{$permset}}" ></a>{{$bang}}
- </div>
-
- {{if $preview}}<span onclick="preview_post();" id="jot-preview-link" class="fakelink">{{$preview}}</span>{{/if}}
-
-
- <div id="profile-jot-perms-end"></div>
-
-
- <div id="profile-jot-plugin-wrapper">
- {{$jotplugins}}
- </div>
-
- <div id="profile-rotator-wrapper" style="display: {{$visitor}};" >
- <img id="profile-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />
- </div>
-
- <div id="jot-preview-content" style="display:none;"></div>
-
- <div style="display: none;">
- <div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
- {{$acl}}
- <hr style="clear:both"/>
- {{$jotnets}}
- </div>
- </div>
-
-
-</div>
-
-<div id="profile-jot-end"></div>
-</form>
-</div>
- {{if $content}}<script>initEditor();</script>{{/if}}
diff --git a/view/tpl/smarty3/jot_geotag.tpl b/view/tpl/smarty3/jot_geotag.tpl
deleted file mode 100644
index 1ed2367aa..000000000
--- a/view/tpl/smarty3/jot_geotag.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
- if(navigator.geolocation) {
- navigator.geolocation.getCurrentPosition(function(position) {
- $('#jot-coord').val(position.coords.latitude + ' ' + position.coords.longitude);
- $('#profile-nolocation-wrapper').show();
- });
- }
-
diff --git a/view/tpl/smarty3/js_strings.tpl b/view/tpl/smarty3/js_strings.tpl
deleted file mode 100644
index 34337e5bb..000000000
--- a/view/tpl/smarty3/js_strings.tpl
+++ /dev/null
@@ -1,39 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<script>
-
- var aStr = {
-
- 'delitem' : '{{$delitem}}',
- 'comment' : '{{$comment}}',
- 'showmore' : '{{$showmore}}',
- 'showfewer' : '{{$showfewer}}',
- 'pwshort' : '{{$pwshort}}',
- 'pwnomatch' : '{{$pwnomatch}}',
- 'everybody' : '{{$everybody}}',
-
- 't01' : {{$t01}},
- 't02' : {{$t02}},
- 't03' : '{{$t03}}',
- 't04' : '{{$t04}}',
- 't05' : '{{$t05}}',
- 't06' : '{{$t06}}',
- 't07' : '{{$t07}}',
- 't08' : '{{$t08}}',
- 't09' : '{{$t09}}',
- 't10' : '{{$t10}}',
- 't11' : '{{$t11}}',
- 't12' : '{{$t12}}',
- 't13' : '{{$t13}}',
- 't14' : '{{$t14}}',
- 't15' : '{{$t15}}',
- 't16' : '{{$t16}}',
- 't17' : '{{$t17}}',
- };
-
-</script>
-
diff --git a/view/tpl/smarty3/lang_selector.tpl b/view/tpl/smarty3/lang_selector.tpl
deleted file mode 100644
index a1aee8277..000000000
--- a/view/tpl/smarty3/lang_selector.tpl
+++ /dev/null
@@ -1,15 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
-<div id="language-selector" style="display: none;" >
- <form action="#" method="post" >
- <select name="system_language" onchange="this.form.submit();" >
- {{foreach $langs.0 as $v=>$l}}
- <option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
- {{/foreach}}
- </select>
- </form>
-</div>
diff --git a/view/tpl/smarty3/like_noshare.tpl b/view/tpl/smarty3/like_noshare.tpl
deleted file mode 100644
index b8258d64a..000000000
--- a/view/tpl/smarty3/like_noshare.tpl
+++ /dev/null
@@ -1,10 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$id}}">
- <a href="#" class="icon like" title="{{$likethis}}" onclick="dolike({{$id}},'like'); return false"></a>
- <a href="#" class="icon dislike" title="{{$nolike}}" onclick="dolike({{$id}},'dislike'); return false"></a>
- <img id="like-rotator-{{$id}}" class="like-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />
-</div>
diff --git a/view/tpl/smarty3/login.tpl b/view/tpl/smarty3/login.tpl
deleted file mode 100644
index e530429b2..000000000
--- a/view/tpl/smarty3/login.tpl
+++ /dev/null
@@ -1,36 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<form action="{{$dest_url}}" id="{{$form_id}}" method="post" >
- <input type="hidden" name="auth-params" value="login" />
-
- <div id="login_standard">
- {{include file="field_input.tpl" field=$lname}}
- {{include file="field_password.tpl" field=$lpassword}}
- </div>
-
- <div id="login-extra-links">
- {{if $register}}<a href="{{$register.link}}" title="{{$register.title}}" id="register-link">{{$register.desc}}</a>{{/if}}
- <a href="lostpass" title="{{$lostpass}}" id="lost-password-link" >{{$lostlink}}</a>
- </div>
-
- {{include file="field_checkbox.tpl" field=$remember}}
-
- <div id="login-standard-end"></div>
-
- <div id="login-submit-wrapper" >
- <input type="submit" name="submit" id="login-submit-button" value="{{$login}}" />
- </div>
-
- {{foreach $hiddens as $k=>$v}}
- <input type="hidden" name="{{$k}}" value="{{$v}}" />
- {{/foreach}}
-
-
-</form>
-
-
-<script type="text/javascript"> $(document).ready(function() { $("#id_{{$lname.0}}").focus();} );</script>
diff --git a/view/tpl/smarty3/logout.tpl b/view/tpl/smarty3/logout.tpl
deleted file mode 100644
index 582d77ed6..000000000
--- a/view/tpl/smarty3/logout.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<form action="{{$dest_url}}" method="post" >
-<div class="logout-wrapper">
-<input type="hidden" name="auth-params" value="logout" />
-<input type="submit" name="submit" id="logout-button" value="{{$logout}}" />
-</div>
-</form>
diff --git a/view/tpl/smarty3/lostpass.tpl b/view/tpl/smarty3/lostpass.tpl
deleted file mode 100644
index 0e437ca48..000000000
--- a/view/tpl/smarty3/lostpass.tpl
+++ /dev/null
@@ -1,23 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$title}}</h3>
-
-<p id="lostpass-desc">
-{{$desc}}
-</p>
-
-<form action="lostpass" method="post" >
-<div id="login-name-wrapper">
- <label for="login-name" id="label-login-name">{{$name}}</label>
- <input type="text" maxlength="60" name="login-name" id="login-name" value="" />
-</div>
-<div id="login-extra-end"></div>
-<div id="login-submit-wrapper" >
- <input type="submit" name="submit" id="lostpass-submit-button" value="{{$submit}}" />
-</div>
-<div id="login-submit-end"></div>
-</form>
-
diff --git a/view/tpl/smarty3/magicsig.tpl b/view/tpl/smarty3/magicsig.tpl
deleted file mode 100644
index af8dbb5bc..000000000
--- a/view/tpl/smarty3/magicsig.tpl
+++ /dev/null
@@ -1,14 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<?xml version="1.0" encoding="UTF-8"?>
-<me:env xmlns:me="http://salmon-protocol.org/ns/magic-env">
-<me:data type="application/atom+xml">
-{{$data}}
-</me:data>
-<me:encoding>{{$encoding}}</me:encoding>
-<me:alg>{{$algorithm}}</me:alg>
-<me:sig key_id="{{$keyhash}}">{{$signature}}</me:sig>
-</me:env>
diff --git a/view/tpl/smarty3/mail_conv.tpl b/view/tpl/smarty3/mail_conv.tpl
deleted file mode 100644
index 8587efbb5..000000000
--- a/view/tpl/smarty3/mail_conv.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="mail-conv-outside-wrapper">
- <div class="mail-conv-sender" >
- <a href="{{$mail.from_url}}" class="mail-conv-sender-url" ><img class="mframe mail-conv-sender-photo{{$mail.sparkle}}" src="{{$mail.from_photo}}" heigth="80" width="80" alt="{{$mail.from_name}}" /></a>
- <div class="mail-conv-sender-name" >{{$mail.from_name}}</div>
- </div>
- <div class="mail-conv-detail" >
- <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}}" class="icon drophide delete-icon mail-list-delete-icon" onclick="return confirmDelete();" title="{{$mail.delete}}" id="mail-conv-delete-icon-{{$mail.id}}" class="mail-conv-delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></div><div class="mail-conv-delete-end"></div>
- <div class="mail-conv-outside-wrapper-end"></div>
-</div>
-</div>
-<hr class="mail-conv-break" />
diff --git a/view/tpl/smarty3/mail_display.tpl b/view/tpl/smarty3/mail_display.tpl
deleted file mode 100644
index e14d55478..000000000
--- a/view/tpl/smarty3/mail_display.tpl
+++ /dev/null
@@ -1,15 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-{{foreach $mails as $mail}}
- {{include file="mail_conv.tpl"}}
-{{/foreach}}
-
-{{if $canreply}}
-{{include file="prv_message.tpl"}}
-{{else}}
-{{$unknown_text}}
-{{/if}} \ No newline at end of file
diff --git a/view/tpl/smarty3/mail_head.tpl b/view/tpl/smarty3/mail_head.tpl
deleted file mode 100644
index f7a39fa8b..000000000
--- a/view/tpl/smarty3/mail_head.tpl
+++ /dev/null
@@ -1,8 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$messages}}</h3>
-
-{{$tab_content}}
diff --git a/view/tpl/smarty3/mail_list.tpl b/view/tpl/smarty3/mail_list.tpl
deleted file mode 100644
index ffc75b794..000000000
--- a/view/tpl/smarty3/mail_list.tpl
+++ /dev/null
@@ -1,24 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="mail-list-outside-wrapper">
- <div class="mail-list-sender" >
- <a href="{{$from_url}}" class="mail-list-sender-url" ><img class="mail-list-sender-photo" src="{{$from_photo}}" height="32" width="32" alt="{{$from_name}}" /></a>
- <div class="mail-list-sender-name" >{{$from_name}}</div>
- </div>
- <div class="mail-list-recip" >
- <a href="{{$to_url}}" class="mail-list-recip-url" ><img class="mail-list-recip-photo" src="{{$to_photo}}" height="32" width="32" alt="{{$to_name}}" /></a>
- <div class="mail-list-recip-name" >{{$to_name}}</div>
- </div>
- <div class="mail-list-date">{{$date}}</div>
- <div class="mail-list-subject"><a href="message/{{$id}}" class="mail-list-link">{{$subject}}</a></div>
- <div class="mail-list-delete-wrapper" id="mail-list-delete-wrapper-{{$id}}" >
- <a href="message/dropconv/{{$id}}" onclick="return confirmDelete();" title="{{$delete}}" class="icon drophide mail-list-delete delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>
- </div>
-</div>
-</div>
-<div class="mail-list-delete-end"></div>
-
-<div class="mail-list-outside-wrapper-end"></div>
diff --git a/view/tpl/smarty3/main_slider.tpl b/view/tpl/smarty3/main_slider.tpl
deleted file mode 100644
index 481e23077..000000000
--- a/view/tpl/smarty3/main_slider.tpl
+++ /dev/null
@@ -1,28 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="main-slider" class="slider" ><input id="main-range" type="text" name="cminmax" value="{{$val}}" /></div>
-<script>
- $("#main-range").slider({ from: 0, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], onstatechange: function(v) {
- var carr = v.split(";");
- bParam_cmin = carr[0];
- bParam_cmax = carr[1];
- networkRefresh();
- } });
-
- var slideTimer = null;
- function networkRefresh() {
- if((document.readyState !== "complete") || (slideTimer !== null))
- return;
- setTimeout(function() { $("#profile-jot-text-loading").show(); }, 1000 );
- slideTimer = setTimeout(networkTimerRefresh,2000);
- }
-
- function networkTimerRefresh() {
- slideTimer = null;
- page_load = true;
- liveUpdate();
- }
-</script>
diff --git a/view/tpl/smarty3/match.tpl b/view/tpl/smarty3/match.tpl
deleted file mode 100644
index 14b725466..000000000
--- a/view/tpl/smarty3/match.tpl
+++ /dev/null
@@ -1,21 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="profile-match-wrapper">
- <div class="profile-match-photo">
- <a href="{{$url}}">
- <img src="{{$photo}}" alt="{{$name}}" title="{{$name}}[{{$tags}}]" />
- </a>
- </div>
- <div class="profile-match-break"></div>
- <div class="profile-match-name">
- <a href="{{$url}}" title="{{$name}}[{{$tags}}]">{{$name}}</a>
- </div>
- <div class="profile-match-end"></div>
- {{if $connlnk}}
- <div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}">{{$conntxt}}</a></div>
- {{/if}}
-
-</div>
diff --git a/view/tpl/smarty3/message_side.tpl b/view/tpl/smarty3/message_side.tpl
deleted file mode 100644
index 7da22ee3e..000000000
--- a/view/tpl/smarty3/message_side.tpl
+++ /dev/null
@@ -1,15 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="message-sidebar" class="widget">
- <div id="message-new"><a href="{{$new.url}}" class="{{if $new.sel}}newmessage-selected{{/if}}">{{$new.label}}</a> </div>
-
- <ul class="message-ul">
- {{foreach $tabs as $t}}
- <li class="tool"><a href="{{$t.url}}" class="message-link{{if $t.sel}}message-selected{{/if}}">{{$t.label}}</a></li>
- {{/foreach}}
- </ul>
-
-</div>
diff --git a/view/tpl/smarty3/micropro_img.tpl b/view/tpl/smarty3/micropro_img.tpl
deleted file mode 100644
index de134adba..000000000
--- a/view/tpl/smarty3/micropro_img.tpl
+++ /dev/null
@@ -1,6 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="contact-block-div{{if $class}} {{$class}}{{/if}}"><a class="contact-block-link{{if $class}} {{$class}}{{/if}}{{if $click}} fakelink{{/if}}" href="{{if $click}}#{{else}}{{$url}}{{/if}}" {{if $click}}onclick="{{$click}}"{{/if}}><img class="contact-block-img{{if $class}} {{$class}}{{/if}}" src="{{$photo}}" title="{{$title}}" alt="{{$name}}" /></a></div>
diff --git a/view/tpl/smarty3/micropro_txt.tpl b/view/tpl/smarty3/micropro_txt.tpl
deleted file mode 100644
index a6438812b..000000000
--- a/view/tpl/smarty3/micropro_txt.tpl
+++ /dev/null
@@ -1,6 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="contact-block-textdiv{{if $class}} {{$class}}{{/if}}"><a class="contact-block-link{{if $class}} {{$class}}{{/if}}{{if $click}} fakelink{{/if}}" href="{{if $click}}#{{else}}{{$url}}{{/if}}" {{if $click}}onclick="{{$click}}"{{/if}} title="{{$title}}">{{$name}}</a></div>
diff --git a/view/tpl/smarty3/moderated_comment.tpl b/view/tpl/smarty3/moderated_comment.tpl
deleted file mode 100644
index 1e4e9b6d4..000000000
--- a/view/tpl/smarty3/moderated_comment.tpl
+++ /dev/null
@@ -1,39 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
- <div class="comment-wwedit-wrapper" id="comment-edit-wrapper-{{$id}}" style="display: block;">
- <form class="comment-edit-form" id="comment-edit-form-{{$id}}" action="item" method="post" onsubmit="post_comment({{$id}}); return false;">
- <input type="hidden" name="type" value="{{$type}}" />
- <input type="hidden" name="profile_uid" value="{{$profile_uid}}" />
- <input type="hidden" name="parent" value="{{$parent}}" />
- <input type="hidden" name="return" value="{{$return_path}}" />
- <input type="hidden" name="jsreload" value="{{$jsreload}}" />
- <input type="hidden" name="preview" id="comment-preview-inp-{{$id}}" value="0" />
-
- <div class="comment-edit-photo" id="comment-edit-photo-{{$id}}" >
- <a class="comment-edit-photo-link" href="{{$mylink}}" title="{{$mytitle}}"><img class="my-comment-photo" src="{{$myphoto}}" alt="{{$mytitle}}" title="{{$mytitle}}" /></a>
- </div>
- <div class="comment-edit-photo-end"></div>
- <div id="mod-cmnt-wrap-{{$id}}" class="mod-cmnt-wrap" style="display:none">
- <div id="mod-cmnt-name-lbl-{{$id}}" class="mod-cmnt-name-lbl">{{$lbl_modname}}</div>
- <input type="text" id="mod-cmnt-name-{{$id}}" class="mod-cmnt-name" name="mod-cmnt-name" value="{{$modname}}" />
- <div id="mod-cmnt-email-lbl-{{$id}}" class="mod-cmnt-email-lbl">{{$lbl_modemail}}</div>
- <input type="text" id="mod-cmnt-email-{{$id}}" class="mod-cmnt-email" name="mod-cmnt-email" value="{{$modemail}}" />
- <div id="mod-cmnt-url-lbl-{{$id}}" class="mod-cmnt-url-lbl">{{$lbl_modurl}}</div>
- <input type="text" id="mod-cmnt-url-{{$id}}" class="mod-cmnt-url" name="mod-cmnt-url" value="{{$modurl}}" />
- </div>
- <textarea id="comment-edit-text-{{$id}}" class="comment-edit-text-empty" name="body" onFocus="commentOpen(this,{{$id}});" onBlur="commentClose(this,{{$id}});" >{{$comment}}</textarea>
-
- <div class="comment-edit-text-end"></div>
- <div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-{{$id}}" style="display: none;" >
- <input type="submit" onclick="post_comment({{$id}}); return false;" id="comment-edit-submit-{{$id}}" class="comment-edit-submit" name="submit" value="{{$submit}}" />
- <span onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" class="fakelink">{{$preview}}</span>
- <div id="comment-edit-preview-{{$id}}" class="comment-edit-preview" style="display:none;"></div>
- </div>
-
- <div class="comment-edit-end"></div>
- </form>
-
- </div>
diff --git a/view/tpl/smarty3/mood_content.tpl b/view/tpl/smarty3/mood_content.tpl
deleted file mode 100644
index 461303318..000000000
--- a/view/tpl/smarty3/mood_content.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$title}}</h3>
-
-<div id="mood-desc">{{$desc}}</div>
-
-<form action="mood" method="get">
-<br />
-<br />
-
-<input id="mood-parent" type="hidden" value="{{$parent}}" name="parent" />
-
-<select name="verb" id="mood-verb-select" >
-{{foreach $verbs as $v}}
-<option value="{{$v.0}}">{{$v.1}}</option>
-{{/foreach}}
-</select>
-<br />
-<br />
-<input type="submit" name="submit" value="{{$submit}}" />
-</form>
-
diff --git a/view/tpl/smarty3/msg-header.tpl b/view/tpl/smarty3/msg-header.tpl
deleted file mode 100644
index 4c47e1d6d..000000000
--- a/view/tpl/smarty3/msg-header.tpl
+++ /dev/null
@@ -1,102 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
-<script language="javascript" type="text/javascript">
-
-var plaintext = '{{$editselect}}';
-
-if(plaintext != 'none') {
- tinyMCE.init({
- theme : "advanced",
- mode : "specific_textareas",
- editor_selector: /(profile-jot-text|prvmail-text)/,
- plugins : "bbcode,paste",
- theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : "",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "center",
- theme_advanced_blockformats : "blockquote,code",
- gecko_spellcheck : true,
- paste_text_sticky : true,
- entity_encoding : "raw",
- add_unload_trigger : false,
- remove_linebreaks : false,
- force_p_newlines : false,
- force_br_newlines : true,
- forced_root_block : '',
- convert_urls: false,
- content_css: "{{$baseurl}}/view/custom_tinymce.css",
- //Character count
- theme_advanced_path : false,
- setup : function(ed) {
- ed.onInit.add(function(ed) {
- ed.pasteAsPlainText = true;
- var editorId = ed.editorId;
- var textarea = $('#'+editorId);
- if (typeof(textarea.attr('tabindex')) != "undefined") {
- $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex'));
- textarea.attr('tabindex', null);
- }
- });
- }
- });
-}
-else
- $("#prvmail-text").contact_autocomplete(baseurl+"/acl");
-
-
-</script>
-<script type="text/javascript" src="js/ajaxupload.js" ></script>
-<script>
- $(document).ready(function() {
- var uploader = new window.AjaxUpload(
- 'prvmail-upload',
- { action: 'wall_upload/{{$nickname}}',
- name: 'userfile',
- onSubmit: function(file,ext) { $('#profile-rotator').show(); },
- onComplete: function(file,response) {
- tinyMCE.execCommand('mceInsertRawHTML',false,response);
- $('#profile-rotator').hide();
- }
- }
- );
-
- });
-
- function jotGetLink() {
- reply = prompt("{{$linkurl}}");
- if(reply && reply.length) {
- $('#profile-rotator').show();
- $.get('parse_url?url=' + reply, function(data) {
- tinyMCE.execCommand('mceInsertRawHTML',false,data);
- $('#profile-rotator').hide();
- });
- }
- }
-
- function linkdropper(event) {
- var linkFound = event.dataTransfer.types.contains("text/uri-list");
- if(linkFound)
- event.preventDefault();
- }
-
- function linkdrop(event) {
- var reply = event.dataTransfer.getData("text/uri-list");
- event.target.textContent = reply;
- event.preventDefault();
- if(reply && reply.length) {
- $('#profile-rotator').show();
- $.get('parse_url?url=' + reply, function(data) {
- tinyMCE.execCommand('mceInsertRawHTML',false,data);
- $('#profile-rotator').hide();
- });
- }
- }
-
-</script>
-
diff --git a/view/tpl/smarty3/nav.tpl b/view/tpl/smarty3/nav.tpl
deleted file mode 100644
index 261607e5b..000000000
--- a/view/tpl/smarty3/nav.tpl
+++ /dev/null
@@ -1,153 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<header>
- <div id="site-location">{{$sitelocation}}</div>
- <div id="banner">{{$banner}}</div>
-</header>
-<nav>
- <ul>
- {{if $nav.lock}}
- <li id="nav-rmagic-link" class="nav-menu-icon" >
- <a class="icon {{$nav.lock.2}}" href="{{$nav.lock.0}}" title="{{$nav.lock.3}}" >{{$nav.lock.1}}</a>
- </li>
- {{/if}}
-
-
- {{if $nav.network}}
- <li id="nav-network-link" class="nav-menu {{$sel.network}}">
- <a class="{{$nav.network.2}}" href="{{$nav.network.0}}" title="{{$nav.network.3}}" ><span class="icon network">{{$nav.network.1}}</span></a>
- <span id="net-update" class="nav-notify fakelink" rel="#nav-network-menu"></span>
- <ul id="nav-network-menu" class="menu-popup notify-menus" rel="network">
- <li id="nav-network-see-all"><a href="{{$nav.network.all.0}}">{{$nav.network.all.1}}</a></li>
- <li id="nav-network-mark-all"><a href="#" onclick="markRead('network'); return false;">{{$nav.network.mark.1}}</a></li>
- <li class="empty">{{$emptynotifications}}</li>
- </ul>
- </li>
- {{/if}}
-
- {{if $nav.home}}
- <li id="nav-home-link" class="nav-menu {{$sel.home}}">
- <a class="{{$nav.home.2}}" href="{{$nav.home.0}}" title="{{$nav.home.3}}" ><span class="icon home">{{$nav.home.1}}</span></a>
- <span id="home-update" class="nav-notify fakelink" rel="#nav-home-menu"></span>
- <ul id="nav-home-menu" class="menu-popup notify-menus" rel="home">
- <li id="nav-home-see-all"><a href="{{$nav.home.all.0}}">{{$nav.home.all.1}}</a></li>
- <li id="nav-home-mark-all"><a href="#" onclick="markRead('home'); return false;">{{$nav.home.mark.1}}</a></li>
- <li class="empty">{{$emptynotifications}}</li>
- </ul>
- </li>
- {{/if}}
-
- {{if $nav.messages}}
- <li id="nav-mail-link" class="nav-menu {{$sel.messages}}">
- <a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" ><span class="icon mail">{{$nav.messages.1}}</span></a>
- <span id="mail-update" class="nav-notify fakelink" rel="#nav-messages-menu"></span>
- <ul id="nav-messages-menu" class="menu-popup notify-menus" rel="messages">
- <li id="nav-messages-see-all"><a href="{{$nav.messages.all.0}}">{{$nav.messages.all.1}}</a></li>
- <li id="nav-messages-mark-all"><a href="#" onclick="markRead('messages'); return false;">{{$nav.messages.mark.1}}</a></li>
- <li class="empty">{{$emptynotifications}}</li>
- </ul>
- </li>
- {{/if}}
-
- {{if $nav.all_events}}
- <li id="nav-all_events-link" class="nav-menu {{$sel.all_events}}">
- <a class="{{$nav.all_events.2}}" href="{{$nav.all_events.0}}" title="{{$nav.all_events.3}}" ><span class="icon events">{{$nav.all_events.1}}</span></a>
- <span id="all_events-update" class="nav-notify fakelink" rel="#nav-all_events-menu"></span>
- <ul id="nav-all_events-menu" class="menu-popup notify-menus" rel="all_events">
- <li id="nav-all_events-see-all"><a href="{{$nav.all_events.all.0}}">{{$nav.all_events.all.1}}</a></li>
- <li id="nav-all_events-mark-all"><a href="#" onclick="markRead('all_events'); return false;">{{$nav.all_events.mark.1}}</a></li>
- <li class="empty">{{$emptynotifications}}</li>
- </ul>
- </li>
- {{/if}}
-
- {{if $nav.intros}}
- <li id="nav-intros-link" class="nav-menu {{$sel.intros}}">
- <a class="{{$nav.intros.2}}" href="{{$nav.intros.0}}" title="{{$nav.intros.3}}" ><span class="icon introductions">{{$nav.intros.1}}</span></a>
- <span id="intro-update" class="nav-notify fakelink" rel="#nav-intros-menu"></span>
- <ul id="nav-intros-menu" class="menu-popup notify-menus" rel="intros">
- <li id="nav-intros-see-all"><a href="{{$nav.intros.all.0}}">{{$nav.intros.all.1}}</a></li>
- <li class="empty">{{$emptynotifications}}</li>
- </ul>
- </li>
- {{/if}}
-
- {{if $nav.notifications}}
- <li id="nav-notify-linkmenu" class="nav-menu fakelink">
- <a href="{{$nav.notifications.0}}" title="{{$nav.notifications.1}}"><span class="icon s22 notify">{{$nav.notifications.1}}</span></a>
- <span id="notify-update" class="nav-notify fakelink" rel="#nav-notify-menu"></span>
- <ul id="nav-notify-menu" class="menu-popup notify-menus" rel="notify">
- <li id="nav-notify-see-all"><a href="{{$nav.notifications.all.0}}">{{$nav.notifications.all.1}}</a></li>
- <li id="nav-notify-mark-all"><a href="#" onclick="markRead('notify'); return false;">{{$nav.notifications.mark.1}}</a></li>
- <li class="empty">{{$emptynotifications}}</li>
- </ul>
- </li>
- {{/if}}
-
- {{if $nav.settings}}
- <li id="nav-site-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-site-menu"><span class="icon s22 gear">{{$nav.settings.1}}</span></a>
- <ul id="nav-site-menu" class="menu-popup">
- {{if $nav.settings}}<li><a class="{{$nav.settings.2}}" href="{{$nav.settings.0}}" title="{{$nav.settings.3}}">{{$nav.settings.1}}</a></li>{{/if}}
- {{if $nav.directory}}<li><a class="{{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}">{{$nav.directory.1}}</a></li>{{/if}}
-
- {{if $nav.admin}}<li><a class="{{$nav.admin.2}}" href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" >{{$nav.admin.1}}</a></li>{{/if}}
-
- </ul>
- </li>
- {{/if}}
-
- {{if $userinfo}}
- <li id="nav-user-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-user-menu" title="{{$userinfo.name}}"><img src="{{$userinfo.icon}}" alt="{{$userinfo.name}}"></a>
- {{if $localuser}}
- <ul id="nav-user-menu" class="menu-popup">
- {{foreach $nav.usermenu as $usermenu}}
- <li><a class="{{$usermenu.2}}" href="{{$usermenu.0}}" title="{{$usermenu.3}}">{{$usermenu.1}}</a></li>
- {{/foreach}}
- {{if $nav.profiles}}<li><a class="{{$nav.profiles.2}}" href="{{$nav.profiles.0}}" title="{{$nav.profiles.3}}">{{$nav.profiles.1}}</a></li>{{/if}}
- {{if $nav.manage}}<li><a class="{{$nav.manage.2}}" href="{{$nav.manage.0}}" title="{{$nav.manage.3}}">{{$nav.manage.1}}</a></li>{{/if}}
- {{if $nav.contacts}}<li><a class="{{$nav.contacts.2}}" href="{{$nav.contacts.0}}" title="{{$nav.contacts.3}}" >{{$nav.contacts.1}}</a></li>{{/if}}
- {{if $nav.logout}}<li><a class="menu-sep {{$nav.logout.2}}" href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" >{{$nav.logout.1}}</a></li>{{/if}}
-
- </ul>
- {{/if}}
- </li>
- {{/if}}
-
- {{if $nav.login}}<li id="nav-login-link" class="nav-menu {{$nav.login.2}}"><a href="{{$nav.login.0}}" title="{{$nav.login.3}}" >{{$nav.login.1}}</a><li>{{/if}}
- {{if $nav.alogout}}<li id=nav-alogout-link" class="nav-menu {{$nav}}-alogout.2"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" >{{$nav.alogout.1}}</a></li>{{/if}}
- {{if $nav.help}}
- <li id="nav-help-link" class="nav-menu {{$sel.help}}">
- <a class="{{$nav.help.2}}" target="friendika-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" >{{$nav.help.1}}</a>
- </li>
- {{/if}}
-
- {{if $nav.apps}}
- <li id="nav-apps-link" class="nav-menu {{$sel.apps}}">
- <a class=" {{$nav.apps.2}}" href="#" rel="#nav-apps-menu" title="{{$nav.apps.3}}" >{{$nav.apps.1}}</a>
- <ul id="nav-apps-menu" class="menu-popup">
- {{foreach $apps as $ap}}
- <li>{{$ap}}</li>
- {{/foreach}}
- </ul>
- </li>
- {{/if}}
-
- <li id="nav-searchbar">
- <form method="get" action="search">
- <input id="nav-search-text" type="text" value="" placeholder="{{$nav.search.1}}" name="search" title="{{$nav.search.3}}" onclick="this.submit();" />
- </form>
- </li>
- <img src="images/rotator.gif" id="nav-search-spinner" style="display: none;" alt="{{$pleasewait}}" />
-
- </ul>
-</nav>
-
-<ul id="nav-notifications-template" style="display:none;" rel="template">
- <li class="{4}"><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li>
-</ul>
-
-<div id="langselector" >{{$langselector}}</div>
-<div id="panel" style="display: none;"></div>
diff --git a/view/tpl/smarty3/netfriend.tpl b/view/tpl/smarty3/netfriend.tpl
deleted file mode 100644
index e8658e0bc..000000000
--- a/view/tpl/smarty3/netfriend.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="intro-approve-as-friend-desc">{{$approve_as}}</div>
-
-<div class="intro-approve-as-friend-wrapper">
- <label class="intro-approve-as-friend-label" for="intro-approve-as-friend-{{$intro_id}}">{{$as_friend}}</label>
- <input type="radio" name="duplex" id="intro-approve-as-friend-{{$intro_id}}" class="intro-approve-as-friend" {{$friend_selected}} value="1" />
- <div class="intro-approve-friend-break" ></div>
-</div>
-<div class="intro-approve-as-friend-end"></div>
-<div class="intro-approve-as-fan-wrapper">
- <label class="intro-approve-as-fan-label" for="intro-approve-as-fan-{{$intro_id}}">{{$as_fan}}</label>
- <input type="radio" name="duplex" id="intro-approve-as-fan-{{$intro_id}}" class="intro-approve-as-fan" {{$fan_selected}} value="0" />
- <div class="intro-approve-fan-break"></div>
-</div>
-<div class="intro-approve-as-end"></div>
diff --git a/view/tpl/smarty3/new_channel.tpl b/view/tpl/smarty3/new_channel.tpl
deleted file mode 100644
index a7aa44991..000000000
--- a/view/tpl/smarty3/new_channel.tpl
+++ /dev/null
@@ -1,34 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h2>{{$title}}</h2>
-
-<form action="new_channel" method="post" id="newchannel-form">
-
- <div id="newchannel-desc" class="descriptive-paragraph">{{$desc}}</div>
-
- <label for="newchannel-name" id="label-newchannel-name" class="newchannel-label" >{{$label_name}}</label>
- <input type="text" name="name" id="newchannel-name" class="newchannel-input" value="{{$name}}" />
- <div id="newchannel-name-feedback" class="newchannel-feedback"></div>
- <div id="newchannel-name-end" class="newchannel-field-end"></div>
-
- <div id="newchannel-name-help" class="descriptive-paragraph">{{$help_name}}</div>
-
- <label for="newchannel-nickname" id="label-newchannel-nickname" class="newchannel-label" >{{$label_nick}}</label>
- <input type="text" name="nickname" id="newchannel-nickname" class="newchannel-input" value="{{$nickname}}" />
- <div id="newchannel-nickname-feedback" class="newchannel-feedback"></div>
- <div id="newchannel-nickname-end" class="newchannel-field-end"></div>
-
- <div id="newchannel-nick-desc" class="descriptive-paragraph">{{$nick_desc}}</div>
-
-
- <div id="newchannel-import-link" class="descriptive-paragraph" >{{$label_import}}</div>
-
- <div id="newchannel-import-end" class="newchannel-field-end"></div>
-
- <input type="submit" name="submit" id="newchannel-submit-button" value="{{$submit}}" />
- <div id="newchannel-submit-end" class="newchannel-field-end"></div>
-
-</form>
diff --git a/view/tpl/smarty3/nogroup-template.tpl b/view/tpl/smarty3/nogroup-template.tpl
deleted file mode 100644
index 7d103a655..000000000
--- a/view/tpl/smarty3/nogroup-template.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$header}}</h1>
-
-{{foreach $contacts as $contact}}
- {{include file="contact_template.tpl"}}
-{{/foreach}}
-<div id="contact-edit-end"></div>
-
-{{$paginate}}
-
-
-
-
diff --git a/view/tpl/smarty3/notifications.tpl b/view/tpl/smarty3/notifications.tpl
deleted file mode 100644
index 834a7a016..000000000
--- a/view/tpl/smarty3/notifications.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<h1>{{$notif_header}}</h1>
-
-{{include file="common_tabs.tpl"}}
-
-<div class="notif-network-wrapper">
- {{$notif_content}}
-</div>
diff --git a/view/tpl/smarty3/notifications_comments_item.tpl b/view/tpl/smarty3/notifications_comments_item.tpl
deleted file mode 100644
index 9913e6cf7..000000000
--- a/view/tpl/smarty3/notifications_comments_item.tpl
+++ /dev/null
@@ -1,8 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="notif-item">
- <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div> \ No newline at end of file
diff --git a/view/tpl/smarty3/notifications_dislikes_item.tpl b/view/tpl/smarty3/notifications_dislikes_item.tpl
deleted file mode 100644
index 9913e6cf7..000000000
--- a/view/tpl/smarty3/notifications_dislikes_item.tpl
+++ /dev/null
@@ -1,8 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="notif-item">
- <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div> \ No newline at end of file
diff --git a/view/tpl/smarty3/notifications_friends_item.tpl b/view/tpl/smarty3/notifications_friends_item.tpl
deleted file mode 100644
index 9913e6cf7..000000000
--- a/view/tpl/smarty3/notifications_friends_item.tpl
+++ /dev/null
@@ -1,8 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="notif-item">
- <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div> \ No newline at end of file
diff --git a/view/tpl/smarty3/notifications_likes_item.tpl b/view/tpl/smarty3/notifications_likes_item.tpl
deleted file mode 100644
index 792b285bc..000000000
--- a/view/tpl/smarty3/notifications_likes_item.tpl
+++ /dev/null
@@ -1,8 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="notif-item">
- <a href="{{$item_link}}" target="friendica-notification"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div> \ No newline at end of file
diff --git a/view/tpl/smarty3/notifications_network_item.tpl b/view/tpl/smarty3/notifications_network_item.tpl
deleted file mode 100644
index c3381d682..000000000
--- a/view/tpl/smarty3/notifications_network_item.tpl
+++ /dev/null
@@ -1,8 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="notif-item">
- <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div>
diff --git a/view/tpl/smarty3/notifications_posts_item.tpl b/view/tpl/smarty3/notifications_posts_item.tpl
deleted file mode 100644
index 9913e6cf7..000000000
--- a/view/tpl/smarty3/notifications_posts_item.tpl
+++ /dev/null
@@ -1,8 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="notif-item">
- <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div> \ No newline at end of file
diff --git a/view/tpl/smarty3/notify.tpl b/view/tpl/smarty3/notify.tpl
deleted file mode 100644
index 9913e6cf7..000000000
--- a/view/tpl/smarty3/notify.tpl
+++ /dev/null
@@ -1,8 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="notif-item">
- <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div> \ No newline at end of file
diff --git a/view/tpl/smarty3/oauth_authorize.tpl b/view/tpl/smarty3/oauth_authorize.tpl
deleted file mode 100644
index d7f1963d2..000000000
--- a/view/tpl/smarty3/oauth_authorize.tpl
+++ /dev/null
@@ -1,15 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-
-<div class='oauthapp'>
- <img src='{{$app.icon}}'>
- <h4>{{$app.name}}</h4>
-</div>
-<h3>{{$authorize}}</h3>
-<form method="POST">
-<div class="settings-submit-wrapper"><input class="settings-submit" type="submit" name="oauth_yes" value="{{$yes}}" /></div>
-</form>
diff --git a/view/tpl/smarty3/oauth_authorize_done.tpl b/view/tpl/smarty3/oauth_authorize_done.tpl
deleted file mode 100644
index 12d4c6f48..000000000
--- a/view/tpl/smarty3/oauth_authorize_done.tpl
+++ /dev/null
@@ -1,9 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-
-<p>{{$info}}</p>
-<code>{{$code}}</code>
diff --git a/view/tpl/smarty3/oembed_video.tpl b/view/tpl/smarty3/oembed_video.tpl
deleted file mode 100644
index bdfa11509..000000000
--- a/view/tpl/smarty3/oembed_video.tpl
+++ /dev/null
@@ -1,9 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<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/smarty3/oexchange_xrd.tpl b/view/tpl/smarty3/oexchange_xrd.tpl
deleted file mode 100644
index 04a8e1847..000000000
--- a/view/tpl/smarty3/oexchange_xrd.tpl
+++ /dev/null
@@ -1,38 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<?xml version='1.0' encoding='UTF-8'?>
-<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
-
- <Subject>{{$base}}</Subject>
-
- <Property
- type="http://www.oexchange.org/spec/0.8/prop/vendor">Friendika</Property>
- <Property
- type="http://www.oexchange.org/spec/0.8/prop/title">Friendika Social Network</Property>
- <Property
- type="http://www.oexchange.org/spec/0.8/prop/name">Friendika</Property>
- <Property
- type="http://www.oexchange.org/spec/0.8/prop/prompt">Send to Friendika</Property>
-
- <Link
- rel="icon"
- href="{{$base}}/images/friendika-16.png"
- type="image/png"
- />
-
- <Link
- rel="icon32"
- href="{{$base}}/images/friendika-32.png"
- type="image/png"
- />
-
- <Link
- rel= "http://www.oexchange.org/spec/0.8/rel/offer"
- href="{{$base}}/oexchange"
- type="text/html"
- />
-</XRD>
-
diff --git a/view/tpl/smarty3/opensearch.tpl b/view/tpl/smarty3/opensearch.tpl
deleted file mode 100644
index 63d2a1752..000000000
--- a/view/tpl/smarty3/opensearch.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<?xml version="1.0" encoding="UTF-8"?>
-<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
- <ShortName>Friendika@{{$nodename}}</ShortName>
- <Description>Search in Friendika@{{$nodename}}</Description>
- <Contact>http://bugs.friendika.com/</Contact>
- <Image height="16" width="16" type="image/png">{{$baseurl}}/images/friendika-16.png</Image>
- <Image height="64" width="64" type="image/png">{{$baseurl}}/images/friendika-64.png</Image>
- <Url type="text/html"
- template="{{$baseurl}}/search?search={searchTerms}"/>
- <Url type="application/opensearchdescription+xml"
- rel="self"
- template="{{$baseurl}}/opensearch" />
-</OpenSearchDescription> \ No newline at end of file
diff --git a/view/tpl/smarty3/page_display.tpl b/view/tpl/smarty3/page_display.tpl
deleted file mode 100644
index 0f02086f2..000000000
--- a/view/tpl/smarty3/page_display.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class=page">
- <h3 class="page-title">{{$title}}</h3>
-
- <div class="page-author"><a class=="page-author-link" href="{{$auth_url}}">{{$author}}</a></div>
- <div class="page-date">{{$date}}</div>
- <div class="page-body">body</div>
-</div>
diff --git a/view/tpl/smarty3/pagetypes.tpl b/view/tpl/smarty3/pagetypes.tpl
deleted file mode 100644
index 15cd3047a..000000000
--- a/view/tpl/smarty3/pagetypes.tpl
+++ /dev/null
@@ -1,10 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
- {{include file="field_radio.tpl" field=$page_normal}}
- {{include file="field_radio.tpl" field=$page_community}}
- {{include file="field_radio.tpl" field=$page_prvgroup}}
- {{include file="field_radio.tpl" field=$page_soapbox}}
- {{include file="field_radio.tpl" field=$page_freelove}}
diff --git a/view/tpl/smarty3/peoplefind.tpl b/view/tpl/smarty3/peoplefind.tpl
deleted file mode 100644
index 5417ee0ed..000000000
--- a/view/tpl/smarty3/peoplefind.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="peoplefind-sidebar" class="widget">
- <h3>{{$findpeople}}</h3>
- <div id="peoplefind-desc">{{$desc}}</div>
- <form action="dirfind" method="post" />
- <input id="side-peoplefind-url" type="text" name="search" size="24" title="{{$hint}}" /><input id="side-peoplefind-submit" type="submit" name="submit" value="{{$findthem}}" />
- </form>
- <div class="side-link" id="side-match-link"><a href="match" >{{$similar}}</a></div>
- <div class="side-link" id="side-suggest-link"><a href="suggest" >{{$suggest}}</a></div>
- <div class="side-link" id="side-random-profile-link" ><a href="randprof" target="extlink" >{{$random}}</a></div>
- {{if $inv}}
- <div class="side-link" id="side-invite-link" ><a href="invite" >{{$inv}}</a></div>
- {{/if}}
-</div>
-
diff --git a/view/tpl/smarty3/photo_album.tpl b/view/tpl/smarty3/photo_album.tpl
deleted file mode 100644
index 56ee6b61c..000000000
--- a/view/tpl/smarty3/photo_album.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="photo-album-image-wrapper" id="photo-album-image-wrapper-{{$id}}">
- <a href="{{$photolink}}" class="photo-album-photo-link" id="photo-album-photo-link-{{$id}}" title="{{$phototitle}}">
- <img src="{{$imgsrc}}" alt="{{$imgalt}}" title="{{$phototitle}}" class="photo-album-photo lframe resize{{$twist}}" id="photo-album-photo-{{$id}}" />
- <p class='caption'>{{$desc}}</p>
- </a>
-</div>
-<div class="photo-album-image-wrapper-end"></div>
diff --git a/view/tpl/smarty3/photo_albums.tpl b/view/tpl/smarty3/photo_albums.tpl
deleted file mode 100644
index 8a31e030c..000000000
--- a/view/tpl/smarty3/photo_albums.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="side-bar-photos-albums" class="widget">
-<h3><a href="{{$baseurl}}/photos/{{$nick}}" title="{{$title}}" >{{$title}}</a></h3>
-{{if $albums}}
-<ul>
-{{foreach $albums as $al}}
-<li><a href="{{$baseurl}}/photos/{{$nick}}/{{$al.bin2hex}}">{{$al.album}}</a></li>
-{{/foreach}}
-</ul>
-{{/if}}
-{{if $upload}}
-<div id="photo-albums-upload-link"><a href="{{$baseurl}}/photos/{{$nick}}/upload" title="{{$upload}}">{{$upload}}</a></div>
-{{/if}}
-</div>
diff --git a/view/tpl/smarty3/photo_drop.tpl b/view/tpl/smarty3/photo_drop.tpl
deleted file mode 100644
index ed500fd0a..000000000
--- a/view/tpl/smarty3/photo_drop.tpl
+++ /dev/null
@@ -1,9 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$id}}" >
- <a href="item/drop/{{$id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>
-</div>
-<div class="wall-item-delete-end"></div>
diff --git a/view/tpl/smarty3/photo_edit.tpl b/view/tpl/smarty3/photo_edit.tpl
deleted file mode 100644
index fefe7f10b..000000000
--- a/view/tpl/smarty3/photo_edit.tpl
+++ /dev/null
@@ -1,55 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<form action="photos/{{$nickname}}/{{$resource_id}}" method="post" id="photo_edit_form" >
-
- <input type="hidden" name="item_id" value="{{$item_id}}" />
-
- <label id="photo-edit-albumname-label" for="photo-edit-albumname">{{$newalbum}}</label>
- <input id="photo-edit-albumname" type="text" size="32" name="albname" value="{{$album}}" />
-
- <div id="photo-edit-albumname-end"></div>
-
- <label id="photo-edit-caption-label" for="photo-edit-caption">{{$capt_label}}</label>
- <input id="photo-edit-caption" type="text" size="84" name="desc" value="{{$caption}}" />
-
- <div id="photo-edit-caption-end"></div>
-
- <label id="photo-edit-tags-label" for="photo-edit-newtag" >{{$tag_label}}</label>
- <input name="newtag" id="photo-edit-newtag" size="84" title="{{$help_tags}}" type="text" />
-
- <div id="photo-edit-tags-end"></div>
- <div id="photo-edit-rotate-wrapper">
- <div id="photo-edit-rotate-label">
- {{$rotatecw}}<br>
- {{$rotateccw}}
- </div>
- <input type="radio" name="rotate" value="1" /><br>
- <input type="radio" name="rotate" value="2" />
- </div>
- <div id="photo-edit-rotate-end"></div>
-
- <div id="photo-edit-perms" class="photo-edit-perms" >
- <a href="#photo-edit-perms-select" id="photo-edit-perms-menu" class="button popupbox" title="{{$permissions}}"/>
- <span id="jot-perms-icon" class="icon {{$lockstate}}" ></span>{{$permissions}}
- </a>
- <div id="photo-edit-perms-menu-end"></div>
-
- <div style="display: none;">
- <div id="photo-edit-perms-select" >
- {{$aclselect}}
- </div>
- </div>
- </div>
- <div id="photo-edit-perms-end"></div>
-
- <input id="photo-edit-submit-button" type="submit" name="submit" value="{{$submit}}" />
- <input id="photo-edit-delete-button" type="submit" name="delete" value="{{$delete}}" onclick="return confirmDelete()"; />
-
- <div id="photo-edit-end"></div>
-</form>
-
-
diff --git a/view/tpl/smarty3/photo_item.tpl b/view/tpl/smarty3/photo_item.tpl
deleted file mode 100644
index 7d6ac96ee..000000000
--- a/view/tpl/smarty3/photo_item.tpl
+++ /dev/null
@@ -1,27 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="wall-item-outside-wrapper{{$indent}}" id="wall-item-outside-wrapper-{{$id}}" >
- <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-{{$id}}" >
- <a href="{{$profile_url}}" title="View {{$name}}'s profile" class="wall-item-photo-link" id="wall-item-photo-link-{{$id}}">
- <img src="{{$thumb}}" class="wall-item-photo" id="wall-item-photo-{{$id}}" style="height: 80px; width: 80px;" alt="{{$name}}" /></a>
- </div>
-
- <div class="wall-item-wrapper" id="wall-item-wrapper-{{$id}}" >
- <a href="{{$profile_url}}" title="View {{$name}}'s profile" class="wall-item-name-link"><span class="wall-item-name" id="wall-item-name-{{$id}}" >{{$name}}</span></a>
- <div class="wall-item-ago" id="wall-item-ago-{{$id}}">{{$ago}}</div>
- </div>
- <div class="wall-item-content" id="wall-item-content-{{$id}}" >
- <div class="wall-item-title" id="wall-item-title-{{$id}}">{{$title}}</div>
- <div class="wall-item-body" id="wall-item-body-{{$id}}" >{{$body}}</div>
- </div>
- {{$drop}}
- <div class="wall-item-wrapper-end"></div>
- <div class="wall-item-comment-separator"></div>
- {{$comment}}
-
-<div class="wall-item-outside-wrapper-end{{$indent}}" ></div>
-</div>
-
diff --git a/view/tpl/smarty3/photo_top.tpl b/view/tpl/smarty3/photo_top.tpl
deleted file mode 100644
index b34e1e639..000000000
--- a/view/tpl/smarty3/photo_top.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<div class="photo-top-image-wrapper lframe" id="photo-top-image-wrapper-{{$photo.id}}">
- <a href="{{$photo.link}}" class="photo-top-photo-link" id="photo-top-photo-link-{{$photo.id}}" title="{{$photo.title}}">
- <img src="{{$photo.src}}" alt="{{$photo.alt}}" title="{{$photo.title}}" class="photo-top-photo{{$photo.twist}}" id="photo-top-photo-{{$photo.id}}" />
- </a>
- <div class="photo-top-album-name"><a href="{{$photo.album.link}}" class="photo-top-album-link" title="{{$photo.album.alt}}" >{{$photo.album.name}}</a></div>
-</div>
-
diff --git a/view/tpl/smarty3/photo_view.tpl b/view/tpl/smarty3/photo_view.tpl
deleted file mode 100644
index 94f71bdd8..000000000
--- a/view/tpl/smarty3/photo_view.tpl
+++ /dev/null
@@ -1,42 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="live-display"></div>
-<h3><a href="{{$album.0}}">{{$album.1}}</a></h3>
-
-<div id="photo-edit-link-wrap">
-{{if $tools}}
-<a id="photo-edit-link" href="{{$tools.edit.0}}">{{$tools.edit.1}}</a>
-|
-<a id="photo-toprofile-link" href="{{$tools.profile.0}}">{{$tools.profile.1}}</a>
-{{/if}}
-{{if $lock}} | <img src="images/lock_icon.gif" class="lockview" alt="{{$lock}}" onclick="lockview(event,'photo/{{$id}}');" /> {{/if}}
-</div>
-
-{{if $prevlink}}<div id="photo-prev-link"><a href="{{$prevlink.0}}">{{$prevlink.1}}</a></div>{{/if}}
-<div id="photo-photo"><a href="{{$photo.href}}" title="{{$photo.title}}"><img src="{{$photo.src}}" /></a></div>
-{{if $nextlink}}<div id="photo-next-link"><a href="{{$nextlink.0}}">{{$nextlink.1}}</a></div>{{/if}}
-<div id="photo-photo-end"></div>
-<div id="photo-caption">{{$desc}}</div>
-{{if $tags}}
-<div id="in-this-photo-text">{{$tags.0}}</div>
-<div id="in-this-photo">{{$tags.1}}</div>
-{{/if}}
-{{if $tags.2}}<div id="tag-remove"><a href="{{$tags.2}}">{{$tags.3}}</a></div>{{/if}}
-
-{{if $edit}}{{$edit}}{{/if}}
-
-{{if $likebuttons}}
-<div id="photo-like-div">
- {{$likebuttons}}
- {{$like}}
- {{$dislike}}
-</div>
-{{/if}}
-
-{{$comments}}
-
-{{$paginate}}
-
diff --git a/view/tpl/smarty3/photos_recent.tpl b/view/tpl/smarty3/photos_recent.tpl
deleted file mode 100644
index cb2411df3..000000000
--- a/view/tpl/smarty3/photos_recent.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$title}}</h3>
-{{if $can_post}}
-<a id="photo-top-upload-link" href="{{$upload.1}}">{{$upload.0}}</a>
-{{/if}}
-
-<div class="photos">
-{{foreach $photos as $photo}}
- {{include file="photo_top.tpl"}}
-{{/foreach}}
-</div>
-<div class="photos-end"></div>
diff --git a/view/tpl/smarty3/photos_upload.tpl b/view/tpl/smarty3/photos_upload.tpl
deleted file mode 100644
index 713e1169d..000000000
--- a/view/tpl/smarty3/photos_upload.tpl
+++ /dev/null
@@ -1,51 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$pagename}}</h3>
-
-<div id="photos-usage-message">{{$usage}}</div>
-
-<form action="photos/{{$nickname}}" enctype="multipart/form-data" method="post" name="photos-upload-form" id="photos-upload-form" >
- <div id="photos-upload-new-wrapper" >
- <div id="photos-upload-newalbum-div">
- <label id="photos-upload-newalbum-text" for="photos-upload-newalbum" >{{$newalbum}}</label>
- </div>
- <input id="photos-upload-newalbum" type="text" name="newalbum" />
- </div>
- <div id="photos-upload-new-end"></div>
- <div id="photos-upload-exist-wrapper">
- <div id="photos-upload-existing-album-text">{{$existalbumtext}}</div>
- {{$albumselect}}
- </div>
- <div id="photos-upload-exist-end"></div>
-
- <div id="photos-upload-noshare-div" class="photos-upload-noshare-div" >
- <input id="photos-upload-noshare" type="checkbox" name="not_visible" value="1" />
- <label id="photos-upload-noshare-text" for="photos-upload-noshare" >{{$nosharetext}}</label>
- </div>
-
-
- <div id="photos-upload-perms" class="photos-upload-perms" >
- <a href="#photos-upload-permissions-wrapper" id="photos-upload-perms-menu" class="button popupbox" />
- <span id="jot-perms-icon" class="icon {{$lockstate}}" ></span>{{$permissions}}
- </a>
- </div>
- <div id="photos-upload-perms-end"></div>
-
- <div style="display: none;">
- <div id="photos-upload-permissions-wrapper">
- {{$aclselect}}
- </div>
- </div>
-
- <div id="photos-upload-spacer"></div>
-
- {{$uploader}}
-
- {{$default}}
-
- <div class="photos-upload-end" ></div>
-</form>
-
diff --git a/view/tpl/smarty3/poco_entry_xml.tpl b/view/tpl/smarty3/poco_entry_xml.tpl
deleted file mode 100644
index d6e139cb5..000000000
--- a/view/tpl/smarty3/poco_entry_xml.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<entry>
-{{if $entry.id}}<id>{{$entry.id}}</id>{{/if}}
-{{if $entry.displayName}}<displayName>{{$entry.displayName}}</displayName>{{/if}}
-{{if $entry.preferredUsername}}<preferredUsername>{{$entry.preferredUsername}}</preferredUsername>{{/if}}
-{{if $entry.urls}}{{foreach $entry.urls as $url}}<urls><value>{{$url.value}}</value><type>{{$url.type}}</type></urls>{{/foreach}}{{/if}}
-{{if $entry.photos}}{{foreach $entry.photos as $photo}}<photos><value>{{$photo.value}}</value><type>{{$photo.type}}</type></photos>{{/foreach}}{{/if}}
-</entry>
diff --git a/view/tpl/smarty3/poco_xml.tpl b/view/tpl/smarty3/poco_xml.tpl
deleted file mode 100644
index b8cd8fc08..000000000
--- a/view/tpl/smarty3/poco_xml.tpl
+++ /dev/null
@@ -1,23 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<?xml version="1.0" encoding="utf-8"?>
-<response>
-{{if $response.sorted}}<sorted>{{$response.sorted}}</sorted>{{/if}}
-{{if $response.filtered}}<filtered>{{$response.filtered}}</filtered>{{/if}}
-{{if $response.updatedSince}}<updatedSince>{{$response.updatedSince}}</updatedSince>{{/if}}
-<startIndex>{{$response.startIndex}}</startIndex>
-<itemsPerPage>{{$response.itemsPerPage}}</itemsPerPage>
-<totalResults>{{$response.totalResults}}</totalResults>
-
-
-{{if $response.totalResults}}
-{{foreach $response.entry as $entry}}
-{{include file="poco_entry_xml.tpl"}}
-{{/foreach}}
-{{else}}
-<entry></entry>
-{{/if}}
-</response>
diff --git a/view/tpl/smarty3/poke_content.tpl b/view/tpl/smarty3/poke_content.tpl
deleted file mode 100644
index 6235aca0c..000000000
--- a/view/tpl/smarty3/poke_content.tpl
+++ /dev/null
@@ -1,37 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$title}}</h3>
-
-<div id="poke-desc">{{$desc}}</div>
-
-<form action="poke" method="get">
-<br />
-<br />
-
-<div id="poke-recip-label">{{$clabel}}</div>
-<br />
-<input id="poke-recip" type="text" size="64" maxlength="255" value="{{$name}}" name="pokename" autocomplete="off" />
-<input id="poke-recip-complete" type="hidden" value="{{$id}}" name="cid" />
-<input id="poke-parent" type="hidden" value="{{$parent}}" name="parent" />
-<br />
-<br />
-<div id="poke-action-label">{{$choice}}</div>
-<br />
-<br />
-<select name="verb" id="poke-verb-select" >
-{{foreach $verbs as $v}}
-<option value="{{$v.0}}">{{$v.1}}</option>
-{{/foreach}}
-</select>
-<br />
-<br />
-<div id="poke-private-desc">{{$prv_desc}}</div>
-<input type="checkbox" name="private" {{if $parent}}disabled="disabled"{{/if}} value="1" />
-<br />
-<br />
-<input type="submit" name="submit" value="{{$submit}}" />
-</form>
-
diff --git a/view/tpl/smarty3/posted_date_widget.tpl b/view/tpl/smarty3/posted_date_widget.tpl
deleted file mode 100644
index 2f5838edb..000000000
--- a/view/tpl/smarty3/posted_date_widget.tpl
+++ /dev/null
@@ -1,14 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="datebrowse-sidebar" class="widget">
- <h3>{{$title}}</h3>
-<script>function dateSubmit(dateurl) { window.location.href = dateurl; } </script>
-<select id="posted-date-selector" name="posted-date-select" onchange="dateSubmit($(this).val());" size="{{$size}}">
-{{foreach $dates as $d}}
-<option value="{{$url}}/{{$d.1}}/{{$d.2}}" >{{$d.0}}</option>
-{{/foreach}}
-</select>
-</div>
diff --git a/view/tpl/smarty3/profed_head.tpl b/view/tpl/smarty3/profed_head.tpl
deleted file mode 100644
index 37a038d4f..000000000
--- a/view/tpl/smarty3/profed_head.tpl
+++ /dev/null
@@ -1,41 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<script language="javascript" type="text/javascript"
- src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
- <script language="javascript" type="text/javascript">
-
-
-tinyMCE.init({
- theme : "advanced",
- mode : "{{$editselect}}",
- plugins : "bbcode,paste",
- theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : "",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "center",
- theme_advanced_blockformats : "blockquote,code",
- gecko_spellcheck : true,
- paste_text_sticky : true,
- entity_encoding : "raw",
- add_unload_trigger : false,
- remove_linebreaks : false,
- force_p_newlines : false,
- force_br_newlines : true,
- forced_root_block : '',
- content_css: "{{$baseurl}}/view/custom_tinymce.css",
- theme_advanced_path : false,
- setup : function(ed) {
- ed.onInit.add(function(ed) {
- ed.pasteAsPlainText = true;
- });
- }
-
-});
-
-
-</script>
-
diff --git a/view/tpl/smarty3/profile-hide-friends.tpl b/view/tpl/smarty3/profile-hide-friends.tpl
deleted file mode 100644
index 6e3d395d0..000000000
--- a/view/tpl/smarty3/profile-hide-friends.tpl
+++ /dev/null
@@ -1,21 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<p id="hide-friends-text">
-{{$desc}}
-</p>
-
- <div id="hide-friends-yes-wrapper">
- <label id="hide-friends-yes-label" for="hide-friends-yes">{{$yes_str}}</label>
- <input type="radio" name="hide-friends" id="hide-friends-yes" {{$yes_selected}} value="1" />
-
- <div id="hide-friends-break" ></div>
- </div>
- <div id="hide-friends-no-wrapper">
- <label id="hide-friends-no-label" for="hide-friends-no">{{$no_str}}</label>
- <input type="radio" name="hide-friends" id="hide-friends-no" {{$no_selected}} value="0" />
-
- <div id="hide-friends-end"></div>
- </div>
diff --git a/view/tpl/smarty3/profile-hide-wall.tpl b/view/tpl/smarty3/profile-hide-wall.tpl
deleted file mode 100644
index 755908d17..000000000
--- a/view/tpl/smarty3/profile-hide-wall.tpl
+++ /dev/null
@@ -1,21 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<p id="hide-wall-text">
-{{$desc}}
-</p>
-
- <div id="hide-wall-yes-wrapper">
- <label id="hide-wall-yes-label" for="hide-wall-yes">{{$yes_str}}</label>
- <input type="radio" name="hidewall" id="hide-wall-yes" {{$yes_selected}} value="1" />
-
- <div id="hide-wall-break" ></div>
- </div>
- <div id="hide-wall-no-wrapper">
- <label id="hide-wall-no-label" for="hide-wall-no">{{$no_str}}</label>
- <input type="radio" name="hidewall" id="hide-wall-no" {{$no_selected}} value="0" />
-
- <div id="hide-wall-end"></div>
- </div>
diff --git a/view/tpl/smarty3/profile-in-directory.tpl b/view/tpl/smarty3/profile-in-directory.tpl
deleted file mode 100644
index 0efd1bf5c..000000000
--- a/view/tpl/smarty3/profile-in-directory.tpl
+++ /dev/null
@@ -1,21 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<p id="profile-in-directory">
-{{$desc}}
-</p>
-
- <div id="profile-in-dir-yes-wrapper">
- <label id="profile-in-dir-yes-label" for="profile-in-dir-yes">{{$yes_str}}</label>
- <input type="radio" name="profile_in_directory" id="profile-in-dir-yes" {{$yes_selected}} value="1" />
-
- <div id="profile-in-dir-break" ></div>
- </div>
- <div id="profile-in-dir-no-wrapper">
- <label id="profile-in-dir-no-label" for="profile-in-dir-no">{{$no_str}}</label>
- <input type="radio" name="profile_in_directory" id="profile-in-dir-no" {{$no_selected}} value="0" />
-
- <div id="profile-in-dir-end"></div>
- </div>
diff --git a/view/tpl/smarty3/profile-in-netdir.tpl b/view/tpl/smarty3/profile-in-netdir.tpl
deleted file mode 100644
index b9cb456ea..000000000
--- a/view/tpl/smarty3/profile-in-netdir.tpl
+++ /dev/null
@@ -1,21 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<p id="profile-in-directory">
-{{$desc}}
-</p>
-
- <div id="profile-in-netdir-yes-wrapper">
- <label id="profile-in-netdir-yes-label" for="profile-in-netdir-yes">{{$yes_str}}</label>
- <input type="radio" name="profile_in_netdirectory" id="profile-in-netdir-yes" {{$yes_selected}} value="1" />
-
- <div id="profile-in-netdir-break" ></div>
- </div>
- <div id="profile-in-netdir-no-wrapper">
- <label id="profile-in-netdir-no-label" for="profile-in-netdir-no">{{$no_str}}</label>
- <input type="radio" name="profile_in_netdirectory" id="profile-in-netdir-no" {{$no_selected}} value="0" />
-
- <div id="profile-in-netdir-end"></div>
- </div>
diff --git a/view/tpl/smarty3/profile_advanced.tpl b/view/tpl/smarty3/profile_advanced.tpl
deleted file mode 100644
index f8743c011..000000000
--- a/view/tpl/smarty3/profile_advanced.tpl
+++ /dev/null
@@ -1,175 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h2>{{$title}}</h2>
-
-<dl id="aprofile-fullname" class="aprofile">
- <dt>{{$profile.fullname.0}}</dt>
- <dd>{{$profile.fullname.1}}</dd>
-</dl>
-
-{{if $profile.gender}}
-<dl id="aprofile-gender" class="aprofile">
- <dt>{{$profile.gender.0}}</dt>
- <dd>{{$profile.gender.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.birthday}}
-<dl id="aprofile-birthday" class="aprofile">
- <dt>{{$profile.birthday.0}}</dt>
- <dd>{{$profile.birthday.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.age}}
-<dl id="aprofile-age" class="aprofile">
- <dt>{{$profile.age.0}}</dt>
- <dd>{{$profile.age.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.marital}}
-<dl id="aprofile-marital" class="aprofile">
- <dt><span class="heart">&hearts;</span> {{$profile.marital.0}}</dt>
- <dd>{{$profile.marital.1}}{{if $profile.marital.with}} ({{$profile.marital.with}}){{/if}}{{if $profile.howlong}} {{$profile.howlong}}{{/if}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.sexual}}
-<dl id="aprofile-sexual" class="aprofile">
- <dt>{{$profile.sexual.0}}</dt>
- <dd>{{$profile.sexual.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.keywords}}
-<dl id="aprofile-tags" class="aprofile">
- <dt>{{$profile.keywords.0}}</dt>
- <dd>{{$profile.keywords.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.homepage}}
-<dl id="aprofile-homepage" class="aprofile">
- <dt>{{$profile.homepage.0}}</dt>
- <dd>{{$profile.homepage.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.hometown}}
-<dl id="aprofile-hometown" class="aprofile">
- <dt>{{$profile.hometown.0}}</dt>
- <dd>{{$profile.hometown.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.politic}}
-<dl id="aprofile-politic" class="aprofile">
- <dt>{{$profile.politic.0}}</dt>
- <dd>{{$profile.politic.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.religion}}
-<dl id="aprofile-religion" class="aprofile">
- <dt>{{$profile.religion.0}}</dt>
- <dd>{{$profile.religion.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.about}}
-<dl id="aprofile-about" class="aprofile">
- <dt>{{$profile.about.0}}</dt>
- <dd>{{$profile.about.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.interest}}
-<dl id="aprofile-interest" class="aprofile">
- <dt>{{$profile.interest.0}}</dt>
- <dd>{{$profile.interest.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.likes}}
-<dl id="aprofile-likes" class="aprofile">
- <dt>{{$profile.likes.0}}</dt>
- <dd>{{$profile.likes.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.dislikes}}
-<dl id="aprofile-dislikes" class="aprofile">
- <dt>{{$profile.dislikes.0}}</dt>
- <dd>{{$profile.dislikes.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.contact}}
-<dl id="aprofile-contact" class="aprofile">
- <dt>{{$profile.contact.0}}</dt>
- <dd>{{$profile.contact.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.music}}
-<dl id="aprofile-music" class="aprofile">
- <dt>{{$profile.music.0}}</dt>
- <dd>{{$profile.music.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.book}}
-<dl id="aprofile-book" class="aprofile">
- <dt>{{$profile.book.0}}</dt>
- <dd>{{$profile.book.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.tv}}
-<dl id="aprofile-tv" class="aprofile">
- <dt>{{$profile.tv.0}}</dt>
- <dd>{{$profile.tv.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.film}}
-<dl id="aprofile-film" class="aprofile">
- <dt>{{$profile.film.0}}</dt>
- <dd>{{$profile.film.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.romance}}
-<dl id="aprofile-romance" class="aprofile">
- <dt>{{$profile.romance.0}}</dt>
- <dd>{{$profile.romance.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.work}}
-<dl id="aprofile-work" class="aprofile">
- <dt>{{$profile.work.0}}</dt>
- <dd>{{$profile.work.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.education}}
-<dl id="aprofile-education" class="aprofile">
- <dt>{{$profile.education.0}}</dt>
- <dd>{{$profile.education.1}}</dd>
-</dl>
-{{/if}}
-
-
-
-
diff --git a/view/tpl/smarty3/profile_edit.tpl b/view/tpl/smarty3/profile_edit.tpl
deleted file mode 100644
index 3a2652a68..000000000
--- a/view/tpl/smarty3/profile_edit.tpl
+++ /dev/null
@@ -1,316 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{$default}}
-
-<h1>{{$banner}}</h1>
-
-<div id="profile-edit-links">
-<ul>
-<li><a href="profile_photo" id="profile-photo_upload-link" title="{{$profpic}}">{{$profpic}}</a></li>
-<li><a href="profile/{{$profile_id}}/view?tab=profile" id="profile-edit-view-link" title="{{$viewprof}}">{{$viewprof}}</a></li>
-<li><a href="{{$profile_clone_link}}" id="profile-edit-clone-link" title="{{$cr_prof}}">{{$cl_prof}}</a></li>
-<li></li>
-<li><a href="{{$profile_drop_link}}" id="profile-edit-drop-link" title="{{$del_prof}}" {{$disabled}} >{{$del_prof}}</a></li>
-
-</ul>
-</div>
-
-<div id="profile-edit-links-end"></div>
-
-
-<div id="profile-edit-wrapper" >
-<form id="profile-edit-form" name="form1" action="profiles/{{$profile_id}}" method="post" >
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
-<div id="profile-edit-profile-name-wrapper" >
-<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
-<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name}}" /><div class="required">*</div>
-</div>
-<div id="profile-edit-profile-name-end"></div>
-
-<div id="profile-edit-name-wrapper" >
-<label id="profile-edit-name-label" for="profile-edit-name" >{{$lbl_fullname}} </label>
-<input type="text" size="32" name="name" id="profile-edit-name" value="{{$name}}" />
-</div>
-<div id="profile-edit-name-end"></div>
-
-<div id="profile-edit-pdesc-wrapper" >
-<label id="profile-edit-pdesc-label" for="profile-edit-pdesc" >{{$lbl_title}} </label>
-<input type="text" size="32" name="pdesc" id="profile-edit-pdesc" value="{{$pdesc}}" />
-</div>
-<div id="profile-edit-pdesc-end"></div>
-
-
-<div id="profile-edit-gender-wrapper" >
-<label id="profile-edit-gender-label" for="gender-select" >{{$lbl_gender}} </label>
-{{$gender}}
-</div>
-<div id="profile-edit-gender-end"></div>
-
-<div id="profile-edit-dob-wrapper" >
-<label id="profile-edit-dob-label" for="dob-select" >{{$lbl_bd}} </label>
-<div id="profile-edit-dob" >
-{{$dob}} {{$age}}
-</div>
-</div>
-<div id="profile-edit-dob-end"></div>
-
-{{$hide_friends}}
-
-<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
-</div>
-<div class="profile-edit-submit-end"></div>
-
-
-<div id="profile-edit-address-wrapper" >
-<label id="profile-edit-address-label" for="profile-edit-address" >{{$lbl_address}} </label>
-<input type="text" size="32" name="address" id="profile-edit-address" value="{{$address}}" />
-</div>
-<div id="profile-edit-address-end"></div>
-
-<div id="profile-edit-locality-wrapper" >
-<label id="profile-edit-locality-label" for="profile-edit-locality" >{{$lbl_city}} </label>
-<input type="text" size="32" name="locality" id="profile-edit-locality" value="{{$locality}}" />
-</div>
-<div id="profile-edit-locality-end"></div>
-
-
-<div id="profile-edit-postal-code-wrapper" >
-<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >{{$lbl_zip}} </label>
-<input type="text" size="32" name="postal_code" id="profile-edit-postal-code" value="{{$postal_code}}" />
-</div>
-<div id="profile-edit-postal-code-end"></div>
-
-
-<div id="profile-edit-region-wrapper" >
-<label id="profile-edit-region-label" for="profile-edit-region" >{{$lbl_region}} </label>
-<input type="text" size="32" name="region" id="profile-edit-region" value="{{$region}}" />
-</div>
-<div id="profile-edit-region-end"></div>
-
-<div id="profile-edit-country-name-wrapper" >
-<label id="profile-edit-country-name-label" for="profile-edit-country-name" >{{$lbl_country}} </label>
-<input type="text" size="32" name="country_name" id="profile-edit-country-name" value="{{$country_name}}" />
-</div>
-<div id="profile-edit-country-name-end"></div>
-
-<div id="profile-edit-hometown-wrapper" >
-<label id="profile-edit-hometown-label" for="profile-edit-hometown" >{{$lbl_hometown}} </label>
-<input type="text" size="32" name="hometown" id="profile-edit-hometown" value="{{$hometown}}" />
-</div>
-<div id="profile-edit-hometown-end"></div>
-
-<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
-</div>
-<div class="profile-edit-submit-end"></div>
-
-<div id="profile-edit-marital-wrapper" >
-<label id="profile-edit-marital-label" for="profile-edit-marital" >{{$lbl_marital}} </label>
-{{$marital}}
-</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}}" />
-<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}}" />
-
-<div id="profile-edit-marital-end"></div>
-
-<div id="profile-edit-sexual-wrapper" >
-<label id="profile-edit-sexual-label" for="sexual-select" >{{$lbl_sexual}} </label>
-{{$sexual}}
-</div>
-<div id="profile-edit-sexual-end"></div>
-
-
-
-<div id="profile-edit-homepage-wrapper" >
-<label id="profile-edit-homepage-label" for="profile-edit-homepage" >{{$lbl_homepage}} </label>
-<input type="text" size="32" name="homepage" id="profile-edit-homepage" value="{{$homepage}}" />
-</div>
-<div id="profile-edit-homepage-end"></div>
-
-<div id="profile-edit-politic-wrapper" >
-<label id="profile-edit-politic-label" for="profile-edit-politic" >{{$lbl_politic}} </label>
-<input type="text" size="32" name="politic" id="profile-edit-politic" value="{{$politic}}" />
-</div>
-<div id="profile-edit-politic-end"></div>
-
-<div id="profile-edit-religion-wrapper" >
-<label id="profile-edit-religion-label" for="profile-edit-religion" >{{$lbl_religion}} </label>
-<input type="text" size="32" name="religion" id="profile-edit-religion" value="{{$religion}}" />
-</div>
-<div id="profile-edit-religion-end"></div>
-
-<div id="profile-edit-pubkeywords-wrapper" >
-<label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords" >{{$lbl_pubkey}} </label>
-<input type="text" size="32" name="keywords" id="profile-edit-pubkeywords" title="{{$lbl_ex2}}" value="{{$keywords}}" />
-</div><div id="profile-edit-pubkeywords-desc">{{$lbl_pubdsc}}</div>
-<div id="profile-edit-pubkeywords-end"></div>
-
-<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
-</div>
-<div class="profile-edit-submit-end"></div>
-
-<div id="about-jot-wrapper" >
-<p id="about-jot-desc" >
-{{$lbl_about}}
-</p>
-
-<textarea rows="10" cols="72" id="profile-about-text" name="about" >{{$about}}</textarea>
-
-</div>
-<div id="about-jot-end"></div>
-
-
-<div id="interest-jot-wrapper" >
-<p id="interest-jot-desc" >
-{{$lbl_hobbies}}
-</p>
-
-<textarea rows="10" cols="72" id="interest-jot-text" name="interest" >{{$interest}}</textarea>
-
-</div>
-<div id="interest-jot-end"></div>
-
-
-<div id="likes-jot-wrapper" >
-<p id="likes-jot-desc" >
-{{$lbl_likes}}
-</p>
-
-<textarea rows="10" cols="72" id="likes-jot-text" name="likes" >{{$likes}}</textarea>
-
-</div>
-<div id="likes-jot-end"></div>
-
-
-<div id="dislikes-jot-wrapper" >
-<p id="dislikes-jot-desc" >
-{{$lbl_dislikes}}
-</p>
-
-<textarea rows="10" cols="72" id="dislikes-jot-text" name="dislikes" >{{$dislikes}}</textarea>
-
-</div>
-<div id="dislikes-jot-end"></div>
-
-
-<div id="contact-jot-wrapper" >
-<p id="contact-jot-desc" >
-{{$lbl_social}}
-</p>
-
-<textarea rows="10" cols="72" id="contact-jot-text" name="contact" >{{$contact}}</textarea>
-
-</div>
-<div id="contact-jot-end"></div>
-
-
-<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
-</div>
-<div class="profile-edit-submit-end"></div>
-
-
-<div id="music-jot-wrapper" >
-<p id="music-jot-desc" >
-{{$lbl_music}}
-</p>
-
-<textarea rows="10" cols="72" id="music-jot-text" name="music" >{{$music}}</textarea>
-
-</div>
-<div id="music-jot-end"></div>
-
-<div id="book-jot-wrapper" >
-<p id="book-jot-desc" >
-{{$lbl_book}}
-</p>
-
-<textarea rows="10" cols="72" id="book-jot-text" name="book" >{{$book}}</textarea>
-
-</div>
-<div id="book-jot-end"></div>
-
-
-
-<div id="tv-jot-wrapper" >
-<p id="tv-jot-desc" >
-{{$lbl_tv}}
-</p>
-
-<textarea rows="10" cols="72" id="tv-jot-text" name="tv" >{{$tv}}</textarea>
-
-</div>
-<div id="tv-jot-end"></div>
-
-
-
-<div id="film-jot-wrapper" >
-<p id="film-jot-desc" >
-{{$lbl_film}}
-</p>
-
-<textarea rows="10" cols="72" id="film-jot-text" name="film" >{{$film}}</textarea>
-
-</div>
-<div id="film-jot-end"></div>
-
-
-<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
-</div>
-<div class="profile-edit-submit-end"></div>
-
-
-<div id="romance-jot-wrapper" >
-<p id="romance-jot-desc" >
-{{$lbl_love}}
-</p>
-
-<textarea rows="10" cols="72" id="romance-jot-text" name="romance" >{{$romance}}</textarea>
-
-</div>
-<div id="romance-jot-end"></div>
-
-
-
-<div id="work-jot-wrapper" >
-<p id="work-jot-desc" >
-{{$lbl_work}}
-</p>
-
-<textarea rows="10" cols="72" id="work-jot-text" name="work" >{{$work}}</textarea>
-
-</div>
-<div id="work-jot-end"></div>
-
-
-
-<div id="education-jot-wrapper" >
-<p id="education-jot-desc" >
-{{$lbl_school}}
-</p>
-
-<textarea rows="10" cols="72" id="education-jot-text" name="education" >{{$education}}</textarea>
-
-</div>
-<div id="education-jot-end"></div>
-
-
-
-<div class="profile-edit-submit-wrapper" >
-<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
-</div>
-<div class="profile-edit-submit-end"></div>
-
-
-</form>
-</div>
-
diff --git a/view/tpl/smarty3/profile_edlink.tpl b/view/tpl/smarty3/profile_edlink.tpl
deleted file mode 100644
index 9424bcc3d..000000000
--- a/view/tpl/smarty3/profile_edlink.tpl
+++ /dev/null
@@ -1,7 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="profile-edit-side-div"><a class="profile-edit-side-link icon edit" title="{{$editprofile}}" href="profiles/{{$profid}}" ></a></div>
-<div class="clear"></div> \ No newline at end of file
diff --git a/view/tpl/smarty3/profile_entry.tpl b/view/tpl/smarty3/profile_entry.tpl
deleted file mode 100644
index 4774fd11b..000000000
--- a/view/tpl/smarty3/profile_entry.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<div class="profile-listing" >
-<div class="profile-listing-photo-wrapper" >
-<a href="profiles/{{$id}}" class="profile-listing-edit-link"><img class="profile-listing-photo" id="profile-listing-photo-{{$id}}" src="{{$photo}}" alt="{{$alt}}" /></a>
-</div>
-<div class="profile-listing-photo-end"></div>
-<div class="profile-listing-name" id="profile-listing-name-{{$id}}"><a href="profiles/{{$id}}" class="profile-listing-edit-link" >{{$profile_name}}</a></div>
-<div class="profile-listing-visible">{{$visible}}</div>
-</div>
-<div class="profile-listing-end"></div>
-
diff --git a/view/tpl/smarty3/profile_listing_header.tpl b/view/tpl/smarty3/profile_listing_header.tpl
deleted file mode 100644
index f77bdcc80..000000000
--- a/view/tpl/smarty3/profile_listing_header.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$header}}</h1>
-<p id="profile-listing-desc" class="button" >
-<a href="profile_photo" >{{$chg_photo}}</a>
-</p>
-<div 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/smarty3/profile_photo.tpl b/view/tpl/smarty3/profile_photo.tpl
deleted file mode 100644
index 8c4fbfafa..000000000
--- a/view/tpl/smarty3/profile_photo.tpl
+++ /dev/null
@@ -1,34 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-
-<form enctype="multipart/form-data" action="profile_photo" method="post">
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
-<div id="profile-photo-upload-wrapper">
-
-<label id="profile-photo-upload-label" class="form-label" for="profile-photo-upload">{{$lbl_upfile}}</label>
-<input name="userfile" class="form-input" type="file" id="profile-photo-upload" size="48" />
-<div class="clear"></div>
-
-<label id="profile-photo-profiles-label" class="form-label" for="profile-photo-profiles">{{$lbl_profiles}}</label>
-<select name="profile" id="profile-photo-profiles" class="form-input" >
-{{foreach $profiles as $p}}
-<option value="{{$p.id}}" {{if $p.is_default}}selected="selected"{{/if}}>{{$p.name}}</option>
-{{/foreach}}
-</select>
-<div class="clear"></div>
-
-<div id="profile-photo-submit-wrapper">
-<input type="submit" name="submit" id="profile-photo-submit" value="{{$submit}}">
-</div>
-</div>
-
-</form>
-
-<div id="profile-photo-link-select-wrapper">
-{{$select}}
-</div> \ No newline at end of file
diff --git a/view/tpl/smarty3/profile_publish.tpl b/view/tpl/smarty3/profile_publish.tpl
deleted file mode 100644
index 1dc9eb7fc..000000000
--- a/view/tpl/smarty3/profile_publish.tpl
+++ /dev/null
@@ -1,21 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<p id="profile-publish-desc-{{$instance}}">
-{{$pubdesc}}
-</p>
-
- <div id="profile-publish-yes-wrapper-{{$instance}}">
- <label id="profile-publish-yes-label-{{$instance}}" for="profile-publish-yes-{{$instance}}">{{$str_yes}}</label>
- <input type="radio" name="profile_publish_{{$instance}}" id="profile-publish-yes-{{$instance}}" {{$yes_selected}} value="1" />
-
- <div id="profile-publish-break-{{$instance}}" ></div>
- </div>
- <div id="profile-publish-no-wrapper-{{$instance}}">
- <label id="profile-publish-no-label-{{$instance}}" for="profile-publish-no-{{$instance}}">{{$str_no}}</label>
- <input type="radio" name="profile_publish_{{$instance}}" id="profile-publish-no-{{$instance}}" {{$no_selected}} value="0" />
-
- <div id="profile-publish-end-{{$instance}}"></div>
- </div>
diff --git a/view/tpl/smarty3/profile_vcard.tpl b/view/tpl/smarty3/profile_vcard.tpl
deleted file mode 100644
index 422b43720..000000000
--- a/view/tpl/smarty3/profile_vcard.tpl
+++ /dev/null
@@ -1,57 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="vcard">
-
- {{if $profile.edit}}
- <div class="action">
- <a class="profile-edit-side-link icon edit" rel="#profiles-menu" title="{{$profile.edit.3}}" href="#" ><span>{{$profile.edit.1}}</span></a>
- <ul id="profiles-menu" class="menu-popup">
- {{foreach $profile.menu.entries as $e}}
- <li>
- <a href="profiles/{{$e.id}}"><img src='{{$e.photo}}'>{{$e.profile_name}}</a>
- </li>
- {{/foreach}}
- <li><a href="profile_photo" >{{$profile.menu.chg_photo}}</a></li>
- <li><a href="profiles/new" id="profile-listing-new-link">{{$profile.menu.cr_new}}</a></li>
-
- </ul>
- </div>
- {{/if}}
-
- <div class="fn label">{{$profile.name}}</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>
-
-
-
- {{if $location}}
- <dl class="location"><dt class="location-label">{{$location}}</dt>
- <dd class="adr">
- {{if $profile.address}}<div class="street-address">{{$profile.address}}</div>{{/if}}
- <span class="city-state-zip">
- <span class="locality">{{$profile.locality}}</span>{{if $profile.locality}}, {{/if}}
- <span class="region">{{$profile.region}}</span>
- <span class="postal-code">{{$profile.postal_code}}</span>
- </span>
- {{if $profile.country_name}}<span class="country-name">{{$profile.country_name}}</span>{{/if}}
- </dd>
- </dl>
- {{/if}}
-
- {{if $gender}}<dl class="mf"><dt class="gender-label">{{$gender}}</dt> <dd class="x-gender">{{$profile.gender}}</dd></dl>{{/if}}
-
-
- {{if $marital}}<dl class="marital"><dt class="marital-label"><span class="heart">&hearts;</span>{{$marital}}</dt><dd class="marital-text">{{$profile.marital}}</dd></dl>{{/if}}
-
- {{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url"><a href="{{$profile.homepage}}" >{{$profile.homepage}}</a></dd></dl>{{/if}}
-
-
-</div>
-<div id="vcard-end"></div>
-{{$contact_block}}
-
-
diff --git a/view/tpl/smarty3/prv_message.tpl b/view/tpl/smarty3/prv_message.tpl
deleted file mode 100644
index 1f41d2662..000000000
--- a/view/tpl/smarty3/prv_message.tpl
+++ /dev/null
@@ -1,44 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<h3>{{$header}}</h3>
-
-<div id="prvmail-wrapper" >
-<form id="prvmail-form" action="message" method="post" >
-
-{{$parent}}
-
-<div id="prvmail-to-label">{{$to}}</div>
-
-{{if $showinputs}}
-<input type="text" id="recip" name="messagerecip" value="{{$prefill}}" maxlength="255" size="64" tabindex="10" />
-<input type="hidden" id="recip-complete" name="messageto" value="{{$preid}}">
-{{else}}
-{{$select}}
-{{/if}}
-
-<div id="prvmail-subject-label">{{$subject}}</div>
-<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="{{$subjtxt}}" {{$readonly}} tabindex="11" />
-
-<div id="prvmail-message-label">{{$yourmessage}}</div>
-<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">{{$text}}</textarea>
-
-
-<div id="prvmail-submit-wrapper" >
- <input type="submit" id="prvmail-submit" name="submit" value="{{$submit}}" tabindex="13" />
- <div id="prvmail-upload-wrapper" >
- <div id="prvmail-upload" class="icon border camera" title="{{$upload}}" ></div>
- </div>
- <div id="prvmail-link-wrapper" >
- <div id="prvmail-link" class="icon border link" title="{{$insert}}" onclick="jotGetLink();" ></div>
- </div>
- <div id="prvmail-rotator-wrapper" >
- <img id="prvmail-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />
- </div>
-</div>
-<div id="prvmail-end"></div>
-</form>
-</div>
diff --git a/view/tpl/smarty3/pwdreset.tpl b/view/tpl/smarty3/pwdreset.tpl
deleted file mode 100644
index e86e1227f..000000000
--- a/view/tpl/smarty3/pwdreset.tpl
+++ /dev/null
@@ -1,22 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$lbl1}}</h3>
-
-<p>
-{{$lbl2}}
-</p>
-<p>
-{{$lbl3}}
-</p>
-<p>
-{{$newpass}}
-</p>
-<p>
-{{$lbl4}} {{$lbl5}}
-</p>
-<p>
-{{$lbl6}}
-</p>
diff --git a/view/tpl/smarty3/register.tpl b/view/tpl/smarty3/register.tpl
deleted file mode 100644
index 98d888f08..000000000
--- a/view/tpl/smarty3/register.tpl
+++ /dev/null
@@ -1,50 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h2>{{$title}}</h2>
-
-<form action="register" method="post" id="register-form">
-
-{{if $registertext}}
-<div id="register-desc" class="descriptive-paragraph">{{$registertext}}</div>
-{{/if}}
-
-{{if $invitations}}
- <p id="register-invite-desc">{{$invite_desc}}</p>
-
- <label for="register-invite" id="label-register-invite" class="register-label">{{$label_invite}}</label>
- <input type="text" maxlength="72" size="32" name="invite_code" id="register-invite" class="register-input" value="{{$invite_code}}" />
- <div id="register-invite-feedback" class="register-feedback"></div>
- <div id="register-invite-end" class="register-field-end"></div>
-{{/if}}
-
- <label for="register-email" id="label-register-email" class="register-label" >{{$label_email}}</label>
- <input type="text" maxlength="72" size="32" name="email" id="register-email" class="register-input" value="{{$email}}" />
- <div id="register-email-feedback" class="register-feedback"></div>
- <div id="register-email-end" class="register-field-end"></div>
-
- <label for="register-password" id="label-register-password" class="register-label" >{{$label_pass1}}</label>
- <input type="password" maxlength="72" size="32" name="password" id="register-password" class="register-input" value="{{$pass1}}" />
- <div id="register-password-feedback" class="register-feedback"></div>
- <div id="register-password-end" class="register-field-end"></div>
-
- <label for="register-password2" id="label-register-password2" class="register-label" >{{$label_pass2}}</label>
- <input type="password" maxlength="72" size="32" name="password2" id="register-password2" class="register-input" value="{{$pass2}}" />
- <div id="register-password2-feedback" class="register-feedback"></div>
- <div id="register-password2-end" class="register-field-end"></div>
-
- {{if $enable_tos}}
- <input type="checkbox" name="tos" id="register-tos" value="1" />
- <label for="register-tos" id="label-register-tos">{{$label_tos}}</label>
- <div id="register-tos-feedback" class="register-feedback"></div>
- <div id="register-tos-end" class="register-field-end"></div>
- {{else}}
- <input type="hidden" name="tos" value="1" />
- {{/if}}
-
- <input type="submit" name="submit" id="register-submit-button" value="{{$submit}}" />
- <div id="register-submit-end" class="register-field-end"></div>
-
-</form>
diff --git a/view/tpl/smarty3/remote_friends_common.tpl b/view/tpl/smarty3/remote_friends_common.tpl
deleted file mode 100644
index 8416b053a..000000000
--- a/view/tpl/smarty3/remote_friends_common.tpl
+++ /dev/null
@@ -1,26 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="remote-friends-in-common" class="bigwidget">
- <div id="rfic-desc">{{$desc}} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{if $linkmore}}<a href="{{$base}}/common/{{$uid}}">{{$more}}</a>{{/if}}</div>
- {{if $items}}
- {{foreach $items as $item}}
- <div class="profile-match-wrapper">
- <div class="profile-match-photo">
- <a href="{{$base}}/chanview?f=&url={{$item.xchan_url}}">
- <img src="{{$item.xchan_photo_m}}" width="80" height="80" alt="{{$item.xchan_name}}" title="{{$item.xchan_name}}" />
- </a>
- </div>
- <div class="profile-match-break"></div>
- <div class="profile-match-name">
- <a href="{{$base}}/chanview?f=&url={{$item.xchan_url}}" title="{{$item.xchan_name}}">{{$item.xchan_name}}</a>
- </div>
- <div class="profile-match-end"></div>
- </div>
- {{/foreach}}
- {{/if}}
- <div id="rfic-end" class="clear"></div>
-</div>
-
diff --git a/view/tpl/smarty3/removeme.tpl b/view/tpl/smarty3/removeme.tpl
deleted file mode 100644
index 3fe12a223..000000000
--- a/view/tpl/smarty3/removeme.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-
-<div id="remove-account-wrapper">
-
-<div id="remove-account-desc">{{$desc}}</div>
-
-<form action="{{$basedir}}/removeme" autocomplete="off" method="post" >
-<input type="hidden" name="verify" value="{{$hash}}" />
-
-<div id="remove-account-pass-wrapper">
-<label id="remove-account-pass-label" for="remove-account-pass">{{$passwd}}</label>
-<input type="password" id="remove-account-pass" name="qxz_password" />
-</div>
-<div id="remove-account-pass-end"></div>
-
-<input type="submit" name="submit" value="{{$submit}}" />
-
-</form>
-</div>
-
diff --git a/view/tpl/smarty3/rmagic.tpl b/view/tpl/smarty3/rmagic.tpl
deleted file mode 100644
index 7e4e563d9..000000000
--- a/view/tpl/smarty3/rmagic.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$title}}</h3>
-
-<form action="rmagic" method="post" >
-
- <label for="rmagic-address" id="label-rmagic-address" class="rmagic-label">{{$desc}}</label>
- <input type="text" maxlength="255" size="32" name="address" id="rmagic-address" class="rmagic-input" value="" />
-
- <input type="submit" name="submit" id="rmagic-submit-button" value="{{$submit}}" />
- <div id="rmagic-submit-end" class="rmagic-field-end"></div>
-
-</form>
diff --git a/view/tpl/smarty3/saved_searches_aside.tpl b/view/tpl/smarty3/saved_searches_aside.tpl
deleted file mode 100644
index 034d1f6db..000000000
--- a/view/tpl/smarty3/saved_searches_aside.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="widget" id="saved-search-list">
- <h3 id="search">{{$title}}</h3>
- {{$searchbox}}
-
- <ul id="saved-search-ul">
- {{foreach $saved as $search}}
- <li class="saved-search-li clear">
- <a title="{{$search.delete}}" onclick="return confirmDelete();" id="drop-saved-search-term-{{$search.id}}" class="iconspacer savedsearchdrop " href="network/?f=&amp;remove=1&amp;search={{$search.encodedterm}}"></a>
- <a id="saved-search-term-{{$search.id}}" class="savedsearchterm" href="network/?f=&amp;search={{$search.encodedterm}}">{{$search.displayterm}}</a>
- </li>
- {{/foreach}}
- </ul>
- <div class="clear"></div>
-</div>
diff --git a/view/tpl/smarty3/search_item.tpl b/view/tpl/smarty3/search_item.tpl
deleted file mode 100644
index c889e227b..000000000
--- a/view/tpl/smarty3/search_item.tpl
+++ /dev/null
@@ -1,68 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div id="thread-wrapper-{{$item.id}}" class="thread-wrapper {{$item.toplevel}}">
-<a name="{{$item.id}}" ></a>
-<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}" id="wall-item-outside-wrapper-{{$item.id}}" >
- <div class="wall-item-content-wrapper {{$item.indent}}{{$item.previewing}}" id="wall-item-content-wrapper-{{$item.id}}" >
- <div class="wall-item-info" id="wall-item-info-{{$item.id}}">
- <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-{{$item.id}}"
- onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')"
- onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)">
- <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}">
- <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a>
- <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
- <ul>
- {{$item.item_photo_menu}}
- </ul>
- </div>
- </div>
- <div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
- {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div>
- {{else}}<div class="wall-item-lock"></div>{{/if}}
- <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div>
- </div>
- </div>
- <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>
-
- <div id="wall-item-ago-{{$item.id}}" class="wall-item-ago"><abbr class="wall-item-ago-time" title="{{$item.localtime}}">{{$item.ago}}</abbr>{{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>
- <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>
- <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}">
- <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >
- {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}}
- </div>
- {{if $item.drop.pagedropping}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}}
- <div class="wall-item-delete-end"></div>
- </div>
- </div>
- <div class="wall-item-wrapper-end"></div>
-
-
- <div class="wall-item-conv" id="wall-item-conv-{{$item.id}}" >
- {{if $item.conv}}
- <a href='{{$item.conv.href}}' id='context-{{$item.id}}' title='{{$item.conv.title}}'>{{$item.conv.title}}</a>
- {{/if}}
- </div>
-
-<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>
-
-</div>
-</div>
-
diff --git a/view/tpl/smarty3/settings.tpl b/view/tpl/smarty3/settings.tpl
deleted file mode 100644
index 251fa9be4..000000000
--- a/view/tpl/smarty3/settings.tpl
+++ /dev/null
@@ -1,119 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$ptitle}}</h1>
-
-{{$nickname_block}}
-
-<form action="settings" id="settings-form" method="post" autocomplete="off" >
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
-<h3 class="settings-heading">{{$h_basic}}</h3>
-
-{{include file="field_input.tpl" field=$username}}
-{{include file="field_custom.tpl" field=$timezone}}
-{{include file="field_input.tpl" field=$defloc}}
-{{include file="field_checkbox.tpl" field=$allowloc}}
-
-
-<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
-</div>
-
-
-<h3 class="settings-heading">{{$h_prv}}</h3>
-
-
-<div id="settings-permissions-wrapper">
-{{foreach $permiss_arr as $permit}}
-{{include file="field_select.tpl" field=$permit}}
-{{/foreach}}
-</div>
-
-
-<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
-</div>
-
-
-{{$profile_in_dir}}
-
-{{$suggestme}}
-
-{{include file="field_input.tpl" field=$maxreq}}
-
-{{include file="field_input.tpl" field=$cntunkmail}}
-
-{{include file="field_input.tpl" field=$expire.days}}
-
-
-<div class="field input">
- <span class="field_help"><a href="#advanced-expire-popup" id="advanced-expire" class='popupbox' title="{{$expire.advanced}}">{{$expire.label}}</a></span>
- <div style="display: none;">
- <div id="advanced-expire-popup" style="width:auto;height:auto;overflow:auto;">
- <h3>{{$expire.advanced}}</h3>
- {{include file="field_yesno.tpl" field=$expire.items}}
- {{include file="field_yesno.tpl" field=$expire.starred}}
- {{include file="field_yesno.tpl" field=$expire.network_only}}
- </div>
- </div>
-
-</div>
-
-<div id="settings-default-perms" class="settings-default-perms" >
- <a href="#profile-jot-acl-wrapper" id="settings-default-perms-menu" class='popupbox'>{{$permissions}} {{$permdesc}}</a>
- <div id="settings-default-perms-menu-end"></div>
-
- <div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" >
-
- <div style="display: none;">
- <div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
- {{$aclselect}}
- </div>
- </div>
-
- </div>
-</div>
-<br/>
-<div id="settings-default-perms-end"></div>
-
-{{$group_select}}
-
-
-<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
-</div>
-
-
-
-<h3 class="settings-heading">{{$h_not}}</h3>
-<div id="settings-notifications">
-
-<div id="settings-activity-desc">{{$activity_options}}</div>
-
-{{include file="field_checkbox.tpl" field=$post_newfriend}}
-{{include file="field_checkbox.tpl" field=$post_joingroup}}
-{{include file="field_checkbox.tpl" field=$post_profilechange}}
-
-
-<div id="settings-notify-desc">{{$lbl_not}}</div>
-
-<div class="group">
-{{include file="field_intcheckbox.tpl" field=$notify1}}
-{{include file="field_intcheckbox.tpl" field=$notify2}}
-{{include file="field_intcheckbox.tpl" field=$notify3}}
-{{include file="field_intcheckbox.tpl" field=$notify4}}
-{{include file="field_intcheckbox.tpl" field=$notify5}}
-{{include file="field_intcheckbox.tpl" field=$notify6}}
-{{include file="field_intcheckbox.tpl" field=$notify7}}
-{{include file="field_intcheckbox.tpl" field=$notify8}}
-</div>
-
-</div>
-
-<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
-</div>
-
diff --git a/view/tpl/smarty3/settings_account.tpl b/view/tpl/smarty3/settings_account.tpl
deleted file mode 100644
index a12283ff2..000000000
--- a/view/tpl/smarty3/settings_account.tpl
+++ /dev/null
@@ -1,33 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-
-
-<div id="settings-remove-account-link">
-<a href="removeme" title="{{$permanent}}" >{{$removeme}}</a>
-</div>
-
-
-<form action="settings/account" id="settings-account-form" method="post" autocomplete="off" >
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
-{{include file="field_input.tpl" field=$email}}
-
-
-<h3 class="settings-heading">{{$h_pass}}</h3>
-
-{{include file="field_password.tpl" field=$password1}}
-{{include file="field_password.tpl" field=$password2}}
-
-
-<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
-</div>
-
-{{$account_settings}}
-
-
-
diff --git a/view/tpl/smarty3/settings_addons.tpl b/view/tpl/smarty3/settings_addons.tpl
deleted file mode 100644
index b8613bec6..000000000
--- a/view/tpl/smarty3/settings_addons.tpl
+++ /dev/null
@@ -1,15 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-
-
-<form action="settings/featured" method="post" autocomplete="off">
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
-{{$settings_addons}}
-
-</form>
-
diff --git a/view/tpl/smarty3/settings_connectors.tpl b/view/tpl/smarty3/settings_connectors.tpl
deleted file mode 100644
index 5df839411..000000000
--- a/view/tpl/smarty3/settings_connectors.tpl
+++ /dev/null
@@ -1,14 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-
-<form action="settings/connectors" method="post" autocomplete="off">
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
-{{$settings_connectors}}
-
-</form>
-
diff --git a/view/tpl/smarty3/settings_display.tpl b/view/tpl/smarty3/settings_display.tpl
deleted file mode 100644
index 3558e5cc9..000000000
--- a/view/tpl/smarty3/settings_display.tpl
+++ /dev/null
@@ -1,27 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$ptitle}}</h1>
-
-<form action="settings/display" id="settings-form" method="post" autocomplete="off" >
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
-{{include file="field_themeselect.tpl" field=$theme}}
-{{include file="field_themeselect.tpl" field=$mobile_theme}}
-{{include file="field_input.tpl" field=$ajaxint}}
-{{include file="field_input.tpl" field=$itemspage}}
-{{include file="field_checkbox.tpl" field=$nosmile}}
-
-
-<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
-</div>
-
-{{if $theme_config}}
-<h2>Theme settings</h2>
-{{$theme_config}}
-{{/if}}
-
-</form>
diff --git a/view/tpl/smarty3/settings_features.tpl b/view/tpl/smarty3/settings_features.tpl
deleted file mode 100644
index 797d3da2c..000000000
--- a/view/tpl/smarty3/settings_features.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-
-
-<form action="settings/features" method="post" autocomplete="off">
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
-{{foreach $features as $f}}
-<h3 class="settings-heading">{{$f.0}}</h3>
-
-{{foreach $f.1 as $fcat}}
- {{include file="{{$field_yesno}}" field=$fcat}}
-{{/foreach}}
-{{/foreach}}
-
-<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-features-submit" value="{{$submit}}" />
-</div>
-
-</form>
-
diff --git a/view/tpl/smarty3/settings_nick_set.tpl b/view/tpl/smarty3/settings_nick_set.tpl
deleted file mode 100644
index fb886695e..000000000
--- a/view/tpl/smarty3/settings_nick_set.tpl
+++ /dev/null
@@ -1,10 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<div id="settings-nick-wrapper" >
-<div id="settings-nickname-desc" class="info-message">{{$desc}} <strong>'{{$nickname}}@{{$basepath}}'</strong>{{$subdir}}</div>
-</div>
-<div id="settings-nick-end" ></div>
diff --git a/view/tpl/smarty3/settings_nick_subdir.tpl b/view/tpl/smarty3/settings_nick_subdir.tpl
deleted file mode 100644
index 874185db5..000000000
--- a/view/tpl/smarty3/settings_nick_subdir.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<p>
-It appears that your website is located in a subdirectory of the<br />
-{{$hostname}} website, so this setting may not work reliably.<br />
-</p>
-<p>If you have any issues, you may have better results using the profile<br /> address '<strong>{{$baseurl}}/profile/{{$nickname}}</strong>'.
-</p> \ No newline at end of file
diff --git a/view/tpl/smarty3/settings_oauth.tpl b/view/tpl/smarty3/settings_oauth.tpl
deleted file mode 100644
index feab78210..000000000
--- a/view/tpl/smarty3/settings_oauth.tpl
+++ /dev/null
@@ -1,36 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-
-
-<form action="settings/oauth" method="post" autocomplete="off">
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
- <div id="profile-edit-links">
- <ul>
- <li>
- <a id="profile-edit-view-link" href="{{$baseurl}}/settings/oauth/add">{{$add}}</a>
- </li>
- </ul>
- </div>
-
- {{foreach $apps as $app}}
- <div class='oauthapp'>
- <img src='{{$app.icon}}' class="{{if $app.icon}} {{else}}noicon{{/if}}">
- {{if $app.name}}<h4>{{$app.name}}</h4>{{else}}<h4>{{$noname}}</h4>{{/if}}
- {{if $app.my}}
- {{if $app.oauth_token}}
- <div class="settings-submit-wrapper" ><button class="settings-submit" type="submit" name="remove" value="{{$app.oauth_token}}">{{$remove}}</button></div>
- {{/if}}
- {{/if}}
- {{if $app.my}}
- <a href="{{$baseurl}}/settings/oauth/edit/{{$app.client_id}}" class="icon s22 edit" title="{{$edit}}">&nbsp;</a>
- <a href="{{$baseurl}}/settings/oauth/delete/{{$app.client_id}}?t={{$form_security_token}}" class="icon s22 delete" title="{{$delete}}">&nbsp;</a>
- {{/if}}
- </div>
- {{/foreach}}
-
-</form>
diff --git a/view/tpl/smarty3/settings_oauth_edit.tpl b/view/tpl/smarty3/settings_oauth_edit.tpl
deleted file mode 100644
index e3960bf75..000000000
--- a/view/tpl/smarty3/settings_oauth_edit.tpl
+++ /dev/null
@@ -1,22 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h1>{{$title}}</h1>
-
-<form method="POST">
-<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
-{{include file="field_input.tpl" field=$name}}
-{{include file="field_input.tpl" field=$key}}
-{{include file="field_input.tpl" field=$secret}}
-{{include file="field_input.tpl" field=$redirect}}
-{{include file="field_input.tpl" field=$icon}}
-
-<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
-<input type="submit" name="cancel" class="settings-submit" value="{{$cancel}}" />
-</div>
-
-</form>
diff --git a/view/tpl/smarty3/suggest_friends.tpl b/view/tpl/smarty3/suggest_friends.tpl
deleted file mode 100644
index 060db0005..000000000
--- a/view/tpl/smarty3/suggest_friends.tpl
+++ /dev/null
@@ -1,21 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="profile-match-wrapper">
- <a href="{{$ignlnk}}" title="{{$ignore}}" class="icon drophide profile-match-ignore" onmouseout="imgdull(this);" onmouseover="imgbright(this);" onclick="return confirmDelete();" ></a>
- <div class="profile-match-photo">
- <a href="{{$url}}">
- <img src="{{$photo}}" alt="{{$name}}" width="80" height="80" title="{{$name}} [{{$url}}]" />
- </a>
- </div>
- <div class="profile-match-break"></div>
- <div class="profile-match-name">
- <a href="{{$url}}" title="{{$name}}">{{$name}}</a>
- </div>
- <div class="profile-match-end"></div>
- {{if $connlnk}}
- <div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}">{{$conntxt}}</a></div>
- {{/if}}
-</div> \ No newline at end of file
diff --git a/view/tpl/smarty3/suggestions.tpl b/view/tpl/smarty3/suggestions.tpl
deleted file mode 100644
index b4f0cbbe5..000000000
--- a/view/tpl/smarty3/suggestions.tpl
+++ /dev/null
@@ -1,26 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<div class="intro-wrapper" >
-
-<p class="intro-desc">{{$str_notifytype}} {{$notify_type}}</p>
-<div class="intro-madeby">{{$madeby}}</div>
-<div class="intro-fullname" >{{$fullname}}</div>
-<a class="intro-url-link" href="{{$url}}" ><img class="intro-photo lframe" src="{{$photo}}" width="175" height=175" title="{{$fullname}}" alt="{{$fullname}}" /></a>
-<div class="intro-note" >{{$note}}</div>
-<div class="intro-wrapper-end"></div>
-<form class="intro-form" action="notifications/{{$intro_id}}" method="post">
-<input class="intro-submit-ignore" type="submit" name="submit" value="{{$ignore}}" />
-<input class="intro-submit-discard" type="submit" name="submit" value="{{$discard}}" />
-</form>
-<div class="intro-form-end"></div>
-
-<form class="intro-approve-form" action="{{$request}}" method="get">
-{{include file="field_checkbox.tpl" field=$hidden}}
-<input class="intro-submit-approve" type="submit" name="submit" value="{{$approve}}" />
-</form>
-</div>
-<div class="intro-end"></div>
diff --git a/view/tpl/smarty3/tag_slap.tpl b/view/tpl/smarty3/tag_slap.tpl
deleted file mode 100644
index 5521b508d..000000000
--- a/view/tpl/smarty3/tag_slap.tpl
+++ /dev/null
@@ -1,35 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
- <entry>
- <author>
- <name>{{$name}}</name>
- <uri>{{$profile_page}}</uri>
- <link rel="photo" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}" />
- <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}" />
- </author>
-
- <id>{{$item_id}}</id>
- <title>{{$title}}</title>
- <published>{{$published}}</published>
- <content type="{{$type}}" >{{$content}}</content>
- <link rel="mentioned" href="{{$accturi}}" />
- <as:actor>
- <as:obj_type>http://activitystrea.ms/schema/1.0/person</as:obj_type>
- <id>{{$profile_page}}</id>
- <title></title>
- <link rel="avatar" type="image/jpeg" media:width="175" media:height="175" href="{{$photo}}"/>
- <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}"/>
- <poco:preferredUsername>{{$nick}}</poco:preferredUsername>
- <poco:displayName>{{$name}}</poco:displayName>
- </as:actor>
- <as:verb>{{$verb}}</as:verb>
- <as:object>
- <as:obj_type></as:obj_type>
- </as:object>
- <as:target>
- <as:obj_type></as:obj_type>
- </as:target>
- </entry>
diff --git a/view/tpl/smarty3/threaded_conversation.tpl b/view/tpl/smarty3/threaded_conversation.tpl
deleted file mode 100644
index a2885ddc3..000000000
--- a/view/tpl/smarty3/threaded_conversation.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{foreach $threads as $thread_item}}
-{{include file="{{$thread_item.template}}" item=$thread_item}}
-{{/foreach}}
-
-<div id="conversation-end"></div>
-
-{{if $dropping}}
-<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();">
- <div id="item-delete-selected-icon" class="icon drophide" title="{{$dropping}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
- <div id="item-delete-selected-desc" >{{$dropping}}</div>
-</div>
-<div id="item-delete-selected-end"></div>
-{{/if}}
diff --git a/view/tpl/smarty3/toggle_mobile_footer.tpl b/view/tpl/smarty3/toggle_mobile_footer.tpl
deleted file mode 100644
index 008d69663..000000000
--- a/view/tpl/smarty3/toggle_mobile_footer.tpl
+++ /dev/null
@@ -1,7 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<a id="toggle_mobile_link" href="{{$toggle_link}}">{{$toggle_text}}</a>
-
diff --git a/view/tpl/smarty3/viewcontact_template.tpl b/view/tpl/smarty3/viewcontact_template.tpl
deleted file mode 100644
index a9837c7f9..000000000
--- a/view/tpl/smarty3/viewcontact_template.tpl
+++ /dev/null
@@ -1,14 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<h3>{{$title}}</h3>
-
-{{foreach $contacts as $contact}}
- {{include file="contact_template.tpl"}}
-{{/foreach}}
-
-<div id="view-contact-end"></div>
-
-{{$paginate}}
diff --git a/view/tpl/smarty3/wall_item.tpl b/view/tpl/smarty3/wall_item.tpl
deleted file mode 100644
index 1ab1fbff0..000000000
--- a/view/tpl/smarty3/wall_item.tpl
+++ /dev/null
@@ -1,84 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<a name="{{$item.id}}" ></a>
-<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}" id="wall-item-outside-wrapper-{{$item.id}}" >
- <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" >
- <div class="wall-item-info" id="wall-item-info-{{$item.id}}">
- <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-{{$item.id}}"
- onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')"
- onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)">
- <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}">
- <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" />
- </a>
- <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
- <ul>
- {{$item.item_photo_menu}}
- </ul>
- </div>
- </div>
- <div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
- {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div>
- {{else}}<div class="wall-item-lock"></div>{{/if}}
- <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div>
- </div>
- </div>
- <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>
- <div id="wall-item-ago-{{$item.id}}" class="wall-item-ago"><abbr class="wall-item-ago-time" title="{{$item.localtime}}">{{$item.ago}}</abbr>{{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>
- <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>
- <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}">
- {{if $item.vote}}
- <div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$item.id}}">
- <a href="#" class="icon like" title="{{$item.vote.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a>
- <a href="#" class="icon dislike" title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a>
- {{if $item.vote.share}}<a href="#" class="icon recycle wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>{{/if}}
- <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" />
- </div>
- {{/if}}
- {{if $item.plink}}
- <div class="wall-item-links-wrapper"><a href="{{$item.plink.href}}" title="{{$item.plink.title}}" class="icon remote-link{{$item.sparkle}}"></a></div>
- {{/if}}
- {{if $item.edpost}}
- <a class="editpost icon pencil" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a>
- {{/if}}
-
- {{if $item.star}}
- <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon {{$item.isstarred}}" title="{{$item.star.toggle}}"></a>
- <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon tagged" title="{{$item.star.tagger}}"></a>
- {{/if}}
- {{if $item.filer}}
- <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a>
- {{/if}}
- <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >
- {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}}
- </div>
- {{if $item.drop.pagedropping}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}}
- <div class="wall-item-delete-end"></div>
- </div>
- </div>
- <div class="wall-item-wrapper-end"></div>
- <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div>
- <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div>
- <div class="wall-item-comment-wrapper" >
- {{$item.comment}}
- </div>
-
-<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>
-</div>
diff --git a/view/tpl/smarty3/wall_thread.tpl b/view/tpl/smarty3/wall_thread.tpl
deleted file mode 100644
index cab43cfcf..000000000
--- a/view/tpl/smarty3/wall_thread.tpl
+++ /dev/null
@@ -1,125 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{if $item.comment_firstcollapsed}}
- <div class="hide-comments-outer">
- <span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">{{$item.num_comments}}</span> <span id="hide-comments-{{$item.id}}" class="hide-comments fakelink" onclick="showHideComments({{$item.id}});">{{$item.hide_text}}</span>
- </div>
- <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;">
-{{/if}}
-<div id="thread-wrapper-{{$item.id}}" class="thread-wrapper {{$item.toplevel}}">
-<a name="{{$item.id}}" ></a>
-<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" >
- <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" >
- <div class="wall-item-info{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-info-{{$item.id}}">
- {{if $item.owner_url}}
- <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}" >
- <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}">
- <img src="{{$item.owner_photo}}" class="wall-item-photo{{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.owner_name}}" /></a>
- </div>
- <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="{{$item.wall}}" /></div>
- {{/if}}
- <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}"
- onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')"
- onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)">
- <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}">
- <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a>
- <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
- <ul>
- {{$item.item_photo_menu}}
- </ul>
- </div>
-
- </div>
- <div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
- {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div>
- {{else}}<div class="wall-item-lock"></div>{{/if}}
- <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div>
- </div>
- </div>
- <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.to}} <a href="{{$item.owner_url}}" target="redir" 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> {{$item.vwall}}{{/if}}<br />
- <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}" title="{{$item.localtime}}">{{$item.ago}}</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>
- <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>
- {{if $item.has_cats}}
- <div class="categorytags"><span>{{$item.txt_cats}} {{foreach $item.categories as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}}
- </div>
- {{/if}}
-
- {{if $item.has_folders}}
- <div class="filesavetags"><span>{{$item.txt_folders}} {{foreach $item.folders as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}}
- </div>
- {{/if}}
- </div>
- </div>
- <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}">
- {{if $item.vote}}
- <div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$item.id}}">
- <a href="#" class="icon like" title="{{$item.vote.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a>
- {{if $item.nolike}}
- <a href="#" class="icon dislike" title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a>
- {{/if}}
- {{if $item.vote.share}}<a href="#" class="icon recycle wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>{{/if}}
- </div>
- {{/if}}
- {{if $item.plink}}
- <div class="wall-item-links-wrapper"><a href="{{$item.plink.href}}" title="{{$item.plink.title}}" target="external-link" class="icon remote-link{{$item.sparkle}}"></a></div>
- {{/if}}
- {{if $item.edpost}}
- <a class="editpost icon pencil" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a>
- {{/if}}
-
- {{if $item.star}}
- <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon {{$item.isstarred}}" title="{{$item.star.toggle}}"></a>
- <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon tagged" title="{{$item.star.tagger}}"></a>
- {{/if}}
- {{if $item.filer}}
- <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a>
- {{/if}}
- <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" />
-
- <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >
- {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}}
- </div>
- {{if $item.drop.pagedrop}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}}
- <div class="wall-item-delete-end"></div>
- </div>
- </div>
- <div class="wall-item-wrapper-end"></div>
- <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div>
- <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div>
-
- {{if $item.threaded}}
- {{if $item.comment}}
- <div class="wall-item-comment-wrapper {{$item.indent}}" >
- {{$item.comment}}
- </div>
- {{/if}}
- {{/if}}
-
-<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>
-</div>
-{{foreach $item.children as $child}}
- {{include file="{{$child.template}}" item=$child}}
-{{/foreach}}
-
-{{if $item.flatten}}
-<div class="wall-item-comment-wrapper" >
- {{$item.comment}}
-</div>
-{{/if}}
-</div>
-{{if $item.comment_lastcollapsed}}</div>{{/if}}
diff --git a/view/tpl/smarty3/wallmessage.tpl b/view/tpl/smarty3/wallmessage.tpl
deleted file mode 100644
index 6eeabe9ed..000000000
--- a/view/tpl/smarty3/wallmessage.tpl
+++ /dev/null
@@ -1,37 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<h3>{{$header}}</h3>
-
-<h4>{{$subheader}}</h4>
-
-<div id="prvmail-wrapper" >
-<form id="prvmail-form" action="wallmessage/{{$nickname}}" method="post" >
-
-{{$parent}}
-
-<div id="prvmail-to-label">{{$to}}</div>
-{{$recipname}}
-
-<div id="prvmail-subject-label">{{$subject}}</div>
-<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="{{$subjtxt}}" {{$readonly}} tabindex="11" />
-
-<div id="prvmail-message-label">{{$yourmessage}}</div>
-<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">{{$text}}</textarea>
-
-
-<div id="prvmail-submit-wrapper" >
- <input type="submit" id="prvmail-submit" name="submit" value="Submit" tabindex="13" />
- <div id="prvmail-link-wrapper" >
- <div id="prvmail-link" class="icon border link" title="{{$insert}}" onclick="jotGetLink();" ></div>
- </div>
- <div id="prvmail-rotator-wrapper" >
- <img id="prvmail-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />
- </div>
-</div>
-<div id="prvmail-end"></div>
-</form>
-</div>
diff --git a/view/tpl/smarty3/wallmsg-header.tpl b/view/tpl/smarty3/wallmsg-header.tpl
deleted file mode 100644
index 1f5a1abc1..000000000
--- a/view/tpl/smarty3/wallmsg-header.tpl
+++ /dev/null
@@ -1,87 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-
-<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
-<script language="javascript" type="text/javascript">
-
-var plaintext = '{{$editselect}}';
-
-if(plaintext != 'none') {
- tinyMCE.init({
- theme : "advanced",
- mode : "specific_textareas",
- editor_selector: /(profile-jot-text|prvmail-text)/,
- plugins : "bbcode,paste",
- theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : "",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "center",
- theme_advanced_blockformats : "blockquote,code",
- gecko_spellcheck : true,
- paste_text_sticky : true,
- entity_encoding : "raw",
- add_unload_trigger : false,
- remove_linebreaks : false,
- force_p_newlines : false,
- force_br_newlines : true,
- forced_root_block : '',
- convert_urls: false,
- content_css: "{{$baseurl}}/view/custom_tinymce.css",
- //Character count
- theme_advanced_path : false,
- setup : function(ed) {
- ed.onInit.add(function(ed) {
- ed.pasteAsPlainText = true;
- var editorId = ed.editorId;
- var textarea = $('#'+editorId);
- if (typeof(textarea.attr('tabindex')) != "undefined") {
- $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex'));
- textarea.attr('tabindex', null);
- }
- });
- }
- });
-}
-else
- $("#prvmail-text").contact_autocomplete(baseurl+"/acl");
-
-
-</script>
-<script>
-
- function jotGetLink() {
- reply = prompt("{{$linkurl}}");
- if(reply && reply.length) {
- $('#profile-rotator').show();
- $.get('parse_url?url=' + reply, function(data) {
- tinyMCE.execCommand('mceInsertRawHTML',false,data);
- $('#profile-rotator').hide();
- });
- }
- }
-
- function linkdropper(event) {
- var linkFound = event.dataTransfer.types.contains("text/uri-list");
- if(linkFound)
- event.preventDefault();
- }
-
- function linkdrop(event) {
- var reply = event.dataTransfer.getData("text/uri-list");
- event.target.textContent = reply;
- event.preventDefault();
- if(reply && reply.length) {
- $('#profile-rotator').show();
- $.get('parse_url?url=' + reply, function(data) {
- tinyMCE.execCommand('mceInsertRawHTML',false,data);
- $('#profile-rotator').hide();
- });
- }
- }
-
-</script>
-
diff --git a/view/tpl/smarty3/wallwall_item.tpl b/view/tpl/smarty3/wallwall_item.tpl
deleted file mode 100644
index a7430e8da..000000000
--- a/view/tpl/smarty3/wallwall_item.tpl
+++ /dev/null
@@ -1,91 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<a name="{{$item.id}}" ></a>
-<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}} wallwall" id="wall-item-outside-wrapper-{{$item.id}}" >
- <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" >
- <div class="wall-item-info wallwall" id="wall-item-info-{{$item.id}}">
- <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}" >
- <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}">
- <img src="{{$item.owner_photo}}" class="wall-item-photo{{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.owner_name}}" /></a>
- </div>
- <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="{{$item.wall}}" /></div>
- <div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-{{$item.id}}"
- onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')"
- onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)">
- <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}">
- <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a>
- <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
- <ul>
- {{$item.item_photo_menu}}
- </ul>
- </div>
-
- </div>
- <div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
- {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div>
- {{else}}<div class="wall-item-lock"></div>{{/if}}
- <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div>
- </div>
- </div>
- <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> {{$item.to}} <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> {{$item.vwall}}<br />
- <div id="wall-item-ago-{{$item.id}}" class="wall-item-ago"><abbr class="wall-item-ago-time" title="{{$item.localtime}}">{{$item.ago}}</abbr>{{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>
- <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>
- <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}">
- {{if $item.vote}}
- <div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$item.id}}">
- <a href="#" class="icon like" title="{{$item.vote.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a>
- <a href="#" class="icon dislike" title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a>
- {{if $item.vote.share}}<a href="#" class="icon recycle wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>{{/if}}
- <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" />
- </div>
- {{/if}}
- {{if $item.plink}}
- <div class="wall-item-links-wrapper"><a href="{{$item.plink.href}}" title="{{$item.plink.title}}" class="icon remote-link{{$item.sparkle}}"></a></div>
- {{/if}}
- {{if $item.edpost}}
- <a class="editpost icon pencil" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a>
- {{/if}}
-
- {{if $item.star}}
- <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon {{$item.isstarred}}" title="{{$item.star.toggle}}"></a>
- <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon tagged" title="{{$item.star.tagger}}"></a>
- {{/if}}
- {{if $item.filer}}
- <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a>
- {{/if}}
-
- <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >
- {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}}
- </div>
- {{if $item.drop.pagedropping}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}}
- <div class="wall-item-delete-end"></div>
- </div>
- </div>
- <div class="wall-item-wrapper-end"></div>
- <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div>
- <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div>
- <div class="wall-item-comment-separator"></div>
- <div class="wall-item-comment-wrapper">
- {{$item.comment}}
- </div>
-
-<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>
-</div>
-
diff --git a/view/tpl/smarty3/wallwall_thread.tpl b/view/tpl/smarty3/wallwall_thread.tpl
deleted file mode 100644
index 4c17f5106..000000000
--- a/view/tpl/smarty3/wallwall_thread.tpl
+++ /dev/null
@@ -1,112 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-{{if $item.comment_firstcollapsed}}
- <div class="hide-comments-outer">
- <span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">{{$item.num_comments}}</span> <span id="hide-comments-{{$item.id}}" class="hide-comments fakelink" onclick="showHideComments({{$item.id}});">{{$item.hide_text}}</span>
- </div>
- <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;">
-{{/if}}
-<div id="tread-wrapper-{{$item.id}}" class="tread-wrapper {{$item.toplevel}}">
-<a name="{{$item.id}}" ></a>
-<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}} wallwall" id="wall-item-outside-wrapper-{{$item.id}}" >
- <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" >
- <div class="wall-item-info wallwall" id="wall-item-info-{{$item.id}}">
- <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}" >
- <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}">
- <img src="{{$item.owner_photo}}" class="wall-item-photo{{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.owner_name}}" /></a>
- </div>
- <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="{{$item.wall}}" /></div>
- <div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-{{$item.id}}"
- onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')"
- onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)">
- <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}">
- <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a>
- <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
- <ul>
- {{$item.item_photo_menu}}
- </ul>
- </div>
-
- </div>
- <div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
- {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div>
- {{else}}<div class="wall-item-lock"></div>{{/if}}
- <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div>
- </div>
- </div>
- <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> {{$item.to}} <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> {{$item.vwall}}<br />
- <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">{{$item.ago}}</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>
- <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>
- <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}">
- {{if $item.vote}}
- <div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$item.id}}">
- <a href="#" class="icon like" title="{{$item.vote.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a>
- <a href="#" class="icon dislike" title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a>
- {{if $item.vote.share}}<a href="#" class="icon recycle wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>{{/if}}
- <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" />
- </div>
- {{/if}}
- {{if $item.plink}}
- <div class="wall-item-links-wrapper"><a href="{{$item.plink.href}}" title="{{$item.plink.title}}" class="icon remote-link{{$item.sparkle}}"></a></div>
- {{/if}}
- {{if $item.edpost}}
- <a class="editpost icon pencil" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a>
- {{/if}}
-
- {{if $item.star}}
- <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon {{$item.isstarred}}" title="{{$item.star.toggle}}"></a>
- <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon tagged" title="{{$item.star.tagger}}"></a>
- {{/if}}
- {{if $item.filer}}
- <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a>
- {{/if}}
-
- <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >
- {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}}
- </div>
- {{if $item.drop.dropping}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}}
- <div class="wall-item-delete-end"></div>
- </div>
- </div>
- <div class="wall-item-wrapper-end"></div>
- <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div>
- <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div>
-
- {{if $item.threaded}}
- {{if $item.comment}}
- <div class="wall-item-comment-wrapper {{$item.indent}}" >
- {{$item.comment}}
- </div>
- {{/if}}
- {{/if}}
-
-<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>
-</div>
-{{foreach $item.children as $item}}
- {{include file="{{$item.template}}"}}
-{{/foreach}}
-
-{{if $item.flatten}}
-<div class="wall-item-comment-wrapper" >
- {{$item.comment}}
-</div>
-{{/if}}
-</div>
-{{if $item.comment_lastcollapsed}}</div>{{/if}}
diff --git a/view/tpl/smarty3/xchan_vcard.tpl b/view/tpl/smarty3/xchan_vcard.tpl
deleted file mode 100644
index 8878a773a..000000000
--- a/view/tpl/smarty3/xchan_vcard.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<div class="vcard">
-<div class="fn">{{$name}}</div>
-<div id="profile-photo-wrapper"><img class="vcard-photo photo" src="{{$photo}}" alt="name" /></div>
-</div>
-
-
-
-<div id="profile-extra-links">
-<ul>
-{{if $connect}}
- <li><a id="follow-link" href="follow?f=&url={{$follow}}">{{$connect}}</a></li>
-{{/if}}
-{{if $newwin}}
- <li><a id="visit-chan-link" href="{{$url}}" title="{{$newtit}}" target="_blank" >{{$newwin}}</a></li>
-{{/if}}
-</ul>
-
-
-</div>
-
diff --git a/view/tpl/smarty3/xrd_host.tpl b/view/tpl/smarty3/xrd_host.tpl
deleted file mode 100644
index 1f273e010..000000000
--- a/view/tpl/smarty3/xrd_host.tpl
+++ /dev/null
@@ -1,23 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<?xml version='1.0' encoding='UTF-8'?>
-<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'
- xmlns:hm='http://host-meta.net/xrd/1.0'>
-
- <hm:Host>{{$zhost}}</hm:Host>
-
- <Link rel='lrdd' template='{{$domain}}/xrd/?uri={uri}' />
- <Link rel='acct-mgmt' href='{{$domain}}/amcd' />
- <Link rel='http://services.mozilla.com/amcd/0.1' href='{{$domain}}/amcd' />
- <Link rel="http://oexchange.org/spec/0.8/rel/resident-target" type="application/xrd+xml"
- href="{{$domain}}/oexchange/xrd" />
-
- <Property xmlns:mk="http://salmon-protocol.org/ns/magic-key"
- type="http://salmon-protocol.org/ns/magic-key"
- mk:key_id="1">{{$bigkey}}</Property>
-
-
-</XRD>
diff --git a/view/tpl/smarty3/xrd_person.tpl b/view/tpl/smarty3/xrd_person.tpl
deleted file mode 100644
index 2b914fa34..000000000
--- a/view/tpl/smarty3/xrd_person.tpl
+++ /dev/null
@@ -1,34 +0,0 @@
-{{*
- * AUTOMATICALLY GENERATED TEMPLATE
- * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
- *
- *}}
-<?xml version="1.0" encoding="UTF-8"?>
-<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
-
- <Subject>{{$accturi}}</Subject>
- <Alias>{{$accturi}}</Alias>
- <Alias>{{$profile_url}}</Alias>
-
- <Link rel="http://purl.org/macgirvin/dfrn/1.0"
- href="{{$profile_url}}" />
- <Link rel="http://schemas.google.com/g/2010#updates-from"
- type="application/atom+xml"
- href="{{$atom}}" />
- <Link rel="http://webfinger.net/rel/profile-page"
- type="text/html"
- href="{{$profile_url}}" />
- <Link rel="http://microformats.org/profile/hcard"
- type="text/html"
- href="{{$hcard_url}}" />
- <Link rel="http://portablecontacts.net/spec/1.0"
- href="{{$poco_url}}" />
- <Link rel="http://webfinger.net/rel/avatar"
- type="image/jpeg"
- href="{{$photo}}" />
-
- <Property xmlns:mk="http://salmon-protocol.org/ns/magic-key"
- type="http://salmon-protocol.org/ns/magic-key"
- mk:key_id="1">{{$bigkey}}</Property>
-
-</XRD>
diff --git a/view/tpl/suggest_friends.tpl b/view/tpl/suggest_friends.tpl
index e97b5e8cc..80a606912 100644..100755
--- a/view/tpl/suggest_friends.tpl
+++ b/view/tpl/suggest_friends.tpl
@@ -1,16 +1,16 @@
<div class="profile-match-wrapper">
- <a href="$ignlnk" title="$ignore" class="icon drophide profile-match-ignore" onmouseout="imgdull(this);" onmouseover="imgbright(this);" onclick="return confirmDelete();" ></a>
+ <a href="{{$entry.ignlnk}}" title="{{$entry.ignore}}" class="icon drophide smalldrop profile-match-ignore" onmouseout="imgdull(this);" onmouseover="imgbright(this);" onclick="return confirmDelete();" ></a>
<div class="profile-match-photo">
- <a href="$url">
- <img src="$photo" alt="$name" width="80" height="80" title="$name [$url]" />
+ <a href="{{$entry.url}}">
+ <img src="{{$entry.photo}}" alt="{{$entry.name}}" width="80" height="80" title="{{$entry.name}} [{{$entry.url}}]" />
</a>
</div>
<div class="profile-match-break"></div>
<div class="profile-match-name">
- <a href="$url" title="$name">$name</a>
+ <a href="{{$entry.url}}" title="{{$entry.name}}">{{$entry.name}}</a>
</div>
<div class="profile-match-end"></div>
- {{ if $connlnk }}
- <div class="profile-match-connect"><a href="$connlnk" title="$conntxt">$conntxt</a></div>
- {{ endif }}
-</div> \ No newline at end of file
+ {{if $entry.connlnk}}
+ <div class="profile-match-connect"><a href="{{$entry.connlnk}}" title="{{$entry.conntxt}}">{{$entry.conntxt}}</a></div>
+ {{/if}}
+</div>
diff --git a/view/tpl/suggest_page.tpl b/view/tpl/suggest_page.tpl
new file mode 100755
index 000000000..97837c852
--- /dev/null
+++ b/view/tpl/suggest_page.tpl
@@ -0,0 +1,9 @@
+<h3>{{$title}}</h3>
+
+{{if $entries}}
+{{foreach $entries as $child}}
+{{include file="suggest_friends.tpl" entry=$child}}
+{{/foreach}}
+{{/if}}
+
+<div class="clear"></div>
diff --git a/view/tpl/suggestions.tpl b/view/tpl/suggestions.tpl
index 656336496..2d9cba325 100644..100755
--- a/view/tpl/suggestions.tpl
+++ b/view/tpl/suggestions.tpl
@@ -1,21 +1,20 @@
-
<div class="intro-wrapper" >
-<p class="intro-desc">$str_notifytype $notify_type</p>
-<div class="intro-madeby">$madeby</div>
-<div class="intro-fullname" >$fullname</div>
-<a class="intro-url-link" href="$url" ><img class="intro-photo lframe" src="$photo" width="175" height=175" title="$fullname" alt="$fullname" /></a>
-<div class="intro-note" >$note</div>
+<p class="intro-desc">{{$str_notifytype}} {{$notify_type}}</p>
+<div class="intro-madeby">{{$madeby}}</div>
+<div class="intro-fullname" >{{$fullname}}</div>
+<a class="intro-url-link" href="{{$url}}" ><img class="intro-photo lframe" src="{{$photo}}" width="175" height=175" title="{{$fullname}}" alt="{{$fullname}}" /></a>
+<div class="intro-note" >{{$note}}</div>
<div class="intro-wrapper-end"></div>
-<form class="intro-form" action="notifications/$intro_id" method="post">
-<input class="intro-submit-ignore" type="submit" name="submit" value="$ignore" />
-<input class="intro-submit-discard" type="submit" name="submit" value="$discard" />
+<form class="intro-form" action="notifications/{{$intro_id}}" method="post">
+<input class="intro-submit-ignore" type="submit" name="submit" value="{{$ignore}}" />
+<input class="intro-submit-discard" type="submit" name="submit" value="{{$discard}}" />
</form>
<div class="intro-form-end"></div>
-<form class="intro-approve-form" action="$request" method="get">
-{{inc field_checkbox.tpl with $field=$hidden }}{{endinc}}
-<input class="intro-submit-approve" type="submit" name="submit" value="$approve" />
+<form class="intro-approve-form" action="{{$request}}" method="get">
+{{include file="field_checkbox.tpl" field=$hidden}}
+<input class="intro-submit-approve" type="submit" name="submit" value="{{$approve}}" />
</form>
</div>
<div class="intro-end"></div>
diff --git a/view/tpl/tag_slap.tpl b/view/tpl/tag_slap.tpl
deleted file mode 100644
index 231a13f10..000000000
--- a/view/tpl/tag_slap.tpl
+++ /dev/null
@@ -1,30 +0,0 @@
- <entry>
- <author>
- <name>$name</name>
- <uri>$profile_page</uri>
- <link rel="photo" type="image/jpeg" media:width="80" media:height="80" href="$thumb" />
- <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="$thumb" />
- </author>
-
- <id>$item_id</id>
- <title>$title</title>
- <published>$published</published>
- <content type="$type" >$content</content>
- <link rel="mentioned" href="$accturi" />
- <as:actor>
- <as:obj_type>http://activitystrea.ms/schema/1.0/person</as:obj_type>
- <id>$profile_page</id>
- <title></title>
- <link rel="avatar" type="image/jpeg" media:width="175" media:height="175" href="$photo"/>
- <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="$thumb"/>
- <poco:preferredUsername>$nick</poco:preferredUsername>
- <poco:displayName>$name</poco:displayName>
- </as:actor>
- <as:verb>$verb</as:verb>
- <as:object>
- <as:obj_type></as:obj_type>
- </as:object>
- <as:target>
- <as:obj_type></as:obj_type>
- </as:target>
- </entry>
diff --git a/view/tpl/thing_input.tpl b/view/tpl/thing_input.tpl
new file mode 100644
index 000000000..06cbfe917
--- /dev/null
+++ b/view/tpl/thing_input.tpl
@@ -0,0 +1,28 @@
+<h2>{{$thing_hdr}}</h2>
+<form action="thing" method="post" >
+
+{{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" />
+<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" />
+<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" />
+<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/threaded_conversation.tpl b/view/tpl/threaded_conversation.tpl
index 098e399b7..2d71f01ab 100644..100755
--- a/view/tpl/threaded_conversation.tpl
+++ b/view/tpl/threaded_conversation.tpl
@@ -1,13 +1,16 @@
-{{ for $threads as $thread_item }}
-{{ inc $thread_item.template with $item=$thread_item }}{{ endinc }}
-{{ endfor }}
+{{if $photo_item}}
+{{$photo_item}}
+{{/if}}
+{{foreach $threads as $thread_item}}
+{{include file="{{$thread_item.template}}" item=$thread_item}}
+{{/foreach}}
<div id="conversation-end"></div>
-{{ if $dropping }}
+{{if $dropping}}
<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();">
- <div id="item-delete-selected-icon" class="icon drophide" title="$dropping" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
- <div id="item-delete-selected-desc" >$dropping</div>
+ <div id="item-delete-selected-icon" class="icon drophide" title="{{$dropping}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
+ <div id="item-delete-selected-desc" >{{$dropping}}</div>
</div>
<div id="item-delete-selected-end"></div>
-{{ endif }}
+{{/if}}
diff --git a/view/tpl/toggle_mobile_footer.tpl b/view/tpl/toggle_mobile_footer.tpl
index 58695f4df..82c0197ba 100644..100755
--- a/view/tpl/toggle_mobile_footer.tpl
+++ b/view/tpl/toggle_mobile_footer.tpl
@@ -1,2 +1,2 @@
-<a id="toggle_mobile_link" href="$toggle_link">$toggle_text</a>
+<a id="toggle_mobile_link" href="{{$toggle_link}}">{{$toggle_text}}</a>
diff --git a/view/tpl/usermenu.tpl b/view/tpl/usermenu.tpl
new file mode 100644
index 000000000..3904f4696
--- /dev/null
+++ b/view/tpl/usermenu.tpl
@@ -0,0 +1,13 @@
+<div class="pmenu">
+{{if $menu.menu_desc}}
+ <h3 class="pmenu-title">{{$menu.menu_desc}}</h3>
+{{/if}}
+{{if $items }}
+<ul class="pmenu-body">
+{{foreach $items as $mitem }}
+<li class="pmenu-item"><a href="{{$mitem.mitem_link}}" {{if $mitem.newwin}}target="_blank"{{/if}}>{{$mitem.mitem_desc}}</a></li>
+{{/foreach }}
+</ul>
+{{/if}}
+<div class="pmenu-end"></div>
+</div>
diff --git a/view/tpl/viewcontact_template.tpl b/view/tpl/viewcontact_template.tpl
index d6f01643e..18fed6bb4 100644..100755
--- a/view/tpl/viewcontact_template.tpl
+++ b/view/tpl/viewcontact_template.tpl
@@ -1,9 +1,9 @@
-<h3>$title</h3>
+<h3>{{$title}}</h3>
-{{ for $contacts as $contact }}
- {{ inc contact_template.tpl }}{{ endinc }}
-{{ endfor }}
+{{foreach $contacts as $contact}}
+ {{include file="contact_template.tpl"}}
+{{/foreach}}
<div id="view-contact-end"></div>
-$paginate
+{{$paginate}}
diff --git a/view/tpl/wall_item.tpl b/view/tpl/wall_item.tpl
deleted file mode 100644
index e3b2eca0b..000000000
--- a/view/tpl/wall_item.tpl
+++ /dev/null
@@ -1,79 +0,0 @@
-<a name="$item.id" ></a>
-<div class="wall-item-outside-wrapper $item.indent$item.previewing" id="wall-item-outside-wrapper-$item.id" >
- <div class="wall-item-content-wrapper $item.indent" id="wall-item-content-wrapper-$item.id" >
- <div class="wall-item-info" id="wall-item-info-$item.id">
- <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id"
- onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
- onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
- <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
- <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" />
- </a>
- <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
- <ul>
- $item.item_photo_menu
- </ul>
- </div>
- </div>
- <div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" >
- {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
- {{ else }}<div class="wall-item-lock"></div>{{ endif }}
- <div class="wall-item-location" id="wall-item-location-$item.id">$item.location</div>
- </div>
- </div>
- <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>
- <div id="wall-item-ago-$item.id" class="wall-item-ago"><abbr class="wall-item-ago-time" title="$item.localtime">$item.ago</abbr>{{ if $item.app }}<span class="item.app">$item.str_app</span>{{ endif }}</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>
- <div class="wall-item-title-end"></div>
- <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body
- <div class="body-tag">
- {{ for $item.tags as $tag }}
- <span class='tag'>$tag</span>
- {{ endfor }}
- </div>
- </div>
- </div>
- <div class="wall-item-tools" id="wall-item-tools-$item.id">
- {{ if $item.vote }}
- <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
- <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
- <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
- {{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
- <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
- </div>
- {{ endif }}
- {{ if $item.plink }}
- <div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" class="icon remote-link$item.sparkle"></a></div>
- {{ endif }}
- {{ if $item.edpost }}
- <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
- {{ endif }}
-
- {{ if $item.star }}
- <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
- <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
- {{ endif }}
- {{ if $item.filer }}
- <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>
- {{ endif }}
- <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
- {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
- </div>
- {{ if $item.drop.pagedropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
- <div class="wall-item-delete-end"></div>
- </div>
- </div>
- <div class="wall-item-wrapper-end"></div>
- <div class="wall-item-like $item.indent" id="wall-item-like-$item.id">$item.like</div>
- <div class="wall-item-dislike $item.indent" id="wall-item-dislike-$item.id">$item.dislike</div>
- <div class="wall-item-comment-wrapper" >
- $item.comment
- </div>
-
-<div class="wall-item-outside-wrapper-end $item.indent" ></div>
-</div>
diff --git a/view/tpl/wall_thread.tpl b/view/tpl/wall_thread.tpl
deleted file mode 100644
index 9a02b2103..000000000
--- a/view/tpl/wall_thread.tpl
+++ /dev/null
@@ -1,120 +0,0 @@
-{{if $item.comment_firstcollapsed}}
- <div class="hide-comments-outer">
- <span id="hide-comments-total-$item.id" class="hide-comments-total">$item.num_comments</span> <span id="hide-comments-$item.id" class="hide-comments fakelink" onclick="showHideComments($item.id);">$item.hide_text</span>
- </div>
- <div id="collapsed-comments-$item.id" class="collapsed-comments" style="display: none;">
-{{endif}}
-<div id="thread-wrapper-$item.id" class="thread-wrapper $item.toplevel">
-<a name="$item.id" ></a>
-<div class="wall-item-outside-wrapper $item.indent$item.previewing{{ if $item.owner_url }} wallwall{{ endif }}" id="wall-item-outside-wrapper-$item.id" >
- <div class="wall-item-content-wrapper $item.indent" id="wall-item-content-wrapper-$item.id" >
- <div class="wall-item-info{{ if $item.owner_url }} wallwall{{ endif }}" id="wall-item-info-$item.id">
- {{ if $item.owner_url }}
- <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$item.id" >
- <a href="$item.owner_url" title="$item.olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$item.id">
- <img src="$item.owner_photo" class="wall-item-photo$item.osparkle" id="wall-item-ownerphoto-$item.id" style="height: 80px; width: 80px;" alt="$item.owner_name" /></a>
- </div>
- <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$item.wall" /></div>
- {{ endif }}
- <div class="wall-item-photo-wrapper{{ if $item.owner_url }} wwfrom{{ endif }}" id="wall-item-photo-wrapper-$item.id"
- onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
- onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
- <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
- <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" /></a>
- <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
- <ul>
- $item.item_photo_menu
- </ul>
- </div>
-
- </div>
- <div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" >
- {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
- {{ else }}<div class="wall-item-lock"></div>{{ endif }}
- <div class="wall-item-location" id="wall-item-location-$item.id">$item.location</div>
- </div>
- </div>
- <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.to <a href="$item.owner_url" target="redir" 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> $item.vwall{{ endif }}<br />
- <div class="wall-item-ago" id="wall-item-ago-$item.id" title="$item.localtime">$item.ago</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>
- <div class="wall-item-title-end"></div>
- <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body
- <div class="body-tag">
- {{ for $item.tags as $tag }}
- <span class='tag'>$tag</span>
- {{ endfor }}
- </div>
- {{ if $item.has_cats }}
- <div class="categorytags"><span>$item.txt_cats {{ for $item.categories as $cat }}$cat.name <a href="$cat.removeurl" title="$remove">[$remove]</a> {{ if $cat.last }}{{ else }}, {{ endif }}{{ endfor }}
- </div>
- {{ endif }}
-
- {{ if $item.has_folders }}
- <div class="filesavetags"><span>$item.txt_folders {{ for $item.folders as $cat }}$cat.name <a href="$cat.removeurl" title="$remove">[$remove]</a> {{ if $cat.last }}{{ else }}, {{ endif }}{{ endfor }}
- </div>
- {{ endif }}
- </div>
- </div>
- <div class="wall-item-tools" id="wall-item-tools-$item.id">
- {{ if $item.vote }}
- <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
- <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
- {{ if $item.nolike }}
- <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
- {{ endif }}
- {{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
- </div>
- {{ endif }}
- {{ if $item.plink }}
- <div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon remote-link$item.sparkle"></a></div>
- {{ endif }}
- {{ if $item.edpost }}
- <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
- {{ endif }}
-
- {{ if $item.star }}
- <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
- <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
- {{ endif }}
- {{ if $item.filer }}
- <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>
- {{ endif }}
- <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
-
- <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
- {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
- </div>
- {{ if $item.drop.pagedrop }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
- <div class="wall-item-delete-end"></div>
- </div>
- </div>
- <div class="wall-item-wrapper-end"></div>
- <div class="wall-item-like $item.indent" id="wall-item-like-$item.id">$item.like</div>
- <div class="wall-item-dislike $item.indent" id="wall-item-dislike-$item.id">$item.dislike</div>
-
- {{ if $item.threaded }}
- {{ if $item.comment }}
- <div class="wall-item-comment-wrapper $item.indent" >
- $item.comment
- </div>
- {{ endif }}
- {{ endif }}
-
-<div class="wall-item-outside-wrapper-end $item.indent" ></div>
-</div>
-{{ for $item.children as $child }}
- {{ inc $child.template with $item=$child }}{{ endinc }}
-{{ endfor }}
-
-{{ if $item.flatten }}
-<div class="wall-item-comment-wrapper" >
- $item.comment
-</div>
-{{ endif }}
-</div>
-{{if $item.comment_lastcollapsed}}</div>{{endif}}
diff --git a/view/tpl/wallmessage.tpl b/view/tpl/wallmessage.tpl
deleted file mode 100644
index 66b2bc3a0..000000000
--- a/view/tpl/wallmessage.tpl
+++ /dev/null
@@ -1,32 +0,0 @@
-
-<h3>$header</h3>
-
-<h4>$subheader</h4>
-
-<div id="prvmail-wrapper" >
-<form id="prvmail-form" action="wallmessage/$nickname" method="post" >
-
-$parent
-
-<div id="prvmail-to-label">$to</div>
-$recipname
-
-<div id="prvmail-subject-label">$subject</div>
-<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="$subjtxt" $readonly tabindex="11" />
-
-<div id="prvmail-message-label">$yourmessage</div>
-<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">$text</textarea>
-
-
-<div id="prvmail-submit-wrapper" >
- <input type="submit" id="prvmail-submit" name="submit" value="Submit" tabindex="13" />
- <div id="prvmail-link-wrapper" >
- <div id="prvmail-link" class="icon border link" title="$insert" onclick="jotGetLink();" ></div>
- </div>
- <div id="prvmail-rotator-wrapper" >
- <img id="prvmail-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
- </div>
-</div>
-<div id="prvmail-end"></div>
-</form>
-</div>
diff --git a/view/tpl/wallmsg-header.tpl b/view/tpl/wallmsg-header.tpl
deleted file mode 100644
index cb3922572..000000000
--- a/view/tpl/wallmsg-header.tpl
+++ /dev/null
@@ -1,82 +0,0 @@
-
-<script language="javascript" type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
-<script language="javascript" type="text/javascript">
-
-var plaintext = '$editselect';
-
-if(plaintext != 'none') {
- tinyMCE.init({
- theme : "advanced",
- mode : "specific_textareas",
- editor_selector: /(profile-jot-text|prvmail-text)/,
- plugins : "bbcode,paste",
- theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : "",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "center",
- theme_advanced_blockformats : "blockquote,code",
- gecko_spellcheck : true,
- paste_text_sticky : true,
- entity_encoding : "raw",
- add_unload_trigger : false,
- remove_linebreaks : false,
- force_p_newlines : false,
- force_br_newlines : true,
- forced_root_block : '',
- convert_urls: false,
- content_css: "$baseurl/view/custom_tinymce.css",
- //Character count
- theme_advanced_path : false,
- setup : function(ed) {
- ed.onInit.add(function(ed) {
- ed.pasteAsPlainText = true;
- var editorId = ed.editorId;
- var textarea = $('#'+editorId);
- if (typeof(textarea.attr('tabindex')) != "undefined") {
- $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex'));
- textarea.attr('tabindex', null);
- }
- });
- }
- });
-}
-else
- $("#prvmail-text").contact_autocomplete(baseurl+"/acl");
-
-
-</script>
-<script>
-
- function jotGetLink() {
- reply = prompt("$linkurl");
- if(reply && reply.length) {
- $('#profile-rotator').show();
- $.get('parse_url?url=' + reply, function(data) {
- tinyMCE.execCommand('mceInsertRawHTML',false,data);
- $('#profile-rotator').hide();
- });
- }
- }
-
- function linkdropper(event) {
- var linkFound = event.dataTransfer.types.contains("text/uri-list");
- if(linkFound)
- event.preventDefault();
- }
-
- function linkdrop(event) {
- var reply = event.dataTransfer.getData("text/uri-list");
- event.target.textContent = reply;
- event.preventDefault();
- if(reply && reply.length) {
- $('#profile-rotator').show();
- $.get('parse_url?url=' + reply, function(data) {
- tinyMCE.execCommand('mceInsertRawHTML',false,data);
- $('#profile-rotator').hide();
- });
- }
- }
-
-</script>
-
diff --git a/view/tpl/wallwall_item.tpl b/view/tpl/wallwall_item.tpl
deleted file mode 100644
index 9c824fb3b..000000000
--- a/view/tpl/wallwall_item.tpl
+++ /dev/null
@@ -1,86 +0,0 @@
-<a name="$item.id" ></a>
-<div class="wall-item-outside-wrapper $item.indent$item.previewing wallwall" id="wall-item-outside-wrapper-$item.id" >
- <div class="wall-item-content-wrapper $item.indent" id="wall-item-content-wrapper-$item.id" >
- <div class="wall-item-info wallwall" id="wall-item-info-$item.id">
- <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$item.id" >
- <a href="$item.owner_url" title="$item.olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$item.id">
- <img src="$item.owner_photo" class="wall-item-photo$item.osparkle" id="wall-item-ownerphoto-$item.id" style="height: 80px; width: 80px;" alt="$item.owner_name" /></a>
- </div>
- <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$item.wall" /></div>
- <div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-$item.id"
- onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
- onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
- <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
- <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" /></a>
- <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
- <ul>
- $item.item_photo_menu
- </ul>
- </div>
-
- </div>
- <div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" >
- {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
- {{ else }}<div class="wall-item-lock"></div>{{ endif }}
- <div class="wall-item-location" id="wall-item-location-$item.id">$item.location</div>
- </div>
- </div>
- <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> $item.to <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> $item.vwall<br />
- <div id="wall-item-ago-$item.id" class="wall-item-ago"><abbr class="wall-item-ago-time" title="$item.localtime">$item.ago</abbr>{{ if $item.app }}<span class="item.app">$item.str_app</span>{{ endif }}</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>
- <div class="wall-item-title-end"></div>
- <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body
- <div class="body-tag">
- {{ for $item.tags as $tag }}
- <span class='tag'>$tag</span>
- {{ endfor }}
- </div>
- </div>
- </div>
- <div class="wall-item-tools" id="wall-item-tools-$item.id">
- {{ if $item.vote }}
- <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
- <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
- <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
- {{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
- <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
- </div>
- {{ endif }}
- {{ if $item.plink }}
- <div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" class="icon remote-link$item.sparkle"></a></div>
- {{ endif }}
- {{ if $item.edpost }}
- <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
- {{ endif }}
-
- {{ if $item.star }}
- <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
- <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
- {{ endif }}
- {{ if $item.filer }}
- <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>
- {{ endif }}
-
- <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
- {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
- </div>
- {{ if $item.drop.pagedropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
- <div class="wall-item-delete-end"></div>
- </div>
- </div>
- <div class="wall-item-wrapper-end"></div>
- <div class="wall-item-like $item.indent" id="wall-item-like-$item.id">$item.like</div>
- <div class="wall-item-dislike $item.indent" id="wall-item-dislike-$item.id">$item.dislike</div>
- <div class="wall-item-comment-separator"></div>
- <div class="wall-item-comment-wrapper">
- $item.comment
- </div>
-
-<div class="wall-item-outside-wrapper-end $item.indent" ></div>
-</div>
-
diff --git a/view/tpl/wallwall_thread.tpl b/view/tpl/wallwall_thread.tpl
deleted file mode 100644
index ecfb65aef..000000000
--- a/view/tpl/wallwall_thread.tpl
+++ /dev/null
@@ -1,107 +0,0 @@
-{{if $item.comment_firstcollapsed}}
- <div class="hide-comments-outer">
- <span id="hide-comments-total-$item.id" class="hide-comments-total">$item.num_comments</span> <span id="hide-comments-$item.id" class="hide-comments fakelink" onclick="showHideComments($item.id);">$item.hide_text</span>
- </div>
- <div id="collapsed-comments-$item.id" class="collapsed-comments" style="display: none;">
-{{endif}}
-<div id="tread-wrapper-$item.id" class="tread-wrapper $item.toplevel">
-<a name="$item.id" ></a>
-<div class="wall-item-outside-wrapper $item.indent$item.previewing wallwall" id="wall-item-outside-wrapper-$item.id" >
- <div class="wall-item-content-wrapper $item.indent" id="wall-item-content-wrapper-$item.id" >
- <div class="wall-item-info wallwall" id="wall-item-info-$item.id">
- <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$item.id" >
- <a href="$item.owner_url" title="$item.olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$item.id">
- <img src="$item.owner_photo" class="wall-item-photo$item.osparkle" id="wall-item-ownerphoto-$item.id" style="height: 80px; width: 80px;" alt="$item.owner_name" /></a>
- </div>
- <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$item.wall" /></div>
- <div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-$item.id"
- onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
- onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
- <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
- <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" /></a>
- <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
- <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
- <ul>
- $item.item_photo_menu
- </ul>
- </div>
-
- </div>
- <div class="wall-item-photo-end"></div>
- <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" >
- {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
- {{ else }}<div class="wall-item-lock"></div>{{ endif }}
- <div class="wall-item-location" id="wall-item-location-$item.id">$item.location</div>
- </div>
- </div>
- <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> $item.to <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> $item.vwall<br />
- <div class="wall-item-ago" id="wall-item-ago-$item.id">$item.ago</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>
- <div class="wall-item-title-end"></div>
- <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body
- <div class="body-tag">
- {{ for $item.tags as $tag }}
- <span class='tag'>$tag</span>
- {{ endfor }}
- </div>
- </div>
- </div>
- <div class="wall-item-tools" id="wall-item-tools-$item.id">
- {{ if $item.vote }}
- <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
- <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
- <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
- {{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
- <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
- </div>
- {{ endif }}
- {{ if $item.plink }}
- <div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" class="icon remote-link$item.sparkle"></a></div>
- {{ endif }}
- {{ if $item.edpost }}
- <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
- {{ endif }}
-
- {{ if $item.star }}
- <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
- <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
- {{ endif }}
- {{ if $item.filer }}
- <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>
- {{ endif }}
-
- <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
- {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
- </div>
- {{ if $item.drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
- <div class="wall-item-delete-end"></div>
- </div>
- </div>
- <div class="wall-item-wrapper-end"></div>
- <div class="wall-item-like $item.indent" id="wall-item-like-$item.id">$item.like</div>
- <div class="wall-item-dislike $item.indent" id="wall-item-dislike-$item.id">$item.dislike</div>
-
- {{ if $item.threaded }}
- {{ if $item.comment }}
- <div class="wall-item-comment-wrapper $item.indent" >
- $item.comment
- </div>
- {{ endif }}
- {{ endif }}
-
-<div class="wall-item-outside-wrapper-end $item.indent" ></div>
-</div>
-{{ for $item.children as $item }}
- {{ inc $item.template }}{{ endinc }}
-{{ endfor }}
-
-{{ if $item.flatten }}
-<div class="wall-item-comment-wrapper" >
- $item.comment
-</div>
-{{ endif }}
-</div>
-{{if $item.comment_lastcollapsed}}</div>{{endif}}
diff --git a/view/tpl/webpagelist.tpl b/view/tpl/webpagelist.tpl
new file mode 100644
index 000000000..9a189230b
--- /dev/null
+++ b/view/tpl/webpagelist.tpl
@@ -0,0 +1,21 @@
+{{include file="prettyphoto.tpl"}}
+
+{{if $pages}}
+
+ <div id="pagelist-content-wrapper" class="generic-content-wrapper">
+ {{foreach $pages as $key => $items}}
+ {{foreach $items as $item}}
+ <div class="page-list-item">
+ {{if $edit}}<a href="{{$baseurl}}/{{$item.url}}">{{$edit}}</a> | {{/if}}
+ {{if $view}}<a href="page/{{$channel}}/{{$item.title}}">{{$view}}</a> {{$item.title}} | {{/if}}
+ {{if $preview}} <a href="page/{{$channel}}/{{$item.title}}?iframe=true&width=80%&height=80%" rel="prettyPhoto[iframes]">Preview</a> {{/if}}
+ {{if $widget}}<a href="page/{{$channel}}/{{$item.title}}">{{$item.title}}</a>{{/if}}
+
+</div>
+ {{/foreach}}
+ {{/foreach}}
+ </div>
+
+ <div class="clear"></div>
+
+{{/if}}
diff --git a/view/tpl/write_pages.tpl b/view/tpl/write_pages.tpl
new file mode 100644
index 000000000..f6668ceb1
--- /dev/null
+++ b/view/tpl/write_pages.tpl
@@ -0,0 +1,3 @@
+<div id="write-pages" class="bigwidget">
+<center><span id="wp-new"><a href="{{$newurl}}">{{$new}}</a></span> <span id="wp-edit"><a href="{{$editurl}}">{{$edit}}</a></span></center>
+</div>
diff --git a/view/tpl/xchan_vcard.tpl b/view/tpl/xchan_vcard.tpl
index f0b623927..3dabdad95 100644..100755
--- a/view/tpl/xchan_vcard.tpl
+++ b/view/tpl/xchan_vcard.tpl
@@ -1,18 +1,18 @@
<div class="vcard">
-<div class="fn">$name</div>
-<div id="profile-photo-wrapper"><img class="vcard-photo photo" src="$photo" alt="name" /></div>
+<div class="fn">{{$name}}</div>
+<div id="profile-photo-wrapper"><img class="vcard-photo photo" src="{{$photo}}" alt="name" /></div>
</div>
<div id="profile-extra-links">
<ul>
-{{ if $connect }}
- <li><a id="follow-link" href="follow?f=&url=$follow">$connect</a></li>
-{{ endif }}
-{{ if $newwin }}
- <li><a id="visit-chan-link" href="$url" title="$newtit" target="_blank" >$newwin</a></li>
-{{ endif }}
+{{if $connect}}
+ <li><a id="follow-link" href="follow?f=&url={{$follow}}">{{$connect}}</a></li>
+{{/if}}
+{{if $newwin}}
+ <li><a id="visit-chan-link" href="{{$url}}" title="{{$newtit}}" target="_blank" >{{$newwin}}</a></li>
+{{/if}}
</ul>
diff --git a/view/tpl/xrd_host.tpl b/view/tpl/xrd_host.tpl
index 94e3c2146..4bcc5bbdb 100644..100755
--- a/view/tpl/xrd_host.tpl
+++ b/view/tpl/xrd_host.tpl
@@ -2,17 +2,17 @@
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'
xmlns:hm='http://host-meta.net/xrd/1.0'>
- <hm:Host>$zhost</hm:Host>
+ <hm:Host>{{$zhost}}</hm:Host>
- <Link rel='lrdd' template='$domain/xrd/?uri={uri}' />
- <Link rel='acct-mgmt' href='$domain/amcd' />
- <Link rel='http://services.mozilla.com/amcd/0.1' href='$domain/amcd' />
+ <Link rel='lrdd' template='{{$domain}}/xrd/?uri={uri}' />
+ <Link rel='acct-mgmt' href='{{$domain}}/amcd' />
+ <Link rel='http://services.mozilla.com/amcd/0.1' href='{{$domain}}/amcd' />
<Link rel="http://oexchange.org/spec/0.8/rel/resident-target" type="application/xrd+xml"
- href="$domain/oexchange/xrd" />
+ href="{{$domain}}/oexchange/xrd" />
<Property xmlns:mk="http://salmon-protocol.org/ns/magic-key"
type="http://salmon-protocol.org/ns/magic-key"
- mk:key_id="1">$bigkey</Property>
+ mk:key_id="1">{{$bigkey}}</Property>
</XRD>
diff --git a/view/tpl/xrd_person.tpl b/view/tpl/xrd_person.tpl
index 3a6ca7ba7..035ab251f 100644..100755
--- a/view/tpl/xrd_person.tpl
+++ b/view/tpl/xrd_person.tpl
@@ -1,29 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
- <Subject>$accturi</Subject>
- <Alias>$accturi</Alias>
- <Alias>$profile_url</Alias>
+ <Subject>{{$accturi}}</Subject>
+ <Alias>{{$accturi}}</Alias>
+ <Alias>{{$profile_url}}</Alias>
<Link rel="http://purl.org/macgirvin/dfrn/1.0"
- href="$profile_url" />
+ href="{{$profile_url}}" />
<Link rel="http://schemas.google.com/g/2010#updates-from"
type="application/atom+xml"
- href="$atom" />
+ href="{{$atom}}" />
<Link rel="http://webfinger.net/rel/profile-page"
type="text/html"
- href="$profile_url" />
+ href="{{$profile_url}}" />
<Link rel="http://microformats.org/profile/hcard"
type="text/html"
- href="$hcard_url" />
+ href="{{$hcard_url}}" />
<Link rel="http://portablecontacts.net/spec/1.0"
- href="$poco_url" />
+ href="{{$poco_url}}" />
<Link rel="http://webfinger.net/rel/avatar"
type="image/jpeg"
- href="$photo" />
+ href="{{$photo}}" />
<Property xmlns:mk="http://salmon-protocol.org/ns/magic-key"
type="http://salmon-protocol.org/ns/magic-key"
- mk:key_id="1">$bigkey</Property>
+ mk:key_id="1">{{$bigkey}}</Property>
</XRD>